История коммитов

Автор SHA1 Сообщение Дата
  saddle-ClankerSaddle 6348585a16 Task page <-> event log unification: Overview | Log tabs 2 дней назад
  saddle-ClankerSaddle 59dc81e95e Task detail: Act|Consult layout, anchor sub-nav, sticky log toolbar 2 дней назад
  saddle-ClankerSaddle 55223c41c2 Convert the UI foundation to the Spry CSS framework 2 дней назад
  Billy Barrow 215e8281e3 Improvements to UI 1 месяц назад
  clanker 4eccca4faa M0003 event indexes, batched chunks ingestion, LLM usage surfacing, resume failure signatures 1 месяц назад
  saddle-Clanker-Saddle cfcf2dc92d Standalone (no-project) tasks; comments resurrect terminal goals and plain tasks 1 месяц назад
  saddle-Clanker-Saddle cee6e61b01 templates: pure-ASCII stm-* expressions and script bodies (entity corruption fix) 1 месяц назад
  clanker b2a6f92b60 Plan 17 M3: event log UI replaces the terminal view 1 месяц назад
  clanker 4a528f3975 Force Wake: human-triggered resume of parked tasks and goals 1 месяц назад
  clanker 3785e9f562 In-place Edit buttons for task mandate and goal brief 1 месяц назад
  clanker bf9009c91b r3: template partials (arch 16) — Statum DOES support includes (the mkpstm fragment pass: pstm-fragment with pstm-input parameters and pstm-materialise-as tag carry), so the partial strategy is compile-time fragments, not JS extraction. Five new partials in src/pages (auto-discovered, wired into template_deps): goal-branches (the branch chips paragraph, included 3x from goal_detail — head passes its note via the optional input, the note span hides where undefined), goal-compare (the Compare changes link, 2x), progress-feed (the latest+history card body shared between task and goal pages, parameterised on entries — heading and empty-state note stay per page with their page-specific wording), block-answer (the option-card question form — radio options + Other, shared between both pages' block loops; both loops expose the block as 'block' so no inputs), and block-reply (the free-text RFC reply form, shared likewise). The goal page's select+textarea answer form unifies onto the task page's richer option-card shape (the U1-pinned one): AnswerGoalBlockAction gains the __other__ resolution the task action already had, so a picked radio posts option=<value> exactly like the old select and the Other row carries the free text — the goal questions stay answerable with and without options. The goal page also gains the RFC reply fallback the task page already had (its old single form covered rfc blocks implicitly). Compiled-page inspection pins the composition: chips wrappers carry stm-if + the note def, no pstm-* residue. 851 checks. 1 месяц назад
  clanker 2cf9149d29 r3: legacy wire removal (arch 19, P3-1) — SaddleUpdateEndpoint + SaddlePollEndpoint and their routes are gone (the daemon never called them; verified against saddle/src at review time): the poll-era ingest/verdict pair 404s now, pinned by regressions. The service support that existed only for them dies with them: take_pending_answers (the saddle-keyed variant; the for_task assignment carrier stays), take_pending_comments + PendingComment, validate_token (its only caller was the update/poll bearer pin — resolve_bearer collapses to saddle_for_token for the all-id-less wire), the subtask/plan refusal arms, and the update endpoints' own statics move to SaddleWire (read_json_body/json_ok/json_error shared by every remaining /api/saddle/* route). Knock-ons per the plan: tasks.working_branch was write-dead (only /update done ever supplied it) — column + entity field + TaskDetailPublic member + the task-page line + mark_terminal/complete_task's dead parameter die; the plain-task plan-review UI in task_detail.html was unreachable (plans are goal-only since plan 12; only /update block type=plan could raise one) — BlockView.is_plan_review, the plan-review section, and the task page's ~180-line plan-remarks JS (dead with no [data-plan-review] targets) are removed; AnswerBlockAction's plan-verdict arms stay (the deep-link API + off-contract pushes keep working). Test fixtures rewrite into the push-era shapes: block raises ride POST /results blocked pushes (pages/lifecycle/push bundles), the terminal-task review fixture inserts its row directly (terminal pushes are consumed silently), rejected entries ride a results push, the dashboard review raise rides a review entry, the queued-state guard becomes a results state no-op, the /update subtask/plan refusals become 404 pins, and branch_advanced — the /poll verdict hint — is re-pinned on its surviving surface: the answers bundle's parked-resume allocation now asserts branch_advanced=true after a strictly-newer sibling completion on the shared branch. 856 -> 850 checks. 1 месяц назад
  clanker f3e779df22 s2: reject-flow fixed and verdict wording server-owned — submitPlanRemarks resolves the block from the actual [data-plan-review] container (any open block, not just goal.plan_pending_block — the completion-review reject button), remark-less rejection allowed when the feedback textarea has content, and the goal page posts verdict markers / raw feedback while the SERVER wraps the stable per-kind prefixes (hidden-input constants removed from every template; approvals byte-identical, goal feedback keeps the prefix + blank-line shape, task feedback its single-newline shape). 1 месяц назад
  clanker e7e167579f C2: goal comments ride the run task; system events styled (F8) 1 месяц назад
  clanker 79c28cc48a ui: comments display — body-first projections, footnote styling, no command echo 1 месяц назад
  clanker e266a9e4af ui: every terminal link opens in a new tab 1 месяц назад
  clanker 8b1c48a785 ui: rename every user-visible 'bot' to 'agent' at the source 1 месяц назад
  clanker fa78f8a5bf goals: flatten — subtask web machinery and task plans deleted 1 месяц назад
  clanker 4bc3e61edb goals: web UI — pile, timeline, queue filters, task page, carried fixes 1 месяц назад
  clanker 06760a6895 ui: agent celebrations — saddle yeehaw festive card, 🤠 badge and timeline events 1 месяц назад
  clanker 478be0a6fb ui: heredoc completion reports — markdown summary card + timeline first-line snippets 1 месяц назад
  clanker 9f5ab7ab36 push: plan 11 task E — real Web Push (VAPID) notifications 1 месяц назад
  clanker a661dcca94 ui: plan 11 task D — task page, queue and dashboard layout tranche 1 месяц назад
  clanker b397745530 lifecycle: draft state machine on a flattened M0001 — enqueue/delete guards, edit matrix, auto-enqueue subtasks, waiting-on-drafts display 1 месяц назад
  clanker 4fcf4f6e51 ui: task page progress feed directly below the status head 1 месяц назад
  clanker 16ea23f919 phase 3: capability awareness + dashboard — assignment capabilities context (saddle_tags/fleet_tags), GET /api/saddle/capabilities for the daemon CLI, subtask callback capabilities validated against the operator tag set (explicit-only, unknown tags name the valid list), task page status block pinned to the top with newest-first blocking sections, home dashboard pinning OPEN blocks as newest-first link-through cards above a cross-task activity timeline (TimelineService, last ~50 events), slow-ask lost-wake regression; tracked test bytecode removed 1 месяц назад
  clanker b0ae5dd17d fix: live blocks without reload — hidden terminal tabs release their SSE stream (per-origin HTTP/1.1 cap starvation was the culprit), task pages refresh on focus and log refresh failures instead of swallowing them, README documents the SSE budget; regression test covers daemon-raised block -> pulse -> sealed GET refresh roundtrip 1 месяц назад
  clanker b55f9a8719 feat: dead/wedged daemon reconciliation — vanishing daemons drive offline+requeue with narrated comments (3-strike verified against connection-refused), stale last_activity wedges fence+requeue, saddles page health panel (state/uptime/last-contact/badge), task rows mark the unreachable window, raw-log polling verified from the first push; harness timeout 1800s 1 месяц назад
  clanker e561f584c3 feat: subtask auto-approve — tasks.auto_approve toggle above the subtasks table covers descendants transitively; covered review blocks auto-answered ('auto' recorded, timeline entry, delivered like a human verdict) while questions/RFCs and the parent's own review stay human-gated; all-terminal descendants resume with the push-first final-review instruction 1 месяц назад
  clanker 0614417826 feat: suspended state + per-subtask parent resume — /status 'suspended' parks the task and frees the saddle (suspended_at stamps the parking window), the dispatcher resumes a suspended parent on each terminal subtask event with a coalesced markdown report as /start resume_notice, subtasks array in every /start payload (wire contract) 1 месяц назад