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: 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>
Why: frontend and documents were updated so their heads contain origin/main before merge.
Evidence: SELF frontend vitest 293 passed on 04269ee; both pull requests merged.
Impact: modules/frontend is 04269ee and modules/documents is 5f41149.
Refs: .task/feature-rdm-duty-matrix.md
Why: the combo has to build the frontend that drops a dirty duty draft when a save result is unknown.
Evidence: SELF frontend vitest, tsc, knip, and Playwright passed on 985fc0f.
Impact: modules/frontend moves from 6093beb to 985fc0f.
Refs: .task/feature-rdm-duty-matrix.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: acceptance has to include the current main, including newer backend, core, and UI pins, while the duties page stays assignment-only.
Evidence: SELF frontend vitest 292 passed after merging the duties conflict; the earlier task-sync receipt records the submodule conflict that this commit resolves.
Impact: frontend pin is 6093beb; backend, core, and UI follow origin/main.
Refs: .task/feature-rdm-duty-matrix.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Deliver the completed conversation and work-card experience to 8788 after exact-head gates.
Evidence: Independent review and both focused addenda are complete; local test, build and environment-conflict records are retained honestly.
Impact: Pin the final frontend ownership guard and record delivery boundaries; no further product scope is added.
Refs: feature/workbench-flow-completion
Why: Complete execution history must retain outputs beyond one API event page.
Evidence: Independent replay passed both pagination-boundary and stalled-cursor tests; production frontend source is unchanged.
Impact: Pin a test-only frontend follow-up to the reviewed workbench combination.
Refs: feature/workbench-flow-completion review pagination addendum
Why: Track background execution before starting it and preserve generated content and ordinary questions across failure paths.
Evidence: Local full combination test passed before this bounded closure; new fault and race regressions pass, with independent closure and final gates pending.
Impact: Update only the reviewed Backend/UI closure and saved local verification output.
Refs: feature/workbench-flow-completion
Why: the duties draft must stay within the frontend unused-export baseline before combination tests.
Evidence: SELF knip 43 <= 43 on the frontend commit.
Impact: Dev follows the duties page without new unused exports.
Refs: modules/frontend
Why: New questions, rejected messages and delayed result projection must remain recoverable.
Evidence: Focused review regressions, frontend/UI suites and browser mixed-input checks pass locally; full combination retest and independent closure follow.
Impact: Preserve user intent, repair saved result projections and keep archived work read-only.
Refs: feature/workbench-flow-completion
Why: the duties browser scenarios changed after the first frontend pin.
Evidence: SELF playwright 3 passed; frontend commit follows 1b7ba77.
Impact: Dev follows the frontend duties page that records preview before batch save.
Refs: modules/frontend