Cronologia Commit

Autore SHA1 Messaggio Data
  saddle-agent 95f0109433 Add the advisor backend core: storage, LLM client, tool loop (goal 27) 4 settimane fa
  saddle-agent 6895c0802f Add the discoveries knowledge base: storage, callback API, page and payload injection 1 mese fa
  saddle-Clanker-Saddle 2a9f9cc504 Add the project Understanding storage, callback API and assignment injection 1 mese fa
  saddle-Clanker-Saddle 0c0414d46c Merge branch 'task/8-37' into goal/toto-batch-1 1 mese fa
  saddle-Clanker-Saddle daec26beb1 Per-saddle workspace roots: register handshake carries workspace_root, assignment paths follow the asking saddle 1 mese fa
  saddle-Clanker-Saddle 71c595763b Per-saddle prompt notes: column, admin editor, assignment carriage 1 mese fa
  saddle-Clanker-Saddle 1fe5ec9d0a Add the dashboard notes scratchpad with promote-to-goal 1 mese fa
  saddle-Clanker-Saddle 487db9c1da Goal link pre-fill from the primary project; stacks feature 1 mese fa
  clanker d56d8e185a Plan 17 M1+M2: consolidated M0001, unified events ledger, chunks ingestion 1 mese fa
  clanker 4a528f3975 Force Wake: human-triggered resume of parked tasks and goals 1 mese fa
  clanker cb269d0d30 r23: sessions as truth — the saddle-row work cache dies, IDLE/BUSY derive from open sessions 1 mese fa
  clanker 181fbd9926 r3: doc residue — the PendingAnswer docblock still linked the deleted SaddlePollEndpoint; it points at the SaddlePollState ledger now. (The goal page's own is_plan_review flag is GoalDetailEntrypoint's GoalBlockView member — live, not the deleted task-page BlockView twin.) 1 mese fa
  clanker e236aa7079 r3: api_tokens dropped (arch 24, P3-2) — saddles.token is the single credential store: the legacy table, its entity mapping, the startup ensure_saddle_tokens migration (main.vala's call + the service), token_for_saddle (the saddles page and the /start callback token read the row directly), unregister's sweep, and saddle_for_token's fallback read all die. Nothing deployed predates the plan-10 row token (operator decision), so no credential loses validity — a legacy-shaped token string now 401s everywhere, pinned by the rewritten restart scenario: the fresh schema carries no api_tokens table, the row token survives a restart unchanged and still authenticates, and the legacy-shaped string authorises nothing. 850 -> 851 checks. 1 mese fa
  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 mese fa
  clanker 37508060cf r1: dead code deletion — has_yeehaw (the batch yeehaw_task_ids/yeehaw_feed own every surface), SaddleService snippet_text + generate_token (mint_saddle_token is the live minter), the Saddle.container_id column (entity + flattened M0001, tear-down convention), the never-set 'recovering' branch of unreachable_task_ids, TaskDetailPublic plan/auto_approve/toggle_auto_approve, the duplicated hideQuoteUi in main.html (the activeHandler-clearing definition wins), and the malformed/duplicated docblocks (TaskService nested /**, the orphaned list_tasks header, the SaddleService /status orphan, the TasksEntrypoint double header). fail_goal's empty cascaded-if dies with the counter, the shared cascade_goal_tasks helper owning the cancel/fail task sweep. 1 mese fa
  clanker 3aadf3b00c C4: goal page batch — head line, expanders, live push flags, accept gate (F9) 1 mese fa
  clanker e2a11c459d C3: goal_events deleted — terminal watermark + derived narrative 1 mese fa
  clanker e7e167579f C2: goal comments ride the run task; system events styled (F8) 1 mese fa
  clanker d1c8bea7e2 C1: goal blocks ride the run task — one row, one answer path (F6) 1 mese fa
  clanker eae7936bdf B4: sessions.resume_notice — terminal session dropdown + resume-info panel 1 mese fa
  clanker 9bca970531 replay: daemon-global entry dedup — ingestion keys on (saddle, entry id) 1 mese fa
  clanker 8d895974b4 goals: assignment context_update — the resume-time instruction delta 1 mese fa
  clanker 8b1c48a785 ui: rename every user-visible 'bot' to 'agent' at the source 1 mese fa
  clanker fa78f8a5bf goals: flatten — subtask web machinery and task plans deleted 1 mese fa
  clanker 44f2e66a5a goals: schema, lifecycle service, wire contract and task callbacks 1 mese fa
  clanker b397745530 lifecycle: draft state machine on a flattened M0001 — enqueue/delete guards, edit matrix, auto-enqueue subtasks, waiting-on-drafts display 1 mese fa
  clanker 2a8a2ec4b0 phase 1: work acquisition flip — ask/allocation, per-saddle tokens, wake computation + lost-wake guard 1 mese fa
  clanker 32a9554c9d feat: per-saddle git identity + ssh key storage — migration (git_name, git_email, ssh_public_key), poller and refresh persist the daemon-reported ssh_public_key, saddles page shows the key (copy button, deploy-key hint) with an inline identity edit form 1 mese fa
  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 mese fa
  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 mese fa