Why: An approved one-shot sample continued to a paid model call after a nonliteral quote was rejected, contrary to its stop rule.
Evidence: A zero-paid provider fixture failed before the guard and passed afterward; the original 14231-token deviation remains recorded.
Impact: Future controlled evaluations refuse subsequent provider requests after a checkpoint tool error; this does not reclassify the failed sample.
Refs: Agent-System-Backend#193; Agent-System-Dev#512
Why: A 250ms card poll missed a checkpoint saved about one millisecond before failure.
Evidence: The persistence regression failed before the fix, passed afterward, and independent read-only replay isolated the current conversation and running state.
Impact: Evaluation reads committed card events without changing model output or re-running the paid sample; U3 quality remains failed.
Refs: Agent-System-Backend#193; Agent-System-Dev#512
Why: The prior one-shot A01 result failed and its resource approval is exhausted.
Evidence: Follow-up authorization tests failed before the change and pass after; full Backend suite passes.
Impact: Only live evaluation harness gains a separate one-shot result and 30000-token run budget; production validation remains strict.
Refs: Agent-System-Backend#193; Agent-System-Dev#512
Why: The bounded A01 model call produced a five-finding malformed payload and an abbreviated quote that strict validation correctly rejected.
Evidence: Full Backend suite passed; original paid failure and rejected source citations remain unchanged.
Impact: Advertise one to three findings per publication and continuous literal quotes, bumping material recipe identity to v7; Core authority and budget remain unchanged.
Refs: U2/U3 failed A01 assessment and proposed bounded follow-up
Why: Retain the newest protected Backend main alongside the approved work branch.
Evidence: Exact upstream object fetched; affected checks follow.
Impact: Preserve both histories and review the new model-tool guidance as a separate delta.
Refs: Agent-System-Dev U2/U3 delivery
Why: Preserve the newest protected main for the combined review candidate.
Evidence: Exact incoming object fetched; affected checks will replay.
Impact: Retain both histories without relaxing source or task authority.
Refs: Dev main aa6364f
Why: The login recovery contract leftovers and KTD12/KTD14 require:
concurrent same-name account creation must not overwrite the winner,
first-admin bootstrap must serialize across processes, the redeem
endpoint backoff must be shared across instances, revoked API keys
must close established SSE streams, and CLI credentials need an
env-DSN path plus a non-interactive 0600 file delivery mode.
Evidence: go test ./... green; new tests cover 16-way concurrent
create (1 win/15 conflict, winner credentials intact), 8-way
concurrent bootstrap (single admin, refuse takeover after), redeem
guard shared across two store handles on one DB, SSE stream closed
after key revocation within the recheck window, and HTTP 429 after
the failure cap (SELF worktree run; CI is the GATE, PG via test-pg).
Impact: Migration v29 (redeem_attempts); CreateAccount becomes a
single-row INSERT with unique-violation conflict; BootstrapFirstAdmin
advisory-locks (PG) / rechecks (SQLite) and commits admin+key+audit in
one transaction; SSE revalidation covers API-key streams; redeem
backoff moves to the shared DB; CLI gains AGENT_SYSTEM_DSN fallback
and --out file delivery for create/reset-password/issue-login-key/
bootstrap-admin.
Refs: docs/svc-deploy/2026-10-13-login-recovery-contract.md leftovers;
proposal r2 KTD12/KTD14/R5/R11.
Why: Upstream now reserves model and mock settings for system authority.
Evidence: Complete merged Backend suite and live resource/cap guards pass.
Impact: Fixture-only startup configuration, same effective route and profile; no further paid calls.
Refs: Upstream scoped settings contract; U2/U3 evaluation
Why: Resolve the component conflict using the tested combined Core lineage.
Evidence: Both exact Core histories are included in beafd753; no source conflict in App or Server.
Impact: Preserve TaskSnapshot and upstream managed settings/session checks; composition replay follows.
Refs: Core beafd753; Backend main 741da4a0
Why: The failed extra A01 had no accepted findings but claimed saved discoveries and future progress.
Evidence: The zero-findings regression failed before the fix; full RunMgr tests now pass.
Impact: Use truthful conclusion, remaining and next-step text while retaining strict source validation.
Refs: Independent extra A01 assessment; approved R08
Why: The user approved one additional A01 sample after the original six-case batch failed its quality gate.
Evidence: Live fixture tests preserve the production output cap and reject paid requests when a third actual run exists.
Impact: Evaluation-only case selection and resource guard; no production behavior changes, no automatic replay.
Refs: User approval 2026-10-13; reported token target 60000
Why: Since the system-managed settings change (#188), runtime.* writes
at the user scope are rejected, so the mock startup flag failed with
"system-managed settings require admin" and the serve process never
became healthy - the Dev multi-instance integration regression.
Evidence: go build ok; internal/app and internal/settings suites green
(SELF); the Dev composite CI on the follow-up PR re-runs
make test-multi-instance against this fix (GATE).
Impact: The mock startup flag now seeds runtime.mock via MergeSystem
(trusted operator input, effective for every tenant through the
Effective merge chain); no HTTP surface changes.
Refs: Dev PR #508; backend #188.
Why: The 2026-10-13 login recovery contract (Dev docs/svc-deploy/
2026-10-13-login-recovery-contract.md, plan item 6.7) requires that
established SSE connections stop receiving private events once a
password write destroys their session.
Evidence: go test ./... green; TestSSESessionInvalidationClosesStream
streams over a real HTTP server, invalidates the session via
AdminResetUserPassword, and asserts the stream terminates with the
session-expired marker within the recheck window (SELF, worktree run).
Impact: Session-authenticated event streams revalidate at a 15s
heartbeat cadence (package var, shortened in tests) and terminate on
invalidation; API-key streams are unchanged (key revocation is separate).
EventSource reconnects are rejected by the auth middleware.
Refs: Dev PR #504; login recovery contract section 6.7.
Why: A reconciled task must not retain the old queue or running next step after becoming interrupted.
Evidence: Owned queue recovery failed before the fix; RunMgr, actual App startup and evaluation output-cap checks now pass.
Impact: Recovery uses the stopped-task next step, and the mechanism fixture quotes the actual acceptance source text.
Refs: Approved recovery contract; independent terminal-state review
Why: A budget-stopped task retained a promise to generate a final result, while readable card errors need the full diagnosis in the execution record.
Evidence: Continuation-promise and missing-error-record regressions failed on the prior implementation; the full Backend suite now passes.
Impact: Terminal next steps require user action, stopped work has clear labels, and precise subagent errors persist outside the default task summary.
Refs: Independent A04 model assessment; approved R08 and R10
Why: Authentic quotes do not establish an unstated approval, and the evaluation wrapper must honor tighter production output limits.
Evidence: Approval-overstatement and 780-token-cap regressions failed first; complete Backend suite and fixture cap checks now pass.
Impact: Render material records from trusted labels and validated quotations, reserve interpretation for explicit finding kinds, bump recipe identity and cap the fixture without overriding smaller limits.
Refs: Approved R05; independent model assessment; original failed samples preserved
Why: The first real-model sample batched discoveries, overcalled scope differences and exposed process chatter as a terminal conclusion.
Evidence: Preserve the failed A01 sample; process-text regression failed before the fix, then complete Backend and focused runtime checks passed.
Impact: Bump recipe identity, qualify quantities and approvals, exclude Process parts from canonical results and capture independent historical evaluation snapshots.
Refs: Approved U2/U3 plan; independent model review and native SELF receipts
Why: Delayed notices, plugin name collisions and startup recovery exposed stale sources or silently created new attempts; deletion lost search index cleanup.
Evidence: Meaningful red regressions and the corrected complete Backend suite passed; production startup was exercised through an isolated subprocess.
Impact: Revalidate notices at delivery, retain plugin dispatch, restore index cleanup and complete all service wiring before recovery and public intake. Scope fixture processes and wait for owned transcript writes.
Refs: Agent-System-Dev feature-fast-slow-u2-u3-plan; independent review findings 1-3 and startup supplement
Why: The login recovery contract (2026-10-13) requires admin-issued
one-time keys, in-transaction revalidation of restricted sessions, a
login race guard, and audited password writes; the previous
implementation validated sessions outside the change-password
transaction and let stale password verifications create sessions.
Evidence: go test ./... green (SQLite); store tests switch to
openTestStore so the CI test-pg job covers real PostgreSQL, including
100-way concurrent redeem single-winner and auth-version race cases
(SELF, local run).
Impact: New migration v28 (users/sessions.auth_version,
account_events). New admin endpoints POST/GET
/api/admin/users/{owner}/login-keys and DELETE
.../login-keys/{id}. Login binds session creation to the verified
auth version and creates restricted sessions for must-change accounts;
redeem gains per-IP backoff; cookies gain Secure under TLS; active
change-password and admin/CLI resets become single transactions that
bump auth_version, revoke keys and sessions, and write audit events.
Refs: modules/documents/docs/proposals/2026-10-12-svc-unified-deploy-and-login-key.md r2; Dev task feature/svc-login-recovery-flow
Why: Text with short attachments previously completed without starting the intended background material task.
Evidence: SELF real HTTP/browser reproduction shows the absent second task; runtime, manager and server regressions pass with the existing optional port connected.
Impact: Preserves dispatch timing and makes deferred intake observable; comparison records the baseline gap without rerunning a sample.
Refs: fast-slow-u2-u3 A02 and reading acceptance
Why: Opening a processed source must not show changed current bytes as the quoted version.
Evidence: SELF TaskSourceContent regression fails before and passes after expected-hash enforcement; artifact regressions and live compilation pass.
Impact: Optional content hash narrows the existing authorized artifact read; controlled fixtures select a genuinely provided quotation.
Refs: fast-slow-u2-u3 source-version acceptance
Why: Baseline and candidate must exercise their actual default prompts with identical route and resource limits.
Evidence: SELF live-tag compilation passes.
Impact: Evaluation harness only; normal automatic notice quality remains outside the controlled comparison.
Refs: fast-slow-u2-u3 Task 7
Why: The live harness must use the actual client constructor and preserve MiniMax reasoning separation.
Evidence: SELF live-tag compilation passes without provider calls.
Impact: Test harness only; no production route changes.
Refs: fast-slow-u2-u3 Task 7
Why: Real source-backed discoveries should reach the same task card before the slow channel completes.
Evidence: SELF receipts record runtime and manager checkpoint red-green tests, scoped source/version checks, privacy filtering, quota corrections, and SQLite/PG regressions; fixed composition and live comparison follow.
Impact: Adds a local material-only checkpoint sink with no summary model calls, uses version witnesses for source commits, and preserves existing reading and notification paths.
Refs: fast-slow-u2-u3 Tasks 6 and 7; test-only live HTTP harness bounds shared provider requests without approving HITL
Why: an unset object-storage endpoint passed a typed nil into the store and artifact upload panicked.
Evidence: GATE vet-and-test run 2783 job 4031 success on 46073d30a5. Independent review approved with no blockers.
Impact: unconfigured stores fall back to the local artifacts directory. Configured S3 is unchanged.
Refs: #186
Why: Background work needs consistent cards, events, and user reading state.
Evidence: SELF make evidence records SQLite rollback, projection, pin, and regression checks; PostgreSQL replay is pending the composition gate.
Impact: Adds an optional atomic task path and a consistent card replay cursor without schema changes.
Refs: Agent-System-Dev fast-slow-u2-u3 plan Task 3
Why: an unset S3 client passed through the Store interface is not a nil interface, so uploads panic instead of using the local artifact directory.
Evidence: TestIsNil and TestFinishOpenTypedNilS3UsesLocalArtifacts failed before this change and pass after it. The PostgreSQL case skips unless AGENT_PG_TEST_DSN is set.
Impact: only an unset blob store falls back; a constructed S3 or local store is unchanged.
Refs: internal/blobstore/blobstore.go internal/store/store.go
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: equal-length edits and parser changes must not reuse prior results.
Evidence: content identity and provided-source tests RED to GREEN; backend suite recorded through evidence.
Impact: trusted optional document origins, content keys and source catalog; no new routing or DB schema.
Refs: U2/U3 Task2
Why: compile the work projection against the reviewed Core vocabulary.
Evidence: exact local Core task commit materialized; no backend behavior changed in this dependency step.
Impact: Core gitlink only.
Refs: U2/U3 Task1
Why: identity open and the unknown-subcommand check landed on main, and this branch still has to refuse account migration while advertising capabilities.
Evidence: go test ./internal/store ./internal/app ./cmd/agent-system ./pkg/identity passed after the merge.
Impact: identity verify uses the no-migrate opener and returns the schema version. Account open still does not migrate. v28 is registered as readable by older artifacts.
Refs: cmd/agent-system/main.go, internal/app/app.go, internal/store/store.go, internal/store/migrate_compat.go
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: identity probes must open an existing database without creating or migrating it, and DSN must stay out of argv.
Evidence: GATE ci / vet-and-test success on 0f192a4813, run 2625 job 3782.
Impact: version --json carries schema target and compat floor; unknown top-level commands exit 2.
Refs: #184
Why: main gained AGENT_SYSTEM_DSN fallback in #182 after this branch
was cut. Both changes touch identity DSN parsing.
Evidence: go test ./pkg/identity/ ./internal/store/ ./cmd/agent-system/ for the identity, schema, and unknown-subcommand cases passed after the resolution.
Impact: keeps open-existing identity mode and the 0600 dsn file. Environment
DSN still wins when --dsn is absent, via ResolveDSN.
Refs: Backend #182; recovery plan r3.1 D1
Co-authored-by: Cursor <cursoragent@cursor.com>