Why: resolve archive card conflict after u7 card already landed on main.
Evidence: took main .task/archive/feature-u7-capacity-wrap-measure.md; kept audit-combo archive.
Impact: #449 only archives remaining audit-combo debt if needed.
Refs: Dev #449
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: PR head changed after resolving documents/frontend sync merge.
Evidence: CMD=make test make evidence (SELF, exit 0).
Impact: PR #468 head carries current combo verification.
Refs: Dev #468
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-pin-backend-read-consumption.md; R0=1dece88ab0eb6bbeab0ddfb4c7c57c2a7752d248.
Impact: task metadata only; the feature workspace starts at 1dece88ab0.
Refs: .task/feature-pin-backend-read-consumption.md
Why: Restore mergeability for PR #468 after main advanced; keep
Documents pin that includes capacity report r2.1 (3cc6438).
Evidence: documents contains 2026-10-12-u7-capacity-window-report.md.
Impact: PR can merge onto current main.
Refs: Dev #468; Documents #86/#87
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: evidence after merging main into account durability branch.
Evidence: make task-sync SELF; unittest tests.test_svc_user_help.
Impact: task card only.
Refs: Dev #469
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b4b042630a352eca2a399a7a64931c74978bca7f.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: make the six instance-bound user commands discoverable (T5-1) and pin Documents r2/r3.
Evidence: python3 -m unittest tests.test_svc_user_help; existing test_svc_user_binding still green.
Impact: scripts/svc.sh help accounts|user; docs/svc.md topic list; documents gitlink to plan branch tip.
Refs: Documents #87; feature/svc-account-durability-plan
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: evidence for task-sync after frontend gitlink resolve.
Evidence: make evidence task-sync SELF on this HEAD.
Impact: task card only.
Refs: Dev #454
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: keep frontend hydrate pin while absorbing main for Dev PR #454.
Evidence: resolved frontend@$ours from feature tip.
Impact: PR should become mergeable after Frontend #68 lands.
Refs: Dev #454; Frontend #68
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: evidence for task-sync after submodule conflict resolve.
Evidence: make evidence task-sync SELF on this HEAD.
Impact: task card only.
Refs: Dev #452
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: keep U1 component pins while absorbing main for Dev PR #452.
Evidence: resolved backend@4d48aba frontend@1edd872; documents from main merge.
Impact: PR should become mergeable after component PRs land.
Refs: Dev #452; Backend #177; Frontend #67
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Post-sync evidence HEAD must match the PR head under review.
Evidence: CMD=make test make evidence (SELF, exit 0).
Impact: Stage B PR can cite current combo verification.
Refs: feature/u7-capacity-wrap-measure
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: capture task-sync and governance test evidence after documents pin resolve.
Evidence: make evidence of task-sync merge + make test-governance SELF on this HEAD.
Impact: task card only; no product code change.
Refs: Dev #451
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b4b042630a352eca2a399a7a64931c74978bca7f.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: resolve modules/documents gitlink conflict for Dev PR #451.
Evidence: Documents feature tip ebf655c merges main@1048e7c with r1.1/U1 plan.
Impact: pin documents to ebf655c; PR should become mergeable after Docs #84 lands.
Refs: Documents #84; Dev #451
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pin-backend-ext8b.md(PR#466) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-pin-backend-ext8b.md; R0=a47dc76f4b1f8836a70d10c7397e390dc472cdeb.
Impact: task metadata only; the feature workspace starts at a47dc76f4b.
Refs: .task/feature-pin-backend-ext8b.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-rdm-ui-gate.md(PR#450) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=c6fefa3435dc5d9524fc35483f1d34fa1a6e0d59.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# tests/test_svc.py
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pin-frontend-perm-matrix.md(PR#462) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-pin-frontend-perm-matrix.md; R0=d93c95eaea6cd1c4a97506abcd58cc2a4bc26374.
Impact: task metadata only; the feature workspace starts at d93c95eaea.
Refs: .task/feature-pin-frontend-perm-matrix.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pin-frontend-rdm-u6.md(PR#460) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-pin-frontend-rdm-u6.md; R0=d6d46fde6d903d0d8e37440d830fb5183d6ef5e9.
Impact: task metadata only; the feature workspace starts at d6d46fde6d.
Refs: .task/feature-pin-frontend-rdm-u6.md
Why: keep the planning checks reviewable without a dirty task card.
Evidence: SELF document checks against the saved draft objects; raw receipts retained.
Impact: task metadata only; business validation remains NOT_RUN.
Refs: feature/svc-account-durability-plan
Why: preserve current source and service snapshots before final verification.
Evidence: SELF task-sync and read-only runtime receipts in the task card.
Impact: planning metadata only; no runtime or account changes.
Refs: account r2; recovery r3
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d6d46fde6d903d0d8e37440d830fb5183d6ef5e9.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: preserve evidence, current contracts and the next review scope without changing the running system.
Evidence: SELF startup, sync and document validation receipts in the task card; runtime and fault acceptance NOT_RUN.
Impact: task metadata, planning index and account specifications only; component pins and business code unchanged.
Refs: feature/svc-account-durability-plan; Documents account r2 and recovery r3
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pin-documents-rdm-plan-r1.md(PR#458) fix-svc-reclaim-own-port.md(PR#456) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=226a4af15791b8100528c9d9a31c68a32c4781d1.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-account-durability-plan.md; R0=2723e452440fc11022c0f6d916cd34cc4cd17335.
Impact: task metadata only; the feature workspace starts at 2723e45244.
Refs: .task/feature-svc-account-durability-plan.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-pin-documents-rdm-plan-r1.md; R0=2723e452440fc11022c0f6d916cd34cc4cd17335.
Impact: task metadata only; the feature workspace starts at 2723e45244.
Refs: .task/feature-pin-documents-rdm-plan-r1.md
Why: Batch update --all left SVC_PIDCHECK from the prior service in
memory, so pid_alive/reclaim_own_port misclassified the next service's
process as dead/foreign, deleted svc.pid, and failed start on a still-
occupied port (genui/rdm1/rdmcand after successful dev).
Evidence: make test-governance (SELF; receipt /tmp/svc-pidcheck-gov.json);
new test_batch_update_stops_second_service_despite_prior_pidcheck +
SVC_PIDCHECK ratchet in test_svc_precheck.
Impact: env_config clears SVC_PIDCHECK/EXEC/VERSION/SOURCE per service;
batch update correctly stops and restarts each agent. After merge:
restore genui/rdm1/rdmcand and move rdmcand to its own data dir.
Refs: .task/feature-svc-pidcheck-leak.md; complements #456 reclaim_own_port
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-pidcheck-leak.md; R0=2723e452440fc11022c0f6d916cd34cc4cd17335.
Impact: task metadata only; the feature workspace starts at 2723e45244.
Refs: .task/feature-svc-pidcheck-leak.md
Why: genui update cleared svc.pid without killing the process, then
overwrote the binary and failed start with a false "non-ours" port error.
Evidence: make test-governance (receipt /tmp/svc-reclaim-governance.json)
Impact: reclaim_own_port walks ss listener ancestry; stop/check_port/install
wire it; orphans matching pidcheck are stopped, foreign occupants still refused
Refs: fix/svc-reclaim-own-port
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-svc-reclaim-own-port.md; R0=8504b88ace66d709f27339887d6d9ecff610f77c.
Impact: task metadata only; the feature workspace starts at 8504b88ace.
Refs: .task/fix-svc-reclaim-own-port.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-svc-static-pidcheck-fresh-start.md(PR#453) — merge 4c5dd3d on origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Refresh black-screened because SurfaceMeta was written into surfaces
and PreviewPane read identity.surfaceId.
Evidence: make test (receipt /tmp/surface-hydrate-make-test2.json);
Frontend PR https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Frontend/pulls/68
Impact: Pins frontend@0f52634; openConversation hydrates via surfaceGet
Refs: fix/surface-list-hydrate
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-svc-static-pidcheck-fresh-start.md; R0=0d224ffcab82cab7def2c0b0cc36d2e6d02ce3dd.
Impact: task metadata only; the feature workspace starts at 0d224ffcab.
Refs: .task/fix-svc-static-pidcheck-fresh-start.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-surface-list-hydrate.md; R0=0d224ffcab82cab7def2c0b0cc36d2e6d02ce3dd.
Impact: task metadata only; the feature workspace starts at 0d224ffcab.
Refs: .task/fix-surface-list-hydrate.md
Why: Record open Gitea PR URLs after push so review can start from
the task card as the single status document.
Evidence: Gitea API created PRs #29/#177/#49/#67/#452 (+ docs #84/#451).
Impact: Task card metadata only; no product code.
Refs: Dev #452
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Capture make test-governance on clean HEAD after companion/UI
gates and stub orphan fix (SELF evidence for the task card).
Evidence: CMD="make test-governance" make evidence → 200 ok, 1 skipped.
Impact: Task card evidence table updated; no runtime behavior change.
Refs: .task/feature-svc-rdm-ui-gate.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the agent stub left python http.server children when tearDown
SIGKILL'd the bash parent, leaking ports 1880x into recover/identity
suites that share the same range.
Evidence: local suite re-run pending after this fix.
Impact: stub HTTP child exits when ppid changes (same as recover stub).
Refs: .task/feature-svc-rdm-ui-gate.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Record that U1 whitelist is covered by component tests and
build; full make test still hits unrelated svc port flakes.
Evidence: SELF component-tests-3 exit=0; make build exit=0;
make test governance FAIL (svc lock/port env).
Impact: Task card stage note only.
Refs: .task/feature-fast-slow-display-u1.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: RDM agent deploy left workbench htdocs unserved (prompt-only), so
environments like dev silently offered API-only 404 pages after a source
switch; static first-start also misclassified http.server as dead when
pidcheck was unset.
Evidence: CMD="make test-governance" make evidence (200 ok, 1 skipped; SELF).
Impact: rdm deploy auto-starts <name>web and asserts UI 200; cross-kind
redeploy needs --allow-source-switch; list/info flag missing workbench.
Refs: .task/feature-svc-rdm-ui-gate.md; docs/svc.md §5.4
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Keep Dev gitlink on the knip-clean UI tip for combo test.
Evidence: UI knip 57<=57; awaiting make test-ui.
Impact: modules/ui gitlink only.
Refs: UI 83e80f5
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Combine U1 component SHAs so Dev can run make test against the
status mapping and L1 card body changes.
Evidence: Component unit tests; combo make test follows.
Impact: gitlinks only; R03-c/U2/U3 still out of scope.
Refs: .task/feature-fast-slow-display-u1.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-rdm-ui-gate.md; R0=0d224ffcab82cab7def2c0b0cc36d2e6d02ce3dd.
Impact: task metadata only; the feature workspace starts at 0d224ffcab.
Refs: .task/feature-svc-rdm-ui-gate.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-fast-slow-display-u1.md; R0=0d224ffcab82cab7def2c0b0cc36d2e6d02ce3dd.
Impact: task metadata only; the feature workspace starts at 0d224ffcab.
Refs: .task/feature-fast-slow-display-u1.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-audit-combo-integration.md(PR#448) feature-u7-capacity-wrap-measure.md(PR#446) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=8c1edbebece8212ec8c0cd9e646b4b0592b1503d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Record the primary delivery link after opening the docs/runbook PR.
Evidence: Gitea PR #448 created (mergeable).
Impact: task card header only.
Refs: pulls/448
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=8c1edbebece8212ec8c0cd9e646b4b0592b1503d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: After capability gate hid 追溯审计 on plain base, the shared dev
entry needs a pinned RDM combo and a candidate-then-cutover runbook.
Evidence: RDM #250 (310c3fe) pins to Dev main; candidate+cutover R1–R5
SELF receipts imported; FE preview showed audit entry on :8788.
Impact: docs/svc.md §5.4.1; local runtime/dev is rdm@310c3fe (ops, not
in git). Owner password was reset via recover key during verification.
Refs: feature/rdm-audit-combo-integration; RDM pulls/250
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-material-intake-lifecycle-flake.md(already-complete) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: Sync warned prior evidence HEAD predated non-card changes.
Evidence: CMD=make test make evidence on post-sync HEAD (SELF, exit 0).
Impact: Stage A PR can cite current combo verification.
Refs: feature/u7-capacity-wrap-measure
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-audit-combo-integration.md; R0=1938b442b19cc18ee05fbab919873635c91eba96.
Impact: task metadata only; the feature workspace starts at 1938b442b1.
Refs: .task/feature-rdm-audit-combo-integration.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=1938b442b19cc18ee05fbab919873635c91eba96.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Completion claims need evidence-tool receipts on the task card.
Evidence: CMD=make test make evidence (SELF, exit 0).
Impact: Task card carries combo verification for stage A PR.
Refs: feature/u7-capacity-wrap-measure
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Planning progress must live in the proposal, not chat;
Documents #83 merged the r2 header, preferred-next, and lesson.
Evidence: Documents merge 8d0810b; Dev gitlink pin.
Impact: Dev main readers see U1-U7 code-done vs capacity pending.
Refs: Documents #83; feature/u7-capacity-wrap-measure
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-u7-capacity-wrap-measure.md; R0=41a5fb049323663471f1732bcda296f4eeeb3642.
Impact: task metadata only; the feature workspace starts at 41a5fb0493.
Refs: .task/feature-u7-capacity-wrap-measure.md
Why: Backend #176 aligned the test wait with CardDone + materialActive
release so done-dedup no longer races deliverNotices.
Evidence: Backend CI success on c963347; local -count=20 PASS (evidence on card).
Impact: Dev consumes backend@5e8ada7; test-only, no product behavior change.
Refs: Backend #176; fix/material-intake-lifecycle-flake
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-material-intake-lifecycle-flake.md; R0=41a5fb049323663471f1732bcda296f4eeeb3642.
Impact: task metadata only; the feature workspace starts at 41a5fb0493.
Refs: .task/fix-material-intake-lifecycle-flake.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-audit-capability-gate-changepw-form.md(PR#441) feature-rdm-audit-capability-gate.md(PR#418) feature-u7-k6-password-gate.md(PR#442) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: Completion gate needs SELF rows for make test and brew-k6 dual smoke on the synced HEAD.
Evidence: make test exit=0; run_load.sh --instances 2 smoke dup_seq=0.
Impact: Card evidence table updated.
Refs: .task/feature-u7-k6-password-gate.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b008bd94ad0fe6f520a8500f40ed6297251762b7.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b008bd94ad0fe6f520a8500f40ed6297251762b7.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-u7-k6-password-gate.md; R0=4b51a134751d636f7f6ca3fedf180fd76045f2c1.
Impact: task metadata only; the feature workspace starts at 4b51a13475.
Refs: .task/feature-u7-k6-password-gate.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-u7-b5-c2-load.md(PR#439) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=dec25692c247c8923b0f9396c8f674aefec47521.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-fast-slow-display-design.md; R0=4bf6e4a0cf8b509320d54de2a6a41c5abb2f5bba.
Impact: task metadata only; the feature workspace starts at 4bf6e4a0cf.
Refs: .task/feature-fast-slow-display-design.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-recovery-u1-db-identity.md(PR#426) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: backend U4 password gate returns 403 on business APIs until must_change clears; CLI-created load passwords are terminal.
Evidence: dual smoke failed POST /api/projects 403 after login_keys pin.
Impact: load suite works on schema v26+; EXIT trap disables re-entry and waits for serve.
Refs: server enforcePasswordGate; CreateAccount must_change
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: background subshell PID was recorded instead of serve, so cleanup left orphans that stole ports and broke the next smoke.
Evidence: prior dual evidence failed with bind address already in use + probe 401 against stale instance.
Impact: trap kill now terminates the real serve process.
Refs: tests/load/collaboration/run_load.sh
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: origin/main backend broke make test after v26 login_keys without migrator list update.
Evidence: go test ./cmd/storage-migrate -run TestCopyOrderCoversAllFixtureTables (exit 0) on 741b5b0.
Impact: Dev combination gate unblocked; pairs with backend PR #175.
Refs: modules/backend@741b5b0; backend PR #175
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-unified-deploy-login-key.md(PR#422) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=673e687c5c85b9af3ce13ca30845d5e68de5dfa0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=673e687c5c85b9af3ce13ca30845d5e68de5dfa0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Dev #422 add/add on docs/svc-deploy after U1/U4 landed; documents gitlink also diverged from main.
Evidence: took main svc-deploy specs; Documents pin 9d9b152 = proposal + main merge; Backend pin 1d9e8f4
Impact: PR #422 should become mergeable; Documents #79 tip advanced.
Refs: Dev pulls/422; Documents pulls/79; merged #428/#429
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Backend login_keys gate blocks Key traffic while
must_change_password is set; U7 failed on PUT settings/user 403.
Evidence: go test -c multi-instance compiles; CI test-pg will GATE.
Impact: loginAlice does session password change alicePass0→alicePass.
Refs: Dev PR #426; Backend #170 pin e7b70c2
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-deploy-u1-account-binding.md(PR#429) feature-svc-deploy-u4-login-key.md(PR#428) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: #428 landed the same svc-deploy specs; U1 branch still had parallel copies causing add/add conflicts.
Evidence: U1 docs kept branch「已启动」; U4 docs took main (#428) versions
Impact: PR #429 should become mergeable.
Refs: Dev pulls/429; merged #428
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-u7-b5-c2-load.md; R0=b431777c9fa9c74f096d7f14fce40d1beba53fe2.
Impact: task metadata only; the feature workspace starts at b431777c9f.
Refs: .task/feature-u7-b5-c2-load.md
Why: Backend #170 rebased; design doc still said v26.
Evidence: local unittest identity+backup OK after task-sync.
Impact: docs/recovery/u1-identity-manifest.md §5.2 version note.
Refs: Backend PR #170; Dev PR #426
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b431777c9fa9c74f096d7f14fce40d1beba53fe2.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Dev #429 conflicted on scripts/svc.sh (U1 user vs main backup) and Backend gitlink.
Evidence: conflict hunks resolved; actions include init|user|backup|backups
Impact: PR #429 should become mergeable after push; both U1 binding and agent backup entrypoints preserved.
Refs: Dev pulls/429; main backup #417; Backend #171
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: U1 svc user depends on --open-existing; Dev #429 conflicted on modules/backend against main.
Evidence: Backend #171 merged as 1d9e8f4 on origin/main
Impact: Unblocks task-sync; svc.sh content conflicts remain to resolve against main backup work.
Refs: Dev pulls/429; Backend #171
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: task-sync merged origin/main; Backend pin is main tip with #171; refresh SELF evidence for #428.
Evidence: go test store/server/app exit 0 at synced HEAD
Impact: PR #428 should become mergeable.
Refs: Dev pulls/428; Backend #171 (merged)
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b431777c9fa9c74f096d7f14fce40d1beba53fe2.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Backend #171 landed on main as 1d9e8f4; Dev #428 conflicted on the gitlink against newer main pins.
Evidence: Backend origin/main contains OpenExisting + login_keys (merge #171)
Impact: Dev U4 tracks Backend main tip; unblocks task-sync merge of origin/main.
Refs: Backend pulls/171; Dev pulls/428
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-agent-backup.md(PR#417) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=e27810246f507c1e1c2ff6e9fb6282f6da90e0ec.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-genui-prod-deploy.md(PR#433) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=ac4058a72f2496a7d5a0225c4fb4e3a7ac8ac012.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Close T4 with PR links, deploy SHA, and acceptance verdict after
evidence receipts were written.
Evidence: make evidence acceptance + make test SELF receipts on card
Impact: Task card ready for finish/close.
Refs: Dev#431 #432
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b4649d79c2bdd66c3bcb9e60752abdb99b5667df.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Ship the surface-action nil-card fix and usage-guide deploy note
into the Dev combination for the local prod instance.
Evidence: Backend #173 @ c7b30d2; Documents #81; make test/build pending
Impact: Prod redeploy can pick up B/C action stability and boundary docs.
Refs: GenUI prod deploy task; Backend#173; Documents#81
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: record CI success for review without pushing a new tip that
would retrigger runners (same convention as U1 #415 closeout).
Evidence: Dev #426bad29e0 test+test-pg success; Backend #170
0c79618 vet-and-test success.
Impact: task card only; push deferred until after merge or explicit.
Refs: PR #426; Backend #170
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-genui-prod-deploy.md; R0=c76f2bb34a11991346e3e3399a6fa968bf38c882.
Impact: task metadata only; the feature workspace starts at c76f2bb34a.
Refs: .task/feature-genui-prod-deploy.md
Why: task-sync hit a submodule conflict; pin must track Backend #170
HEAD after rebase onto main (copyOrder fix).
Evidence: backend 0c79618; origin/main merge completed in worktree.
Impact: modules/backend gitlink; sync with main.
Refs: Backend #170; Dev #426
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5942ba7a949f3032cacf75856529726a7c24fa8e.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-genui-auto-trigger-optin.md(PR#425) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: PR URL is the task主记录 after push; keep the card discoverable for review.
Evidence: Gitea API created pulls/429
Impact: Card header points at open PR; no merge.
Refs: pulls/429; Backend pulls/171
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: PR URLs are the task主记录 after push; keep the card discoverable for review.
Evidence: Gitea API created pulls/428 and Backend pulls/171
Impact: Card header points at open PRs; no merge.
Refs: pulls/428; Backend pulls/171
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Completion gate requires evidence-tool receipts for go test on the pinned Backend.
Evidence: SELF receipt e4d1d56c… (store/server/app exit 0 at c2d0fdf)
Impact: Task card ready for PR review; merge still owner-only.
Refs: Backend pulls/171; docs/svc-deploy/u4-one-time-login-key.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Include #172 race fix before Dev PR CI recheck.
Evidence: go test ./internal/runmgr/ -run Material
Impact: Dev pin tracks backend main with sync-only reminders.
Refs: backend#172
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=ae465d24441ab349c961a55e9b04f8c4ccaf6de8.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=ae465d24441ab349c961a55e9b04f8c4ccaf6de8.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Backend #171 HEAD advanced with must_change e2e fix; keep Dev gitlink in sync and mark U4 specs started.
Evidence: Backend go test store/server/app green at 47463a9
Impact: Dev U4 branch tracks Backend PR #171 tip.
Refs: docs/svc-deploy/u4-one-time-login-key.md; Backend pulls/171
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: task card and PR description share one document; link must be on-card.
Evidence: Gitea API created pull #426 for feature/recovery-u1-db-identity.
Impact: .task/feature-recovery-u1-db-identity.md header only.
Refs: PR #426; Backend #170
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Post-sync verification before opening the Dev PR.
Evidence: CMD=make test make evidence exit 0
Impact: Task card SELF receipts for acceptance.
Refs: backend#168/#169 documents#80
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-u7-load-fault-release.md(PR#410) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: increment 3 of the 2026-10-12 diagnostic - the change-password modal
lacked form semantics (no form/autocomplete/username association) and
SettingInput masked all free-text config values.
Evidence: frontend 8db7093 (vitest 24 files / 116 tests incl.
settingInputAttrs matrix; knip; tsc -b && vite build); full e2e and make
test receipts follow on this head.
Impact: modules/frontend pin follows; e2e.sh phase 4 also runs the new
changepw-form spec; task card records scope, authorization and stages.
Refs: 2026-10-12 diagnostic report, increment 3; stacked on PR #418.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3e4a79e4133202b537c888a8beeb7c10d82595f4.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Include #169 so composite lint-boundaries stays green.
Evidence: bash scripts/lint-boundaries.sh ok
Impact: Dev pin tracks backend main b6ea1a5.
Refs: backend#169
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-audit-capability-gate-changepw-form.md; R0=b6307db015da4a3718baadb242c52cb66b024f74.
Impact: task metadata only; the feature workspace starts at 250285eebb.
Refs: .task/feature-rdm-audit-capability-gate-changepw-form.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b6307db015da4a3718baadb242c52cb66b024f74.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Land Generative UI auto-trigger design and implementation pins.
Evidence: Backend unit tests PASS; component PRs #168/#80
Impact: Dev composite ready for make test and PR.
Refs: plan GenUI boundaries T2/T3
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-recovery-u1-db-identity.md; R0=b6307db015da4a3718baadb242c52cb66b024f74.
Impact: task metadata only; the feature workspace starts at b6307db015.
Refs: .task/feature-recovery-u1-db-identity.md
Why: wire Dev to the Backend feature that delivers OpenExisting and
one-time login keys for the approved deploy proposal.
Evidence: SELF Backend tests; gitlink 1ba7225.
Impact: Backend gitlink + docs; runtime via new binary.
Refs: .task/feature-svc-deploy-u4-login-key.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: card-autoclose archived U1 after #415 merge but left acceptance/cleanup
and the I3 follow-up incomplete for the next task handoff.
Evidence: PR #415 merge af9c2de; green HEAD 6d453ee; task-finish recycled
worktree; residual I3 = agent_system_identity.
Impact: .task/archive/feature-recovery-u1-instance-identity.md only.
Refs: plan U1 close then I3; PR #421
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b6307db015da4a3718baadb242c52cb66b024f74.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# modules/backend
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b6307db015da4a3718baadb242c52cb66b024f74.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-genui-auto-trigger-optin.md; R0=b6307db015da4a3718baadb242c52cb66b024f74.
Impact: task metadata only; the feature workspace starts at b6307db015.
Refs: .task/feature-genui-auto-trigger-optin.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-deploy-u1-account-binding.md; R0=9a9665b458916179df6d94066dfb9aa657a13d60.
Impact: task metadata only; the feature workspace starts at 9a9665b458.
Refs: .task/feature-svc-deploy-u1-account-binding.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-deploy-u4-login-key.md; R0=9a9665b458916179df6d94066dfb9aa657a13d60.
Impact: task metadata only; the feature workspace starts at 9a9665b458.
Refs: .task/feature-svc-deploy-u4-login-key.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=9a9665b458916179df6d94066dfb9aa657a13d60.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-genui-bclass-help-intent.md(PR#419) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-adminzone-plugin-sections.md(PR#414) feature-genui-spec-repair.md(PR#416) feature-recovery-u1-instance-identity.md(PR#415) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: capture the 2026-10-12 approval so push/PR and U1/U4 starts are gated.
Evidence: SELF task-card update after user approval.
Impact: task metadata and Documents gitlink; no runtime change.
Refs: .task/feature-svc-unified-deploy-login-key.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=af9c2de663be5ff102dcab7698464a645832f569.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: land the approved review conclusions as a formal proposal, U1/U4
specs, and draft task cards without starting business implementation.
Evidence: SELF precheck READY (receipt in task card); docs-only change.
Impact: planning docs and Documents gitlink; runtime behavior unchanged.
Refs: .task/feature-svc-unified-deploy-login-key.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=af9c2de663be5ff102dcab7698464a645832f569.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: task-sync ahead of review; main advanced via #414/#415 (admin-zone
hosting, U1 instance identity).
Evidence: frontend merge verified (vitest/knip/build); dev-level make test
and e2e rerun on this head follow as evidence receipts.
Impact: resolves the modules/frontend gitlink to the component merge head.
Refs: parent evidence in this task card.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-unified-deploy-login-key.md; R0=af9c2de663be5ff102dcab7698464a645832f569.
Impact: task metadata only; the feature workspace starts at af9c2de663.
Refs: .task/feature-svc-unified-deploy-login-key.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=af9c2de663be5ff102dcab7698464a645832f569.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Component PRs #167 and #77 merged; Dev should track the merge
commits rather than pre-merge feature tips.
Evidence: IMPORT make test receipt; make build exit 0
Impact: Ready for Dev composite PR.
Refs: backend#167 documents#77
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Land the first Generative UI B-class allowlist entries with the
independent review record and button-intent hardening.
Evidence: Backend go test ./internal/genui/ ./internal/surfacesvc/ ./internal/server/
Impact: Dev composite pin to backend#167 / documents#77 heads.
Refs: plan GenUI boundaries T1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=37e3229538d64867a6a074020a072da925244fcc.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: CI ci/test failed on cf4bbb4 while the identical suite passes locally (exit 0, receipt in card); the sibling head failed the other job instead - runner-side flakiness under five concurrent PRs, so retry via a fresh head.
Evidence: SELF - make test exit 0 via make evidence (full suite, 99 ok lines, no FAIL); prior CI status details fetched via API (cf4bbb4 test-pg=success test=failure; 568afbc test=success test-pg=failure).
Impact: task card evidence row only.
Refs: PR #415
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-genui-bclass-help-intent.md; R0=37e3229538d64867a6a074020a072da925244fcc.
Impact: task metadata only; the feature workspace starts at 37e3229538.
Refs: .task/feature-genui-bclass-help-intent.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=37e3229538d64867a6a074020a072da925244fcc.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3fa0d3ade8beb6b534c7ffa7505426001c58e284.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: keep the dev-repo pin in lockstep with the unexport fix so make test
passes on the task HEAD.
Evidence: frontend vitest + knip pass; full make test evidence row follows.
Impact: modules/frontend pin follows the unexport head.
Refs: 2026-10-12 diagnostic report, increment 2.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3fa0d3ade8beb6b534c7ffa7505426001c58e284.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3fa0d3ade8beb6b534c7ffa7505426001c58e284.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the 2026-10-11 runtime/ deletion lost all agent SQLite data with no
backup; the svc-autorecover closing report left "agent SQLite backup" as
a follow-up and the user asked to land it (recovery plan U2 residue).
Evidence: tests/test_svc_backup.py 11/11 green locally (live WAL writer,
manifest sha, retention, guards); make test-governance full suite green
(159 tests, rerun twice after one unreproduced flake).
Impact: new service-level actions backup/backups; snapshots live in
runtime-backups/<name>/ outside runtime/; rm --purge removes them; pg
backup and other flows unchanged.
Refs: modules/documents/docs/proposals/2026-10-12-service-restart-data-recovery.md r2 (sec 6, U2 residue); task card .task/feature-svc-agent-backup.md.
Why: keep the dev-repo pin in lockstep with the spec fix.
Evidence: frontend commit follows; full e2e rerun recorded in the task card.
Impact: modules/frontend pin 986ebdb -> spec-fix head.
Refs: 2026-10-12 diagnostic report, increment 2.
Why: pages with kv/table/list nodes failed invalid-spec under
MiniMax-M3's item-style wrappers and delegated submission lacked the
present tool; backend 3d850a2 fixes both.
Evidence: composite make test runs on this worktree after the bump
(SELF); backend suites green on the branch.
Impact: generative-ui page commits restore; merge backend PR #166
before this one.
Refs: backend PR #166; task card feature/genui-spec-repair.
Why: the card is the single master record and must carry PR #415.
Evidence: SELF - PR #415 created via API on head ecbaa84.
Impact: task card only.
Refs: PR #415
Why: user green-lit delivery on 2026-10-12; the gate for formal acceptance is the PR CI itself, so the earlier 'no push before acceptance' cell was self-contradictory.
Evidence: SELF - user grant; three-segment receipts (precheck/task-sync/tests) already in card.
Impact: task card only.
Refs: AGENTS.md 完成声明三段输出
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3fa0d3ade8beb6b534c7ffa7505426001c58e284.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the rdm-audit entry must hide on plain bases lacking rdm.inspect.*
commands (2026-10-12 diagnostic, increment 2), and the dev-repo e2e driver
needs a plain-base phase to prove it end to end.
Evidence: frontend e058adc carries the gating (vitest 23 files / 112 tests
incl. new contract matrix; tsc -b && vite build pass); full e2e rerun
follows this commit (RDM combo + plain base phases).
Impact: modules/frontend pin 360d640 -> e058adc; scripts/e2e.sh gains
phase 4 (same $DATA served by the base CLI, plain-base.playwright.ts);
task card records scope, authorization chain and stage table.
Refs: 2026-10-12 diagnostic report, increment 2.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-genui-spec-repair.md; R0=501b785e17843fdf0b19184e28952e426c1a198f.
Impact: task metadata only; the feature workspace starts at 501b785e17.
Refs: .task/feature-genui-spec-repair.md
Why: post-sync evidence must be refreshed at the final head before requesting review; stage table now separates local SELF green from the pending PR CI gate and the real-PG NOT_RUN boundary.
Evidence: SELF - identity suite 21/21 and governance 169/169 re-run at the synced head via make evidence (receipts in card).
Impact: task card only.
Refs: docs/recovery/u1-identity-manifest.md section 7
Why: Close automation filled the header (PR #412) but merge/cleanup
lines still described the in-progress state.
Evidence: CI green on PR head; task-finish recycled at 6134a17.
Impact: Archived card text only.
Refs: PR #412; PR #413
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=501b785e17843fdf0b19184e28952e426c1a198f.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u7-acceptance.md(PR#412) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=475654363de3ec72df68d246ffab8217b1cfeab6.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Evidence: receipts for the contracts-mirror dirty-tree failure and the
green rerun at the final gitlinks, imported via IMPORT_RECEIPT (SELF).
Impact: task card evidence section only.
Refs: WP3-I3.
Why: Frontend #64 moved AdminZoneSection out of the generated contracts
mirror; the composite must validate against the fixed main.
Evidence: make test rerun follows via make evidence; CI is authoritative.
Impact: submodule pointer only (frontend c1225bb -> #64 merge).
Refs: WP3-I3.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-agent-backup.md; R0=475654363de3ec72df68d246ffab8217b1cfeab6.
Impact: task metadata only; the feature workspace starts at 475654363d.
Refs: .task/feature-svc-agent-backup.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-audit-capability-gate.md; R0=475654363de3ec72df68d246ffab8217b1cfeab6.
Impact: task metadata only; the feature workspace starts at 475654363d.
Refs: .task/feature-rdm-audit-capability-gate.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=475654363de3ec72df68d246ffab8217b1cfeab6.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: card sections were placeholders; gitlinks point the composite at
backend a80d3c3 / frontend c1225bb (both merged component mains) so
make test validates the shipping combination.
Evidence: make test green in this worktree at these gitlinks (local log
/tmp/i3-make-test.log; CI is authoritative); card edits are SELF.
Impact: task card content + submodule pointers.
Refs: WP3-I3; Backend #165, Frontend #63, RDM #240.
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-fe-me-refresh.md(PR#407) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u7-acceptance.md; R0=b634a278de74c8a2124531ab3e35360a84332087.
Impact: task metadata only; the feature workspace starts at b634a278de.
Refs: .task/feature-generative-ui-u7-acceptance.md
Why: pin re-resolution requires a fresh composite run per the
cross-repo pin rules.
Evidence: CMD="make test" make evidence exit=0 at the merged head
with frontend pinned to 360d640 (SELF).
Impact: task card only.
Refs: task card feature/fe-me-refresh; Dev PR #407.
Why: Dev main moved the frontend pin to 41f6ce8 (U6, PR #408) while
this branch pinned fdedaa1 (admin me-refresh, frontend #61); frontend
main 360d640 contains both, so the gitlink resolves there.
Evidence: git merge-base --is-ancestor fdedaa1 360d640 and 41f6ce8
360d640 both hold in the frontend repo (SELF).
Impact: pin-only merge resolution; composite make test reruns next.
Refs: frontend PR #61/#62; Dev PR #407/#408.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3f32fdacbc5af91bd9212b2ded69f6559d1d92b2.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: collaboration storage U7 (proposal sections 3/5/7) requires two-process
HTTP-level acceptance over shared PG, a reproducible load-test entry honoring
the load contract, and an auditable pre-release checklist; capacity windows and
dual-host runs need user-scheduled resources, so the deliverable here is the
verifiable entry, not capacity claims.
Evidence: make test green (composite); make test-multi-instance green locally
against an isolated PG (five scenarios incl. crash-takeover and restart
invariants); run_load.sh --profile smoke end-to-end green (SSE probe p95~18ms,
zero seq duplicates, stack auto-recycled); backend pinned to feature branch
with the three cross-instance fixes.
Impact: new tests/integration/multi-instance (CI test-pg job step), new
tests/load/collaboration (k6 + SSE probe + run_load.sh), release checklist at
docs/release-multi-instance.md; no runtime behavior change in Dev repo itself.
Refs: backend PR #164; task card feature/u7-load-fault-release.
Why: Close automation filled the header (PR #408) but merge/cleanup
lines still described the in-progress state.
Evidence: CI green on PR head (one 405 race auto-resynced);
task-finish recycled at e80baf1 on 2026-10-12.
Impact: Archived card text only.
Refs: PR #408; PR #409
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u6.md(PR#408) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-adminzone-plugin-sections.md; R0=3b6331d5849af411f7571410876d3c72558e577a.
Impact: task metadata only; the feature workspace starts at 3b6331d584.
Refs: .task/feature-adminzone-plugin-sections.md
Why: bind the completion claim to the tool-recorded composite test run
on the post-sync head with the bumped frontend pin.
Evidence: CMD="make test" make evidence exit=0 appended by the evidence
tool (SELF); CI replay expected on the PR head.
Impact: task card only; no code change.
Refs: task card feature/fe-me-refresh.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=df18c35203601bdec8d1671c60e0f4cf7d0b5aef.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-plugins-compiled-listing.md(PR#404) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=df18c35203601bdec8d1671c60e0f4cf7d0b5aef.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the admin entry vanished after every reload because store.me was
never repopulated outside the forced-change gate; frontend fdedaa1
adds store.refreshMe() to the authState ok effect.
Evidence: composite make test exit=0 on this worktree with the bumped
pin (SELF); frontend vitest 100/100 and tsc+vite build clean on
feature/me-refresh-on-auth.
Impact: dev UI keeps the system-management entry for admins across
reloads and re-logins; merge frontend PR #61 before this one so the
pin points at a merged commit.
Refs: frontend PR #61; task card feature/fe-me-refresh.
Why: the previous run failed on governance tests because two leaked
mi_dbg test fixtures (pids 1411737/9, ports 18801/2) held the test ports;
killing them restored the suite. Failure and rerun are both recorded.
Evidence: make evidence receipt (make test exit=0) at the synced head
(SELF).
Impact: task card evidence section only.
Refs: WP3-I4, Dev PR #404.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-fe-me-refresh.md; R0=a1ac948155eb8957a87f37d8da4a9feb870dd532.
Impact: task metadata only; the feature workspace starts at a1ac948155.
Refs: .task/feature-fe-me-refresh.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-service-restart-recovery-plan.md(PR#403) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: task-sync merged origin/main (a1ac948) into the branch; test evidence
must be recorded at the head offered for merge.
Evidence: make evidence receipt (make test exit=0) at 719340b (SELF).
Impact: task card evidence section only.
Refs: WP3-I4, Dev PR #404.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u6.md; R0=a1ac948155eb8957a87f37d8da4a9feb870dd532.
Impact: task metadata only; the feature workspace starts at a1ac948155.
Refs: .task/feature-generative-ui-u6.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=a1ac948155eb8957a87f37d8da4a9feb870dd532.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: task-sync flagged that the previous test receipt predates non-card
changes; the tested HEAD must match the PR head.
Evidence: make evidence receipt b8e003fa562c3b4c imported (SELF, exit=0).
Impact: task card evidence section only.
Refs: WP3-I4.
Why: card sections were placeholders (policy requires goal, requirements
and test plan before evidence/review); the gitlinks point the composite
at the I4 sub-repo commits so make test validates the real combination.
Evidence: make test green in this worktree at these gitlinks (log kept
locally; CI is authoritative); card edit is SELF.
Impact: task card content + submodule pointers (backend 9aa51e5,
frontend 01b853f).
Refs: WP3-I4.
Why: the card is the single master record and must carry the PR links once created.
Evidence: SELF - Documents PR #75 and Dev PR #403 created via API; merge order #75 then #403.
Impact: task card only.
Refs: PR #75#403
Why: the user granted push/PR authorization on 2026-10-12; the card must reflect it and carry the test-segment receipt before requesting review.
Evidence: SELF - make test-pins receipt exit 0 (pins ok; nested development-guidelines warns are pre-existing); precheck and task-sync receipts already in card.
Impact: task card only.
Refs: AGENTS.md 完成声明三段输出
Why: U1 starts per the approved recovery plan r2 - a reviewed design contract must exist before touching scripts/svc.sh, and R3 needs an enumerable data-ownership baseline.
Evidence: SELF - doc-check receipt via make evidence. First run FAILED (exit 1: proposal r2 not present in this worktree because it sits unmerged on feature/service-restart-recovery-plan); references reworded to cite the path with a pending-merge note and the check re-run PASS (exit 0). Both receipts are in the card; grounding facts verified at baseline 89174a0.
Impact: docs/recovery/ additions and task card only; no behavior change; implementation gated on design review.
Refs: modules/documents/docs/proposals/2026-10-12-service-restart-data-recovery.md r2 U1
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-recovery-u1-instance-identity.md; R0=89174a0f5c28ff7f49c794f37ea7e9528f9b526e.
Impact: task metadata only; the feature workspace starts at 89174a0f5c.
Refs: .task/feature-recovery-u1-instance-identity.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-plugins-compiled-listing.md; R0=89174a0f5c28ff7f49c794f37ea7e9528f9b526e.
Impact: task metadata only; the feature workspace starts at 89174a0f5c.
Refs: .task/feature-plugins-compiled-listing.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=89174a0f5c28ff7f49c794f37ea7e9528f9b526e.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: U2's first slice landed via main (PR #396/#401); the plan card's next-task line must point at the remaining U2 delta instead of the closed task.
Evidence: SELF - documents gitlink advanced; merged main range 555fb2162f..c622372 (96 commits) inspected.
Impact: task metadata and submodule pointer only.
Refs: .task/archive/feature-svc-autorecover.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-u7-load-fault-release.md; R0=c6223724437b8c186d4ef80a20275fab4cf30004.
Impact: task metadata only; the feature workspace starts at c622372443.
Refs: .task/feature-u7-load-fault-release.md
Why: stage-review table, phase line and next-task line must carry the 2026-10-12 approval and vehicle decision.
Evidence: SELF - user decision; documents gitlink advanced to the approval-record commit.
Impact: task metadata and submodule pointer only.
Refs: modules/documents/docs/records/2026-10-12-service-restart-data-recovery-review.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-autorecover.md(PR#401) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=77391479a0645f06b631bc64ac9e55554f7e4f4e.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: systemd's default KillMode=control-group kills every process in
the unit's cgroup when the oneshot finishes -- the daemon recover just
started died seconds after the recover ok event (observed live on the
host: revived at 22:13:40, gone by 22:13:42).
Evidence: unit text now carries KillMode=process (asserted in
test_watchdog_print_plan); suite 10/10 and make test-governance rerun
recorded on the card; live re-demo on the host after merge.
Impact: scripts/svc.sh wd_service_text only.
Refs: .task/feature-svc-autorecover.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=bbce8db9054b67fd8bacf3935ceb65b205682e63.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: closing the card requires the merged PR reference and honest
verification lines per the anti-debt gate.
Evidence: PR #396 merged at main (CI GATE green on e0b49d1); evidence
table rows written by make evidence.
Impact: task metadata only.
Refs: .task/feature-svc-autorecover.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3de5791e0841e9c7c40c3dc236be6d95b3969827.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: check_port_free consulted port_owner (ss -ltnp) only, so the
/dev/tcp fallback added to port_listening never ran on the start path;
CI (no iproute2) still started onto a thief-held port.
Evidence: no-ss simulation refuses a bound port and passes a free one;
full suite 10/10 and make test-governance rerun recorded on the card;
CI on the new head is authoritative.
Impact: scripts/svc.sh check_port_free only.
Refs: .task/feature-svc-autorecover.md
Why: the CI runner container has no iproute2, so port_listening went
blind: recover started a service onto a thief-held port and the health
probe hit the thief (HTTP 200), reporting a bogus start success.
Evidence: no-ss PATH simulation shows the fallback detects a bound port
and passes free ports; make test-governance rerun recorded on the task
card; CI on the new head is authoritative.
Impact: scripts/svc.sh port_listening only (ss stays primary when
present).
Refs: .task/feature-svc-autorecover.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-rdm-source.md(PR#398) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: Popen returns before python http.server finishes binding, so on
slower CI runners recover won the race and started the service, turning
the port-stolen case into a flake.
Evidence: single-case rerun OK locally; make test-governance rerun
recorded on the task card; CI on the new head is authoritative.
Impact: test synchronization only.
Refs: .task/feature-svc-autorecover.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6933ec3979fef58e94461f3b80bb79fca3874c99.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: RDM capabilities (two-trees-one-net, rdm.* trace-audit command face)
only exist in the downstream Agent-System-RDM composite binary; svc's three
existing sources all produce the Dev binary, so none of it could be deployed
or lifecycle-managed. This adds --from rdm[@<sha>] with the same isolated
source-repo semantics as the dev source.
Evidence: make test-governance 138/138 (two new stub cases: deploy E2E and
commits/update track); real deployment rdm@2aef3fc recorded in the task card
(pins materialized, pure-Go build, web workbench to htdocs, serve health OK,
rdm.ping/rdm.inspect.capabilities committed, update --check reports latest);
make test full suite exit=0. All segments written by make evidence.
Impact: scripts/svc.sh (rdm source resolution/materialization/deploy/update/
commits, probe timeouts, rdm seed skip, ELF env-DSN evidence fallback),
docs/svc.md 5.4, tests/test_svc.py. RDM-side CLI alignment landed as RDM
PR #228; no base submodules touched.
Refs: task card .task/feature-svc-rdm-source.md; RDM PR #228/#229.
Why: CI containers run a PID 1 that does not reap orphans, so the
killed stub lingers as a zombie and os.kill(pid, 0) keeps succeeding;
local dev machines reap instantly, which hid the difference.
Evidence: tests/test_svc_recover 10/10 after the fix; make
test-governance re-run recorded on the task card; CI on the new head
is the authoritative gate.
Impact: test helper only (svc.sh already treats zombies as dead via
empty-cmdline pidcheck).
Refs: .task/feature-svc-autorecover.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-u6-vector.md(PR#395) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-rdm-source.md; R0=acc8bf124c04b89ed05093467ebce865934bdddc.
Impact: task metadata only; the feature workspace starts at acc8bf124c.
Refs: .task/feature-svc-rdm-source.md
Why: task-sync advanced the base; key checks re-run at the merged head per the evidence gate.
Evidence: make evidence appended the post-sync make test-governance run (146/146 OK); sync row recorded by task-sync.
Impact: task metadata only.
Refs: .task/feature-svc-autorecover.md
Why: stage review needs results and evidence in the card before the PR merges.
Evidence: make test / test-backend-pg (real pgvector) / make build exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #159; Dev PR #395.
Why: stage review needs results and evidence in the card before the PR.
Evidence: make test / test-backend-pg (real pgvector) / make build exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #159.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=acc8bf124c04b89ed05093467ebce865934bdddc.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the completion claim needs tool-written evidence per the evidence gate.
Evidence: make evidence wrote the make test-governance run (146/146 OK) into the card.
Impact: task metadata only.
Refs: .task/feature-svc-autorecover.md
Why: svc services are bare nohup'd processes with persisted registration
but no supervision -- a crash, an OOM kill, or a reboot left them dead
until manual restart (2026-10-11 outage: dev service lost, runtime/ also
wiped by hand, nothing brought services back).
Evidence: tests/test_svc_recover.py 10 cases green (start records
autostart, stop clears it incl. dead-process stop, SIGKILL then recover
revives with persisted exec=, lock-held skips, port-stolen fails with
recover fail event, watchdog unit text via --print); make test-governance
146/146 OK locally; real-machine watchdog install + kill -9 revival to be
recorded on the task card.
Impact: svc.sh gains autostart key in svc.env, `recover [name]
[--quiet]` (postgres-first, per-service .start.lock, recover history
events), `watchdog install|remove|status` (systemd user timer, cron
fallback hint), lifecycle lock across start/stop/restart/deploy/update;
spawned services no longer inherit the lock fd (9>&-), and lock release
no longer clobbers script stderr. Makefile adds svc-recover/svc-watchdog;
docs/svc.md documents semantics and boundaries.
Refs: task card .task/feature-svc-autorecover.md; docs/svc.md 6.5/6.6;
parallel planning card feature/service-restart-recovery-plan (same
problem space, plan-stage).
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=dc97048556caebd03168866075d959f0f55d02a7.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the parent must pin the merged component SHA for combined build and CI.
Evidence: backend origin-main tip e49f165 (includes #159 and later merges) fetched post-recovery; internal core pin 89f3906 matches Dev modules/core.
Impact: gitlink only.
Refs: backend PR #159.
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-e2e-acceptance.md(PR#393) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=660f581d81bb54c9868920df07e0b8fdbec8e036.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: task-sync advanced the Dev backend gitlink past the RDM pin; a newer-schema user-create CLI migrates the fresh store beyond what the RDM binary (schema ceiling of its pin) can open.
Evidence: reproduce on 20261011-180439 run (v25 store vs v24 binary); rerun green recorded after this change.
Impact: scripts/e2e.sh only; seeding and serving now share one base version.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=aa1f87602471cc567afd5756326e994315984fc8.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: git submodule clone over the flaky Gitea SSH endpoint hangs the whole run; local archive + pinned-checkout snapshot removes the network dependency and cuts the build stage to seconds.
Evidence: this exact tree ran scripts/e2e.sh to green (4 passed) twice, recorded in the task card.
Impact: scripts/e2e.sh only; behavior unchanged when the network is healthy.
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-material-intake-flow.md(PR#391) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: U4 acceptance needs a reproducible real-browser run: build the
RDM binary from its origin/main, seed projects/ingest via the command
API, serve with auth on, and drive Playwright against vite preview.
Evidence: scripts/e2e.sh --seed-only smoke (in progress this task);
frontend pin points at the Playwright harness commit.
Impact: dev tooling only (.tmp artifacts ignored; no runtime changes).
Refs: task feature/rdm-e2e-acceptance; frontend feature branch of
the same name.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=cef97ce34e0c77c83d24c9b4f39b94fb7a19ee2c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: card closure requires the real PR link and completion backfill before archiving.
Evidence: links to merged PRs #48/#161/#390 and CI commit statuses (GATE).
Impact: task card only.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=94314361563d12271913eb5dabd4c42d03e69c19.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# modules/backend
Why: stage-7 products must be recorded before review.
Evidence: summaries reference the tool-written receipt rows above (SELF).
Impact: task card only.
Why: acceptance requires browser-level verification of the full loop.
Evidence: receipt mat-browser-e2e exit=0 (headless Chromium against the isolated AFTER instance, real MiniMax; SELF); screenshots under /tmp/mat-e2e/shots.
Impact: task card only.
Why: Branches #387/#388 merged but the close automation did not
recognize the hand-written card headers, leaving bookkeeping debt
(precheck would flag it).
Evidence: Both PRs merged with CI green (Dev #387, #388); E2E receipt
in the e2e-record card.
Impact: Cards moved to .task/archive/ with backfilled status.
Refs: PR #387; PR #388
Why: The children-repair card promised a post-deploy E2E rerun; it
now exists with a before/after contrast.
Evidence: Real MiniMax-M3 run on dev@0f61271 - present succeeded
(ok=true revision=1) where the pre-fix run fell back to a file
artifact; surfaces API returns the saved page. Receipt imported via
make evidence (SELF, key redacted).
Impact: Task card only.
Refs: PR #387
Why: The children-repair fix needs its card and evidence on the Dev
branch before publication.
Evidence: Receipts imported via make evidence (SELF); combined make
test exit 0 after clearing orphan test-server processes left by a
parallel session (earlier runs' port-collision failures retained in
/tmp receipts and noted in the card).
Impact: Task card only.
Refs: Backend PR #160
Why: honest evidence - full suite red on one svc.sh test that also fails on clean main (live dev service port collision).
Evidence: imported receipt exit=2 (SELF); main reproduction noted.
Impact: task card only.
Why: combined validation and review must run on the exact component versions of this task.
Evidence: gitlink updates only; make test to follow in the task card via make evidence.
Impact: modules/backend -> 16ed7b2 (I1-I3), modules/ui -> bfecf8b (pending-filter fix).
Refs: .task/feature-material-intake-flow.md I3.
Why: after task-sync moved backend to 25fbea85 the reviewed gaps needed re-verification, and the svc-autorecover ownership decision needed the actual worktree state rather than the empty card alone.
Evidence: SELF - drift-check receipt (bash /tmp/as-drift-check-20261011.sh) appended via make evidence, exit 0: all cited gaps hold at 25fbea85; svc-autorecover holds 373 lines of uncommitted U2-slice work whose own suite currently fails 5 of 10 tests.
Impact: task card metadata only.
Refs: AGENTS.md 证据与验证门禁
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-e2e-acceptance.md; R0=a884b5b4553ba070a4a08cbe4227718cbce856cf.
Impact: task metadata only; the feature workspace starts at a884b5b455.
Refs: .task/feature-rdm-e2e-acceptance.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-base-ext-admin-project.md(PR#385) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: the reviewed candidate moves from untracked drafts to a fixed two-repo combination; task card and project index must reference r2 and record the svc-autorecover ownership decision as a human gate.
Evidence: SELF - documents gitlink cbc64eb (r1 pinned at 54fc24e, revised to r2 with SHA256 9cfda252...); resume precheck receipt imported above; task-sync merged origin/main 555fb2162f cleanly.
Impact: task metadata, submodule pointer and index only; no business code, no push/PR.
Refs: modules/documents/docs/records/2026-10-12-service-restart-data-recovery-review.md (round 2)
Why: AGENTS.md startup gate - this session resumed the task, so a fresh precheck receipt must be recorded before project writes.
Evidence: SELF - receipt /tmp/resume-recovery-plan-20261011.json captured via CMD='make precheck' make evidence; verdict READY at R0 555fb2162f.
Impact: task card evidence row only.
Refs: AGENTS.md 任务启动门禁
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=555fb2162fe47e13835c592013bc3a69e46239e2.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: finish the prior session's in-flight records so the tree is clean before the resume precheck (P1.1 object pinning).
Evidence: SELF - documents gitlink now points at 54fc24e (proposal r1 + review record + INDEX); task card carries the prior session's evidence rows and authorization scope.
Impact: task metadata and submodule pointer only; no business code.
Refs: modules/documents/docs/proposals/2026-10-12-service-restart-data-recovery.md
Why: policy/delivery.md requires staged review records; the user approved the plan and four scope rulings on 2026-10-11.
Evidence: card sections filled from the approved session plan (SELF); no command outputs transcribed.
Impact: task card only; no code changes.
Refs: .task/feature-material-intake-flow.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-material-intake-flow.md; R0=555fb2162fe47e13835c592013bc3a69e46239e2.
Impact: task metadata only; the feature workspace starts at 555fb2162f.
Refs: .task/feature-material-intake-flow.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=555fb2162fe47e13835c592013bc3a69e46239e2.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Close automation filled headers (PR #381/#382) but the merge and
cleanup lines still described the in-progress state.
Evidence: CI ci/test green on both PR heads (one 405 race each,
auto-resynced); task-finish recycled both worktrees on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #381; PR #382; PR #384
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-artifact-version-dedupe.md(PR#382) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-u6-vector.md; R0=d8a442edbb8822c85ab79c1a9251f039a8f12880.
Impact: task metadata only; the feature workspace starts at d8a442edbb.
Refs: .task/feature-collab-storage-u6-vector.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-u5-outbox.md(PR#380) fix-genui-page-visibility.md(PR#381) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-base-ext-admin-project.md; R0=b5f766a9ae59c9c67752a9c4b17f41ac21c7ebeb.
Impact: task metadata only; the feature workspace starts at b5f766a9ae.
Refs: .task/feature-base-ext-admin-project.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5e57029b439e5690f28dc6002f9784f0b08920eb.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-autorecover.md; R0=5e57029b439e5690f28dc6002f9784f0b08920eb.
Impact: task metadata only; the feature workspace starts at 5e57029b43.
Refs: .task/feature-svc-autorecover.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-service-restart-recovery-plan.md; R0=5e57029b439e5690f28dc6002f9784f0b08920eb.
Impact: task metadata only; the feature workspace starts at 5e57029b43.
Refs: .task/feature-service-restart-recovery-plan.md
Why: stage review needs results and evidence in the card before the PR.
Evidence: make test / test-backend-pg / make build exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #157.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5e57029b439e5690f28dc6002f9784f0b08920eb.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-u5-closeout.md(PR#378) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: U5 injects the S3-compatible blobstore from the app composition root (env-driven, local fallback) - a legitimate dependency recorded in the baseline.
Evidence: lint-boundaries green after the update.
Impact: baseline bookkeeping only.
Refs: backend PR #157.
Why: the parent must pin the merged component SHA for combined build and CI.
Evidence: backend origin-main merge of #157 fetched post-merge.
Impact: gitlink only.
Refs: backend PR #157.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-artifact-version-dedupe.md; R0=0933a3be588739f867abebaa3aa4c0283d005e40.
Impact: task metadata only; the feature workspace starts at 0933a3be58.
Refs: .task/fix-artifact-version-dedupe.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-u5-closeout.md; R0=0933a3be588739f867abebaa3aa4c0283d005e40.
Impact: task metadata only; the feature workspace starts at 0933a3be58.
Refs: .task/feature-rdm-u5-closeout.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-u5-outbox.md; R0=0933a3be588739f867abebaa3aa4c0283d005e40.
Impact: task metadata only; the feature workspace starts at 0933a3be58.
Refs: .task/feature-collab-storage-u5-outbox.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-genui-page-visibility.md; R0=0933a3be588739f867abebaa3aa4c0283d005e40.
Impact: task metadata only; the feature workspace starts at 0933a3be58.
Refs: .task/fix-genui-page-visibility.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-u5-ownership.md(PR#352) feature-svc-seed-auth.md(PR#371) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: main gained the U5 ownership feature during the previous CI window; branch protection requires latest main in head.
Evidence: fresh make test receipt exit=0 on the resynced head.
Impact: card only.
Refs: feature/svc-seed-auth
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5cbb38e788ab3050b8d9f23c21d98d2fd1587a31.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: main advanced again during the CI cycle; branch protection requires latest main in head.
Evidence: fresh make test receipt exit=0 on the resynced head (3a1b16f7 sync base 0b53094).
Impact: card only.
Refs: feature/svc-seed-auth
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=0b53094b0d5a6699cccdbc7ca45e649f6bef477b.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-u4-closeout.md(PR#374) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: main advanced after the first review cycle; branch protection requires the head to contain latest main with fresh gate evidence.
Evidence: fresh make test receipt exit=0 on the synced head.
Impact: card only.
Refs: feature/svc-seed-auth
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=97002721485662c1e2abfa793f63d46f12cb14ce.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=97002721485662c1e2abfa793f63d46f12cb14ce.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Close automation filled the header (Dev PR #372) but the merge
and cleanup lines still described the in-progress state.
Evidence: CI ci/test green on PR head (one 405 race auto-resynced);
task-finish recycled the worktree at 0c83a54 on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #372; PR #375
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u6-gate-record.md(PR#372) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-u4-closeout.md; R0=c0e123b35eeb61ee45d268a7c597b7e844f0d222.
Impact: task metadata only; the feature workspace starts at c0e123b35e.
Refs: .task/feature-rdm-u4-closeout.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-u4-audit-workspace.md(PR#368) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u6-gate-record.md; R0=fefb3e060ec05cdadc6ee8bc55abff730fe79e21.
Impact: task metadata only; the feature workspace starts at fefb3e060e.
Refs: .task/feature-generative-ui-u6-gate-record.md
Why: task-sync merged newer main (fefb3e06) after the last receipt; the gate requires evidence on the exact head proposed for merge.
Evidence: fresh make test receipt exit=0 appended by make evidence.
Impact: card only.
Refs: feature-svc-seed-auth
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=fefb3e060ec05cdadc6ee8bc55abff730fe79e21.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: seed_settings PUTs /api/settings/user without credentials, so under the PG tier's always-on auth the seed always 401s and model config silently never lands (reproduced on the dev instance 2026-10-11; settings had to be written by hand).
Evidence: make test-governance && make test exit=0 (receipt 8ffc3a89); tests/test_svc.py adds three stub-based cases - auth-on seeds with a Bearer header and create/revoke around the PUT, --seed-owner skips account lookup, auth-off stays credential-free; 14/14 svc tests green.
Impact: deployments that pass SVC_MODEL_*/SVC_TAVILY_KEYS now seed reliably regardless of auth mode; a temporary apikey (name=svc-seed) is minted for the first admin (or --seed-owner/SVC_SEED_OWNER) and revoked right after; auth-off path unchanged.
Refs: task card feature-svc-seed-auth.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5d6d1d2e64bdc27fa98e9bccdc78bc4edf2956eb.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# modules/backend
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-seed-auth.md; R0=f382544ec7829abec379b9d1bba04c4ddaac52b7.
Impact: task metadata only; the feature workspace starts at f382544ec7.
Refs: .task/feature-svc-seed-auth.md
Why: U5 introduced a TS error on main; frontend branch includes the one-line fix.
Evidence: frontend tsc zero errors; push aaced87.
Impact: modules/frontend gitlink.
Refs: Dev #367/#368
Why: The close automation filled the card header (PR #367) but the
merge-record and cleanup-record lines still described the in-progress
state.
Evidence: CI ci/test green on the final synced head 04a7f36 (two 405
races from parallel merges, one documents gitlink conflict resolved to
origin/main); component chain Documents #71, Backend #155, UI
#46/#47, Frontend #56; task-finish recycled the worktree at 04a7f36.
Impact: Archived task-card text only.
Refs: PR #367; PR #370
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u5.md(PR#367) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-admin-auth-gate-fix.md(PR#360) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-u1-dev-closeout.md(PR#363) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3ef65a91428cf28e73dd2a23127dda014e455d87.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=53a3effef777c83bd6baa63f8181f34480533559.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=53a3effef777c83bd6baa63f8181f34480533559.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=53a3effef777c83bd6baa63f8181f34480533559.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-login-clear-stale-key.md(PR#362) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=27fa4fda7a0dbdf9228f9575f3fd50ca5974df76.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=27fa4fda7a0dbdf9228f9575f3fd50ca5974df76.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# modules/frontend
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u5.md; R0=f9c6ccc263c00d95919c021cb2fe31cf2f0936d8.
Impact: task metadata only; the feature workspace starts at f9c6ccc263.
Refs: .task/feature-generative-ui-u5.md
Why: task-sync merged newer main (f9c6ccc2) after the last receipt; the gate requires evidence on the exact head proposed for merge.
Evidence: latest make test receipt exit=0 appended by make evidence.
Impact: card only.
Refs: feature/login-clear-stale-key
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=f9c6ccc263c00d95919c021cb2fe31cf2f0936d8.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=f9c6ccc263c00d95919c021cb2fe31cf2f0936d8.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the gitlink moved to the post-merge frontend head, so the delivery gate needs fresh tool-written evidence on that combination.
Evidence: receipt 007543ab (make test, exit=0) with modules/frontend at 482ba88.
Impact: card only.
Refs: feature/login-clear-stale-key
Why: the frontend task branch merged latest main (PR #54 landed in parallel) to satisfy block_on_outdated_branch; the Dev pin must reference the exact combination that is tested.
Evidence: frontend vitest 20 files / 94 tests green at 482ba88; combined make test rerun via evidence after this pin.
Impact: gitlink only.
Refs: Agent-System-Frontend PR #55.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=03b2adfdc218b45ae2a3f8172fea4110783a4e05.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-u4-audit-workspace.md; R0=03b2adfdc218b45ae2a3f8172fea4110783a4e05.
Impact: task metadata only; the feature workspace starts at 03b2adfdc2.
Refs: .task/feature-rdm-u4-audit-workspace.md
Why: The close automation filled the card header (Dev PR #359) but the
merge-record and cleanup-record lines still described the in-progress
state.
Evidence: Documents #70 and Dev #359 merged with CI green (one 405
race auto-resynced); task-finish recycled the worktree at 6b79aae on
2026-10-11.
Impact: Archived task-card text only.
Refs: PR #359; PR #361
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u5-scope.md(PR#359) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: task-sync flagged that pre-merge receipts predate non-card changes; the delivery gate requires fresh evidence on the synced head.
Evidence: receipt 95d71cd8 (make test, exit=0) on the synced tree, appended via make evidence.
Impact: card only.
Refs: feature/login-clear-stale-key
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-u1-dev-closeout.md; R0=72e3d0c58dbd0268ecc59ec51e52f646fb6a0008.
Impact: task metadata only; the feature workspace starts at 72e3d0c58d.
Refs: .task/feature-rdm-u1-dev-closeout.md
Why: completion claims require tool-written evidence for precheck,
task-sync and tests; the combined run also validates the realigned
backend core pin (Backend#154) and both auth fixes end to end.
Evidence: CMD="make test" make evidence, exit 0 (governance 133 tests,
pins ok, libs/core/backend green, frontend 93/93, ui 106/106).
Impact: none beyond the card.
Refs: task feature/admin-auth-gate-fix.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=72e3d0c58dbd0268ecc59ec51e52f646fb6a0008.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the delivery gate requires precheck/task-sync/test outputs to be tool-written into the card before review and merge.
Evidence: evidence receipt 81973311 (make test, exit=0) appended to .task/feature-login-clear-stale-key.md; includes the earlier failed drift-check run exit=2 for honesty.
Impact: card only; no code changes.
Refs: feature/login-clear-stale-key
Why: the auth fixes landed in sub-repo main via Backend#153/#154 and
Frontend#54; the Dev tree must pin them for combined verification and
release. Also records the first make-test attempt, which failed on
test-pins due to the pre-existing backend core misalignment fixed by
Backend#154.
Evidence: gitlink pins backend 44d45e1 (auth fallback + core repin) and
frontend fcf40ff (gate fix); combined make test evidence follows in the
task card.
Impact: none beyond the recorded pins.
Refs: task feature/admin-auth-gate-fix.
Why: password logins hand the browser an HttpOnly session cookie, but a stale Bearer key left in localStorage shadows it server-side (Bearer is checked first), so every request after login returns 401 and refreshes bounce back to the login page.
Evidence: frontend commit 09310cb (vitest 19 files / 88 tests green); combined make test in this worktree recorded via evidence into the task card.
Impact: dev-instance UIs reachable by LAN IP or hostname log in cleanly with username+password; API-key flow unchanged.
Refs: .task/feature-login-clear-stale-key.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-u3-closeout.md(PR#357) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-login-clear-stale-key.md; R0=259270b4e339132219490b95b42d12386f9abe1e.
Impact: task metadata only; the feature workspace starts at 259270b4e3.
Refs: .task/feature-login-clear-stale-key.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=259270b4e339132219490b95b42d12386f9abe1e.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=259270b4e339132219490b95b42d12386f9abe1e.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: an admin with a stale API key in localStorage was 401'd on every
request despite a valid session (Bearer precedence), and API-key holders
entering the forced-change gate could never complete it (passwords are
session-owned) while every 401 showed "wrong username or password",
masking the real cause.
Evidence: backend go test ./... and frontend vitest 93/93 green locally
(SELF); sub-repo PRs Backend#153 / Frontend#54 carry GATE CI; combined
make test evidence recorded in the task card.
Impact: pins backend 6681c3b and frontend dc18d6c via gitlinks; fills
the task card with diagnosis, requirements R1-R4 and plan.
Refs: task feature/admin-auth-gate-fix.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u5-scope.md; R0=259270b4e339132219490b95b42d12386f9abe1e.
Impact: task metadata only; the feature workspace starts at 259270b4e3.
Refs: .task/feature-generative-ui-u5-scope.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-admin-auth-gate-fix.md; R0=2e43e71209384b356ebfe664e9f27492fd514977.
Impact: task metadata only; the feature workspace starts at 2e43e71209.
Refs: .task/feature-admin-auth-gate-fix.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-u3-closeout.md; R0=2e43e71209384b356ebfe664e9f27492fd514977.
Impact: task metadata only; the feature workspace starts at 2e43e71209.
Refs: .task/feature-rdm-u3-closeout.md
Why: The close automation filled the card header (PR #351) but the
merge-record and cleanup-record lines still described the in-progress
state.
Evidence: CI ci/test green on the retriggered head (first run failed
on runner network glitch and a hung test job, both infra); component
chain Core #27/#28, UI #42-#45, Frontend #53, Backend #150; task-finish
recycled the worktree at b877edd on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #351; PR #356
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u4.md(PR#351) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-u2-closeout.md(PR#354) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: job 2555 failed at checkout - runner could not reach 127.0.0.1:3000 (Failed to connect); no code or test failure.
Evidence: job 2555 log tail 'Checkout refused: ... exit status 128'.
Impact: empty commit, no file change.
Refs: PR #352.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=c79a77db944b88fa7e817d632d5474bdac6d8c90.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: resolve the interrupted sync: take the reconciled Documents pin eb36571 (union of U2 progress and template/final-target plans) plus main's card/PROJECT updates.
Evidence: Documents PR #68 merge eb36571; gitlink conflict resolved to the superset tip.
Impact: task-branch integration merge only.
Refs: Documents #68; Dev #340/#354
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-template-dialog-plan.md(PR#340) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: stage review needs results and evidence in the card before the PR.
Evidence: make test / test-backend-pg / make build exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #151, #152.
Why: PR #152 merged the internal core-pin alignment after #151; the task branch must pin the final combination.
Evidence: backend origin-main tip carries internal pin 7a98a7e matching Dev modules/core.
Impact: gitlink only.
Refs: backend PR #151, #152.
Why: after merging the U5 ownership PR and the core-pin alignment, the task branch carries both; Dev pins the merged tip with the internal core pin at 7a98a7e.
Evidence: backend task branch merged origin/main, builds green, internal core checkout aligned.
Impact: gitlink + task card evidence only.
Refs: backend PR #151, #152.
Why: the evidence tool appends must be committed before task-sync can proceed.
Evidence: three receipt segments appended by make evidence.
Impact: task metadata only.
Refs: backend PR #151.
Why: the parent must pin the merged component SHA for combined build and CI.
Evidence: backend origin-main merge of #151 fetched post-merge.
Impact: gitlink only.
Refs: backend PR #151.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=0f589ed7ff5c1dc63a9700906fe9138fe607d85c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=0f589ed7ff5c1dc63a9700906fe9138fe607d85c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=0f589ed7ff5c1dc63a9700906fe9138fe607d85c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-u5-ownership.md; R0=0f589ed7ff5c1dc63a9700906fe9138fe607d85c.
Impact: task metadata only; the feature workspace starts at 0f589ed7ff.
Refs: .task/feature-collab-storage-u5-ownership.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-u6-events.md(PR#343) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=ad892d58fcad5f6b206b9aa9acf3f6fca538775b.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=a70ed114fba2d51bb93ec8cb0662703ab0bc0614.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=a70ed114fba2d51bb93ec8cb0662703ab0bc0614.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=a70ed114fba2d51bb93ec8cb0662703ab0bc0614.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u4.md; R0=a70ed114fba2d51bb93ec8cb0662703ab0bc0614.
Impact: task metadata only; the feature workspace starts at a70ed114fb.
Refs: .task/feature-generative-ui-u4.md
Why: the master record now records U2 as merged (Documents 559af219); the Dev gitlink and PROJECT.md entry must follow.
Evidence: Documents PR #67 merged=True (API); closeout doc check receipt in card; RDM PR #197 merge fe8a75b.
Impact: modules/documents gitlink, PROJECT.md planning entry, task card; no code change.
Refs: Documents PR #67; RDM PR #197/#198
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-u2-closeout.md; R0=866086c2a080716195c3dd35e6ef362016347c94.
Impact: task metadata only; the feature workspace starts at 866086c2a0.
Refs: .task/feature-rdm-u2-closeout.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=866086c2a080716195c3dd35e6ef362016347c94.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# modules/backend
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=866086c2a080716195c3dd35e6ef362016347c94.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The close automation filled the card header (PR #345) but the
merge-record and cleanup-record lines still described the in-progress
state.
Evidence: CI ci/test green on the PR head (one 405 race resynced);
Backend #149 at 6abf112; task-finish recycled the worktree at ca20279
on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #345; PR #347
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u3.md(PR#345) feature-svc-db-config-recover.md(PR#342) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=56152323f6179d8f99cfb2b4808573f1d95a63a2.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=56152323f6179d8f99cfb2b4808573f1d95a63a2.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=56152323f6179d8f99cfb2b4808573f1d95a63a2.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-u1-closeout.md(PR#338) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=2229d718c7b25941cba1c2464ddd62f9d7466bec.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=2229d718c7b25941cba1c2464ddd62f9d7466bec.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b1caa7cae13d35ec6e62c883d1f379aee35e35ef.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b1caa7cae13d35ec6e62c883d1f379aee35e35ef.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u3.md; R0=b1caa7cae13d35ec6e62c883d1f379aee35e35ef.
Impact: task metadata only; the feature workspace starts at b1caa7cae1.
Refs: .task/feature-generative-ui-u3.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b1caa7cae13d35ec6e62c883d1f379aee35e35ef.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=36897a1009eb8d3ec63fac8974446bbd4c59bbc0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: stage review needs results and evidence in the card before the PR.
Evidence: make test / test-backend-pg / make build exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #147, #148.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=36897a1009eb8d3ec63fac8974446bbd4c59bbc0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the parent must pin the merged component SHA for combined build and CI.
Evidence: backend origin-main merge of #147 fetched post-merge.
Impact: gitlink only.
Refs: backend PR #147.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=36897a1009eb8d3ec63fac8974446bbd4c59bbc0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The close automation filled the card header (PR #336) but the
merge-record and cleanup-record lines still described the in-progress
state.
Evidence: CI ci/test green on the final synced head; component chain
Core #25/#26, Backend #143/#146, UI #40/#41, Frontend #51/#52; local
combined make test/build receipts in the card; task-finish recycled
the worktree at ca4f5a5 on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #336; PR #341
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u2.md(PR#336) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-u6-events.md; R0=0ecdcbd3c09397cfe7043c446a6da728f89b01bb.
Impact: task metadata only; the feature workspace starts at 0ecdcbd3c0.
Refs: .task/feature-collab-storage-u6-events.md
Why: main landed fix-svc-dsn-reuse-dbref (reuse-path dbref restore, env-DSN
aware precheck, DSN_ENV scoping) for the same restart-DSN incident; the
approved recovery plan is its superset and replaces those mechanisms with
resolve_db_config + recoverable svc.env keys + refuse-on-invalid semantics.
Evidence: tests/test_svc_precheck.py ported to the new units (18 cases green,
same scenario matrix; broken-dbref expectation updated to refusal per the
approved plan); tests/test_svc.py 11 cases green; bash -n OK.
Impact: conflict hunks resolved toward the unified resolver; main's source
guard at the script tail restored; agent_listen_rejected kept as a pure
predicate (used by the start precheck and the governance tests).
Refs: main 7acf318 (PR #317); task card .task/feature-svc-db-config-recover.md.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=0bda404ac0c0169edc8ac00688528e29ff327c3d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-u4-migrator.md(PR#337) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: the exec= reuse path stripped --dsn into the process environment (G1-7)
and record_state then persisted a DSN-less exec=, while the dbref fallback only
existed in the explicit-rebuild branch - the second bare restart after a
rebind silently dropped the database (SQLite fallback on loopback). Auth
preflight also matched --dsn on the command line only, so env-delivered DSN
with auth=auto was misjudged as unauthenticated.
Evidence: bash -n OK; make test-governance 115 tests OK (new tests/test_svc.py
11 cases; 10/11 fail against the pre-fix script); make test green; make build
OK; isolated real PostgreSQL 18.6 + real binary validation 27/27 (consecutive
restarts/deploy keep binding, psql-verified database identity, DB-down restart
fails without SQLite fallback or config loss, no credential leakage) - all
recorded via make evidence in the task card.
Impact: svc.env gains db=/dbref=/dsn= recovery keys (atomic 0600 writes);
start/restart/deploy/update/db share one resolver; invalid bindings, config
conflicts, mock coexistence and env-DSN-incapable binaries now refuse to
start instead of silently downgrading; legacy exec= DSN migrates idempotently;
docs/svc.md and script help updated.
Refs: task card .task/feature-svc-db-config-recover.md; user-approved plan
(2026-10-11 session message); AGENTS.md evidence gates.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b3b48f5efa2a6a25f16f6413d8b9c89715f22960.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b3b48f5efa2a6a25f16f6413d8b9c89715f22960.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b3b48f5efa2a6a25f16f6413d8b9c89715f22960.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: leave a complete local review checkpoint for the expanded RDM goal.
Evidence: successful task-sync and fresh 112-requirement/16-unit documentation checks are recorded as SELF.
Impact: task evidence only; business tests, implementation and deployment remain NOT_RUN.
Refs: .task/feature-rdm-template-dialog-plan.md
Why: retain the clarified shared-project and private-document design with complete requirements coverage.
Evidence: SELF source receipt, 112-row requirements matrix, plan review and documentation checks in the task card.
Impact: local planning candidate only; no business implementation, push, merge to main or deployment.
Refs: modules/documents/docs/proposals/2026-10-11-rdm-final-target-completion.md
Why: the master record now records U1 as merged (Documents 2a5f658); the Dev gitlink and PROJECT.md entry must follow.
Evidence: Documents PR #66 merged=True (API); closeout doc check receipt in card; RDM PR #195 merge 05b7d1a.
Impact: modules/documents gitlink, PROJECT.md planning entry, task card; no code change.
Refs: Documents PR #66; RDM PR #195
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-db-config-recover.md; R0=80a518628c526fd6ddece4abeb707ab4bb0b5618.
Impact: task metadata only; the feature workspace starts at 80a518628c.
Refs: .task/feature-svc-db-config-recover.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-u1-closeout.md; R0=80a518628c526fd6ddece4abeb707ab4bb0b5618.
Impact: task metadata only; the feature workspace starts at 80a518628c.
Refs: .task/feature-rdm-u1-closeout.md
Why: card and PR description are one document; record the PR link before merge.
Evidence: Dev PR #337 created via Gitea API.
Impact: task metadata only.
Refs: PR #337.
Why: stage review needs results, stage verdicts and the three evidence segments in the card before the PR.
Evidence: make test / test-backend-pg (real services) / make build all exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #144, #145; documents PR #65.
Why: save this task owned pending documentation before resuming the broader system plan.
Evidence: user confirmation and SELF documentation check receipt are retained in the task card.
Impact: local documentation snapshot only; no push or implementation.
Refs: .task/feature-rdm-template-dialog-plan.md
Why: backend main pins deps/agent-system-core at 452daf3 (Surface types, core PR #25); Dev's top-level core gitlink lagged at a253a40, failing make test-pins after task-sync.
Evidence: check-pins green after the bump; core origin-main tip is 452daf3.
Impact: gitlink bump only.
Refs: core PR #25; backend PR #143.
Why: backend PR #143 added surfacesvc with app/server/store edges already merged into component main; the Dev baseline must record them (lint failed after task-sync). runmgr->cmdbus no longer exists in code.
Evidence: lint-boundaries.sh green after the update; edges match the merged backend main exactly.
Impact: baseline bookkeeping only; no dependency change made by this task.
Refs: backend PR #143; Dev U4 task.
Why: the U4 managed migration entry must ship with make build so operators and CI get the tool.
Evidence: make build emits both binaries; migrator suite green on SQLite and real PostgreSQL.
Impact: build target output adds bin/storage-migrate; no test-path change.
Refs: backend PR #144; runbook section 10.
Why: the parent must pin the merged component SHAs for the combined build and CI gates.
Evidence: backend origin-main merges of #144 (storage-migrate) and #145 (surface tables in copy list); documents origin-main merge of #65 (runbook section 10).
Impact: gitlink updates only.
Refs: backend PR #144, #145; documents PR #65.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=80a518628c526fd6ddece4abeb707ab4bb0b5618.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=80a518628c526fd6ddece4abeb707ab4bb0b5618.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The U2 increment landed across four component repos (Core #25
Surface contract types and validation; Backend #143 surface store,
activation guard, EXT-17 SurfaceHost, direct API; UI #40 and Frontend
#51 id/source contract mirrors); Dev pins the combined set for the
authoritative make test/build gate.
Evidence: Component PRs merged (core 452daf3, backend d795143, ui
5b03b8f, frontend a26d7c5); combined verification receipts follow in
this branch via make evidence.
Impact: Gitlink pins only in this commit; task-card updates follow.
Refs: Documents proposal r2 U2; Dev task feature/generative-ui-u2
Why: preserve the final local planning checkpoint for user review.
Evidence: successful task-sync and repeated documentation checks are recorded as SELF in the task card; the original interrupted attempt remains intact.
Impact: task evidence only; business tests, combined build, runtime acceptance and delivery remain NOT_RUN.
Refs: .task/feature-rdm-template-dialog-plan.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=80a518628c526fd6ddece4abeb707ab4bb0b5618.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: retain the requested template audit and proposed delivery design in the project entrypoints.
Evidence: SELF precheck, source inventory and documentation checks are preserved in the task card; business and combination tests NOT_RUN.
Impact: local documentation candidate only; no push, merge, migration or deployment.
Refs: .task/feature-rdm-template-dialog-plan.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-u4-migrator.md; R0=80a518628c526fd6ddece4abeb707ab4bb0b5618.
Impact: task metadata only; the feature workspace starts at 80a518628c.
Refs: .task/feature-collab-storage-u4-migrator.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-u3-budget-authz.md(PR#333) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-template-dialog-plan.md; R0=95992d751f0a6ea8e345109dbb6b9367d9055e92.
Impact: task metadata only; the feature workspace starts at 95992d751f.
Refs: .task/feature-rdm-template-dialog-plan.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-svc-dsn-reuse-dbref.md(already-complete) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: Fold the card close into PR #317 per the post-merge cleanup instruction.
Evidence: make test exit=0 re-run at the synced head 0303040 (receipt in card).
Impact: Task card only.
Refs: .task/fix-svc-dsn-reuse-dbref.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=95992d751f0a6ea8e345109dbb6b9367d9055e92.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=95992d751f0a6ea8e345109dbb6b9367d9055e92.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the real-PG CI gate on PR #333 exposed the stack overflow; PR #142 fixes it with a regression test.
Evidence: backend origin-main merge of #142 fetched post-merge and checked out.
Impact: gitlink only.
Refs: backend PR #142; Dev PR #333.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u2.md; R0=95992d751f0a6ea8e345109dbb6b9367d9055e92.
Impact: task metadata only; the feature workspace starts at 95992d751f.
Refs: .task/feature-generative-ui-u2.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=693f7f0459992c66ae672a966da4fc9fa12c193b.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-two-trees-audit-plan.md(PR#330) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=ec0169cad19c9525ce6ee4d7e26632351a5e5dbc.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=ec0169cad19c9525ce6ee4d7e26632351a5e5dbc.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: card and PR description are one document; record the PR link before merge.
Evidence: Dev PR #333 created via Gitea API.
Impact: task metadata only.
Refs: PR #333.
Why: stage review needs results, stage verdicts and the three evidence segments in the card before the PR.
Evidence: make test / test-backend-pg (real services) / make build all exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #141; documents PR #64.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=bfcdeef9aa335ca605c5794de9fc3889eeb1c2ab.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the parent must pin the merged component SHAs for the combined build and CI gates.
Evidence: both origin-main merge commits fetched post-merge and checked out.
Impact: gitlink updates only.
Refs: backend PR #141; documents PR #64.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=bfcdeef9aa335ca605c5794de9fc3889eeb1c2ab.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The close automation filled the card header (PR #329, merge
bfcdeef) but the merge-record and cleanup-record lines still said
NOT_RUN.
Evidence: CI ci/test passed on final head 7f58e6e (run 1767) after a
pre-merge task-sync to 90c07a5; task-finish recycled the worktree and
deleted the task branch at 7f58e6e on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #329; PR #332
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u1.md(PR#329) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-u3-budget-authz.md; R0=90c07a5b4fb75251ea72b492ccb6714e5e699fe5.
Impact: task metadata only; the feature workspace starts at 90c07a5b4f.
Refs: .task/feature-collab-storage-u3-budget-authz.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=90c07a5b4fb75251ea72b492ccb6714e5e699fe5.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-u3-atomicity.md(PR#328) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: the plan was approved and merged in Documents (PR #63); the Dev pin and planning entry must follow the approved master record.
Evidence: modules/documents gitlink d3e40c783d1a092b67d025303f28384a564548f4 (Documents PR #63 merge, SELF API query); task card backfilled with the user rulings and merge record.
Impact: documents gitlink, PROJECT.md planning entry, and task-card metadata only; no code change.
Refs: Documents PR #63; .task/feature-rdm-two-trees-audit-plan.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6479eb5c38636e758b7e44a36fdc7ce6883ad1c9.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The U1 controlled trial finished; its fixtures, validator, runner,
per-run results, report, and renderer spike must be reviewable from the
task branch, and the task card needs the final PASS/FAIL record.
Evidence: results/summary.json + report.md (SELF, MiniMax official
channel, CNY 3 of 200 cap); make evidence receipts for precheck,
task-sync, and make test follow in this branch.
Impact: Task-scoped experiment artifacts only (.task/genui-u1/); no
production code changes.
Refs: Documents PR #62 (proposal r2); task card feature/generative-ui-u1
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6479eb5c38636e758b7e44a36fdc7ce6883ad1c9.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the user approved the bundled five stages and chose the two-tier admin model; the card must record the human review gate and both rulings.
Evidence: SELF doc-check receipt appended by make evidence (exit 0, ruled plan sha256 56c0fada60140decb40df0201599891b4702814746ed44a2c0197b4483e0763b); Documents ruling commit b857595.
Impact: task metadata only (task card); no code or submodule change.
Refs: .task/feature-rdm-two-trees-audit-plan.md
Why: card and PR description are one document; record the PR link on the branch before merge.
Evidence: Dev PR #328 created via Gitea API.
Impact: task metadata only.
Refs: PR #328.
Why: stage review needs the results, stage verdicts and three evidence segments in the card before the PR.
Evidence: make test / test-backend-pg (real services) / make build all exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #140.
Why: the parent must pin the merged component SHA for the combined build and CI gates.
Evidence: backend origin-main merge of #140 fetched and checked out.
Impact: gitlink only.
Refs: backend PR #140.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-u3-atomicity.md; R0=6479eb5c38636e758b7e44a36fdc7ce6883ad1c9.
Impact: task metadata only; the feature workspace starts at 6479eb5c38.
Refs: .task/feature-collab-storage-u3-atomicity.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-pg-tier.md(PR#325) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: the racing-migrator test failed deterministically on slow CI disks from the connection-open phase; PR #139 adds a bounded Begin retry and pre-materializes the racing test database.
Evidence: backend PR #139 merged (CI logs jobs 2285/2293 cited there); local store suite green.
Impact: gitlink only.
Refs: PR #325.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5771d4f1e5b692bce95eb64cc30dc9931079ad12.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-two-trees-audit-plan.md; R0=5771d4f1e5b692bce95eb64cc30dc9931079ad12.
Impact: task metadata only; the feature workspace starts at 5771d4f1e5.
Refs: .task/feature-rdm-two-trees-audit-plan.md
Why: the job runs the full backend suite against real services; internal/runtime lint tests require python-docx (job 2290: ModuleNotFoundError 'docx') which the plain test job already installs.
Evidence: job 2290 log; all PG/Redis-dependent packages green in the same run (store 2.6s, pgbus, runmgr, ratelimit, server).
Impact: test-pg job setup only.
Refs: Dev PR #325.
Why: the runner-container guard had a doubled '[[' from a string replacement (exit '[: too many arguments'), and pgvector's extension is named 'vector' (control file vector.control) - CREATE EXTENSION pgvector failed with 'extension not available' (jobs 2285/2286 logs).
Evidence: job 2286 log 'ERROR: extension pgvector is not available ... pgvector.control: No such file'; package postgresql-16-pgvector 0.6.0 installed fine.
Impact: test-pg job only; repins backend to the #138 merge (30s SQLite busy timeout for serialized migrators).
Refs: backend PR #138; Dev PR #325.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u1.md; R0=5771d4f1e5b692bce95eb64cc30dc9931079ad12.
Impact: task metadata only; the feature workspace starts at 5771d4f1e5.
Refs: .task/feature-generative-ui-u1.md
Why: the runner container executes as root without sudo; the previous $SUDO -u postgres expanded to a bare '-u' and failed with exit 127 on the first test-pg run (job 2280 log).
Evidence: job 2280 log lines '/var/run/act/workflow/3: line 6: -u: command not found', exitcode 127; postgresql service itself started fine as root.
Impact: test-pg job setup steps only; also prints pinned pgvector/pg_trgm extension versions for acceptance records.
Refs: PR #325; docs/guides/team-storage.md section 5.
Why: The close automation filled the card header (PR #324, merge
0d92b9e) but the merge-record and cleanup-record lines still described
the in-progress state.
Evidence: CI ci/test passed on PR HEAD 6b96967 (run 1738); task-finish
recycled the worktree and deleted the local/remote task branch at
6b96967 on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #324; PR #326
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-research.md(PR#324) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: card and PR description are one document; the PR link and the user's authorization basis must be on the branch before merge.
Evidence: Dev PR #325 created via Gitea API; user directive 2026-10-11 quoted in the card.
Impact: task metadata only.
Refs: PR #325.
Why: the card is the single record for stage review; results, stage verdicts and the three evidence runs must be in it before the PR.
Evidence: make test / test-backend-pg (real PG+Redis) / make build all exit 0, written by the evidence tool.
Impact: task metadata only.
Refs: backend PR #137; documents PR #61.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=2afcfd5d6db29e76ae89b34798b8f34f030a3a69.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the parent must pin the merged component SHAs so the combined build and CI gate run against the delivered U2 code and U1 runbook.
Evidence: backend origin-main merge commit of #137 and documents origin-main merge commit of #61 (fetched post-merge, replacing a stale pre-merge pin attempt).
Impact: gitlink updates only.
Refs: backend PR #137; documents PR #61.
Why: the approved collaboration plan U2 requires CI to run the backend suite against real PostgreSQL+pgvector and Redis and fail when the services are missing, instead of silently skipping the tier.
Evidence: local gate green twice against PostgreSQL 18.6+pgvector and Redis 8.10.2 (isolated svc.sh instance); the target fails fast when AGENT_PG_TEST_DSN/AGENT_REDIS_TEST_ADDR are unset.
Impact: new make target test-backend-pg (env-guarded) and a required test-pg job (apt postgresql-16-pgvector + redis-server, ephemeral per-run services); existing test job unchanged.
Refs: proposals/2026-10-11-collaboration-storage-and-distribution.md U2; docs/guides/team-storage.md section 5.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=2afcfd5d6db29e76ae89b34798b8f34f030a3a69.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# PROJECT.md
Why: The user ruled the three open choices on 2026-10-11 (first pilot =
in-conversation analysis page; trusted compiled-plugin delivery for
enable/disable; U1 trial limited to MiniMax M3 + M2.7-highspeed,
sanitized materials, CNY 200 cap), converting the research draft into a
publishable direction record.
Evidence: Precheck and evidence receipts live in the task card;
Documents PR #60 (merged at 3304efe) carries the proposal and index
entry that this gitlink pins.
Impact: Dev-side PROJECT.md entry, documents gitlink, and the task card
only; no code or contract changes.
Refs: modules/documents/docs/proposals/2026-10-10-generative-ui-plugin.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ui-three-column-workbench.md(PR#322) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: task-sync merged authoritative main (documents pin and card
archives); receipts recorded before the merge are stale per the
evidence gate, so the key checks were rerun on the synced head.
Evidence: make test and make build rerun on 4c89175 with receipts
appended (SELF); task-sync receipt follows on the committed card.
Impact: task card only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-pg-tier.md; R0=7743f53c5dfe9ed8dfd0663d05e3be15544d8942.
Impact: task metadata only; the feature workspace starts at 7743f53c5d.
Refs: .task/feature-collab-storage-pg-tier.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=7743f53c5dfe9ed8dfd0663d05e3be15544d8942.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The evidence gate requires the three completion segments to be
written by the evidence tool into the task card rather than transcribed.
Evidence: make test and make build receipts appended (SELF); task-sync
to follow on a clean tree.
Impact: task card only.
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collaboration-storage-plan.md(PR#320) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: the card and PR description are one document; the PR link must be recorded on the branch before merge.
Evidence: Dev PR #320 and documents PR #59 created via Gitea API.
Impact: task metadata only.
Refs: PR #320.
Why: cross-repo gitlink changes require combined make test evidence before the Dev PR.
Evidence: make test exit 0 recorded by the evidence tool (governance, pins, libs, modules all green).
Impact: task card evidence table only.
Refs: documents PR #59; gitlink pin 45e08b9.
Why: The approved three-column redesign converges entries and hierarchy:
preview merges into a Work/Files third column, the left rail moves
project switching to the top and sinks files/workspaces/account to the
bottom, stop control consolidates into the input area with a light
fast/slow-lane status hint, and the top bar stops repeating project
identity. DESIGN.md 6 and 9.3 are revised in the same changeset per the
design gate (no token changes; 12.2 records the revision).
Evidence: Frontend npx vitest run 85/85 and npm run build passed in this
worktree (SELF receipts below); full make test to follow before review.
Impact: bumps modules/frontend to 3ed10e1 (two commits: layout rework +
workspace builtin expectations); DESIGN.md 6/9.3/12.2; task card records
requirements R1-R6 and the authorized-continuous scope.
Refs: three-column workbench proposal (2026-10-11).
Why: the approved plan r1 landed on documents main via PR #59; the Dev parent must pin it for the combined build.
Evidence: documents origin/main=95e5c9d307626727db2d1df3b42d74873bc8bbe4 containing proposal r1, index entry, review record, audit receipt.
Impact: gitlink only; no code or runtime change.
Refs: documents PR #59.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d9cd5c7dbe8bc62a8abd02f9f8f9014730be88af.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the user approved plan r1 on 2026-10-11 (instruction to start the transformation per the plan); the card must carry the authorization basis and stage-review verdicts before publication.
Evidence: user instruction quoted verbatim in the card; resume precheck receipt imported (receipt_sha256 e8e77e87fc5990b9...).
Impact: task metadata and PROJECT.md entry only; plan content lives in the documents component PR #59.
Refs: documents PR #59; plan section 5 first increment U1+U2.
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-s0-workspace-overlay.md(PR#318) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ui-three-column-workbench.md; R0=73c901fa341a3653d6e0826d0da3497507995482.
Impact: task metadata only; the feature workspace starts at 73c901fa34.
Refs: .task/feature-ui-three-column-workbench.md
Why: The card's primary record must point at the real PR per the delivery gate.
Evidence: PR #317 open (API verified).
Impact: Task card only.
Refs: .task/fix-svc-dsn-reuse-dbref.md
Why: Complete the three-stage evidence (precheck/task-sync/tests) and the
self-check stage row per the evidence and delivery gates.
Evidence: make test exit=0 and make test-governance exit=0 receipts written
by make evidence at HEAD 8d73075.
Impact: Task card only.
Refs: .task/fix-svc-dsn-reuse-dbref.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=73c901fa341a3653d6e0826d0da3497507995482.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: G1-7 moved the DSN into AGENT_SYSTEM_DSN, but the precheck only read
the arg string, so a non-loopback restart with auth auto was wrongly
rejected (2026-10-10 dev incident); the reuse path no longer restored the
dbref-bound DSN and would silently fall back to SQLite; and DSN_ENV leaked
across same-process starts (update --all) into other services' env.
Evidence: tests/test_svc_precheck.py 19 cases green (auth matrix vs
config.go AuthEnabled, reuse migration/dbref restore, scope isolation);
full governance suite 123 green; incident-scenario replay allowed + DSN
carried. Recorded via make evidence.
Impact: scripts/svc.sh precheck and reuse-start DSN handling only; no
binary change, no persistence-format change.
Refs: .task/fix-svc-dsn-reuse-dbref.md; config.go AuthEnabled (on || (not
off && DSN non-empty), env DSN counts).
Why: Resume the pre-started task with the defect analysis (G1-7 precheck
mismatch, reuse-path DSN loss, DSN_ENV leakage) recorded per delivery policy.
Evidence: make precheck receipt (SELF) imported via make evidence.
Impact: Task card only; no code change yet.
Refs: .task/fix-svc-dsn-reuse-dbref.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collaboration-storage-plan.md; R0=73c901fa341a3653d6e0826d0da3497507995482.
Impact: task metadata only; the feature workspace starts at 73c901fa34.
Refs: .task/feature-collaboration-storage-plan.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-s0-workspace-overlay.md; R0=73c901fa341a3653d6e0826d0da3497507995482.
Impact: task metadata only; the feature workspace starts at 73c901fa34.
Refs: .task/feature-agent-s0-workspace-overlay.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-e4-escalation-ledger.md(PR#315) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-e4-escalation-ledger.md; R0=f9b61eaa7ffa840ad25a10dddc918ecec0861c47.
Impact: task metadata only; the feature workspace starts at f9b61eaa7f.
Refs: .task/feature-agent-e4-escalation-ledger.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-e5-model-ab.md(PR#313) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-e5-model-ab.md; R0=66b6304d1cfc8a713e1ea3dc6f98a115615c9bbb.
Impact: task metadata only; the feature workspace starts at 66b6304d1c.
Refs: .task/feature-agent-e5-model-ab.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-e3-evidence-gate.md(PR#311) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-research.md; R0=104a4142c918f7325d3a78e3e6e270e46739baea.
Impact: task metadata only; the feature workspace starts at 104a4142c9.
Refs: .task/feature-generative-ui-research.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-e3-evidence-gate.md; R0=104a4142c918f7325d3a78e3e6e270e46739baea.
Impact: task metadata only; the feature workspace starts at 104a4142c9.
Refs: .task/feature-agent-e3-evidence-gate.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-e1-parallel-fixes.md(PR#307) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=747fe54ee5c9e87311e6594caafa3b70865c996a.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-dual-speed-real-path.md(PR#308) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: backend main moved to 017b40f (agent-squad pin bump, E1 chain #129) and
Dev's top-level agent-squad must match the nested pin the components record,
otherwise test-pins flags container/Dev divergence.
Evidence: check-pins green and make test rerun recorded on this head.
Impact: modules/backend 5714c73 -> 017b40f; deps/agent-squad 8bbf850 -> 490b0b2.
Refs: Backend PR #128/#129; agent-squad PR #51.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=4c8ad93892e5c8a88d7160220288720c40805251.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the backend pin 5714c73 records agent-native c348441 (E1 parallel-tools
kernel); Dev's top-level agent-native gitlink must move with it or test-pins
flags the container/Dev divergence (three-layer pin cascade).
Evidence: check-pins green after the bump (recorded via make test evidence).
Impact: deps/agent-native gitlink 3b92cb6 -> c348441 only.
Refs: Backend PR #128; agent-native PR #44.
Why: Backend #128 (entry hint for attachment-bearing tasks, escalating
dual-speed nudge with observability log and setting, inline-think stripping
for subagent summaries and inbox cards) merged; Dev gitlink moves with it.
Evidence: Backend PR #128 ci/vet-and-test success on the synced head
(includes the E1 parallel-tools merge); Dev-level make test to be recorded.
Impact: modules/backend gitlink c6912b6 -> 5714c73 only.
Refs: Backend PR #128; task card feature/dual-speed-real-path.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-dual-speed-real-path.md; R0=4c8ad93892e5c8a88d7160220288720c40805251.
Impact: task metadata only; the feature workspace starts at 4c8ad93892.
Refs: .task/feature-dual-speed-real-path.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-empty-state-preview-fix.md(PR#305) feature-final-reply-pollution-fix.md(PR#303) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5fa6cfbd8c8995c4267d0a76390f652b62d953dc.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Frontend PR #49 merged; the pin must point at component main so the
merged content is actually contained (branch-head pins drop unmerged diff).
Evidence: vitest 85/85 and browser replay recorded earlier cover the branch
head; make test rerun on this pin before the Dev PR.
Impact: modules/frontend gitlink 84b73ab -> 339a9eb.
Refs: Frontend PR #49; task card feature/empty-state-preview-fix.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-e1-parallel-fixes.md; R0=5fa6cfbd8c8995c4267d0a76390f652b62d953dc.
Impact: task metadata only; the feature workspace starts at 5fa6cfbd8c.
Refs: .task/feature-agent-e1-parallel-fixes.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=412c8742a6db4baea83839d24dca32bdbecffb32.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=bf2a8f073079eb6b49910142151345e87da03ae1.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the frontend fix branch carries the preview key unification, orphan-tab
adoption, conversation restore, and missing-artifact toast; the Dev gitlink
records the tested head ahead of the Frontend PR merge.
Evidence: vitest 85/85; fresh-profile browser replay in the task card.
Impact: modules/frontend gitlink 84b73ab -> 475fd3a only.
Refs: Frontend PR #49; task card feature/empty-state-preview-fix.
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-exec-routing-sandbox-plan.md(PR#302) feature-dual-speed-tasks.md(PR#301) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: Backend #126 (fact-check demotes the standing summary, verifier skip and
cap notices become process checks instead of final text) merged into component
main; the Dev gitlink moves with it.
Evidence: Backend PR #126 ci/vet-and-test success; Dev-level make test to be
recorded on this pin.
Impact: modules/backend gitlink d2bb936 -> c6912b6 only.
Refs: Backend PR #126; task card feature/final-reply-pollution-fix.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-empty-state-preview-fix.md; R0=d53efd5f14bb339dfe908c5d8850ed0eedec024e.
Impact: task metadata only; the feature workspace starts at d53efd5f14.
Refs: .task/feature-empty-state-preview-fix.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d53efd5f14bb339dfe908c5d8850ed0eedec024e.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The proposal 2026-10-10-agent-delegation-routing-sandbox.md merged
into Documents main (#53) and needs a Dev-side pin plus its task card so
the research, the F1-F5 defect findings, and the E1-E5/S0 increment plan
have a tracked record with evidence receipts.
Evidence: Task card feature-agent-exec-routing-sandbox-plan carries five
SELF receipts (sandbox latency benchmarks, model-endpoint probes) and the
make-test/task-sync runs are appended before the PR; Documents #53 merged
at 0f6d697.
Impact: Gitlink-only bump for modules/documents (3e43193 -> 0f6d697) plus
the task card; no product code changes.
Refs: Documents PR #53; proposals/2026-10-10-agent-delegation-routing-sandbox.md.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-final-reply-pollution-fix.md; R0=d53efd5f14bb339dfe908c5d8850ed0eedec024e.
Impact: task metadata only; the feature workspace starts at d53efd5f14.
Refs: .task/feature-final-reply-pollution-fix.md
Why: Backend #125 (background subagent inbox card lifecycle, delegate/base-method
dual-speed guidance, #background mock demo) merged into component main; the Dev
gitlink must move to the merged head for the combo to build with it.
Evidence: Backend PR #125 CI green (ci/vet-and-test on 43087a7); Dev-level make
test to be rerun on the committed pin (previous run failed only the drift check
that expects exactly this commit).
Impact: modules/backend gitlink 421fee8 -> d2bb936; no other component moves.
Refs: Backend PR #125; task card feature/dual-speed-tasks.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-exec-routing-sandbox-plan.md; R0=890b9b2bf2e9b356351d373a21f358ea04ca958b.
Impact: task metadata only; the feature workspace starts at 890b9b2bf2.
Refs: .task/feature-agent-exec-routing-sandbox-plan.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-dual-speed-tasks.md; R0=890b9b2bf2e9b356351d373a21f358ea04ca958b.
Impact: task metadata only; the feature workspace starts at 890b9b2bf2.
Refs: .task/feature-dual-speed-tasks.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-svc-dsn-reuse-dbref.md; R0=890b9b2bf2e9b356351d373a21f358ea04ca958b.
Impact: task metadata only; the feature workspace starts at 890b9b2bf2.
Refs: .task/fix-svc-dsn-reuse-dbref.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-v030-backend-pin.md(PR#299) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: the Dev pin sat at e03d3ac while backend main moved to 421fee8
(#124: pluginRegistry now fills the shared EXT-8 authz slot instead of
rejecting in-proc registrations — the fix that restored rdm.* command
availability in the served RDM process). The umbrella must carry it
before v0.3.0 is tagged so the release combination includes the fix.
Evidence: Backend #124 head 72b2098 CI success, merged as 421fee8;
RDM consumed it as pins 421fee8 in RDM #173 with the full MS1
re-acceptance green. Umbrella make test follows via evidence.
Impact: umbrella gitlink only.
Refs: Backend #124; RDM #173; plan G1-8.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-v030-backend-pin.md; R0=0d84792d678f7aeafefb52cf47b834be3e4e9011.
Impact: task metadata only; the feature workspace starts at 0d84792d67.
Refs: .task/feature-v030-backend-pin.md
Why: The model A/B branch merged into main via #296 (the final item of the
quality improvement plan); its task card must be backfilled and archived to
prevent bookkeeping debt.
Evidence: SELF - merge 63a2485 verified via git log --merges against
origin/main; card backfilled with the PR link.
Impact: .task/feature-agent-model-ab.md moved to .task/archive/ with status
backfilled; no code or submodule change.
Refs: task.sh close semantics (replicated from a temp worktree because the
main checkout is occupied by a parallel writer's branch).
Why: the plan section 3.4 observed the local dev service carrying the
credential-bearing DSN as a serve --dsn argument, visible to any
process on the host (ps / /proc/<pid>/cmdline) — including scripts
generated by agents. The base config layer already supports
AGENT_SYSTEM_DSN, so the launcher can move the secret out of the
argument vector without touching the binary.
Evidence: bash -n clean; make test-governance 104/104 green; an
end-to-end probe with a stub binary and a legacy exec= carrying
--dsn ...secret... shows the migration stripping the flag
(MIGRATED:yes), the process args free of the secret
(NO-LEAK-IN-CMDLINE), and AGENT_SYSTEM_DSN present in the process
environment (DSN_IN_ENV:yes). New/rebuilt launches never put the DSN
in argv; legacy persisted configs are migrated on first reuse.
Impact: scripts/svc.sh only — rebuild path sets DSN_ENV instead of
--dsn, reuse path strips --dsn from stored exec= once and logs the
migration, launch injects AGENT_SYSTEM_DSN alongside the existing
guard vars. CLI --dsn still wins inside the binary (config
precedence), so manual invocations are unchanged.
Refs: plan G1-7 (line 356) and section 3.4 (2026-10-09 ps
observation); backend config AGENT_SYSTEM_DSN.
Why: Ruling 5's final item. With the user-provided lmuai endpoint
(claude-opus-5-5) and the P5 build unchanged, the same golden task set ran
both sides to completion (6/6 turns each).
Evidence: SELF - B report .task/model-ab/ab-opus.json (2793s) vs A baseline
.task/phase05-eval/after-p5.json; smoke through the live instance confirmed
the provider switch (after fixing the active-secret shadowing: overlayKey
prefers the secret table, so provider changes need /api/secrets rotation).
Impact: Selection report in the card - opus-5-5 eliminates invented numbers
(7 -> 0, the program's core metric), restores independent verification via
lightweight=deepseek-v4-flash; MiniMax stays as the fast/fallback tier.
Recommended default documented for the owner.
Why: A small max_tokens probe passed (small pre-deduction), suggesting the
account might have been topped up; redeploying with chat=claude-sonnet-4-6
and lightweight=deepseek-v4-flash showed full-turn pre-deduction (CNY 0.62)
still exceeds the CNY 0.48 balance - 6/6 turns quota-failed again.
Evidence: SELF - .task/model-ab/ab-sonnet-quota-blocked-r2.json + evidence
row; settings confirmed chat=claude-sonnet-4-6, lightweight=deepseek-v4-flash
on the instance before the run.
Impact: Still blocked on user-only payment input. Estimated CNY 50-100 covers
multiple full comparison runs on dmxapi; alternatively any OpenAI-compatible
provider key via ~/.secrets/abmodel or .env.dev SVC_MODEL_*.
Why: Ruling 5 authorized the strong-model comparison with uncapped budget.
The A/B infrastructure is proven end to end (qa7 on remote main, seeded
claude-sonnet-4-6 via the user's existing dmxapi aggregator key, eval/live
ran the full golden set), but the account holds CNY 0.49 against a CNY 0.62
per-request pre-deduction - all six turns failed with insufficient quota,
captured honestly in the report.
Evidence: SELF - .task/model-ab/ab-sonnet-quota-blocked.json + evidence row;
smoke test of the dmxapi streaming endpoint succeeded before the run.
Impact: Task blocked on user input only (top up dmxapi or provide another
provider key). No code changes; worktree retained for immediate resumption.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-model-ab.md; R0=43f8e27b74e5e2213e2099ba04e5a69fe398586f.
Impact: task metadata only; the feature workspace starts at 43f8e27b74.
Refs: .task/feature-agent-model-ab.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-quality-phase05.md(PR#294) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-g2-2-slash-intents.md(PR#292) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=57b293d00945173f61e3a5f7bef8153053f49395.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d9786f0f4128bbee43e27bdcc1534e320aae1711.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: G2-2 lands plugin slash aliases (EXT-10②) and the intent
declaration surface — the bus binds plugin-spec Slash fields into the
shared alias table (four entrances, one audit envelope), extensions
declare intents via AddIntent, and the system.intent builtin routes
natural language through the bus deterministically (longest-phrase
containment). The umbrella carries the backend gitlink forward.
Evidence: Backend #122 head 9c4edc4 CI success, merged as 9a531a6;
full backend suite 32/32 packages green; lib pin Agent-Command 4f583ca
(PR #6).
Impact: umbrella gitlink only.
Refs: plan G2-2; Backend #122; Agent-Command #6.
Why: The Dev combination must test the gate narrowing, fact checks and lazy
search registration.
Evidence: SELF - gitlink equals backend feature/agent-quality-phase05 head.
Impact: Pointer only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-quality-phase05.md; R0=d9786f0f4128bbee43e27bdcc1534e320aae1711.
Impact: task metadata only; the feature workspace starts at d9786f0f41.
Refs: .task/feature-agent-quality-phase05.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-quality-phase04.md(PR#290) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-g2-2-slash-intents.md; R0=4713f04c94eb2512152e412fd010f846caa10021.
Impact: task metadata only; the feature workspace starts at 4713f04c94.
Refs: .task/feature-g2-2-slash-intents.md
Why: The Dev combination must test the working-method prompt set and the
compose demotion.
Evidence: SELF - gitlink equals backend feature/agent-quality-phase04 head.
Impact: Pointer only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-quality-phase04.md; R0=4713f04c94eb2512152e412fd010f846caa10021.
Impact: task metadata only; the feature workspace starts at 4713f04c94.
Refs: .task/feature-agent-quality-phase04.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-quality-phase03.md(PR#288) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: The Dev combination must test the workspace-tool opening and the build
pipeline.
Evidence: SELF - gitlink equals backend feature/agent-quality-phase03 head.
Impact: Pointer only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-quality-phase03.md; R0=02f2c1bcfb1b8ac936e357b90fa7a2973f4ce0c0.
Impact: task metadata only; the feature workspace starts at 02f2c1bcfb.
Refs: .task/feature-agent-quality-phase03.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=7d52861f15f2b25dd5121301ac1e92b5a5e16f8d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext-16-exec-backend.md(PR#285) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=13e03ab15d89d13e0b1cc6848d76776c723a6f96.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Backend #114 (EXT-14, commands-as-tools) added the runmgr -> cmdbus
production import but its Dev-side ratchet update went missing, so make test
fails on any Dev head combining it (backend CI does not run the Dev
architecture check). Recorded here with the merge that surfaces it.
Evidence: SELF - lint-boundaries passes after the entry; the edge exists in
backend main (internal/runmgr/runmgr.go imports cmdbus).
Impact: Ratchet baseline only; unblocks the Dev combination for all in-flight
work.
Why: git receive-pack runs 'gc --auto' in the background after a push;
the fixture's TemporaryDirectory teardown then races the gc writer and
fails with OSError 39 (remote.git not empty) — observed on the PR #285
runner (job 1967). The fixture remote holds no durable value, so auto-gc
is pure flake surface.
Evidence: the failing test passes 5/5 locally after the fix; full
make test-governance green (104 tests).
Impact: test fixture only; no governance-script behavior change.
Refs: Dev CI run 1438 job 1967; same race family as the upload-host
TempDir flake fixed earlier.
Why: Backend #115 (transcript-authoritative switch) and #118 (squad pin
alignment) merged; the Dev combination tests the merged head.
Evidence: SELF - gitlink equals backend origin/main head; make test recorded
on the task card after this commit.
Impact: Pointer only.
Why: the EXT-16 acceptance is escape-negative driven; the tool-written
evidence row captures the local bwrap run (all probes blocked, product
task visible) and the card summary states scope and follow-ups.
Evidence: go test -run 'TestSetExecBackendValidation|TestSandboxArgvShape|
TestSandbox|TestDirect' via CMD=... make evidence exit 0 (10 tests,
bwrap 0.11.1); make test row recorded earlier at this head.
Impact: task card only.
Refs: proposal 2026-10-09-ext-g1-b1-b3 (EXT-16); Backend #119.
Why: EXT-16 abstracts the interpreter launch point into an ExecBackend
port (direct = byte-identical status quo; sandbox = bwrap isolation:
ro root, tmpfs /home+/tmp, session/skills-only writable mounts, no
network, ulimit -u fork cap, timeout kills the namespace) with config
key execBackend, env AGENT_SYSTEM_EXEC_BACKEND, CLI --exec-backend and
extension.Options.ExecBackend (SurfaceVersion 2.6.0-experimental).
DisableExecTools stays the top-priority fail-closed switch; RDM keeps
DisableExecTools=true until G3-7.
Evidence: Backend #119 head 4badecb vet-and-test CI success, merged as
1a55089; local escape negatives all blocked (home secret, sibling
session, network, 400-proc spawn storm, 60s-sleep timeout kill,
orphan die-with-namespace) recorded in the task card evidence rows;
full make test at this head recorded on the card.
Impact: umbrella gitlink only; no source edits outside modules/backend.
Refs: proposal modules/documents docs/proposals/2026-10-09-ext-g1-b1-b3
(EXT-16); Backend #119; Backend #110 (DisableExecTools).
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext-16-exec-backend.md; R0=13e03ab15d89d13e0b1cc6848d76776c723a6f96.
Impact: task metadata only; the feature workspace starts at 13e03ab15d.
Refs: .task/feature-ext-16-exec-backend.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext-13-15-shared-runs.md(PR#282) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-quality-phase02.md(PR#280) feature-g1-ext-b1-b3.md(PR#279) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: the EXT-14 umbrella bump now carries the full pin cascade
(backend 31965fd, agent-command 5c6dd0c, agent-native 3b92cb63,
agent-squad 8bbf850) and the combined suite is green; the completion
declaration needs the tool-written evidence row plus the result summary.
Evidence: make test via 'CMD=make test make evidence' exit 0 at HEAD
(receipt appended, SELF); GATE rows cited in the summary (Backend
#114/#116/#117 CI success).
Impact: task card only.
Refs: Backend #114/#116/#117; Squad #49; agent-command lib #4/#5.
Why: consuming backend main (#115 kernel-transcript + #116 EXT-14
dependency inversion) moves backend pins for agent-native (3b92cb63)
and agent-squad (8bbf850, Squad #49 nested native bump); the umbrella
check-pins requires Dev's top-level pins and every container gitlink to
agree, and Dev's agent-command pin must follow backend's EXT-14 lib bump
(5c6dd0c, lib PRs #4/#5).
Evidence: Backend #116 (6337cd8) and #117 (5544a03) vet-and-test CI
success, merged as 8157e68/31965fd; Squad #49 merge 8bbf850 records
deps/agent-native=3b92cb63 (ls-tree verified); umbrella
lint-boundaries pre-verified green at 6337cd8 (77 edges, negative probe
ok); full make test recorded on the task card at the final head.
Impact: gitlink-only changes (modules/backend, deps/agent-squad,
deps/agent-command, deps/agent-native); no source edits in the umbrella.
Refs: Backend #115/#116/#117; Squad #49; agent-command lib #4/#5;
proposal 2026-10-09-ext-g1-b1-b3 (EXT-14).
Why: Squad #49 aligned its nested agent-native pin with the Dev top-level
pointer; the Dev worktree records the merged head.
Evidence: SELF - gitlink equals Agent-Squad main head.
Impact: Pointer only.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6c763cc1cf4b3e980835de0ad864220f97f3c93c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Backend #115 merged the transcript-authoritative switch; the Dev
combination must test the merged head (with main's concurrent EXT-14).
Evidence: SELF - gitlink equals backend origin/main head.
Impact: Pointer only.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6c763cc1cf4b3e980835de0ad864220f97f3c93c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: EXT-14 lands commands-as-tools in the base — CommandTool projection
from the command bus (ExposeAsTool+Enabled only) and ExecuteTool dispatch
through DispatchCommand with Entrance=agent, Actor/Owner bound to the
conversation owner and high-risk commands gated by the confirm card.
The Dev umbrella must carry the backend gitlink forward so combined CI
and downstream pins consume it.
Evidence: Backend #114 head 0209262 CI success (vet-and-test), merged as
545dc404e50d2a739ab29d83f320ccf54049e190; go test ./... 32/32 packages
green on the branch; main push CI status checked before this bump.
Impact: umbrella-only gitlink change; no source edits outside
modules/backend; RDM pins unaffected until a separate bump task.
Refs: docs/proposals/2026-10-09-ext-g1-b1-b3-exec-backend.md (EXT-14);
Backend PR #114; agent-command lib PRs #4/#5 (merge 9effe90/5c6dd0c).
Why: RDM G1 sequence-4 needs the base to share retrieval inside runs and
open project listing/conversations to adapter-authorized members; the
implementation is merged on Backend main and the Dev gitlink is the
delivery vehicle.
Evidence: SELF - Backend PR #113 CI success at the merge head 9fa1787
(run rerun green after an unrelated ordering flake; the full suite passed
locally 32/32 first); Dev composite CI on this PR is the GATE.
Impact: modules/backend gitlink 449d8a6 -> 9fa1787. No other pin changes.
Refs: Backend #113; proposal 2026-10-09-ext-g1-b1-b3-exec-backend (EXT-13/15)
Why: I2 switches the direct path to the kernel transcript as the authoritative
context; the backend head carries that switch plus the nested kernel pin.
Evidence: SELF - gitlinks equal the pushed branch heads; combined make test
recorded on the task card after this commit.
Impact: Pointer only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext-13-15-shared-runs.md; R0=bc74b9a0c5ac4f137b00aa53af37ec67e4aeb1cb.
Impact: task metadata only; the feature workspace starts at bc74b9a0c5.
Refs: .task/feature-ext-13-15-shared-runs.md
Why: EXT-13..EXT-16 (shared in-run retrieval, commands-as-tools, shared
project list, exec backend seam) are the base-side prerequisites RDM G1/G2
depend on; the application must live on the base Documents main before
implementation tasks can be opened against it.
Evidence: SELF - Documents #52 merged (3e43193); proposal cites code
locations verified at Dev main; Dev composite CI on this PR is the GATE.
Impact: modules/documents gitlink bump only.
Refs: Documents #52; RDM plan V1.1 sections 3.3/3.4/5.3
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-g1-ext-b1-b3.md; R0=2e92b184f3f257bbe9c90fd9e8278c2b6f192251.
Impact: task metadata only; the feature workspace starts at 2e92b184f3.
Refs: .task/feature-g1-ext-b1-b3.md
Why: The gate misfire fix from the live after-run belongs in the same increment.
Evidence: SELF - gitlink equals the backend phase02 head.
Impact: Pointer only.
Why: The Dev combination must test the context-fidelity increment.
Evidence: SELF - gitlink equals backend feature/agent-quality-phase02 head.
Impact: Pointer only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-quality-phase02.md; R0=2e92b184f3f257bbe9c90fd9e8278c2b6f192251.
Impact: task metadata only; the feature workspace starts at 2e92b184f3.
Refs: .task/feature-agent-quality-phase02.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-quality-phase01.md(PR#277) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: Ruling 6 requires real-model before/after evidence. The after run (fixed
build b68833f, same golden tasks) proves the repairs landed: lint now actually
executes (real layout/lead findings appear vs silent empties before), the
pm-tool readability dead-loop is gone (4/0 -> 0), plan-followup reads original
materials 0 -> 49 times. Remaining failures are the documented P5/P2 scope
(rename-revision loops via scorer semantics, unverified numbers, verifier
parse hiccups), not regressions.
Evidence: SELF - report .task/phase01-eval/after-phase01-b68833f.json +
evidence row (1749s run); comparison table in the card.
Impact: PR #277 now carries the complete before/after pair for review.
Why: The backend branch gained the user-scope model capture fix, and the
live eval produced the before-baseline report on remote main (1ebd46e) that
the task card and the improvement-plan record reference as evidence.
Evidence: SELF - report .task/phase01-eval/before-main-1ebd46e.json (model
MiniMax-M2.7-highspeed, 4 golden tasks, 17 min run): reproduces the diagnosed
failure chain on the pre-fix build - readability dead-loop x4 on two tasks,
9 full regens with 0 original-material reads in plan-followup, 8 unverified
percentages, forged-marker false positive, internal check text leaked to the
user.
Impact: Report committed for the after-comparison once this PR merges; gitlink
points at the harness-inclusive backend head.
Why: The lint skills-root injection moved from the app root to the runner,
keeping the architecture ratchet green; the Dev combination must test that head.
Evidence: SELF - gitlink equals backend feature/agent-quality-phase01 head;
make test rerun recorded on the task card.
Impact: Pointer only.
Why: The previous pointer predated the eval/live package commit; the
combination must test the full phase01 backend branch.
Evidence: SELF - gitlink equals backend feature/agent-quality-phase01 head.
Impact: Pointer only.
Why: Backend carries the seven quality-gate repairs with the eval/live
harness; documents carries the improvement-plan main record with the six user
rulings. The Dev combination must test these heads together.
Evidence: SELF - gitlink pointers match the pushed branch heads; make test
recorded on the task card after this commit.
Impact: Combined test surface now includes the phase01 backend and documents
content; no behavior change from the pointers alone.
Refs: feature/agent-quality-phase01 (backend), feature/agent-quality-plan (documents).
Why: The 2026-10-09 diagnosis showed behavior-surface regressions (gate
deadlocks, silently broken lint, wrong artifact verdicts) passing every unit
test because no task-level check ran the real model. User ruling 6 approved
making before/after live-eval evidence a delivery requirement for prompt,
skill, tool-description, context-assembly and gate changes.
Evidence: SELF - clause drafted to reference modules/backend/eval/live and the
GATE/REPLAY/SELF sourcing already defined in AGENTS.md; task card for
feature/agent-quality-phase01 filled with the P0+P1 scope and requirements.
Impact: policy/delivery.md gains the 智能体行为面的真实验证 subsection;
NOT_RUN stays legal but must be explicit. Phase01 task card records scope,
requirements R1-R4 and the before/after eval protocol.
Refs: modules/documents proposal 2026-10-09-agent-quality-improvement-plan.md (ruling 6).
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-quality-phase01.md; R0=1ebd46edc5239d0d87418e9a8dd9aa225955e1dd.
Impact: task metadata only; the feature workspace starts at 1ebd46edc5.
Refs: .task/feature-agent-quality-phase01.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-base-v020-release.md(PR#275) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-09 11:11:04 +00:00
248 changed files with 53218 additions and 275 deletions
- 合并主题:Merge pull request 'Pin the v0.2.0 release candidate (DOCX fix, exec hard switch, release record)' (#275) from feature/base-v020-release into main
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.