Why: include the current integration baseline before verification.
Evidence: fetched origin/main=e665bfb574fe3311bb1ffa02212c0620c4e310f7.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: archived card left CI/merge/cleanup records as NOT_RUN placeholders;
delivery gates require the real GATE/merge/cleanup facts in the card.
Evidence: PR 580 merged at 37b272ba; CI run 1702 three jobs success on
f032af4; worktree and branches recycled (see card records).
Impact: archive bookkeeping only.
Refs: PR #582
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-document-visualization-plan.md(PR#580) — merges verified via git log --merges plus Gitea API squash lookup 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=37b272ba0ecfaf97fe71db3947ddf1127594db8e.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: card master-record field requires the PR link before merge.
Evidence: PR 580 created via Gitea API, state open (SELF, tool output).
Impact: card bookkeeping only.
Refs: PR #580
Why: delivery gates require task-sync output written to the task card via
make evidence before requesting review and merge.
Evidence: make task-sync exit 0, sync_base 9edb011e63, tested_head d58d5bc1,
changed=0 (SELF, see card evidence table).
Impact: card bookkeeping only.
Refs: .task/feature-document-visualization-plan.md
Why: user approved the four design documents and authorized implementation
(/goal); the plan's section-7 tradeoffs gate the I1 public DTO and had to be
frozen before any implementation unit starts. A read-only audit of the RDM
backend (Agent-System-RDM main 5df66106) supplied the source facts.
Evidence: audit findings recorded in rollout section 7 (tree is doc->section
only, no confidence field, no persisted conflict entity, per-project event seq
complete); review fixes folded into the read-model contract (statReasons,
structuralGap, AssertionSummary); precheck receipt READY imported via
task-resume.
Impact: unlocks I1 implementation in the RDM repo; design deliverable ready
for PR/CI/merge; no business code, pins, database or deployment touched.
Refs: .task/feature-document-visualization-plan.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-e2e-seed-credential-contract.md; R0=9edb011e63ab9bf104360379e52c30075bd2f344.
Impact: task metadata only; the feature workspace starts at 9edb011e63.
Refs: .task/fix-e2e-seed-credential-contract.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-document-visualization-plan.md; R0=9edb011e63ab9bf104360379e52c30075bd2f344.
Impact: task metadata only; the feature workspace starts at 9edb011e63.
Refs: .task/feature-document-visualization-plan.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-duty-settings-gating.md(PR#578) — merges verified via git log --merges plus Gitea API squash lookup 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/fix-duty-settings-gating.md; R0=ad3eb8b809681131670051f912fdbf4d51be6716.
Impact: task metadata only; the feature workspace starts at ad3eb8b809.
Refs: .task/fix-duty-settings-gating.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-duty-acceptance-e2e.md(PR#576) — merges verified via git log --merges plus Gitea API squash lookup 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=d295342c4f5654d916c612b9cc059ccd39445d14.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the S9 acceptance corrections left no repeatable harness for the
duty-flows browser verification, and the doc-level in-flight confirmation
path had never been driven in a real browser; the legacy e2e.sh seeding
predates the login-key credential contract.
Evidence: bash scripts/e2e-duties.sh end-to-end PASS — granted non-admin
preview 200, in-flight round + reviewer change surfaces the confirmation
checkbox and a confirmed save invalidates the doc submission, idempotent
re-save applied=0 unchanged=1, unauthorized member preview 400,
void-legacy then doc submit passes (evidence row in this card).
Impact: scripts-only; no product code or pins change.
Refs: S9 acceptance report P0-B
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ecs-8788-update.md(PR#574) — merges verified via git log --merges plus Gitea API squash lookup 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-duty-acceptance-e2e.md; R0=e8d3e61a38e9690763ef46f272b2643604629cc4.
Impact: task metadata only; the feature workspace starts at e8d3e61a38.
Refs: .task/feature-duty-acceptance-e2e.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-ecs-8788-update.md; R0=e8d3e61a38e9690763ef46f272b2643604629cc4.
Impact: task metadata only; the feature workspace starts at e8d3e61a38.
Refs: .task/feature-ecs-8788-update.md
Why: The PR candidate must carry a tool-written final task-sync receipt against the authoritative target.
Evidence: make evidence recorded make task-sync at 2fcb4c72 with sync base bc5a1194 and changed=0.
Impact: Task evidence only.
Refs: .task/feature-agent-cli-enforcement.md
Why: Delivery policy requires the exact command output and tested object to be written by the evidence tool.
Evidence: make evidence recorded make test-governance at e288f001 with exit 0; 472 tests passed and 19 were skipped.
Impact: Task evidence only.
Refs: .task/feature-agent-cli-enforcement.md
Why: The task card must identify the exact candidate, implementation agents, independent tests, and review closure before PR delivery.
Evidence: PI reported 110 focused tests and 472 governance tests passing at d3c28d5; independent Codex delta review found no actionable regression.
Impact: Task metadata only; product and governance behavior are unchanged.
Refs: .task/feature-agent-cli-enforcement.md
Why: Emergency Codex fallback must not run before Cursor, Antigravity, and PI have each been exhausted.
Evidence: Cursor transport 5e6c93f765c232783a7dccb05544e26c386fb031; 29 config tests, focused emergency controller test, and 449 governance tests passed with 19 skips.
Impact: Emergency-mode implementation, repair, and test roles now require exactly one enabled profile for each normal adapter while preserving configured order.
Refs: .task/feature-agent-cli-enforcement.md
Why: Preserve the approved scope, actual CLI attempts, independent testing, and first-review remediation status.
Evidence: Task card names the exact sync/review objects and distinguishes direct CLI sessions from standard receipts.
Impact: Task metadata only; implementation behavior is unchanged.
Refs: feature/agent-cli-enforcement
Why: The approved contract requires exactly three safe attempts for Cursor, agy, and PI, then one Codex emergency attempt, never host implementation authority.
Evidence: Routing/config tests were RED for never, max attempts, forbidden adapters, and legacy host fallback; 133 related tests now pass with one opt-in probe skipped.
Impact: Normal emergency-mode roles reject all non-Cursor/agy/PI adapters, project fallback is never, and Codex remains available through emergency/review paths.
Refs: independent Codex review of feature/agent-cli-enforcement
Why: Success-shaped receipts and caller-writable history must not authorize apply/admit without controller-originated provenance.
Evidence: Fabricated, unsigned, tampered-history, and moved-ref tests were RED before HMAC binding; 52 controller/history/admission tests now pass.
Impact: Stores a local 0600 attestation key, signs successful history including transport commit SHA, and verifies it before apply/admit.
Refs: independent Codex review of feature/agent-cli-enforcement
Why: Safe routing must not retry unproven cleanup, ignore worker fail-stop terminals, or lose out-of-scope rename sources.
Evidence: New tests were RED for each Review finding; 44 controller and admission tests now pass with diff-check clean.
Impact: Tightens safety classification and path inventory only; routing order and provenance contract remain unchanged.
Refs: independent Codex review of feature/agent-cli-enforcement
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=bc5a1194984433c4098f1961f5280b3d9ee20995.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync