提交历史

作者 SHA1 备注 提交日期
  saddle-ClankerSaddle 6348585a16 Task page <-> event log unification: Overview | Log tabs 1 天之前
  saddle-ClankerSaddle 98bd6e30b9 Add the per-account Spry theme picker in account settings 1 天之前
  saddle-ClankerSaddle 55223c41c2 Convert the UI foundation to the Spry CSS framework 1 天之前
  saddle-ClankerSaddle bd6c3b784f Add admin-only project deletion (ownership cascade only) 3 周之前
  clanker 9b3cf45952 Turn-cap checkpoint-park web half; model configuration moves to an Admin page 3 周之前
  saddle-Clanker-Saddle 4f74836c93 Park/answer-wake fix: allocation guard, busy-answer delivery, batched verdicts 3 周之前
  saddle-agent de26e4ce7c Canon deploy hardening: manifest bump 1.1, loud health, absolute-share resolver, packaged-layout bundle 4 周之前
  saddle-Clanker-Saddle 5e03078f1c Merge origin/goal/advisor (advisor refinements) into task/27-180 4 周之前
  saddle-Clanker-Saddle 6e569e25df Advisor refinements: hidden tool bubbles, chattier prompt, reports in reach, parking guard 4 周之前
  saddle-Clanker-Saddle 2ff7e51e82 Centralise the canon and ethos on the web (goal 27) 4 周之前
  saddle-Clanker-Saddle 200e0b089e Finish the advisor loop: approvals, completion callback, docs 4 周之前
  saddle-Clanker-Saddle a11b9c5056 Add the advisor chat UI: /chats pages, actions, dashboard hero (goal 27) 4 周之前
  saddle-agent 95f0109433 Add the advisor backend core: storage, LLM client, tool loop (goal 27) 4 周之前
  saddle-agent 6895c0802f Add the discoveries knowledge base: storage, callback API, page and payload injection 4 周之前
  saddle-Clanker-Saddle 2a9f9cc504 Add the project Understanding storage, callback API and assignment injection 4 周之前
  Billy Barrow 7fda933cef Task log updates 1 月之前
  clanker 4eccca4faa M0003 event indexes, batched chunks ingestion, LLM usage surfacing, resume failure signatures 1 月之前
  Billy Barrow 64b9562f18 New nav 1 月之前
  saddle-Clanker-Saddle 143e8bd065 Incremental M0002 migration: upgrade serial-1 databases in place 1 月之前
  saddle-Clanker-Saddle 1fe5ec9d0a Add the dashboard notes scratchpad with promote-to-goal 1 月之前
  saddle-Clanker-Saddle 487db9c1da Goal link pre-fill from the primary project; stacks feature 1 月之前
  saddle-Clanker-Saddle 0a16e7b09f event log: fix the dead SSE listener, flip the feed to oldest-first with bottom stick, and page older history correctly 1 月之前
  clanker 18736a2a49 version 1.0 (meson + MANIFEST.usm) — the release pairs with saddle 1.0 (PLAN-17's big bang ships both halves together); suites green sequentially through meson (966/0 on the new default runner) 1 月之前
  clanker 5fe16618a6 harness: sequential is the default runner — the unbounded parallel fan-out (13 apps + fake daemons at once) OOM'd the machine; --parallel [N] opts back into shards capped at N in flight (default 4), --bundle is unchanged, and the meson timeout covers the summed bundle times; users 39/0, dispatch 97/0 sequential 1 月之前
  clanker d56d8e185a Plan 17 M1+M2: consolidated M0001, unified events ledger, chunks ingestion 1 月之前
  clanker 4a528f3975 Force Wake: human-triggered resume of parked tasks and goals 1 月之前
  clanker cc160d76e3 Users page, profile page, role gates (admin-gated user/saddle/capability management) 1 月之前
  clanker b1176f3cf8 ui+docs: clanker-saddle favicon + touch-icon, emblem beside the heading; READMEs swept for the plan-16 world (single-row blocks, parked outcomes, derived saddle state, no subtask/legacy-wire remnants, 924-check count) 1 月之前
  clanker 2d0e09d1d9 r5: harness split (arch 18) — the monolith becomes a package. test/harness.py: the FakeSaddle daemon, every shared wire helper (http/act/login/slot_public/wait_for/quiet_window/db/check, task_state/wait_task_done/create_queued/enqueue_task/saddle_api/saddle_card/http_get_page/dump_threads and friends), the per-shard fixtures (Ctx/start_bundle), and the runner (run_bundle + run_all_parallel + main) — the parallel spawn now targets the entry shim so 'harness' stays one module instance per process, and run_bundle imports the bundle module lazily (after that shard's environment exists, so star-imported runtime globals are the shard's own) then re-syncs WORK/DB_PATH/ports onto it (the sequential debug path reuses modules across shards). test/bundles/<name>.py ×11: the scenario bodies moved verbatim (bundle_X -> run(ctx)); the x7 duplicated goal_state closures collapse onto harness.goal_state, late-bound through the runner's fixture ctx so the answers/replay restart scenarios' re-logins keep working (the first cut snapped the auth at shard start and the replay redelivery scenario caught it). test/web_stack_test.py stays the meson entry (args unchanged) and the shard spawn target. The S-workstream handoff survivors verified byte-intact after the move: the goalui S2 verdict-goal pins (resolveReviewBlock/goal.open_blocks/feedback posting/extraText gating on the goal page) and the goals S3 park-second waits (strictly-newer completed_at vs suspended_at seconds under SADDLE_GOAL_RESUME_S=1). Both execution modes green: parallel shards 851/0, WEBSTACK_SEQUENTIAL 851/0. 851 checks. 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 月之前