Why: include the current integration baseline before verification.
Evidence: fetched origin/main=e8d3e61a38e9690763ef46f272b2643604629cc4.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
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: Task 10 must start from the Backend line that combines current main with trusted project context, audit, work observation and human decision behavior.
Evidence: Backend d9d8f016 passes focused extension/app, full vet/test/build and static binary checks; its parent merge 92f9286 also passed isolated PostgreSQL migration-history tests.
Impact: Advances only the Backend gitlink before the shared renderer path is implemented.
Refs: Unified document renderer Task 10 preparation
Why: Resume the long-running two-tree and renderer task on the current Dev baseline without dropping project context, audit, human-decision, layered-environment, plugin or service changes.
Evidence: Backend merge 92f9286 preserves both lines and passes full vet/test/build plus isolated PostgreSQL migration tests; Documents merge c313639 is conflict-free; tests.test_svc passes 23 cases.
Impact: Resolves Backend/Documents gitlinks and the svc fixture, adopts current Core/Frontend/UI pins, and leaves Task 10 implementation separate.
Refs: task-sync for feature/rdm-two-trees-latest-templates
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: The approved RDM renderer integration now has a reproducible dependency, CLI implementation, independent review, one corrective pass and exact evidence that need a parent review pointer.
Evidence: Documents 6b3031a records RDM 019d60d4, Renderer 732e7e7, focused race/vet/full build and disposable PostgreSQL validation.
Impact: Advances only the Documents gitlink and task record. Profiles, real databases, Task 10, RDM delivery, deployment and release remain gated.
Refs: Unified document renderer Task 9
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=bc5a1194984433c4098f1961f5280b3d9ee20995.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Agents must use configured CLIs for implementation and testing, while remaining free to inspect, plan, test, and iterate within bounded scope.
Evidence: Task-card contract tests and the full 430-test governance discovery pass with 19 existing skips; diff-check passes.
Impact: Defines three safe attempts per normal CLI, one emergency Codex attempt, fail-stop terminals, and mandatory apply/admit integration.
Refs: feature/agent-cli-enforcement
Why: Implementation changes must be mechanically tied to a successful CLI transport instead of relying on agents to follow prose.
Evidence: Admission tests went RED without apply/admit; 10 admission, 41 agent-exec, and 62 task tests now pass with exact staged-content matching.
Impact: Adds validated transport fast-forwarding and rejects unproven implementation commits while exempting task cards and approved plan/spec paths.
Refs: feature/agent-cli-enforcement
Why: Parser hardening requires the emergency fixture to use the real Codex adapter contract instead of a custom adapter.
Evidence: Agent-exec and config suites pass 58 executions with one opt-in probe skipped; validate and diff-check pass.
Impact: Test fixture only; production validation remains strict.
Refs: feature/agent-cli-enforcement
Why: Normal execution roles must exclude Codex while a single enabled Codex adapter remains available for emergency routing and review.
Evidence: Parser invalid-case tests were RED before validation; all 17 config tests and agent_exec validate now pass.
Impact: Enables three attempts per normal profile, stable Cursor routing, and a validated emergency Codex profile.
Refs: feature/agent-cli-enforcement
Why: Codex CLI is permitted only after every normal execution profile exhausts three safe attempts, with no host implementation fallback.
Evidence: The emergency RED test lacked the fourth Codex attempt before implementation; 32 controller/history executions now pass.
Impact: Adds one emergency attempt for implementation, repair, and test roles while preserving fail-stop statuses and review isolation.
Refs: feature/agent-cli-enforcement
Why: Codex CLI must run only after every regular profile exhausts its three safe attempts.
Evidence: The focused test records three regular failed-clean attempts and fails because no emergency Codex attempt is launched.
Impact: Adds a RED controller contract test and test helper support only.
Refs: feature/agent-cli-enforcement
Why: Each non-Codex execution profile must receive three safe attempts before routing advances.
Evidence: The focused RED test observed one retryme launch before implementation; the controller and history suites now pass 31 executions.
Impact: Retries only unavailable and failed-clean outcomes; existing fail-stop statuses remain immediate.
Refs: feature/agent-cli-enforcement
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-duty-matrix.md(PR#566) fix-model-key-secret-overlay.md(PR#569) — 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: The routing controller must retry each safe failed profile three times before advancing.
Evidence: The focused test fails with observed order retryme,thenok instead of three retryme attempts, proving current behavior lacks retries.
Impact: Adds a RED controller contract test only; production behavior is unchanged.
Refs: feature/agent-cli-enforcement
Why: Routing needs an explicit per-profile attempt limit and a named Codex emergency profile before controller enforcement can be implemented.
Evidence: The new parser test failed on unknown keys before implementation; all 15 config test executions now pass and git diff --check is clean.
Impact: Adds backward-compatible optional configuration fields only; routing behavior is unchanged in this commit.
Refs: feature/agent-cli-enforcement
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-agent-cli-enforcement.md; R0=04acb027f6678d9a7a1fbdd3cdacb105d8fbd3ee.
Impact: task metadata only; the feature workspace starts at 04acb027f6.
Refs: .task/feature-agent-cli-enforcement.md
Why: The approved safe-base remediation was implemented by CLI, independently reviewed, corrected once, and needs a parent record tied to exact component and evidence objects.
Evidence: Documents bd1d6b8 records RDM 48120ed, Renderer 732e7e7, the 44/44 compatibility receipt, review findings, and remaining human visual gates.
Impact: Advances only the Documents gitlink and task record; it does not publish profiles, migrate data, start Task 9, push, merge, or deploy.
Refs: Unified document renderer Tasks 7-8
Why: env ensure downloads an interpreter and wheels. The real-combination start test allows 120 seconds, and that download made rc1 start time out.
Evidence: CI job 5184 timed out in test_U3_real_agent_identity_lifecycle_sqlite on scripts/svc.sh rc1 start.
Impact: Start only mounts a base layer that already exists. The first build is an explicit env ensure, run outside start.
Refs: Agent-System-Dev pull 570
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: app, server, and tools now call the layered Python environment. The dependency ratchet rejects those edges until they are recorded.
Evidence: CI job 5179 failed test-boundaries on exactly these three edges. scripts/lint-architecture.sh passes locally after the update.
Impact: The allowlist grows by three edges. No other package may import execenv until it is added the same way.
Refs: Agent-System-Dev pull 570
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The combination build has to include the exec env tables in the SQLite-to-Postgres copy list, or backend CI and the Dev suite both reject the candidate.
Evidence: Backend ab12fea follows the storage-migrate test that CI run 3343 failed.
Impact: Only the backend gitlink moves.
Refs: Agent-System-Backend pull 206
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Backend, frontend, and documents each gained one commit on main after this branch was cut. The feature commits have to contain those mains so the pull requests can merge.
Evidence: git merge origin/main in each submodule completed with the ort strategy and no conflicts.
Impact: Gitlinks move to the merge commits. The layered environment changes themselves are unchanged.
Refs: .task/feature-layered-python-env.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The dependency layer already existed in the backend, but service startup never passed it, so the sandbox could not import the packages the host already had.
Evidence: SELF go tests recorded on the backend commit. svc.sh only exports the env root after env ensure leaves a current base layer, and a failed download does not block startup.
Impact: Instances share runtime/envs. Existing exec= lines are left as stored. Proposal, backend, and frontend gitlinks move to this branch.
Refs: .task/feature-layered-python-env.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The batch review now ties PostgreSQL and product-matrix evidence to their exact tested RDM commit.
Evidence: Documents bbae238 has SHA256 73c9865001538e8b40f0c600a32ec35383e48b10ace1825e3e596c66624f9fc7 for the corrected report.
Impact: Updates only the Documents gitlink and task-record digest.
Refs: Unified document renderer Tasks 7-8
Why: The approved renderer batch needs a parent-repository review pointer that preserves the exact local Renderer and RDM objects and their remaining human gates.
Evidence: Documents 870aa17 records Renderer 732e7e7 and RDM ec24a42, the independent review, 44/44 compilation, and 41-pass/3-blocked base-package preflight.
Impact: Advances only the Documents gitlink and task record. It does not add a Renderer remote/gitlink, migrate a real database, publish profiles, start Task 9, or deploy.
Refs: Unified document renderer Tasks 7-8
Why: seeding a new model key left the old secret row in force.
Evidence: CI run 3341 jobs test, test-pg, and svc-realcombo succeeded on 34152f740f. Backend #205 is 11c337d3.
Impact: seed warns on fingerprint mismatch; backend gitlink keeps the adoption fix.
Refs: fix/model-key-secret-overlay
Why: Attach the fixed Task 4-6 review object and exact renderer candidate to the active two-trees task.
Evidence: SELF record SHA256 deb81626f239f4c05872dbcb5a164b60ee6bf9b38b22564112c10d2e6c0e4982 binds renderer 0efa07f8ce5cb4e1ff93886cf6769d111cba9872.
Impact: Updates the Documents gitlink and task record only; no runtime integration, migration, deployment, push, or publication.
Refs: unified-document-renderer Tasks 4-6
Why: The full local suite exited 2, and the card has to keep that receipt instead of implying a pass.
Evidence: make evidence for make test, exit 2, receipt 11513cd3. The two errors are agent-exec redaction of a 3-digit TOKEN, and CI on fc29206 is the gate.
Impact: Task card only.
Refs: fix/model-key-secret-overlay
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The card is the main record, and the review has to name the objects it read.
Evidence: Backend PR 205 and Dev PR 569 exist; review 68215ca8 found no blocking defect.
Impact: Task card only.
Refs: fix/model-key-secret-overlay
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The sync checkpoint landed after the first local tests, so the card needs a rerun against the merged head.
Evidence: make evidence for the settings/runtime tests and the seed fingerprint tests, both exit 0 (SELF).
Impact: Task card only.
Refs: fix/model-key-secret-overlay
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=dc86a023605d00fccca1b9679b4cdad96373bdee.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Settings plaintext loses to secret_keys, so replacing the env key did not change the key a conversation actually sent.
Evidence: python3 -m unittest tests.test_svc.SvcDbRecoveryTests.test_seed_replaces_old_system_secret tests.test_svc.SvcDbRecoveryTests.test_seed_warns_when_old_secret_stays_active tests.test_svc.SvcDbRecoveryTests.test_seed_puts_without_credentials_when_auth_off (SELF).
Impact: Embedded databases now compare the active system secret fingerprint after seeding, and the backend gitlink carries the adoption fix.
Refs: fix/model-key-secret-overlay
Co-authored-by: Cursor <cursoragent@cursor.com>