Why: Context assembly, ingest and runtime now depend on the vision package, and the dependency ratchet rejects edges that are not recorded.
Evidence: scripts/lint-boundaries.sh reports architecture ok with 88 edges.
Impact: The three new edges are the allowed image path. No other package gains a dependency.
Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Chat, lightweight, fallback and vision settings need a seed path, and the backend now sends current-turn images only to models declared capable of seeing them.
Evidence: The backend change is cfde38d. The seed test covers fallback and vision settings. A local image conversation on each builtin profile returned the pictured content from the expected model, and removing the chat model from the capable list switched that turn to the vision model.
Impact: New runs can use the four builtin profiles and image input. Secrets stay in the ignored env file. The live 8788 process is unchanged.
Refs: .task/feature-four-model-vision.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-four-model-vision.md; R0=803a73e5d6621f7b5aac792f81f0fd449bd00be2.
Impact: task metadata only; the feature workspace starts at 803a73e5d6.
Refs: .task/feature-four-model-vision.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-8788-message-permission.md(PR#553) — 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: make PR #553 the durable task record before final CI and merge.
Evidence: the Gitea API reports PR #553 open and mergeable at head 3138221.
Impact: task metadata only; the next push creates the final PR candidate.
Refs: .task/fix-8788-message-permission.md; PR #553
Why: preserve the exact pre-PR baseline and complete local regression output.
Evidence: task-sync fixed origin/main at 3326192; make test passed all required local checks.
Impact: task evidence only; no source, component pin, or runtime configuration change.
Refs: .task/fix-8788-message-permission.md
Why: the user confirmed normal conversation behavior and authorized task closeout.
Evidence: user acceptance on 2026-10-15 supplements the preserved SELF runtime checks.
Impact: advances the task record to integration preparation; no production code change.
Refs: .task/fix-8788-message-permission.md
Why: bind the active runtime repair, rollback point, and review state to the synchronized task record.
Evidence: SELF runtime checks passed for message delivery, completed run, privacy, cleanup, credential revocation, and final database state.
Impact: task metadata only; user browser acceptance and task cleanup remain pending.
Refs: .task/fix-8788-message-permission.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=33261925a10c4eee40d1b6175b3895e78a47ef02.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: preserve the authorized runtime role repair and its exact local evidence.
Evidence: recorded the pre-fix 404, role commands, completed test run, privacy check, backup, and revoked temporary credentials.
Impact: task metadata only; the live 8788 role configuration is documented without source changes.
Refs: .task/fix-8788-message-permission.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-8788-message-permission.md; R0=99119a733830bc120cd6747b8b61736ea6da6078.
Impact: task metadata only; the feature workspace starts at 99119a7338.
Refs: .task/fix-8788-message-permission.md
Why: the close commit still said the live 8788 check had not run, which contradicts the user acceptance already recorded in the same card.
Evidence: user confirmation on 2026-10-15 of conversation order, pane deduplication, and folded process review; cutover notes already in the card. Local checks stay SELF.
Impact: task-card text only. No code, schema, or runtime change.
Refs: Dev PR #550, close PR #552
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-work-companion-visibility.md(PR#550) — 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=bc76b68cd075379122430acb24fa080b0a38ff5e.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Main advanced during UI delivery and task metadata must identify the new combined candidate.
Evidence: task-sync source-out receipt 6122ca6; Backend ead5ade includes both reviewed run history and concurrent vendor skills.
Impact: Fill the task PR link and mark the new Backend combination and final checks pending.
Refs: Agent-System-Dev #550; Agent-System-Backend #199 and #200
Why: Dev main advanced with a vendor skills task while this UI combination was being verified.
Evidence: Backend main ead5ade contains both Backend #199 and #200; the component merge affects recipes, not run-history handlers.
Impact: Preserve the new main task card and pin the Backend merge containing both changes; combination checks follow on this head.
Refs: Agent-System-Dev #550; Agent-System-Backend #199 and #200
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-vendor-popular-skills.md(PR#549) — 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 fast and slow channel UI duplicated work cards and hid intermediate output after the final reply.
Evidence: SELF isolated-network make test and make build; 15 browser scenarios; independent component review; component PRs #55, #199, #85.
Impact: Pin merged Backend, Frontend and UI revisions and update DESIGN.md for one detail location and durable folded history.
Refs: .task/feature-work-companion-visibility.md; Agent-System-UI #55; Agent-System-Backend #199; Agent-System-Frontend #85
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-vendor-popular-skills.md; R0=e1bc2602e18a89e4d75a4bf6cd80bc7f9b4d2164.
Impact: task metadata only; the feature workspace starts at e1bc2602e1.
Refs: .task/feature-vendor-popular-skills.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-work-companion-visibility.md; R0=e1bc2602e18a89e4d75a4bf6cd80bc7f9b4d2164.
Impact: task metadata only; the feature workspace starts at e1bc2602e1.
Refs: .task/feature-work-companion-visibility.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-dhf-plan-progress-note.md(PR#547) — 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=3538d40f45ad5a7c779426eb3322f79751db380c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Documents PR (feature/dhf-plan-progress-note) corrects the stale
WIP/stage-8 wording in the DHF plan progress note; the Dev combo must
pin the updated Documents commit so combined verification covers it.
Evidence: task card records make test exit 2 (transient lock-probe flake
in test_recover_skips_when_lock_held, single rerun OK) then exit 0 on
rerun; make build and task-sync receipts follow in later commits.
Impact: gitlink moves 6619835 -> 46506ae (Documents PR head); note-only
doc change, no code paths affected.
Refs: Documents PR feature/dhf-plan-progress-note; Dev task card
feature-dhf-plan-progress-note
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pptx-register-structural-gate.md(PR#543) — 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-dhf-plan-progress-note.md; R0=c8eead49c5e68b2e295927c0e82cc57bcb04bad5.
Impact: task metadata only; the feature workspace starts at c8eead49c5.
Refs: .task/feature-dhf-plan-progress-note.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=c8eead49c5e68b2e295927c0e82cc57bcb04bad5.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync