Why: Backend #195 and Frontend #82 (parallel task feature/project-member-access)
merged after the original targets (Backend 15566f9 / Frontend c294835), and Dev
main 20e086e pins exactly those new heads (5d5fc989/eb2d6d32). Tagging the stale
SHAs would make RDM pins->v0.4.0 a downgrade versus Dev main, so the release must
land on current main HEADs; the checkout origin/main command already does this.
Evidence: SELF rows on the card - four-repo ls-remote (main HEADs recorded, all
v0.4.0 tag refs empty), git ls-tree origin/main pins, and 15566f9../42cda9c0..
commit ranges showing the parallel merges.
Impact: Dev task card release-plan section only; no code or pins change.
Refs: task feature/rdm-increment-settings-duties; related Backend #195,
Frontend #82, Dev #527.
Why: The final umbrella head needs its own gate after main components merge.
Evidence: Final task-sync receipt saved; candidate and merged component trees match.
Impact: Task-only checkpoint, keeping the same implementation and runtime boundary.
Refs: Dev PR526; project-member-access
Why: The final base combination must reference actual reviewed main commits.
Evidence: Component PRs are merged, and each merged tree matches the independently tested candidate; whole review receipts remain unmodified.
Impact: Advance gitlinks and preserve acceptance evidence; new exact-head CI follows with no runtime changes.
Refs: Backend195 Frontend82 Documents97; feature/project-member-access
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d2c23f3a55a77711ded4328aa6215d9469c2b420.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Final merge gates require the latest main and exact component ancestry.
Evidence: Tool-written task-sync passed; Frontend tree equality preserves functional replay evidence while current HEAD CI will run again.
Impact: Task record only; no product source change.
Refs: feature/project-member-access
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=946cc13c9a10a2023a766b211e1148e625b62943.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The composed candidate and its validation limits must be available for independent review and current-head CI.
Evidence: Original receipts, fixed manifests, independent identities and real before/after task outcomes are preserved without source relabeling.
Impact: Archive acceptance and gate references in the canonical task; no product code, deployment or live data changes.
Refs: feature/project-member-access; Backend195 Frontend82 Documents97
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d5428c5f05fc5f625e6232ab3156b17f13e14d6a.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Existing upload history must stay private after project adoption, and final object evidence must remain traceable.
Evidence: Original tool receipts and independent reports saved byte-for-byte; new fixed combination and CI remain pending.
Impact: Select Backend d26f3cf and proposal r1.1 with unchanged public downstream contracts; preserve workspaces and live data.
Refs: feature/project-member-access; Frontend PR82; Documents PR97
Why: Shared project identity resolution is one private module used by app and server.
Evidence: Boundary scan passes 85 edges and its injected illegal-edge negative check; previous full run stopped at this documented boundary.
Impact: Add only app/server to projectscope and projectscope to store, without allowing transport/composition dependencies in the resolver.
Refs: system-project-membership proposal r1; feature/project-member-access
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=143e6367367760deceac91ac3de5ccb3ed6adebc.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Final review and real composition exposed member upload rejection, private project cards and stale duty selection.
Evidence: Component correction receipts and fixed clean source SHAs; independent replays and final composition are in progress.
Impact: Select Backend d2f96e7 and Frontend 2ba275b with current UI, preserving private originals and verified project commands.
Refs: feature/project-member-access
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=86d975b822c2384e96edd75f9c3a2dca63593b3a.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Host-only project creation and domain membership must form one verified identity.
Evidence: Tool-imported SELF receipts and independent Backend and Frontend replay attestations; composed acceptance and final CI remain in progress.
Impact: Advance fixed component pins and record the authorized implementation and privacy boundaries without deployment or runtime changes.
Refs: .task/feature-project-member-access.md; system-project-membership proposal r1
Why: retain the repeatable membership check and current integration checkpoint.
Evidence: SELF receipts in the task card; readiness fails on the reported data state.
Impact: diagnosis metadata only; product implementation remains pending stage review.
Refs: .task/feature-project-member-access.md
Why: a saved host-project membership has no registered RDM project or binding,
so member discovery and private conversation creation cannot resolve it.
Evidence: metadata-only read probes and forge scans are preserved as SELF
receipts in the task card; HTTP and browser replay remain NOT_RUN.
Impact: task documentation and read-only diagnostic helpers only; product
code, runtime databases and deployments are unchanged pending stage review.
Refs: .task/feature-project-member-access.md; policy/delivery.md
Why: the task card needs the pull request that carries this closeout, and the review has to name the commit it actually read.
Evidence: reviewed 814451b1fc8435a92ef7b29ac4fe8480a330c3b1; pull request 517.
Impact: task metadata only.
Refs: .task/feature-d1-closeout-evidence.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=55cecae703cf8c4f33185e9e4556597c11817b3b.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the archived D1 card still marked merge, CI, and lifecycle as NOT_RUN after the four pull requests had landed.
Evidence: Gitea runs 2625, 2631, and 2667; make test-lifecycle receipt 1a4650d89e589321 (SELF, exit 0 on 2df298affe).
Impact: task cards only. Login, rdm.ping, and the full-track deploy stay NOT_RUN.
Refs: .task/archive/feature-svc-d1-identity-flow.md .task/feature-d1-closeout-evidence.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-project-member-access.md; R0=55cecae703cf8c4f33185e9e4556597c11817b3b.
Impact: task metadata only; the feature workspace starts at 55cecae703.
Refs: .task/feature-project-member-access.md
Why: The login recovery contract reserved the owner browser login step
for the user (passwords never pass through the agent); the user
confirmed the test passed on 2026-10-13, closing the final acceptance
loop.
Evidence: User session confirmation 2026-10-13; deploy and prior
verifiable acceptance under receipt 5396054b.
Impact: Doc-only status update in the leftover section.
Refs: docs/svc-deploy/2026-10-13-login-recovery-contract.md.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-d1-closeout-evidence.md; R0=c39321ab7bae6e618f13ec2b48df7abf89d44604.
Impact: task metadata only; the feature workspace starts at c39321ab7b.
Refs: .task/feature-d1-closeout-evidence.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-increment-settings-duties.md(PR#502) feature-svc-account-hardening.md(PR#511) — 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 user dropped RDM DHF document templates at .templates/ for
upcoming use and wants them synced through the repository instead of a
local ignore; the temporary .gitignore entry is reverted and .DS_Store
junk is excluded.
Evidence: 44 template files staged (18MB, .doc/.docx across DHF stages);
.DS_Store ignored; working tree clean after staging (owner-directed
disposition of these files per session instruction).
Impact: Data-only addition under .templates/; .gitignore gains
.DS_Store; no code paths touched.
Refs: User instruction 2026-10-13 (templates to be used later).
Why: The remaining open items (API-key SSE closure, cross-instance
redeem backoff, U7 atomic bootstrap/create, CLI credential delivery)
landed in Backend #192; Dev pins it and closes the contract leftovers.
Evidence: Backend #192 CI success at head bc1e0a3 (GATE); composite CI
on this PR re-runs the suite incl. test-pg (GATE).
Impact: backend pin cfb8308; contract leftover section now records all
items closed; task card H1-H6 requirement table.
Refs: Backend #192; docs/svc-deploy/2026-10-13-login-recovery-contract.md.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-account-hardening.md; R0=3e5416a8226c2dfdd108d6282566639c2ed41f1e.
Impact: task metadata only; the feature workspace starts at 3e5416a822.
Refs: .task/feature-svc-account-hardening.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-login-recovery-flow.md(PR#504) — 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 D3 real-scenario card is merged and must leave the open set.
Evidence: CI on aa5d0512bf35d1a860dea2a44b98bddcd8e2364e; ci/test, ci/test-pg, ci/svc-realcombo success.
Impact: archives only this card. Login and rdm.ping stay NOT_RUN.
Refs: .task/archive/feature-svc-d3-real-scenarios.md
Why: the branch is on main, so this card must leave the open set without closing unrelated cards.
Evidence: merge 719bfe945f46d43a22d7ac7025d2313faa4bf0e4; CI run 2853 success on 424892258b.
Impact: task metadata only. Login and rdm.ping stay NOT_RUN.
Refs: .task/archive/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the runnable D3 scenarios now execute against real RDM artifacts.
Evidence: CI run on 424892258b19a8bdd1c9dd430d89334ea0cafa78; ci/test, ci/test-pg, ci/svc-realcombo success.
Impact: login and rdm.ping stay NOT_RUN.
Refs: .task/feature-svc-d3-real-scenarios.md
Why: check-pins failed on the follow-up CI: the newly pinned backend
(741da4a) carries deps/agent-system-core at 0f94e4b while Dev's
modules/core stayed at ba289e7 - the three-layer pin rule requires the
top-level core pin to match.
Evidence: 0f94e4b verified as an ancestor of Core origin/main; this
PR's composite CI re-runs check-pins (GATE).
Impact: modules/core gitlink to 0f94e4b; no source changes.
Refs: check-pins failure on job 4204.
Why: The follow-up CI exposed that backend #188 broke the Dev
multi-instance suite: serve --mock seeded runtime.mock at the user
scope, which system-managed settings now reject, so instances never
became healthy. Backend #190 seeds the startup flag into the system
scope; this PR repins and drops the now-invalid alice user-scope write.
Evidence: Backend #190 CI success at head 0af1ebc (GATE); this PR's
composite CI re-runs make test-multi-instance (GATE for the fix).
Impact: backend pin 741da4a; multi-instance test comments updated to
the system-managed regime.
Refs: Backend #188, #190.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6fd51fec9fed2a95f51420d2c1a8bd5d82db2ae6.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The completion audit flagged four gaps over the merged login
recovery implementation: real-browser acceptance, the login-key e2e
spec, SSE stream invalidation, and the Documents write-back.
Evidence: Browser acceptance receipts be7ae9a2/b3a9e691 (SELF, bound to
Dev HEAD 268ef29); Backend #189 CI success at head 8b73afe (GATE);
Documents #94 merged; this PR's composite CI is the GATE for frontend
pin 44b9646.
Impact: Pins backend=349a47d (SSE close) and frontend=44b9646 (e2e
spec); contract doc leftovers updated; task card carries the follow-up
record for closure.
Refs: docs/svc-deploy/2026-10-13-login-recovery-contract.md; Documents
proposal r3; Backend #189; Frontend #77.
Why: The merge record was committed after PR 501 merged, so the closeout archived the card without it.
Evidence: The two lines match commit 2771196 on the task branch. Run 2832 on head 72763c9 passed, and merge d40d1c2 has the same tree.
Impact: Archived task card text only. Second-instance writes stay closed.
Refs: .task/archive/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The specs branch merged, but its merge subject lacks the default branch tail, so the close scan did not select this card.
Evidence: merge d40d1c2 of PR 501 is in origin/main and its tree matches head 72763c9. Backfill follows the card_backfill format.
Impact: One task card moved to .task/archive with status backfilled. No code change. Second-instance writes stay closed.
Refs: .task/archive/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d40d1c2e5d29bb0ce429edf2221d9c4e4bcb0dcb.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The remaining U7 release gates needed a durable spec before anyone replays them or wires CI.
Evidence: Run 2832 on head 72763c9 has test, test-pg, and svc-realcombo success on home-runner. Review found docs only and unchanged evidence grades.
Impact: Docs and the task card. Checklist grades stay SELF or not started. Second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.md
Why: Main advanced with the login recovery merge while CI was running, so the branch had to take it in before merge. The new combination needed its own test evidence.
Evidence: make task-sync merged origin/main 268ef29 with no conflicts (SELF). make test exit 0 on the merged tree (SELF). CI on the new head is still required before merge.
Impact: Task card plus the merge of main. The release specs are unchanged. Second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: depth 1 makes prev_sha and sha unrelated shallow roots, so update reports a fork instead of an upgrade.
Evidence: SELF the pin-fetch credential test; CI run 2829 showed the fork message.
Impact: test-pg fetches 200 commits from each pin, not the full history.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=268ef2999ca2ff3481c6bebd588cae51d6b90709.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the CI fix needs a tool-written receipt on the commit that contains it.
Evidence: SELF make evidence, exit 0.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Merge requires the current head CI result on the task card, with the run link, executor, and SHA.
Evidence: Run 2821 attempt 2 on head 3090dd9 has test, test-pg, and svc-realcombo success on home-runner (GATE). Attempt 1 failed in an unrelated timing-sensitive governance test and was rerun.
Impact: Task card only. Second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The Dev composite must carry the exact backend (467718a) and
frontend (9fc7da2) commits implementing the login recovery contract.
Evidence: component branches pushed to their origins; make test runs in
this task worktree validate the composite (receipts in task card).
Impact: gitlink bump only; no other Dev tree changes.
Refs: docs/svc-deploy/2026-10-13-login-recovery-contract.md
Why: The 2026-10-13 login flow plan requires a frozen contract record
(three adjudications against the r2 proposal) and a traceable task card
before implementation merges.
Evidence: doc-only commit; acceptance matrix cites backend/frontend test
files added in companion commits (SELF).
Impact: docs/svc-deploy/2026-10-13-login-recovery-contract.md becomes
the authoritative login-recovery contract; task card records user
authorization and requirement table L1-L9.
Refs: modules/documents/docs/proposals/2026-10-12-svc-unified-deploy-and-login-key.md r2
Why: the card's main record must point at the review object before CI is accepted.
Evidence: PR 503 exists on the current branch.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the sync checkpoint must be a tool-written receipt on the same card as the tests.
Evidence: SELF CMD make task-sync, exit 0, sync_base 3fb8210f64.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: completion claims need tool-written receipts, including the SSH timeout and the passing rerun.
Evidence: SELF make evidence rows on this card.
Impact: task metadata only; login and rdm.ping stay NOT_RUN.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The merge step requires a fresh sync against origin/main recorded on the task card.
Evidence: make task-sync exit 0; sync_base 3fb8210f, tested_head d3f8677, already up to date (SELF).
Impact: Task card only.
Refs: .task/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The merge gate needs a review record on the task card for the PR head.
Evidence: Review of base 3fb8210f against head dd77d27 found docs and the task card only, unchanged evidence grades, and no secrets. No blockers.
Impact: Task card only. Second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Acceptance needs the task-sync and make test outputs on the task card before the PR. The first make test failed because an unrelated process held port 18795; the rerun passed.
Evidence: make task-sync exit 0 against origin/main 3fb8210f (SELF). make test exit 0 after the port was freed (SELF). CI on the PR head remains the authority.
Impact: Task card only. Evidence grades are unchanged and second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.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-rdm-increment-settings-duties.md; R0=3fb8210f6495a78e70a67af3661bdfe9c00fb9de.
Impact: task metadata only; the feature workspace starts at 3fb8210f64.
Refs: .task/feature-rdm-increment-settings-duties.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-login-recovery-flow.md; R0=3fb8210f6495a78e70a67af3661bdfe9c00fb9de.
Impact: task metadata only; the feature workspace starts at 3fb8210f64.
Refs: .task/feature-svc-login-recovery-flow.md
Why: The user authorized continuous delivery of the release-gate specs through merge and task-card closeout. The card still said no continuous authorization and left stages 1-6 unreviewed.
Evidence: Startup precheck READY, receipt imported into the task card (SELF). Spec claims rechecked locally: tree equality holds, policy/facts.md and the Documents repo are untouched, and checklist grades stay SELF or not started.
Impact: Task card text only. No replay, no workflow change, no second host, and second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Second-instance writes stay closed until an independent replay or an admitted CI gate, plus a second host. Those remaining steps needed a durable spec.
Evidence: Task-card evidence rows read the merged PRs, tree equality, CI runs 2783/2810/2816, and Dev main branch protection. Source SELF. Drills were not run.
Impact: Docs and the task card only. Checklist grades stay SELF or not started. The collaboration proposal body stays r2.3.
Refs: docs/release-multi-instance.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=3fb8210f6495a78e70a67af3661bdfe9c00fb9de.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the card still had the task-start placeholders, so review would not see the NOT_RUN boundary.
Evidence: documentation only; command evidence follows via make evidence.
Impact: login and rdm.ping stay NOT_RUN, and the card does not claim full coverage.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: test-pg only cloned the default branch, so prev_sha and legacy_sha were never built or attested.
Evidence: SELF python3 -m unittest tests.test_ci_credentials tests.test_lifecycle_pin (11 tests, exit 0).
Impact: the lifecycle suite prints the combination inventory and keeps login and rdm.ping as NOT_RUN.
Refs: .task/feature-svc-d3-real-scenarios.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-u7-release-roadmap.md; R0=3fb8210f6495a78e70a67af3661bdfe9c00fb9de.
Impact: task metadata only; the feature workspace starts at 3fb8210f64.
Refs: .task/feature-u7-release-roadmap.md
Why: A real process must not keep the caller DSN in its command line, environment, log, history, or svc.env. Domain events written by -bootstrap have to survive a later pin deploy.
Evidence: SELF unittest of the two new LifecycleRealTests methods exited 0.
Impact: The scan uses a sentinel that is not a live database password. Login and rdm.ping stay NOT_RUN.
Refs: tests/integration/lifecycle/test_lifecycle_real.py
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: A static dev deploy deleted the worktree before copying dist, so a mixed batch could not update the workbench. Missing manifests and a second instance on the same Postgres database must fail closed the same way on real artifacts.
Evidence: SELF unittest of the mixed batch, the three-entry manifest-loss case, and the PG cross-instance case exited 0. The PG case used a temporary cluster.
Impact: static dev deploys copy dist before recycling the worktree. Login and rdm.ping stay NOT_RUN.
Refs: tests/integration/lifecycle/test_lifecycle_real.py
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the merged upload fix had left its task card open.
Evidence: GATE run on e25869a840 for test, test-pg, and svc-realcombo. Independent review approved. Only the K4 card is archived.
Impact: task metadata. Second-instance writes stay closed.
Refs: #500#497
Why: the result section still described Documents and Dev as unmerged after those pulls had landed.
Evidence: Documents #92 is 05c13a42b14d; Dev #497 is bb5343ca0d4c; GATE run 2810 on cfa8230d4c.
Impact: task card text only. Second-instance writes stay closed.
Refs: #500
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the archived card still said the Dev merge and cleanup had not happened.
Evidence: merge bb5343ca0d4c; GATE run 2810 on cfa8230d4cbb73f0a91a4816f8c884705866a4dd; task-finish observed_head cfa8230d.
Impact: task card text only. Second-instance writes stay closed.
Refs: #497
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the upload fix is on main, and its task card should not stay open.
Evidence: merge bb5343ca0d of PR #497. GATE run 2810 jobs 4080/4081/4082 success on cfa8230d4c. task-finish exit 0, observed_head cfa8230d.
Impact: one task card moves to .task/archive/. No code or submodule change. Other open cards stay open.
Refs: #497
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Stub journals do not prove that a real RDM binary rolls back after a switched fault, a failed build, or a candidate that exits on serve.
Evidence: SELF unittest of the three new LifecycleRealTests methods exited 0. Staging leaves the old pid and release in place; the next start clears that journal. Switched and an immediate serve exit both restore the previous real binary.
Impact: The crash candidate delegates version and identity to the real binary so the gate still sees a capable artifact. Login and rdm.ping stay NOT_RUN.
Refs: tests/integration/lifecycle/test_lifecycle_real.py
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: unset object storage panicked on upload, and the retested local fallback is ready to land.
Evidence: GATE run 2804 jobs 4070/4071/4072 success on 42ba9cdf7d, then main only archived a task card. GATE run on cfa8230d4c covers test, test-pg, and svc-realcombo. Backend dc736e339d01 and Documents 05c13a42b14d are pinned. Independent review approved with no blockers.
Impact: unconfigured blob stores use the local artifacts directory. Second-instance writes stay closed.
Refs: #497#186#92
Why: main archived the RDM recovery card after the previous CI, and the branch head has to contain that main.
Evidence: make task-sync exit 0; sync_base=e23cee5561; merge 62422afe5d. SELF. Card archive only.
Impact: task metadata.
Refs: .task/fix-u7-k4-artifact-upload.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=e23cee5561ecb90ba3d52980b239990c0f4def4f.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The lifecycle gate only ran four realcombo cases. A legacy candidate and a missing or mismatched identity row must be refused before the old process stops, and the prev/sha pins must switch without changing the identity row.
Evidence: SELF unittest of the four LifecycleRealTests methods exited 0 against a private RDM clone. The pin moved to the identity merge and a later commit on the same backend pin, because the previous card-close SHAs build a binary with no ensure/verify.
Impact: make test still skips this class unless SVC_TEST_REAL, SVC_RDM_SRC_DIR and SVC_REAL_RDM_BIN are set. make test-lifecycle now runs the module. Login and rdm.ping stay NOT_RUN.
Refs: tests/integration/lifecycle/rdm.pin
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: main gained the RDM admin recovery after the previous CI, and this head has to contain it.
Evidence: make task-sync exit 0; sync_base=6193db1b54; merge e2e3d25418. SELF. No store-open change, so the K4 drill is not rerun.
Impact: task metadata plus the upstream frontend pin and svc admin tooling.
Refs: .task/fix-u7-k4-artifact-upload.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6193db1b548b964ab3133557ddbb9d83a3643d31.
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-admin-lockout-recovery.md(PR#498) — 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 pinned head has to show it already contains origin/main before the final CI.
Evidence: make task-sync exit 0; already up to date; sync_base=5aebedebeb; tested_head=b35d9946bc. SELF.
Impact: task metadata only.
Refs: .task/fix-u7-k4-artifact-upload.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Dev has to follow the commits that landed on Backend and Documents main, which share trees with the drilled objects.
Evidence: Backend dc736e339d01 tree 498f61947564 equals 46073d30. Documents 05c13a42b14d tree equals 5335499. GATE run 2794 on 6d8b746 succeeded before this pin.
Impact: gitlinks move to the merge commits. Second-instance writes stay closed.
Refs: #186#92#497
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: acceptance has to record that this branch contains the current main before review.
Evidence: make task-sync exit 0; sync_base=5aebedebeb; merge d480b2d058; checkpoint 4a06bb4991. SELF.
Impact: task metadata only.
Refs: .task/fix-u7-k4-artifact-upload.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5aebedebeb963b5c01f39fd9122ec60dbe6d34d3.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the restored drill passed artifact recovery, and the handbook, checklist, and collaboration plan have to say so without opening write traffic.
Evidence: backup-20261013-013354 on Dev a83588dd and backend 46073d30; K1-K7 true, RPO 65s, RTO 3s, five artifacts matched, cross-user access 404. SELF. Documents 5335499 is PR #92.
Impact: C5 is marked SELF-pass. Second-instance writes stay closed until REPLAY or CI and a second host exist.
Refs: docs/svc.md docs/release-multi-instance.md modules/documents
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-d3-real-scenarios.md; R0=5aebedebeb963b5c01f39fd9122ec60dbe6d34d3.
Impact: task metadata only; the feature workspace starts at 5aebedebeb.
Refs: .task/feature-svc-d3-real-scenarios.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=5aebedebeb963b5c01f39fd9122ec60dbe6d34d3.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: pick up Agent-System-Frontend dcd2699 (PR #75) so the Dev combined
CI validates the RDM roles panel rejected-state fix together with the
svc.sh rdm-admin recovery tooling in this task.
Evidence: gitlink 43d1933 -> dcd2699; merge-base --is-ancestor of the
reviewed head 0159f00 into frontend main OK (SELF).
Impact: gitlink bump only; combination validated by make test in this
worktree before PR.
Refs: task card feature-rdm-admin-lockout-recovery (R3/I2)
Why: archive the D1 and D3 cards after their merges.
Evidence: GATE run 2787 jobs 4039/4040/4041 success on fef5a64462.
Impact: task cards only.
Refs: #496
Why: the pin needs a recorded local red/green roundtrip and a combination test before the backup drill.
Evidence: cross_artifact_roundtrip exited 1 on backend c6fb130 and 0 on 46073d30; make test exited 0 on ca0ab46. Backend vet-and-test run 2783 succeeded. All SELF.
Impact: task card only.
Refs: .task/fix-u7-k4-artifact-upload.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The archive move staged only the rename, so the completed status and merge record were still unstaged.
Evidence: The cards now cite merge cd61bbb (#485) and 6ecf903 (#495).
Impact: Task card text only.
Refs: Dev #485#495
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Those two branches are on main, and a global task-close would also mark unrelated in-progress cards complete.
Evidence: origin/main contains merge cd61bbb (#485) and 6ecf903 (#495).
Impact: Only .task/feature-svc-d1-identity-flow.md and .task/feature-svc-d3-lifecycle-gate.md move to .task/archive/ with status backfilled.
Refs: Dev #485#495
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: keep fault rollback and the real lifecycle gate on main.
Evidence: GATE run 2784 jobs 4032/4033/4034 success on c197b7565b.
Impact: test-pg runs make test-lifecycle. Login stays NOT_RUN.
Refs: #495
Why: U7 acceptance bootstrapped u7-admin into the shared dev runtime's
singleton rdm_admins ledger, locking the operator out of RDM admin pages
(rdm.role.list 400); recovery required forensics. KTD4 keeps base isAdmin
to audit-view only, so an operator-side trusted channel is needed.
Evidence: python3 -m unittest tests.test_svc_rdm_admin -v (25 OK, SELF);
live smoke on runtime/dev: show/status/typo-guard outputs verified.
Impact: new svc.sh <env> rdm-admin [show|transfer --to x] command, help
topic, status ledger line with stale-owner warning; no behavior change
for existing commands.
Refs: task card .task/feature-rdm-admin-lockout-recovery.md R1/R2
Why: an unset object store must keep artifact bytes available to the other process, which the store-level test does not execute.
Evidence: cross_artifact_roundtrip failed with EOF on backend c6fb130 and passed on 46073d30 (SELF, isolated u7drill-k4).
Impact: Dev now builds the fixed backend. Second-instance write traffic stays closed.
Refs: modules/backend tests/integration/multi-instance/multi_instance_test.go
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The release tests must be bound to the commit that contains the lifecycle changes, and the pre-merge sync has to be on the card.
Evidence: SELF make task-sync exit 0, receipt sha256 ef762f87ad785ef9a1759e2686a992353161e35c7a80b726e01133f1779329af. SELF python3 -m unittest tests.test_svc_u2.U2ReleaseTests -q exit 0 on 0dce930 (35 ok, 1 skipped), receipt sha256 cfe7aea9e6bb09f7a169a4caab3c1c89b4b3138c4e08fa11f53bf12d13caa46a.
Impact: Task metadata only. origin/main 5212fef was already contained.
Refs: Dev #495
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the typed-nil fallback needs a recorded local run before the component pull request.
Evidence: GOWORK=off go vet and go test ./... exited 0 against backend 46073d30; source SELF. The PostgreSQL-gated case was skipped locally.
Impact: task card only. The backend gitlink is not pinned in this commit.
Refs: .task/fix-u7-k4-artifact-upload.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-rdm-admin-lockout-recovery.md; R0=5212fef01e59b7f9e12fa7fc42cd987c6792a786.
Impact: task metadata only; the feature workspace starts at 5212fef01e.
Refs: .task/feature-rdm-admin-lockout-recovery.md
Why: the approved plan authorizes this increment through merge and close, and the task card is the record of that scope.
Evidence: stages 1-5 cite the 2026-10-13 plan approval; precheck receipt remains in the card.
Impact: task metadata only; no product code yet.
Refs: .task/fix-u7-k4-artifact-upload.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-u7-k4-artifact-upload.md; R0=5212fef01e59b7f9e12fa7fc42cd987c6792a786.
Impact: task metadata only; the feature workspace starts at 5212fef01e.
Refs: .task/fix-u7-k4-artifact-upload.md
Why: The task card needs the pull request link and the decision not to move live instance data before review.
Evidence: SELF python3 /tmp/d1d3-ro-instances.py exit 0; receipt sha256 895676aabddf85c5b36966428204fde160846b70ac5a8b5eb90ab8037bb0897a. An earlier evidence attempt failed on a broken checker and is kept.
Impact: No runtime data was moved. Login and authenticated rdm.ping stay NOT_RUN.
Refs: Dev #495
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The live deploy journal never called fault injection, and test-lifecycle failed closed on login so CI could not require the real combination cases.
Evidence: SELF python3 -m unittest tests.test_svc_u2.U2ReleaseTests -q exit 0 (35 ok, 1 skipped) on 3602a87; receipt sha256 9b5785577751e8e9e7947cf9700fb8854b1c80142f34273ae25f3097ee4c9aa8.
Impact: test-pg builds the Dev binary and runs make test-lifecycle. Login and full-track deploy without SVC_RDM_ORIGIN stay NOT_RUN. No live data move and no account CLI.
Refs: recovery plan D2/D3; Dev #485
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-d3-lifecycle-gate.md; R0=5212fef01e59b7f9e12fa7fc42cd987c6792a786.
Impact: task metadata only; the feature workspace starts at 5212fef01e.
Refs: .task/feature-svc-d3-lifecycle-gate.md
Why: close this merged task without touching other owners records.
Evidence: PR493 merge0001148 has the tested tree; exact833ea87 run2726 passed all three jobs; raw receipts retained.
Impact: only this task card is backfilled and archived; no code or component changes.
Refs: PR493, UI01-UI13, policy/delivery.md
Why: tie the delivery record to the latest authoritative main.
Evidence: task-sync passed at f6abba3865 with exact merged UI Frontend Documents objects.
Impact: card-only final candidate; implementation objects unchanged.
Refs: PR493, UI01-UI13
Why: verify the authoritative main before platform checks.
Evidence: task-sync synchronized f6abba3865 with unchanged component objects.
Impact: task record only.
Refs: UI01-UI13, U5
Why: retain raw validation receipts and platform identity before delivery.
Evidence: make evidence recorded the clean e6194a1 combination and UI run 2723.
Impact: task evidence only; component objects remain unchanged.
Refs: UI01-UI13, U5
Why: Keep exact component and verification progress recoverable before final integration gates.
Evidence: Full SELF receipts remain in the task card; independent replay and platform gates are separately identified.
Impact: Documentation and Documents version only.
Refs: feature/work-companion-ui U5
Why: Bind the final candidate to actual review fixes and stronger interface acceptance.
Evidence: Full SELF red/green receipts and original independent report identities are retained; GATE and final review remain separate.
Impact: Pin UI0da2e3a and Frontend43d1933; no Backend/Core or running service change.
Refs: UI01-UI13, ce-code-review UI and Frontend findings, work-companion-ui
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=f6abba3865e3779f3567e4cf0805f6a3e86a2052.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Keep a recoverable record of the current validated combination and honest planning status.
Evidence: Full SELF make build and isolated two-case HTTP browser receipts are retained in the task card.
Impact: Documentation and Documents pin only; no running service change.
Refs: feature/work-companion-ui, U5
Why: feature/u7-ops-drills is in origin/main and its task card was still open.
Evidence: merge 089862084f is PR #491. task-finish exit 0, receipt /tmp/u7-ops-drills-finish-4.json (SELF).
Impact: only this card moves to .task/archive/. Other open cards stay open.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=df5f8761ea9e2fb20a4b5e3f20318d748a83fbb0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Preserve task evidence before the next main synchronization.
Evidence: Complete SELF receipts are stored in the task card.
Impact: Documentation only; no runtime behavior change.
Refs: UI01-UI13, feature/work-companion-ui
Why: origin/main moved during CI by archiving an unrelated task card, so the branch had to include it before merge.
Evidence: make task-sync exit 0 via make evidence (SELF). sync_base=df5f8761ea tested_head=bb6b9877d4. The delta is that card archive only.
Impact: The earlier make test on afdf43e still covers the code. CI must go green on this new head before merge.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=df5f8761ea9e2fb20a4b5e3f20318d748a83fbb0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The pre-merge sync brought in a newer main, so the previous make test receipt no longer covers this head.
Evidence: make test exit 0 via make evidence (SELF) with before=afdf43e. CI on the pull request remains the GATE.
Impact: Frontend, UI, Python, and agent-command checks passed on the synced head. Drill verdicts are unchanged.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=2c016931044bebdc4a114c1ca1127d1b40d4ab17.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# modules/documents
Why: origin/main moved before the pull request, so the branch had to take that baseline.
Evidence: make task-sync exit 0 via make evidence (SELF). sync_base=2c01693104 tested_head=9526d35f9c.
Impact: Frontend pin and release-directory uniqueness from main are now in the branch. Drill results stay bound to their measurement SHAs.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=2c016931044bebdc4a114c1ca1127d1b40d4ab17.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The task card still said C4 and C5 had not run, which would make the pull request describe the wrong result.
Evidence: B6, C4, and C5 receipts already on the card (SELF). drill_driver tests pass after grouping the imports.
Impact: The card now states K4 failed and second-instance writes stay closed. No product code change.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: verify the exact UI and Frontend combination under the approved design.
Evidence: imported startup plus SELF unit, type, build, fixture browser and real HTTP/MockRunner smoke receipts in the task card.
Impact: three-pane presentation rules and fixed component revisions; existing services remain untouched.
Refs: work-companion-ui design r0.2, plan r1 and UI01-UI13.
Why: Close this task after verified merge, CI and runtime acceptance.
Evidence: Original PR results, actor/runner and exact-head CI readbacks
are preserved in the archived record.
Impact: Archive this task only; no source, configuration or other card.
Refs: Dev #483; RDM #288; Frontend #71
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=2c016931044bebdc4a114c1ca1127d1b40d4ab17.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Preserve real merge results, current-head CI and runtime acceptance.
Evidence: Gitea admission/merge readbacks and independent/live replay
receipts in this task only.
Impact: Metadata only; no unrelated task closure.
Refs: Dev #483; Frontend #71/#72; RDM #288
Why: Fixed identity contract and current main must share one candidate.
Evidence: Saved final sync, real SQLite/PG replays and live public
recovery receipts; exact current-head CI will decide admission.
Impact: Task metadata only.
Refs: Dev #483/#485; Frontend #71/#72
Why: Policy requires a task-sync immediately before requesting review.
Evidence: make task-sync exit 0 via make evidence (SELF). origin/main was already contained; tested_head is 2eff856.
Impact: The branch stays aligned with authoritative main. Older drill receipts still predate the earlier main merge; the post-sync make test does not.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The acceptance sync merged main, so the earlier make test receipt predates those changes.
Evidence: make test exit 0 via make evidence (SELF) on 794e51b. CI on the pull request remains the GATE.
Impact: The local suite passed again on the synced head, including worktree, Python, frontend, UI, and agent-command checks.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The synchronization gate requires saved task evidence.
Evidence: Current product build and actual binary replay receipts are in
the canonical task record; subsequent sync uses an external receipt.
Impact: Evidence only.
Refs: Dev #483/#485
Why: Required lifecycle gates must follow the current identity contract.
Evidence: Real binary and temporary PostgreSQL replay, independent
review, and D1 synchronization records in the canonical task card.
Impact: Evidence only; application changes remain the approved recovery
and release collision protection with current main work preserved.
Refs: Dev #483/#485; Frontend #71/#72
Why: The branch had to contain authoritative main before acceptance, and that sync is part of the evidence.
Evidence: make task-sync exit 0 via make evidence (SELF). It merged origin/main and warned that the earlier make test predates the merge.
Impact: Backend pin moved with main. The combined test must be rerun on this head.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=cd61bbb112eea6a210a64e84f2cef00b0d64bfc1.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The drill, handbook, and Documents pin need a combined test result before review.
Evidence: make test exit 0 via make evidence (SELF). CI on the pull request remains the GATE.
Impact: Local suite passed, including worktree, Python, frontend, UI, and agent-command checks.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Main D1 now shares the same explicit fixture initialization contract.
Evidence: Both real SQLite and temporary PostgreSQL initialization paths
were independently replayed; capabilities JSON assertions are preserved.
Impact: Resolve duplicate PG setup through the tested helper; preserve
all main lifecycle changes and the rollback directory protection.
Refs: Dev #483/#485; D1 existing-store identity contract
Why: Current RDM identity ensure/verify intentionally refuse missing
databases and schema; the old fixture invoked them on empty stores.
Evidence: Actual RDM red failure, real SQLite and isolated PostgreSQL
green replays, and independent review receipts in the task card.
Impact: Test setup only; normal serve initializes temporary stores and
is reaped before the unchanged identity/lifecycle assertions.
Refs: Dev #483/#484; current RDM D1 existing-store contract
Why: The drill report and storage plan r2.2 are on Documents main, and this repo still pointed at the previous pin.
Evidence: Documents PR https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/pulls/90 merged as f76cce9 (SELF API merge, no CI statuses on that repo).
Impact: The gitlink moves from 3cc6438 to f76cce9. Second-instance writes stay closed.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The measured backup, PITR, and disconnect steps were only in the drill scripts, and the checklist still said those rows were not run.
Evidence: Results pgbench-20261012-131948, fault-20261012-142734, and backup-20261012-153441 (SELF). K4 stays failed.
Impact: Second-instance write traffic stays closed. The handbook records the upload panic and the short socket path.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The timed drill finished with a verdict for every criterion, including the upload failure.
Evidence: make evidence exit 1 because K4 failed; results tests/ops/results/backup-20261012-153441 (SELF). K1-K3 and K5-K7 passed. RPO 64s, RTO 4s.
Impact: Physical backup, WAL replay, and pg_dump restore are measured. Artifact upload panics when S3 is unset, so K4 is FAIL and product code was not changed.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: deploys need a side-effect-free identity probe, an isolated lifecycle child, and the release transaction already on main.
Evidence: GATE run 2667 jobs 3845 test, 3846 test-pg, 3847 svc-realcombo all success on b4eb3a814c.
Impact: update and recover run in a clean child; serve keeps the exec-tool kill switch; Backend pin is 0f192a4.
Refs: #485
Why: identity ensure no longer creates the schema, so the probe has to follow a real serve that applies migrations.
Evidence: SELF python3 -m py_compile tests/test_svc_realcombo.py. GATE run 2663 job 3839 failed on the previous head with identity table missing.
Impact: the PostgreSQL check still passes the DSN only through the environment, after serve has migrated.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The backup drill again refused to create an instance because the 1-minute load average was 18.23.
Evidence: make evidence exit 3, receipt on the task card (SELF).
Impact: No PostgreSQL instance was created.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: env -i dropped RDM_DISABLE_EXEC_TOOLS, so the real RDM binary exited immediately on runners without bwrap, and the capability probe now prints the JSON document.
Evidence: SELF bash -n scripts/svc.sh; python3 -m py_compile tests/test_svc_realcombo.py. GATE run 2656 job 3831 failed on the previous head before this fix.
Impact: serve and the lifecycle child forward that one switch; identity capabilities is checked as protocol 1 JSON.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The restored server promoted and the smoke check passed, then the drill stopped while reading artifact ids.
Evidence: make evidence exit 1, results tests/ops/results/backup-20261012-151951 (SELF). rto_s=3, smoke login/projects/conversation 200.
Impact: The instance was cleaned up. The next run records a full verdict, including a failed upload check.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: A missing artifact id aborted the drill before recovery counts, the settle window, and the logical restore.
Evidence: backup-20261012-151951 reached promoted=1 and smoke 200, then StopIteration on an empty id (SELF). bash -n passed.
Impact: K4 stays failed when uploads do not return an id. The rest of the verdict is still written.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: main gained the real-combination CI gate after the previous sync, and this branch still has to carry that gate with the isolated identity calls.
Evidence: SELF python3 -m unittest recovery/identity/u2/deploy/pin/isolation — 100 tests OK (2 skipped); bash -n scripts/svc.sh.
Impact: identity ensure/verify still pass DSN only through the environment; stop waits for the port and can keep the desired state. CI keeps the lifecycle pin step and the svc-realcombo job.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Admit the recovery fix with the latest lifecycle guardrails.
Evidence: Independent replay on the synchronized combination and live
public recovery receipts; exact current-head CI is awaited next.
Impact: Evidence only; no further source changes.
Refs: Dev #483/#484; Frontend #71/#72
Why: pg_ctl could not start the restored server, so the drill exited before a verdict.
Evidence: make evidence exit 1, results tests/ops/results/backup-20261012-150713 (SELF). The log says the Unix socket path is too long.
Impact: Cleanup removed the instance. The rerun uses a short socket path.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The restored postmaster refused to start because the results-directory socket path exceeded the 107-byte Unix socket limit.
Evidence: restore/postgres.log from backup-20261012-150713 says the socket path is too long (SELF). bash -n passed.
Impact: The restored instance listens on /tmp/u7bk-18997, and cleanup removes that directory.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: env -i dropped SVC_STUB_*, so recovery tests saw an empty serve record even though the bound DSN was still passed.
Evidence: SELF python3 -m unittest tests.test_svc.SvcDbRecoveryTests tests.test_svc_lifecycle_isolation — 34 tests OK.
Impact: only SVC_STUB_* is added at launch; serve.env still omits them, and caller AGENT_SYSTEM_* stays out of the process.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=99048dda1f48bccb3d5d798050d7beeea2907177.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Final admission must include newly merged lifecycle validation.
Evidence: Full test/build and real local/public browser acceptance are
recorded; test and PostgreSQL CI passed on a8035bf.
Impact: Task record only; subsequent synchronization receives latest main.
Refs: Dev #483/#484; Frontend #71/#72
Why: main already has one release transaction, so this branch keeps that path and only isolates update and recover in a clean child.
Evidence: SELF bash -n scripts/svc.sh; python3 -m unittest identity/recover/deploy/u2/lifecycle pin 92 tests OK (2 skipped), then 66 tests OK after dropping the obsolete journal hook.
Impact: deploy uses releases/ and deploy.journal; the lifecycle child reconciles that journal before deploy or recover. Backend pin is 0f192a4.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The backup drill refused to create an instance because the 1-minute load average was 17.72.
Evidence: make evidence exit 3, receipt on the task card (SELF).
Impact: No PostgreSQL instance was created. The rerun waits until load is at or below 16.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: record the clean UI and Frontend baseline before parallel units begin.
Evidence: make evidence receipts for startup and make test-ui test-frontend.
Impact: SELF baseline evidence only; no product behavior change.
Refs: work-companion-ui plan r1 U1-U5.
Why: isolate the approved interface work and fix its component baseline.
Evidence: imported startup precheck SELF receipt; source requirements and plan recorded in Documents.
Impact: task metadata, project links and authoritative UI/Frontend baselines; existing service state is untouched.
Refs: UI01-UI13 and work-companion-ui implementation plan r1.
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-u3-realcombo.md(PR#484) — 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: C4 evidence is recorded, and the next measured run is the backup and PITR drill.
Evidence: The increment line is the only change.
Impact: No runtime change.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Completion must verify the served frontend and original conversation.
Evidence: Real authenticated local/public refresh and two-page preview;
HTTP2 event stream verified, credentials revoked, data identity unchanged.
Governance review and red/green outputs are in the canonical task card.
Impact: Evidence only; no application or storage change.
Refs: Dev #483; RDM #288/#289; Frontend #71/#72
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-work-companion-ui.md; R0=4d362537d0e8755a03b1757b5bad92779a064b33.
Impact: task metadata only; the feature workspace starts at 4d362537d0.
Refs: .task/feature-work-companion-ui.md
Why: on slow runners the orphaned http child of a stopped stub lingers
a few hundred milliseconds past the parent's exit (ppid-watch suicide),
and the immediately following start - notably the U2 rollback restart -
classified the unparented listener as a foreign occupant and refused to
start (CI run 3774).
Evidence: test_svc_u2/identity/svc suites 82 OK locally with the wait
in both stop paths.
Impact: adds <=3s bounded wait in do_stop/do_stop_quiet after SIGTERM
cleanup; no behavior change when the port is already free.
Why: The checklist had no measured restore path for a physical backup, WAL archive, or pg_dump onto a new target.
Evidence: bash -n, go test in tests/ops/drill_driver, and run_backup_drill.sh --self-check passed locally (SELF). The timed run is recorded separately.
Impact: Isolated u7bk only. Upload responses keep artifactId so the restore check can download the same objects.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Second-resolution release IDs let staging delete a previous release
when a same-source deployment ran within the same clock tick.
Evidence: Fixed-clock rollback regression fails before and passes after;
250 governance checks pass. Independent review replays collision and
copy-failure protection; receipts are in the primary task card.
Impact: Add invocation identity and exclusive directory creation; keep
old artifacts intact. Also retain the latest compatible frontend pointer.
Refs: User-approved I2; Dev #483; Frontend #71/#72
Why: The corrected probe measured bounded failures, sub-second recovery without restarting the apps, and Redis shared limits across both instances.
Evidence: make evidence exit 0, results tests/ops/results/fault-20261012-142734 (SELF). F1-F5 and G1-G3 passed. G4 and G5 are the expected findings.
Impact: C4 is SELF on this host. Second-instance write traffic stays closed.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: only the deploy invocation carried RDM_DISABLE_EXEC_TOOLS; the
trailing restart ran without it and the serve died on keyless runners
under the bwrap fail-closed policy (run 3765).
Evidence: local suite green; the restart now inherits the hard-disable.
Impact: tests only.
Why: the branches are ready for review but are not merged, so the card
must stay open and say what was verified on the live instances.
Evidence: local commits listed in the card. Companion pages titled RDM 工作台 returned HTTP 200. rdm.ping did not return a domain result. No data was moved.
Impact: documentation only. Login and the real lifecycle suite stay NOT_RUN.
Refs: recovery plan r3.1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the CI-only serve-exit failure left no server-side evidence in the
assertion output; the tail pinpoints the refuse reason on the runner.
Evidence: local rerun green (diagnostic inert on success).
Impact: test diagnostics only.
Why: an update that stops the old process and overwrites the binary cannot
get the previous version back, and a migration the old binary cannot read
must be refused before that stop. CI also had no fixed RDM SHA to build from.
Evidence: python3 -m unittest tests.test_svc_identity tests.test_svc_recover tests.test_svc_deploy_txn tests.test_lifecycle_pin passed. make test-lifecycle exits 2 when AGENT_PG_TEST_DSN is unset.
Impact: installs land in releases/<rid> and current switches with mv -T.
Deploy keeps the desired state and rolls back a non-terminal journal.
Schema compatFloor above the installed target is refused unless
--migrate-schema --confirm is paired with a backup. test-lifecycle fails
closed without PostgreSQL and an RDM checkout. Login stays NOT_RUN.
Refs: recovery plan r3.1 D2 and D3; Backend feature/d1-identity-open
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: on keyless runners the RDM cache clone and pins materialization
inside svc.sh fetched nested pins over raw SSH URLs (run 2608: host key
verification failed); the suite now injects the same URL-scoped token
header and insteadOf rewrite via environment when SVC_CI_GIT_* is set.
Evidence: local rerun stays green (env unset locally); CI run applies it.
Impact: tests + ci.yaml only; token travels via environment only.
Why: CI runners lack bwrap, so the real RDM binary refuses to start
under the sandbox fail-closed policy (run 2607: serve exits right after
launch); the product provides RDM_DISABLE_EXEC_TOOLS as the top-level
fallback and lifecycle semantics under test are unchanged.
Evidence: local rerun with the env set stays green.
Impact: tests only.
Why: YAML env: values do not shell-expand, so $PWD-based binary paths
reached the suite as literal strings (run 2606: SVC_REAL_BIN not
executable).
Evidence: job log run 2606; paths now exported in the run script.
Impact: ci.yaml only.
Why: the realcombo steps unset the URL-scoped token env before
'submodule update', so nested pins fell back to raw SSH URLs and failed
host-key verification on the runner (first svc-realcombo run 2605).
Evidence: job log run 2605 shows ssh clone failures; reordered steps
keep insteadOf + token header active through the pins fetch.
Impact: ci.yaml ordering only.
Why: stub suites proved the script logic but not real artifact
behavior (the 2026-10-12 incidents passed all stub tests); the report's
U3 requires real-combination gates, and realcombo dry-runs exposed two
real gaps: fresh deploys closed identity governance one lifecycle late,
and pg-bound identity calls put the DSN on the command line.
Evidence: make test exit 0; local realcombo dry-run 16 OK (rows in the
task card); CI adds svc-realcombo (SQLite, both real binaries, full RDM
track) and a real-PG identity step on test-pg with env-delivered DSN.
Impact: tests/test_svc_realcombo.py (SVC_TEST_REAL gate, explicit
NOT_RUN otherwise); ci.yaml new job + test-pg step (RDM clone via
trusted-base URL-scoped token header, allowlist addition reviewed in
this PR); svc.sh delivers identity DSN via AGENT_SYSTEM_DSN and runs
manifest adoption in the same deploy that first registers svc.env;
modules/backend pinned to main (env fallback, backend #182).
Refs: .task/feature-svc-u3-realcombo.md; user goal directive 2026-10-12
(U3); backend #182; RDM #285.
Why: Bind the fixed frontend pin to the current integration baseline.
Evidence: Startup, task-sync, regression red/green, independent reviewer
replay and browser receipts in the canonical task card.
Impact: Evidence and phase authorization only.
Refs: Frontend #71; surface-black-screen-recovery
Why: The corrected drill refused to create an instance because the 1-minute load average was 16.98.
Evidence: make evidence exit 3, receipt on the task card (SELF).
Impact: No PostgreSQL instance was created. The rerun waits until load is at or below 16.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Dev #452 selected a frontend pointer lacking the previously merged
SurfaceMeta hydration fix and blanked saved-page conversations.
Evidence: Independent review and regression red/green receipts are in
.task/feature-surface-black-screen-recovery.md; make test/build follow.
Impact: Pin the frontend that retains fast-slow and saved-page recovery;
no backend, UI token, storage or permission configuration change.
Refs: Frontend #68; Dev #454; Dev #452; surface-black-screen-recovery
Why: A second evidence run found port 18991 still held by the in-flight drill and exited before creating an instance.
Evidence: make evidence exit 2, receipt on the task card (SELF).
Impact: Nothing was created. The in-flight drill was stopped so the corrected probe can run.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The first pg-stop window counted an in-flight 200 at shutdown, and five writes on the timeline conversation returned 409 while a mock run held it. That measured the probe, not a proven database failure.
Evidence: go test ./... in tests/ops/drill_driver passed locally (SELF).
Impact: The outage clock starts 2s after stop or kill. RTO is five writes on new conversations. Idempotency replays only the window and retries 409 for up to 2 minutes. The Redis phase no longer uses local outside a function.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: probing identity by running the subcommand still launched old RDM
builds, and ensure on a missing database created an empty one. A batch
update also inherited the caller's AGENT_SYSTEM_* variables.
Evidence: python3 -m unittest tests.test_svc_identity tests.test_svc_recover passed (41 tests, 1 skipped). tests.test_svc_lifecycle_isolation caller-env and restart cases passed.
Impact: capability probes use version --json only. Established instances
refuse a missing identity row until adopt --confirm. update and recover
run each service in a clean environment. serve reads a 0600 serve.env
and does not inherit the caller environment. Backend and documents pins
move to the D1 identity and recovery-plan commits.
Refs: recovery plan r3.1 D1; Backend feature/d1-identity-open; RDM feature/d1-version-json
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-u3-realcombo.md; R0=4d362537d0e8755a03b1757b5bad92779a064b33.
Impact: task metadata only; the feature workspace starts at 4d362537d0.
Refs: .task/feature-svc-u3-realcombo.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-surface-black-screen-recovery.md; R0=4d362537d0e8755a03b1757b5bad92779a064b33.
Impact: task metadata only; the feature workspace starts at 4d362537d0.
Refs: .task/feature-surface-black-screen-recovery.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-u2-release-recovery.md(PR#480) — 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=3b9cf82cd6fb53f973f26e2039275f7858b0c654.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: deploy overwrote live artifacts after stopping the old service, so
a failed start or workbench check left instances in a mixed
registration-vs-artifact state with no recovery path (2026-10-12
rdm1/rdmcand); the report's U2 requires restorable updates.
Evidence: make test-governance 250 OK; five svc suites 105 OK (rows in
the task card); new tests cover layout/pidcheck stability, rollback on
start failure with desired-state restore, build failure keeping the old
service running, interrupted-switch journal resolution, and schema-
advance blocking rollback without touching the database.
Impact: agent deploys stage immutable releases/<id>/ and switch the
current symlink atomically; deploy.journal persists the switch and is
resolved at start/restart/deploy/update/recover entries; legacy layouts
are adopted on first deploy and remain readable; release/rdm tracks
verify sha256 before staging.
Refs: .task/feature-svc-u2-release-recovery.md; user goal directive
2026-10-12; Dev #474 (U1 gate); Documents unified-deploy plan r2.
Why: keep original closure and synchronization evidence after moving the completed card.
Evidence: existing evidence.py read_receipt and append_card validated/imported original SELF receipts; initial scope refusal retained.
Impact: archived task record only; no policy or component change.
Refs: PR #476; PR #479
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-d1-identity-flow.md; R0=6ba91239e680ef240625dc1e86232c48c4221716.
Impact: task metadata only; the feature workspace starts at 6ba91239e6.
Refs: .task/feature-svc-d1-identity-flow.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6ba91239e680ef240625dc1e86232c48c4221716.
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-agent-pr-merge.md(PR#476) — 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 newly integrated backend identity CLI before testing the combination.
Evidence: SELF task-sync and ancestor verification receipts in the task card; final HEAD CI is required.
Impact: task metadata only; reviewed normative files are unchanged.
Refs: .task/feature-agent-pr-merge.md; PR #476
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-u2-release-recovery.md; R0=9b5be3926eaa394a9e520fd72ffdf6d0a48d1aef.
Impact: task metadata only; the feature workspace starts at 9b5be3926e.
Refs: .task/feature-svc-u2-release-recovery.md
Why: The release checklist cannot mark disconnect recovery until an isolated drill records bounded failures, no SQLite fallback, and idempotent writes.
Evidence: bash -n passed, drill_driver go test passed, unknown arguments exit 2. The timed drill is recorded next.
Impact: New drill entry only. No product change and no release decision.
Refs: docs/release-multi-instance.md C4
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=9b5be3926eaa394a9e520fd72ffdf6d0a48d1aef.
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-pin-backend-identity-cli.md(PR#477) — 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: C4 and C5 need a shared way to start, refuse, and tear down stacks without touching production ports or processes.
Evidence: tests/ops/self_check.sh passed (help, unknown arg, foreign name, production port, busy port, SIGINT cleanup). drill_driver go test passed.
Impact: New tests/ops library and HTTP driver. No drill result and no release-gate change yet.
Refs: docs/release-multi-instance.md C4 C5
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the newly merged service identity baseline before final CI.
Evidence: SELF task-sync, ancestor check, generator replay and document-link receipts in the task card.
Impact: task metadata only; all reviewed policy and generator content is unchanged.
Refs: .task/feature-agent-pr-merge.md; PR #476
Why: Backend #180 moved the identity CLI to pkg/identity (shared with
Agent-System-RDM per PR 276); Dev main should consume it so composed
binaries carry the same identity semantics and capabilities output.
Evidence: make test exit 0 (combined suite on the bumped pin);
make test-pins ok; rows in the task card.
Impact: gitlink only (bbe9773 -> acabb85, spans #177/#179/#180).
Refs: .task/feature-pin-backend-identity-cli.md; user goal directive
2026-10-12 (implement remaining U1/U2/U3 items in order).
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6a494d3977e6557e7bebe0e5bb1c4a12091296e0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The database-only baseline is usable only with the command, object SHA, and full output kept on the task card.
Evidence: CMD=tests/load/collaboration/run_pgbench.sh make evidence exit 0 at b2e129a (SELF). Six windows, zero failed transactions. An earlier parse failure and a load-gate pause stay on the card.
Impact: Evidence only. Checklist B6 is not flipped until the drill report and checklist edit land. Second-instance writes stay closed.
Refs: docs/release-multi-instance.md B6
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: preserve the actual main PR and independently reviewed object before final CI.
Evidence: completed review and authoritative synchronization receipts in the task card; CI must bind the new HEAD.
Impact: task metadata only; no normative or component change.
Refs: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/476
Why: bind delivery to the completed review and the user authorized cleanup endpoint.
Evidence: independent review run 20261012-123744-f14f6caa and raw records are captured in the task card; final PR CI is still required.
Impact: task metadata only; all eight reviewed policy and generator files remain unchanged.
Refs: .task/feature-agent-pr-merge.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-pin-backend-identity-cli.md; R0=6a494d3977e6557e7bebe0e5bb1c4a12091296e0.
Impact: task metadata only; the feature workspace starts at 6a494d3977.
Refs: .task/feature-pin-backend-identity-cli.md
Why: A timed window that starts under load average above 16 is not a usable baseline, and creating the instance first only to pause wastes a startup.
Evidence: The rerun at load 24.03 exited 3 before any timed window and removed the instance.
Impact: The pause now happens before initdb. No change to the benchmark itself.
Refs: docs/release-multi-instance.md B6
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The percentile reader also opened the pgbench stdout file, so the first run exited 1 after six successful windows.
Evidence: Parser check on results/pgbench-20261012-131229 select-only-10 gave p50 0.018 ms, matching the reported average. The timed rerun is recorded next.
Impact: Percentile parsing only. The six windows themselves had zero failed transactions.
Refs: docs/release-multi-instance.md B6
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Continuous delivery needs the approved scope, stop conditions, and B6/C4/C5 acceptance on the task card before any drill runs.
Evidence: Precheck receipt imported at task-start (SELF, R0 8ebf502146); plan approved by the user on 2026-10-12.
Impact: Records authorization only. No drill, product, or release-gate change.
Refs: docs/release-multi-instance.md B6/C4/C5
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-identity-u1.md(PR#474) — 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-u7-ops-drills.md; R0=8ebf5021468a1301ccbe2fe0568508e16d8bb708.
Impact: task metadata only; the feature workspace starts at 8ebf502146.
Refs: .task/feature-u7-ops-drills.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=8ebf5021468a1301ccbe2fe0568508e16d8bb708.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: batch update leaked AGENT_SYSTEM_INSTANCE_ID/DBREF from one service
to the next, and RDM artifacts without the identity CLI were stopped and
overwritten before their startup identity refusal surfaced, leaving
rdm1/rdmcand in a mixed registration-vs-artifact state (2026-10-12).
Evidence: make test-governance 217 OK; tests.test_svc_identity and
tests.test_svc_precheck green; rows recorded in the task card.
Impact: env_config resets identity env per service; capability probe is
timeout-guarded and rejects serve-shaped output; identity ensure moves
to adoption/init (bare start is verify-only); deploy builds and gates
candidates before stopping the old service (refuses identityless
candidates, completes missing identity rows via the candidate); update
runs svc_manifest_migrate like every other lifecycle entry.
Refs: .task/feature-svc-identity-u1.md; user root-cause report 2026-10-12.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=8ebf5021468a1301ccbe2fe0568508e16d8bb708.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: retain the synchronization against the advancing authoritative target.
Evidence: SELF task-sync receipt in .task/feature-agent-pr-merge.md; CI on the final synchronized candidate remains pending.
Impact: task metadata only.
Refs: .task/feature-agent-pr-merge.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=6a44736f03f08428e68861f923b18ca645043efe.
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-pin-backend-read-consumption.md(PR#470) — 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: avoid general manual-stage wording overriding stages eight and nine.
Evidence: SELF document and link checks captured in the task card; existing governance checks cover unchanged script and test content.
Impact: clarify two policy sentences and record review-node synchronization; no mechanism or component change.
Refs: .task/feature-agent-pr-merge.md; policy/delivery.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=ac1de9c4c44a74b6a20a76ef3d948b492db84c39.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: preserve the tested policy object and separate local checks from pending review and CI.
Evidence: SELF command receipts in the task card; 212 governance cases with one existing PG-only skip and 12 verified links.
Impact: task metadata only; policy and component content are unchanged.
Refs: .task/feature-agent-pr-merge.md
Why: Archived card still said merge/cleanup NOT_RUN, and the green
make-test retry landed on the feature branch after PR #468 merged.
Evidence: merge 1325824 CI push jobs success; receipt from 30a5421.
Impact: Close record matches merged facts; SELF capacity still not a release.
Refs: Dev #468; Documents #83#86
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: make the agent responsible for merging reviewed PRs without another human merge step.
Evidence: SELF governance and generated-card checks are captured in .task/feature-agent-pr-merge.md; CI remains required on the final PR HEAD.
Impact: update project delivery policy, agent entry points, task metadata and closure guidance; preserve platform protection and scoped authorization.
Refs: .task/feature-agent-pr-merge.md; user instruction on 2026-10-12
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-identity-u1.md; R0=d8a269ab2fd20e4783ba0cde6a4794a702ad7571.
Impact: task metadata only; the feature workspace starts at d8a269ab2f.
Refs: .task/feature-svc-identity-u1.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-pr-merge.md; R0=d8a269ab2fd20e4783ba0cde6a4794a702ad7571.
Impact: task metadata only; the feature workspace starts at d8a269ab2f.
Refs: .task/feature-agent-pr-merge.md
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)
Why: v0.2.0 must carry the DOCX tracked-change fix and the exec hard
switch (Backend #110) and the release record (Documents #50); RDM shared
work is blocked until v0.2.0 is tagged.
Evidence: SELF - make test exits 0 on this tree; Backend #110 CI success
on the merge commit; the composite CI on this PR is the GATE source.
Impact: modules/backend 92ede3b -> f1c9cc0, modules/documents 9995552 ->
d3c9b45. core/frontend/ui pins unchanged (a253a40/84b73ab/76d6633).
Refs: Backend #110; Documents #50; docs/records/2026-10-09-base-v0.2.0-release.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-base-v020-release.md; R0=007247f1e7a423fe900f6ab1638b51369e4e7497.
Impact: task metadata only; the feature workspace starts at 007247f1e7.
Refs: .task/feature-base-v020-release.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext8-remaining-shared-reads.md(PR#273) — 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: CI on PR HEAD is the authoritative gate before merge.
Evidence: Backend#109 success; Dev#273 success.
Impact: Task card only.
Refs: AGENTS.md evidence gate.
Why: The Dev combination must pin the closure commit; make test validates the fixed combination.
Evidence: modules/backend -> 92ede3b970dd8bc0a40b3359a04a6e35b812a9d1 (Backend PR #109).
Impact: Gitlink only.
Refs: Backend PR #109; task card.
Why: EXT-8 closure needs vector-channel sharing, the hostapi face, and citation-ref consistency; scope and non-goals (no base graph endpoint exists - RDM trace net is downstream) must be recorded first.
Evidence: rag Retrieve/rrfMerge and hostapi search shapes verified at source.
Impact: Task card only.
Refs: EXT-8 proposal; slice-1/2 cards.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext8-remaining-shared-reads.md; R0=28a4dbcbf4d61d44b1e0300993962da419e98666.
Impact: task metadata only; the feature workspace starts at 28a4dbcbf4.
Refs: .task/feature-ext8-remaining-shared-reads.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext-11-scoped-host-factory.md(PR#271) — 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: CI on PR HEAD is the authoritative gate before merge.
Evidence: Backend#108 success; Dev#271 success.
Impact: Task card only.
Refs: AGENTS.md evidence gate.
Why: The Dev combination must pin the EXT-11 commit; make test validates the fixed combination.
Evidence: modules/backend -> bbe39b475fc79d4e1fbf211d3d6d55dcad9fac4a (Backend PR #108).
Impact: Gitlink only.
Refs: Backend PR #108; task card.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext-11-scoped-host-factory.md; R0=c637d9516d93ab5674bac38e58238e2453c5ce87.
Impact: task metadata only; the feature workspace starts at c637d9516d.
Refs: .task/feature-ext-11-scoped-host-factory.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext8-slice2-shared-retrieval.md(PR#269) — 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: CI on PR HEAD is the authoritative gate before merge.
Evidence: Backend#107 success; Dev#269 success.
Impact: Task card only.
Refs: AGENTS.md evidence gate.
Why: The Dev combination must pin the slice-2 commit; make test validates the fixed combination.
Evidence: modules/backend -> 1de663a8d3302eddbd35d8a1906e4234e17c28e8 (Backend PR #107).
Impact: Gitlink only.
Refs: Backend PR #107; task card.
Why: Slice 2 closes the knowledge-retrieval half of EXT-8 and lands the minimal EXT-12 mirror switch; scope and limits must be recorded before code.
Evidence: Search paths (sqlite/like/PG) verified to share the knowledgeVisible predicate; cardsvc.emitCard mirrors unconditionally.
Impact: Task card only.
Refs: EXT-8/EXT-12 proposals; prior task cards' deferred-items registry.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext8-slice2-shared-retrieval.md; R0=749f327986f30a953fb6723b6970c42738a572af.
Impact: task metadata only; the feature workspace starts at 749f327986.
Refs: .task/feature-ext8-slice2-shared-retrieval.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext-9-index-publish.md(PR#267) — 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: CI on PR HEAD is the authoritative gate before merge.
Evidence: Backend#106 success; Dev#267 success.
Impact: Task card only.
Refs: AGENTS.md evidence gate.
Why: The Dev combination must pin the EXT-9 commit; make test validates the fixed combination.
Evidence: modules/backend -> fbc924c24045f8a9e22fc4047982c23d09bcebf3 (Backend PR #106).
Impact: Gitlink only.
Refs: Backend PR #106; task card.
Why: EXT-9 is accepted (Documents #49) as the other step-4 hard prerequisite; the publish/revoke surface and the upload pre-index switch must be scoped before implementation.
Evidence: Knowledge store shapes verified (owner column, DeleteKnowledgeByRef, vectors-by-ref cleanup precedent).
Impact: Task card only.
Refs: EXT-9 proposal; U0 section 5 C5 / section 10 step 4.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext-9-index-publish.md; R0=7b73dd19b8566446c137a6e3a46fed17bfa548d4.
Impact: task metadata only; the feature workspace starts at 7b73dd19b8.
Refs: .task/feature-ext-9-index-publish.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext-8-resource-authorizer.md(PR#265) — 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: CI on PR HEAD is the authoritative gate before merge.
Evidence: Backend#105 success; Dev#265 success (polled pending->success).
Impact: Task card only.
Refs: AGENTS.md evidence gate.
Why: The Dev combination must pin the EXT-8 commit; make test validates the fixed combination (which also carries the audit fix via stacking).
Evidence: modules/backend -> a4783d18e7156e4f48188e6816be865ed82380f6 (Backend PR #105, stacked on #104).
Impact: Gitlink only; other pins unchanged.
Refs: Backend PR #105; task card.
Why: Red run must be tool-pinned to the backend commit before the consultation lands.
Evidence: Row exit=1 at backend tip (shared read 404 with adapter set).
Impact: Task card only.
Refs: Task card.
Why: EXT-8 is accepted (Documents #49) and is the U0 step-4 critical path; the backend branch stacks on the audit-fix head (parent PR #104) to avoid a second gitlink conflict.
Evidence: Documents #49 and Dev #263 merged this session; parent head e0b1c27 pushed.
Impact: Task card only.
Refs: EXT proposal EXT-8; U0 section 5 C4 / section 10 step 4.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext-8-resource-authorizer.md; R0=27885ceb3e6c774495b61e07f560efa1a51855fc.
Impact: task metadata only; the feature workspace starts at 27885ceb3e.
Refs: .task/feature-ext-8-resource-authorizer.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext-c1-c7-applications.md(PR#263) — 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: CI on PR HEAD is the authoritative gate; Documents has no CI runner (docs-only repo, 0 statuses) which must be stated, not implied.
Evidence: Documents#49 no statuses; Dev#263 ci/test success.
Impact: Task card only.
Refs: AGENTS.md evidence gate.
Why: Closing outputs plus honest SELF/GATE boundary on the card.
Evidence: task-sync exit=0; make test exit=0 at tip 9bdec04.
Impact: Task card only.
Refs: Task card.
Why: Composition validation at the new documents pin is the Dev-side gate.
Evidence: make test exit=0 (governance + pins + module suites at documents 9995552).
Impact: Task card only.
Refs: Task card.
Why: The Dev combination must pin the proposal commit; make test validates the fixed combination (adopting Documents main 4e57196 plus the new proposal and INDEX row).
Evidence: modules/documents -> 9995552152616bfaf6473cd9249e55a28a1685b4 (Documents PR #49); make test row follows.
Impact: Gitlink only; other pins unchanged.
Refs: Documents PR #49; task card.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext-c1-c7-applications.md; R0=34a2bbe15793f7cf91ffd907123deb4113230794.
Impact: task metadata only; the feature workspace starts at 34a2bbe157.
Refs: .task/feature-ext-c1-c7-applications.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-architecture-guides.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: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-status-review.md(PR#259) — 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 planning index registered the stale RDM snapshot as an open
reconciliation item; the review re-verdicts the baseline and audits the
seven MS1 acceptance clauses so P1 scheduling rests on evidence.
Evidence: Documents PR #47 merged as 9505c7e (plan SS2.3 review, MS1
audit, six registered gaps, index sync, seven SELF receipts under
docs/records); replays run in an isolated clone at RDM 4feb2f0 with
pins=v0.1.0; the private minutes receipt stays local by decision.
Impact: documents gitlink -> 9505c7e; task card records authorization,
requirements R1-R5, increments, and next-task candidates; no code
changes; review is not milestone acceptance.
Refs: Documents #47; task feature/rdm-status-review.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-status-review.md; R0=218fc4b1ba00b0a03b5bb79f292b3eba6c987a58.
Impact: task metadata only; the feature workspace starts at 218fc4b1ba.
Refs: .task/feature-rdm-status-review.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-architecture-guides.md; R0=218fc4b1ba00b0a03b5bb79f292b3eba6c987a58.
Impact: task metadata only; the feature workspace starts at 218fc4b1ba.
Refs: .task/feature-architecture-guides.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-stage-records.md(PR#257) — 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 planning index named stage-record reconciliation as the
preferred next task; N1 WP6b/6c, the Q1 platform-task boundary, I1
reserved command consumption, and the I2 dangling reference all feed
N2/Q3 and RDM dependency judgments.
Evidence: Documents PR #46 merged as d630a04 (backfill sections in the
N1/Q1/I1 plan, stack completion plan I2 note, INDEX navigation); Dev
merge SHAs #230/#231/#234/#235/#237/#240 verified via git log --merges
on 2026-10-08; PR #242 body checked (0 wrong references, fixes confined
to the archived card).
Impact: modules/documents gitlink -> d630a04; archived I2 card now
points at stack completion plan SS5 I2 with a dated correction note;
task card records authorization, requirements, and increments.
Refs: Documents #46; task feature/agent-stack-stage-records.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-stage-records.md; R0=17e5c92238b2a33f9884f97b6d912b708ec5f256.
Impact: task metadata only; the feature workspace starts at 17e5c92238.
Refs: .task/feature-agent-stack-stage-records.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: .task/feature-planning-index.md(PR#255) — merge d25d1fad0d is on origin/main. The merge subject does not match the automatic from-branch detector, so this closure follows the same backfill as task.sh close.
Impact: .task/feature-planning-index.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1); PR #255
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: a documents gitlink move needs a combination test before the Dev pull request.
Evidence: CMD=\"make test\" make evidence exited 0 on 4ebdc4ec4a.
Impact: task card evidence only.
Refs: .task/feature-planning-index.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the user asked to finish this worktree, merge it after a clean sync, and remove the worktree.
Evidence: documents main c39efdc contains the index; Dev origin/main 7f1d87d is an ancestor of this branch.
Impact: task metadata only.
Refs: .task/feature-planning-index.md; Documents #45
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: origin/main=7f1d87dbb976ebe02ceb632d5a657a416ffb50bc. The documents gitlink is resolved to documents main c39efdc5015c57b18e18cc99ecf7f4c4f2e499ee, which contains the planning index.
Impact: integrate upstream changes and point documents at the merged index.
Refs: task-sync; Documents #45
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-agent-stack-q3.md(PR#253) — 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: check-pins requires nested and Dev-level pins to agree; squad main
advanced to 819b0c5 (nested agent-native pin #48) and backend main to
fe7c245 (nested agent-squad pin #103) after the Q3 WP1-WP5 merges.
Evidence: both component PRs CI green (GATE); make test recorded via
make evidence in the follow-up commit on this branch.
Impact: deps/agent-squad 663e89e -> 819b0c5; modules/backend 4791b2e ->
fe7c245; deps/agent-native stays 37c5e6f.
Refs: Q3 plan WP6; task card .task/feature-agent-stack-q3.md
Why: Q3 WP1/WP2 moved workflow execution out of runtime (workflow_script.go
deleted, so runtime no longer imports internal/tools) into the new
internal/wfcompile package, which legitimately depends on internal/tools
(script host) and internal/workflow (render/validate/Launch data layer).
Evidence: make test-boundaries green after the baseline update (77 edges,
negative test ok); the lint itself flagged both the stale edge and the new
ones (SELF).
Impact: baseline -1 edge (backend/runtime backend/tools), +3 edges
(backend/runtime backend/wfcompile, backend/wfcompile backend/tools,
backend/wfcompile backend/workflow).
Refs: Q3 plan WP1/WP2; task card .task/feature-agent-stack-q3.md
Why: Q3 (convergence and interop) completed across agent-native (#40),
agent-squad (#46/#47) and backend (#99-#102); Dev gitlinks must track the
merged component mains and the task card records the outcome before the
completion declaration.
Evidence: card increment table rows WP1a-WP6 with merged PR/SHA references;
component CI statuses recorded as GATE in the card verification section;
three-segment outputs (precheck/task-sync/test) appended via make evidence
in follow-up commits on this branch.
Impact: deps/agent-squad bcc8d08 -> 663e89e, deps/agent-native 1ac21c6 ->
37c5e6f, modules/backend 06934bc -> 4791b2e; task card filled.
Refs: .task/feature-agent-stack-q3.md; Q3 plan 2026-10-07-agent-stack-q2q3-plans.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-q3.md; R0=78409a9ceacacf8a152b811d94c7195c4f084664.
Impact: task metadata only; the feature workspace starts at 78409a9cea.
Refs: .task/feature-agent-stack-q3.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-q2.md(PR#251) — 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=1e85198578d8052c063c06c33fe0632ab01c213f.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Q2 (topology library) completed in Agent-Squad across WP1-4 (PRs
#42-#45, main bcc8d08) and the backend nested pin followed (PR #98, main
06934bc); Dev gitlinks must track the merged component mains and the task
card records the outcome before the completion declaration.
Evidence: card increment table rows WP1-4 with merged PR/SHA references;
component CI statuses recorded as GATE in the card's verification section;
three-segment outputs (precheck/task-sync/test) appended via make evidence
in follow-up commits on this branch.
Impact: deps/agent-squad c462bc4 -> bcc8d08, modules/backend 6e02a1f ->
06934bc; task card filled (results/verification/increments).
Refs: .task/feature-agent-stack-q2.md; Q2 plan 2026-10-07-agent-stack-q2q3-plans.md
Why: Documents #44 merged the Q2/Q3 plans; the Dev documents pin
follows and the Q2 card opens with its requirement rows (Q3 gets its
own task after Q2 closes).
Evidence: R1-R4 map to the plan's Q2-WP1..WP4 with verified gap citations.
Impact: documentation pin + task card.
Refs: Agent-System-Documents#44
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-q2.md; R0=a30c55425a30c5f023b311e9f822f39b796bcbc8.
Impact: task metadata only; the feature workspace starts at a30c55425a.
Refs: .task/feature-agent-stack-q2.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-n3.md(PR#248) — 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 carries the nested core pin at a253a40b plus the
rewind-test settle-window fix; the combination check now passes across
all nested copies.
Evidence: check-pins pins ok; backend CI green on 26bd9286 (GATE).
Impact: none beyond the pin.
Refs: Agent-System-Backend#97
Why: the TypeScript contract authority gained the usage split fields
(Core a253a40b) and the ui mirror was regenerated (UI 76d66337); the
Dev build step regenerates contracts.ts from the authority, so the
pins must carry this combination for the worktree check to pass.
Evidence: make contracts on this combination produces byte-identical
files (verified locally).
Impact: none beyond the pins.
Refs: Agent-System-Core#24, Agent-System-UI#39
Why: completion-declaration test segment per AGENTS.md (CI remains the
authoritative test source on the PR).
Evidence: row exit=0 in the card evidence table.
Impact: none.
Refs: N3 closure
Why: closure requires the results section with the acceptance evidence
map across all six work packages.
Evidence: three acceptance clauses map to named tests and GATE heads.
Impact: none.
Refs: N3 closure
Why: Backend#96 merged the usage split and default retry; the core
Usage fields, Frontend#48, and the native/squad cascades landed; Dev
pins and the increment record follow.
Evidence: check-pins pins ok; WP6 chain CI green on every merge head;
audit N20 closes (split flows into run records on every path).
Impact: usage accounting is uniform end to end; stream retry is a
library default.
Refs: Agent-Native#35-#39, Agent-Squad#41, Agent-System-Backend#96,
Agent-System-Frontend#48
Why: Backend#95 merged the memory port wiring; Native#34 and Squad#38
carried the port; Dev pins and the increment record follow.
Evidence: check-pins pins ok; WP5 chain CI green on every merge head;
the migration parity test GATE on backend 766a96e8.
Impact: the memory port exists end to end with write-back.
Refs: Agent-Native#34, Agent-Squad#38, Agent-System-Backend#95
Why: Backend#94 merged the checkpoint closure wiring; Native#33 and
Squad#37 carried the library work; Dev pins and the increment record
follow.
Evidence: check-pins pins ok; WP3 chain CI green on every merge head;
acceptance clause 2's tests GATE across layers.
Impact: rollback evidence complete (eligibility, symlink guard,
partial restore, retention, HTTP).
Refs: Agent-Native#33, Agent-Squad#37, Agent-System-Backend#94
Why: Backend#93 merged the GenAI telemetry wiring; Native#32 and
Squad#36 carried the convention work; Dev pins and the increment
record follow.
Evidence: check-pins pins ok; WP4 chain CI green on every merge head;
acceptance clause 3's tests GATE on native fe0c4a9f.
Impact: spans follow the OTel GenAI convention end to end.
Refs: Agent-Native#32, Agent-Squad#36, Agent-System-Backend#93
Why: Backend#92 merged the JournalOnly conversation wiring; Native#31
and Squad#35 carried the library mode; Dev pins and the increment
record follow, including the design adjustment (journal-only instead
of transcript-authoritative, with the freeze rationale).
Evidence: check-pins pins ok; WP2 chain CI green on every merge head;
acceptance clause 1's product tests GATE on backend 9f3fdb26.
Impact: conversation runs are durable mid-turn without freezing the
context pipeline.
Refs: Agent-Native#31, Agent-Squad#35, Agent-System-Backend#92
Why: Backend#91 merged the graceful-resume split; Native#30 and
Squad#34 carried the tail repair and N6 fix; Dev pins and the
increment record follow.
Evidence: check-pins pins ok; WP1 chain CI green on every merge head;
acceptance clause 1's library tests GATE on native cb21ec4e.
Impact: every Run now pairs orphan tails before the first request;
gracefully-interrupted subagents resume exactly once.
Refs: Agent-Native#30, Agent-Squad#34, Agent-System-Backend#91
Why: Documents #43 merged the N3 plan; the Dev documents pin follows
and the card opens with its requirement rows.
Evidence: R1-R6 map to the plan's WP1-WP6 with verified gap citations.
Impact: documentation pin + task card.
Refs: Agent-System-Documents#43
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-n3.md; R0=0e12b73e66d47c94a398648822d4928ecd43575c.
Impact: task metadata only; the feature workspace starts at 0e12b73e66.
Refs: .task/feature-agent-stack-n3.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-n2.md(PR#244) — 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-declaration test segment per AGENTS.md (CI remains the
authoritative test source on the PR).
Evidence: row exit=0 in the card evidence table.
Impact: none.
Refs: N2 closure
Why: closure requires the results section with the acceptance evidence
map and the WP6 assembly review (no new settings; behavior changes
enumerated as intentional).
Evidence: R1-R6 rows and the three acceptance clauses map to named
tests and GATE heads.
Impact: none.
Refs: N2 WP6
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=eb0d4b5a499322a23155c8d89a024247f6e7830d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Backend#90 merged the subagent transcript/resume/notice work;
Native#29 and Squad#33 carried the Background field; Dev pins and the
increment record follow.
Evidence: check-pins pins ok; WP5 chain CI green on every merge head;
the three WP5 acceptance tests are GATE on backend main 7980a8a2.
Impact: subagents are resumable with per-run transcripts and durable
notices.
Refs: Agent-Native#29, Agent-Squad#33, Agent-System-Backend#90
Why: preserve the synchronized candidate and its checked navigation before user review.
Evidence: current task-sync and document coverage/source-integrity checks succeeded; original receipts are unchanged.
Impact: task evidence only; no publication or business plan approval.
Refs: .task/feature-planning-index.md
Why: present a complete local index candidate without inferring missing plan owners.
Evidence: source facts, independent review and follow-up, all 19 source blobs, links and final make test output are preserved as SELF records.
Impact: Documents candidate and task metadata only; original plans and other tasks remain unchanged.
Refs: .task/feature-planning-index.md; Documents f8cc211
Why: Backend#89 merged the plugin/bundled skill validation; Native#28
and Squad#32 carried the validator; Dev pins, the plugins→skills edge,
and the increment record follow.
Evidence: check-pins pins ok; WP4 chain CI green on every merge head;
TestV2InvalidSkillRejected GATE on backend main b44f78b0.
Impact: skills now validated against the open Agent Skills spec.
Refs: Agent-Native#28, Agent-Squad#32, Agent-System-Backend#89
Why: preserve the required synchronization checkpoint for the local documentation candidate.
Evidence: task-sync confirms current main and the exact Documents candidate; full combination checks are recorded in the task card.
Impact: task evidence only; remote publication and plan approval remain pending.
Refs: .task/feature-planning-index.md
Why: make existing directions, milestones and tasks discoverable with their evidence boundaries.
Evidence: all 19 proposals are covered, 55 PR records were checked, and make test passed on the staged combination; original SELF receipts are preserved.
Impact: local documentation candidate only; the Documents candidate includes the N2 proposal already on Documents main, with Dev PR 244 coordination still recorded.
Refs: .task/feature-planning-index.md; Documents b87b929; PROJECT.md
Why: Native#27 merged the MCP 2026-07-28 alignment; Squad#31 and
Backend#88 carried the cascade; Dev pins and the increment record follow.
Evidence: check-pins pins ok; WP3 chain CI green on every merge head;
TestStdioSlowCancelThenEcho (acceptance 3) passes unchanged.
Impact: MCP client negotiates versions and recognizes resultType.
Refs: Agent-Native#27, Agent-Squad#31, Agent-System-Backend#88
Why: Native#26 merged the native Anthropic client (acceptance clause 1,
audit N4 closed); Squad#30 and Backend#87 carried the cascade; Dev pins
and the increment record follow.
Evidence: check-pins pins ok; WP2 chain CI green on every merge head;
TestAnthropicPresetToolRound GATE on native main d6053baf.
Impact: acceptance clause 1 is closed.
Refs: Agent-Native#26, Agent-Squad#30, Agent-System-Backend#87
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-planning-index.md; R0=eb0d4b5a499322a23155c8d89a024247f6e7830d.
Impact: task metadata only; the feature workspace starts at eb0d4b5a49.
Refs: .task/feature-planning-index.md
Why: Backend #86 merged the tool-group-aligned trimming; native #25 and
squad #29 carry the spill and cache contract work; the Dev pins and the
increment record follow.
Evidence: check-pins pins ok; WP1 chain CI green on every merge head.
Impact: acceptance clause 2's product side is closed
(TestTrimOldestKeepsToolPairs GATE).
Refs: Agent-Native#25, Agent-Squad#29, Agent-System-Backend#86
Why: close the approved task with actual integration outcomes and preserved original evidence.
Evidence: PR 245 CI run 1157 passed; merge-tree comparison and task-finish succeeded; all original receipt blocks are unchanged.
Impact: archived task metadata only; next-task advice remains unapproved.
Refs: PR #245; .task/archive/feature-goal-continuity.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-goal-continuity.md(PR#245) — 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: keep the task record and PR description tied to the same candidate.
Evidence: original PR creation receipt and sealed receipt digests remain intact.
Impact: task header and evidence only; no code changes.
Refs: PR #245; .task/feature-goal-continuity.md
Why: bind delivery to the refreshed component combination and preserve applicable review evidence.
Evidence: full make test and make build passed; the six reviewed files remain byte-identical after main synchronization.
Impact: task metadata only; CI and final integration remain separate gates.
Refs: .task/feature-goal-continuity.md; .task/reviews/goal-continuity-delivery.json
Why: the card was a skeleton; the plan is merged (Documents #42) and
the increments need their requirement rows.
Evidence: R1-R6 map to the plan's WP1-WP6 with verified gap citations.
Impact: none.
Refs: Agent-System-Documents#42
Why: Documents #42 merged the N2 plan (six work packages with the
current-state survey); the Dev pin follows.
Evidence: plan cites pinned baselines agent-native ead690b, backend
68addfd; implementation proceeds per its WP order.
Impact: documentation pin only.
Refs: Agent-System-Documents#42
Why: deliver the user-approved candidate against the latest authoritative main.
Evidence: preserved failed resume precheck, successful task-sync, and fresh READY receipt; approved policy and template files are byte-identical after synchronization.
Impact: task evidence and authorization only; no new business scope.
Refs: .task/feature-goal-continuity.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=878e0e7ceba3bb6b78c36c5113eacc846a7f017b.
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-agent-stack-n2.md; R0=878e0e7ceba3bb6b78c36c5113eacc846a7f017b.
Impact: task metadata only; the feature workspace starts at 878e0e7ceb.
Refs: .task/feature-agent-stack-n2.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-i2.md(PR#242) — 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: native ead690be (Agent-Native#24) stops workspace-less requests
from writing session state into the process CWD; squad 029edc08
(Agent-Squad#28) and backend 68addfda (Backend#85) carry it. Without
this the CI build step fails the worktree check after make test.
Evidence: check-pins pins ok; combination re-verified by make test
before push (see card).
Impact: none beyond pins; the I2 slow-lane stack is unchanged.
Refs: Agent-Native#24, Agent-Squad#28, Agent-System-Backend#85, Dev#242
Why: completion-declaration test segment per AGENTS.md (CI remains the
authoritative test source on the PR).
Evidence: row exit=0 in the card evidence table.
Impact: none.
Refs: I2 closure
Why: evidence discipline records attempts as-is; the follow-up commit
preserves the .agentx transcripts and re-runs sync.
Evidence: row exit=2 in the card evidence table.
Impact: none.
Refs: I2 closure
Why: closure requires the results section filled with the acceptance
evidence map.
Evidence: R1-R4 rows reference the merged PRs and named tests.
Impact: none.
Refs: I2 closure
Why: the card was still the skeleton; increments 1-3 are merged and
need their record before closure.
Evidence: agent-intent #9/#10, Backend #83/#84, Native #23, Squad #27.
Impact: none.
Refs: I2 increments 1-3
Why: backend #83 merged the slow-lane wiring (intentsem scorer/
generator, gate SetSemantic/SetGenerator, settings flags default off);
the Dev pins and boundary rules must move with it.
Evidence: backend CI green on 9d29371; check-pins consistent
(agent-intent 343b1e6 across Dev and the backend nested copy);
lint-boundaries registers intentsem as an agent-intent adapter and the
architecture baseline gains backend/app->backend/intentsem.
Impact: product behavior unchanged by default; the two
runtime.intent* flags opt into the slow lane.
Refs: Agent-System-Backend#83, I2 increment 3
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-i2.md; R0=11eea9530d89adaffb426196f17f57069d045974.
Impact: task metadata only; the feature workspace starts at 11eea9530d.
Refs: .task/feature-agent-stack-i2.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-q1.md(PR#240) — 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: All seven work packages are merged and all three acceptance
clauses are verified; the close scan only folds completed cards.
Evidence: ten PRs merged across the chain; make test exit=0 at
516cdf62; all module suites green.
Impact: Task card only.
Why: All seven work packages landed; the card carries the three
acceptance clauses' evidence and the follow-ups.
Evidence: CI success on the two PRs of this increment; make test
exit=0 at 516cdf62; all module suites green.
Impact: Task card only.
Why: Agent-Squad PR #26 and Backend PR #82 landed; Dev pins must
point at those merged component main heads.
Evidence: check-pins exit=0.
Impact: Two gitlinks.
Refs: Agent-Squad PR #26; Agent-System-Backend PR #82
Why: WP4/WP6/WP7 landed with the three closing-out items; the
record carries the acceptance mapping.
Evidence: Agent-Squad #25 and Backend #81 merged; make test exit=0
at cc6970c7.
Impact: Task card only.
Why: Agent-Squad PR #25 and Backend PR #81 landed; Dev pins must
point at those merged component main heads.
Evidence: check-pins exit=0.
Impact: Two gitlinks.
Refs: Agent-Squad PR #25; Agent-System-Backend PR #81
Why: WP3 landed; the acceptance test form belongs to the record.
Evidence: Agent-Squad #24 and Backend #80 merged; make test exit=0
at 9c0fc6ae.
Impact: Task card only.
Why: Agent-Squad PR #24 and Backend PR #80 landed; Dev pins must
point at those merged component main heads.
Evidence: check-pins exit=0.
Impact: Two gitlinks.
Refs: Agent-Squad PR #24; Agent-System-Backend PR #80
Why: The card carries the authorized scope and the increment record.
Evidence: Agent-Squad #23 and Backend #79 merged; make test exit=0
at 2e4dacf9.
Impact: Task card only.
Why: Agent-Squad PR #23 and Backend PR #79 landed; Dev pins must
point at those merged component main heads.
Evidence: check-pins exit=0.
Impact: Two gitlinks.
Refs: Agent-Squad PR #23; Agent-System-Backend PR #79
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-q1.md; R0=3c3533450930660ea22c66b9d9d0f3cd1836499f.
Impact: task metadata only; the feature workspace starts at 3c35334509.
Refs: .task/feature-agent-stack-q1.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-i1.md(PR#235) — 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: All six work packages are merged and all four acceptance
clauses are verified; the close scan only folds completed cards.
Evidence: sixteen PRs merged across the chain; make test exit=0 at
8865beb9; both eval suites green.
Impact: Task card only.
Why: Branch protection required main in head; the synced
combination was retested.
Evidence: make test exit=0 at the synced head.
Impact: Task card only.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=1f7217f5bb2657418845d6bec6ae28c56920ddc8.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: All six work packages landed; the card carries the acceptance
evidence and the recorded boundaries.
Evidence: CI success on the five PRs of this increment; make test
exit=0 at 037c678f; both eval suites green.
Impact: Task card only.
Why: The I1 eval increments landed across the chain (intent #8,
squad #21/#22, native #22, backend #77/#78); Dev pins must point at
those merged component main heads.
Evidence: check-pins exit=0 after full matrix propagation.
Impact: Four gitlinks.
Refs: Agent-Intent PR #8; Agent-Squad PR #21/#22; Agent-Native PR #22; Agent-System-Backend PR #77/#78
Why: WP2/WP3/WP4 landed through the chain; scope rulings and the
boundary fix belong to the record.
Evidence: CI success on the seven PRs; make test exit=0 at 612b51bd.
Impact: Task card only.
Why: lint-boundaries and lint-architecture both pass now; the
receipt belongs to the card.
Evidence: make test exit=0 at the amended head.
Impact: Task card only.
Why: The dependency ratchet blocks new edges by default; the unique
router's four edges (route->intentgate, runmgr->intentgate,
runmgr->route, server->route) are the I1 router's intended shape.
Evidence: lint-architecture.sh ok (73 edges) and negative probe ok.
Impact: Policy baseline only.
Why: Backend PR #76 fixed the boundary violation by projecting the
command types through intentgate; the Dev pin must carry it for
lint-boundaries to pass.
Evidence: backend CI success on #76; check-pins ok.
Impact: One gitlink plus the card receipt.
Why: The failed run's receipt belongs to the card; nested chains
are normalized now.
Evidence: all nested checkouts normalized; check-pins ok.
Impact: Task card only.
Why: The I1 intent/router increments landed across the chain (intent
#6/#7, squad #19/#20, native #21, backend #74/#75); Dev pins must
point at those merged component main heads.
Evidence: check-pins exit=0 after the full cascade.
Impact: Four gitlinks.
Refs: Agent-Intent PR #6/#7; Agent-Squad PR #19/#20; Agent-Native PR #21; Agent-System-Backend PR #74/#75
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-i1.md; R0=3e8d2d3ba3e45589c93857f0cc6997ee3a9676d7.
Impact: task metadata only; the feature workspace starts at 3e8d2d3ba3.
Refs: .task/feature-agent-stack-i1.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-n1.md(PR#232) — 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: All six work packages are merged and the acceptance clauses are
verified; the close scan only folds completed cards.
Evidence: twelve PRs merged across the chain; make test exit=0 at
d464d0a9; A/B and plugin-validation tests green.
Impact: Task card only.
Why: Branch protection required the main merge commit in head; the
synced combination was retested.
Evidence: make test exit=0 at d78692c9 after syncing to b6974fa.
Impact: Task card only.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b6974fa0d6fba0d28984fcfcb4418c541b83f915.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The first task-sync attempt failed on a dirty tree; its receipt
is part of the record.
Evidence: transcript fixtures restored; tree clean.
Impact: Task card only.
Why: All six work packages landed; the card carries the acceptance
evidence and the deferred follow-ups (WP6b/WP6c).
Evidence: CI success on the five PRs of this increment; make test
exit=0 at f9d51b3f; A/B tests green.
Impact: Task card only.
Why: Increment four landed across the chain (native #19/#20, backend
#72, squad #18, backend #73); Dev pins must point at those merged
component main heads.
Evidence: check-pins exit=0; native c9c2f23, squad 7ecc04e and
backend 303983bd are direct merge commits on their component mains.
Impact: Three gitlinks.
Refs: Agent-Native PR #19/#20; Agent-Squad PR #18; Agent-System-Backend PR #72/#73
Why: present the completed local change with review evidence for human approval.
Evidence: independent replay passed 104 governance tests and static checks; original SELF receipts and report are preserved.
Impact: task metadata only; no push, PR, merge or cleanup has occurred.
Refs: .task/feature-goal-continuity.md; .task/reviews/goal-continuity.json
Why: give the reviewer a fixed candidate that includes the latest main baseline.
Evidence: original task-sync output confirms the baseline and exact component checkout.
Impact: task evidence only; policy and template remain the tested version.
Refs: .task/feature-goal-continuity.md
Why: make the approved supplement reviewable with exact local evidence and an explicit next-task recommendation.
Evidence: 104 governance tests and documentation/receipt checks passed; read-only Dev and Documents PR inventory is recorded as SELF.
Impact: task metadata only; remote delivery and human acceptance remain pending.
Refs: .task/feature-goal-continuity.md
Why: validate the approved policy supplement on the current authoritative baseline.
Evidence: task-sync completed and its original SELF receipt is in the task card.
Impact: task metadata only.
Refs: .task/feature-goal-continuity.md
Why: preserve project direction across tasks and require grounded next-task recommendations.
Evidence: the generated task-card regression fails before the template update and passes afterward; original SELF receipts are in the task card.
Impact: document the planning entrypoint and extend task records without granting new-task execution rights.
Refs: .task/feature-goal-continuity.md; policy/delivery.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-goal-continuity.md; R0=b6974fa0d6fba0d28984fcfcb4418c541b83f915.
Impact: task metadata only; the feature workspace starts at b6974fa0d6.
Refs: .task/feature-goal-continuity.md
Why: Branch protection requires main in head; the synced combination
was retested and the receipt belongs to the card.
Evidence: make test exit=0 at c2e5de0d after syncing to main 42f5ac4.
Impact: Task card only.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=42f5ac4b763fcbfaf9490bb8943c970cb0f4d293.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: WP1/WP4 landed through the native/squad/backend chain; the card
records scope rulings and evidence.
Evidence: CI success on #18/#17/#71; make test exit=0 at fa0e30bd.
Impact: Task card only.
Why: Increment three landed across the chain (native #18, squad #17,
backend #71); Dev pins must point at those merged component main
heads so the tested combination is the released one.
Evidence: check-pins exit=0; native c5b9dca, squad fc9620e and
backend f0b0db9 are direct merge commits on their component mains.
Impact: Three gitlinks.
Refs: Agent-Native PR #18; Agent-Squad PR #17; Agent-System-Backend PR #71
Why: The pin cascade (#17, #69, #16, #70, #230) is part of the
delivery record; the card reflects the current merged pins.
Evidence: all five PRs merged; Dev pins at native c2befaf, squad
a75d359, backend d34c2e8; make test exit=0 at 3f824790.
Impact: Task card only.
Why: The Dev-level pin combination (native c2befaf, squad a75d359,
backend d34c2e8) passed make test; the receipt belongs to the card.
Evidence: make test exit=0 at 3f824790; check-pins exit=0.
Impact: Task card only.
Why: Squad PR #16 and Backend PR #70 completed the pin cascade;
Dev's squad and backend pins must point at those merged heads for
check-pins to verify the tested combination.
Evidence: a75d359 is the #16 merge on squad main; backend main head
is the #70 merge; backend CI passed before each merge.
Impact: Two gitlinks.
Refs: Agent-Squad PR #16; Agent-System-Backend PR #70
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=9c9483ac54ff5355c86824ac94097e65e59dcb5d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Library PR #17 and Backend PR #69 are merged; the Dev pins must
point at the merged component main heads (native c2befaf, backend
fe0c5a4) so the tested combination is the released one.
Evidence: both pins are direct merge commits on their component
mains; backend CI passed at 4075cc6 before its merge.
Impact: Two gitlinks plus the task card evidence records.
Refs: Agent-Native PR #17; Agent-System-Backend PR #69
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-phase-plan.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: The close scan only folds completed cards; the plan PRs are
approved for merge.
Evidence: Documents PR #41 and Dev PR #229 open at b8eaa16/2b1d949.
Impact: Task card only.
Why: The card and the PR description are the same document; links and
the sync record belong to the delivery record.
Evidence: Documents PR #41 and Dev PR #229 open; task-sync already up
to date at bc3f74f8.
Impact: Task card only.
Why: The evidence gate writes command output through make evidence;
commit it before the next capture so sync sees a clean tree.
Evidence: make test exit=0 at e698c646 (receipt in the card).
Impact: Task card only.
Why: Register the docs-only planning task and point the documents
gitlink at the phase-plan commit on its feature branch.
Evidence: task card carries the precheck receipt; documents commit
b8eaa16 holds the proposal.
Impact: Task card plus documents gitlink; no code changes.
Refs: docs/proposals/2026-10-07-rdm-phase-plan.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-phase-plan.md; R0=df2b72b4803a17ef1b725c3125a31529f15f3272.
Impact: task metadata only; the feature workspace starts at df2b72b480.
Refs: .task/feature-rdm-phase-plan.md
Why: Backend PR #69 and its test receipt join the delivery record.
Evidence: backend go vet + full go test ok at the backend branch head.
Impact: Task card only.
Why: preserve the independent audit of archived receipts and completed workspace disposal.
Evidence: SELF review verifies 29 receipt digests, unchanged failed-test originals and current Git cleanup state.
Impact: task records only; no code or component changes.
Refs: PR #227; .task/reviews/iterative-delivery-closure.json
Why: close the task with actual CI, merge and cleanup records and restore receipt integrity from preserved originals.
Evidence: original SELF receipt digests validate; the recorded red-green integrity check traces and repairs three metadata-substituted outputs.
Impact: archived task record only; code and component pointers are unchanged.
Refs: PR #227; .task/archive/feature-iterative-delivery.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-iterative-delivery.md(PR#227) — 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: keep the task card and PR body on the same authoritative record.
Evidence: the PR creation receipt records PR 227 and its exact source/base commits.
Impact: task metadata only; CI will verify this final PR head.
Refs: .task/feature-iterative-delivery.md; PR #227
Why: preserve the required current-base check before publishing the reviewed candidate.
Evidence: task-sync refreshed origin/main and materialized the pinned combination.
Impact: task evidence only; the resolved review fix is unchanged.
Refs: .task/feature-iterative-delivery.md
Why: archived task cards change directory and must retain an unambiguous policy reference.
Evidence: review finding 1, focused red-green proof and 104 passing governance tests are preserved in the task card.
Impact: use a repository-root text reference; record the completed review and its resolved finding.
Refs: .task/feature-iterative-delivery.md; .task/reviews/iterative-delivery.json
Why: The card tracks the WP increments; library PR #17 and its test
receipt belong in the record.
Evidence: agent-native go vet + 24-package go test ok at 9758a8d.
Impact: Task card only.
Why: present a fixed candidate with current test evidence and explicit remaining gates.
Evidence: task-sync confirmed origin/main and local full tests passed; receipts are retained in the task card.
Impact: task metadata only; implementation is unchanged from the tested candidate.
Refs: .task/feature-iterative-delivery.md
Why: preserve test and build evidence before the required clean-tree review synchronization.
Evidence: make test and make build completed on 9454819; the recorded sync refusal preserves the uncommitted-evidence check.
Impact: task evidence only.
Refs: .task/feature-iterative-delivery.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-n1.md; R0=2147d5cb6566c301eaea3c65448bdda873093aea.
Impact: task metadata only; the feature workspace starts at 2147d5cb65.
Refs: .task/feature-agent-stack-n1.md
Why: validate iterative delivery against the latest authoritative component combination.
Evidence: task-sync receipt in the task card records the actual merge and component materialization.
Impact: task evidence only; tests will run on this fixed candidate.
Refs: .task/feature-iterative-delivery.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=2147d5cb6566c301eaea3c65448bdda873093aea.
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-agent-stack-n1q1i1-plans.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: The close scan only folds completed cards; the plans PRs are open
and the results section is filled.
Evidence: Documents PR #40 and Dev PR #226 open at e935713/46904b5.
Impact: Task card only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-iterative-delivery.md; R0=f394bcd93bc813433203c5281c79de6865c40944.
Impact: task metadata only; the feature workspace starts at f394bcd93b.
Refs: .task/feature-iterative-delivery.md
Why: The card is the same document as the PR description; PR links
and the results section belong to the delivery record.
Evidence: Documents PR #40 and Dev PR #226 are open.
Impact: Task card only.
Why: Capture mode wrote the receipt only; import appends it to the
card so the completion declaration has its test section.
Evidence: receipt_sha256 recorded in the card evidence block.
Impact: Task card only.
Why: Register the docs-only planning task and point the documents
gitlink at the proposal commit on its feature branch.
Evidence: task card carries the precheck receipt; documents commit
e935713 holds the proposal.
Impact: Task card plus documents gitlink; no code changes.
Refs: docs/proposals/2026-10-07-agent-stack-n1q1i1-plans.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-stack-n1q1i1-plans.md; R0=f394bcd93bc813433203c5281c79de6865c40944.
Impact: task metadata only; the feature workspace starts at f394bcd93b.
Refs: .task/feature-agent-stack-n1q1i1-plans.md
Why: the results fill was pushed after PR #224 merged; carry it on the close branch instead.
Evidence: same text as branch commit 767744a; GATE runs cited within.
Impact: task metadata only.
Refs: .task/archive/fix-ext-5-wide-cols.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-ext-5-wide-cols.md(PR#224) — 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 e7fb276 fixes the EXT-5 review findings; pin it and keep the verification row with it.
Evidence: SELF receipt exit=0 (full make test green); backend PR #68 CI pending as GATE.
Impact: modules/backend gitlink 727f370 -> e7fb276; task card row.
Refs: .task/fix-ext-5-wide-cols.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-ext-5-wide-cols.md; R0=c06da5735904e63db4cbcdb75b3b10b48aeffc32.
Impact: task metadata only; the feature workspace starts at c06da57359.
Refs: .task/fix-ext-5-wide-cols.md
Why: the task card is the primary record; the merged card had an empty results section.
Evidence: summaries reference the SELF rows above and GATE CI runs (backend #67, Dev run 975).
Impact: task metadata only, on the close branch.
Refs: .task/archive/feature-ext-5-host-parse.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ext-5-host-parse.md(PR#222) — 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: make test does not compile examples/; the EXT-5 Host method requires the example fake to keep compiling.
Evidence: SELF receipt; example.com/agent-system-plugin-rdm ok.
Impact: task metadata only.
Refs: .task/feature-ext-5-host-parse.md
Why: documents has no CI; the diff-check is its verification gate.
Evidence: SELF receipt; diff --check clean, two documents commits and one backend commit listed.
Impact: task metadata only.
Refs: .task/feature-ext-5-host-parse.md
Why: completion claims require tool-written evidence (AGENTS.md).
Evidence: SELF receipt appended by make evidence; full suite green incl. ui 103 tests and agent-command.
Impact: task metadata only.
Refs: .task/feature-ext-5-host-parse.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ext-5-host-parse.md; R0=840f8f96d184b8ecd6c3e84951ee408aa654a25b.
Impact: task metadata only; the feature workspace starts at 840f8f96d1.
Refs: .task/feature-ext-5-host-parse.md
2026-10-06 14:42:00 +00:00
422 changed files with 86000 additions and 319 deletions
File diff suppressed because one or more lines are too long
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.