diff --git a/doc/plans/2026-09-22-legacy-continuation-authority.md b/doc/plans/2026-09-22-legacy-continuation-authority.md index 6b7ce56343e..75118d946c3 100644 --- a/doc/plans/2026-09-22-legacy-continuation-authority.md +++ b/doc/plans/2026-09-22-legacy-continuation-authority.md @@ -122,9 +122,9 @@ Keep this section even if this slice incidentally resolves some assertions. | Title/description words select work mode | 4 | Heuristic removed in [explicit work-mode follow-up](2026-09-22-explicit-work-mode-authority.md). Clarification: this was a liveness diagnostic exemption, not a stored mode mutation. Deterministic checks and 4/4 corrected live wording cases pass; both explicit planning controls pass | | Commentary counts as progress | 1 | Retain for progress-evidence audit; no comment-count budget resets in this slice | | Wording selects liveness versus handoff path in heartbeat | 1 | Retain separately in results; must be covered while closing the current shared authority boundary | -| Native autonomous continuation compatibility probes | 2 | Replace with reachable public-contract tests; `same_agent` injection is not a current model-facing defect | -| Productive continuation versus repair/failure budgets | Three new findings | [Accounting baseline](2026-09-22-continuation-accounting-baseline.md) exposes delayed repair spending infrastructure allowance, infrastructure retries spending productive allowance, and delayed repair cancellation during promotion. Test-only slice; production fixes remain open | -| Blank task route after reload | Repeated live observation | Investigate browser bootstrap/rendering; campaigns 35744074887 and 35747200170, plus accounting campaign 35813099816 after two correct legacy steps with a pending question. Empty screenshot retained; full quiet productive case remains unverified | +| Native autonomous continuation compatibility probes | 2 | Replaced with reachable question/response continuation tests in the [September 23 follow-up](../../tests/lifecycle-baseline/CONTINUATION-ACCOUNTING-FIXES-2026-09-23.md), including no execution before an answer and duplicate-delivery checks. `same_agent` injection was not a current model-facing defect | +| Productive continuation versus repair/failure budgets | Three new findings | Fixed with separate persisted allowances and episode-aware delayed repair promotion. All original intended-behavior failures pass; [fresh verification and retained baseline](../../tests/lifecycle-baseline/CONTINUATION-ACCOUNTING-FIXES-2026-09-23.md) distinguish deterministic and live evidence | +| Blank task route after reload | Repeated live observation | Development-worker interception of Vite module revalidation removed. The [September 23 report](../../tests/lifecycle-baseline/CONTINUATION-ACCOUNTING-FIXES-2026-09-23.md) retains the trace limitation and shows the previously failing legacy journey completing all five steps, plus both native reload journeys. The original empty screenshots and failed measurements remain preserved | | Duplicate legacy response | One later live observation | Campaign 35805477715 legacy work-mode neutral: provider issued two successful PATCH calls, second escaping an underscore. Retain as model behavior evidence; exact-once matcher rejected it | | Missing-comment policy ownership | Coverage boundary | Existing typed retry policy remains; review separately if consolidating all post-run compliance into one disposition contract | | Maintain CI and prepare App/Evals review | Pending | Promote fixed invariants into maintained cheap gates; paid suites remain explicit | @@ -134,4 +134,5 @@ Reference reports: `tests/lifecycle-baseline/BASELINE-2026-09-21.md`, Live follow-up: 40/40 Product E2E passed on App `331e89bb3`; original protocol correction: 8/8 passed. Those results do not establish prose-free authority. -Accounting test-first follow-up: [scenario matrix and executable layers](2026-09-22-continuation-accounting-baseline.md). Production fixes for newly exposed cross-lane accounting failures remain a separate slice. +Accounting test-first follow-up: [scenario matrix and executable layers](2026-09-22-continuation-accounting-baseline.md). +Production follow-up: [September 23 implementation and verification](../../tests/lifecycle-baseline/CONTINUATION-ACCOUNTING-FIXES-2026-09-23.md). diff --git a/packages/adapter-utils/src/sandbox-callback-bridge.test.ts b/packages/adapter-utils/src/sandbox-callback-bridge.test.ts index 1009b6e4253..4419bee265c 100644 --- a/packages/adapter-utils/src/sandbox-callback-bridge.test.ts +++ b/packages/adapter-utils/src/sandbox-callback-bridge.test.ts @@ -433,6 +433,8 @@ describe("sandbox callback bridge", () => { const queueDir = path.posix.join(rootDir, "queue"); const directories = sandboxCallbackBridgeDirectories(queueDir); const processed: string[] = []; + let signalStarted!: () => void; + const started = new Promise(resolve => { signalStarted = resolve; }); const worker = await startSandboxCallbackBridgeWorker({ client: createFileSystemSandboxCallbackBridgeQueueClient(), @@ -440,6 +442,7 @@ describe("sandbox callback bridge", () => { authorizeRequest: async () => null, handleRequest: async (request) => { processed.push(request.id); + signalStarted(); await new Promise((resolve) => setTimeout(resolve, 100)); return { status: 200, @@ -475,9 +478,9 @@ describe("sandbox callback bridge", () => { "utf8", ); - for (let attempt = 0; attempt < 50 && processed.length === 0; attempt += 1) { - await new Promise((resolve) => setTimeout(resolve, 5)); - } + // Begin the short drain deadline only after the first handler has started. + // A fixed 250ms polling window can expire during a loaded test run. + await started; await worker.stop({ drainTimeoutMs: 10 }); diff --git a/tests/lifecycle-baseline/CONTINUATION-ACCOUNTING-FIXES-2026-09-23.md b/tests/lifecycle-baseline/CONTINUATION-ACCOUNTING-FIXES-2026-09-23.md new file mode 100644 index 00000000000..4321f34dd7f --- /dev/null +++ b/tests/lifecycle-baseline/CONTINUATION-ACCOUNTING-FIXES-2026-09-23.md @@ -0,0 +1,137 @@ +# Continuation accounting fixes — September 23, 2026 + +Follow-up to the [September 22 baseline](CONTINUATION-ACCOUNTING-2026-09-22.md). +Original failed measurements remain unchanged. The production and test changes +are committed as `cfbf03adee36ff8c3235858d046147c2d3c078d4`. + +## Changes + +- Infrastructure retries and max-turn continuations have separate persisted + counters. Resource waits and disposition repairs carry both counts forward; + neither spend nor replenish them. Repair slots remain in their durable episode. +- Delayed legacy repairs use the episode fingerprint that created them, with a + successful source run bound to the same company, task and agent. Invalid source, + changed episode and exhausted slot are rejected. Existing late gates still apply. +- The two unsupported native `same_agent` compatibility probes now exercise the + public question/response tool contract, including misleading prose, no execution + before a response, duplicate delivery and five successive productive turns. +- The unstamped development service worker no longer intercepts Vite module + revalidation. The retained blank-page trace showed a bodyless module `304` through + the worker before React mounted. The browser regression proves repeated conditional + module reloads bypass that worker; it does not reproduce the entire original hang. + Stamped production offline caching retains its existing privacy checks. + +## Deterministic verification + +[Saved measurement](baselines/2026-09-23-continuation-accounting-fixed.json): +**1,073 / 1,073 passing**, no skipped tests or missing inventory evidence. + +| Layer | Passed / total | +|---|---:| +| Unit | 423 / 423 | +| Runner | 184 / 184 | +| Database/heartbeat integration | 381 / 381 | +| Grading | 85 / 85 | + +The original baseline was 1,053 / 1,059. All four newly failing intended-behavior +assertions pass unchanged. Two obsolete native probes were replaced as described +above. The new total additionally includes nine accounting helper assertions and +five database regressions for alternation/restart, repair debit preservation and +invalid delayed repair sources. + +Measurement provenance: the saved runner metadata records parent `c0b5ee8b3` plus +working-tree fingerprint `1ef24dd199eff085dd4f7897398e08473c9ff618c23182246648589ab5239cd0`. +Those exact source/test changes were then committed as `cfbf03ade`; the raw local +measurement is `.lifecycle-baseline/2026-09-23T14-21-33.472Z/`, including `source.diff`. +The saved JSON is copied unchanged rather than relabeled as a clean-commit run. + +Other completed checks: + +- Product E2E support: 475 / 475 after the comment-format calibration follow-up + (474 / 474 before it). An initial sandboxed run could not bind fixture + sockets; the normal-permission rerun passes. +- Cheap real-browser support: 5 / 5, including three conditional reloads using the + actual development worker. The new regression fails on the previous worker + because it intercepts all three module fetches. +- Accounting helper, worker cache/privacy and build stamping checks: 33 / 33. +- Baseline inventory/report support: 4 / 4. +- E2E and baseline typechecks, recursive repository typecheck, token gates and + repository build pass. +- The [grading-only follow-up](baselines/2026-09-23-continuation-accounting-grading-followup.json) + passes 86 / 86, adding a test that rejects the exact serialized-array mistake + observed live. Combined with the unchanged unit/runner/integration layers, + the current inventory has 1,074 passing assertions. The full 1,073-test + measurement above remains an unmodified record of its earlier execution. + +The full repository test first passed its general server phase (12,902 passed, +83 pre-existing skips), then stopped on three offline fallback tests that loaded +the development worker while expecting production behavior. Their fixture now +uses a production build stamp, preserving all assertions. The full UI rerun +passes 6,503 / 6,503; CLI passes 502 / 502. + +The remaining supported repository groups ran separately, avoiding repetition +of the passing general server phase. Two route shards initially exceeded their +15-second cold-import test deadline while the UI group was running; unchanged +reruns at lower load are retained separately. Broad package verification also +exposed a pre-existing callback-drain fixture assumption that a handler starts +within a 250ms polling window. That test now awaits an explicit start signal; +its original drain assertions and all 61 tests in the file pass. These follow-up +changes affect test setup only, not the product source measured by the live run. + +Final repository verification: **25,944 passed, 0 failed, 102 existing skips** +across all groups of `scripts/run-vitest-stable.mjs`. All 148 serialized test +files are accounted for exactly once in the final three shard results. The +[verification record](baselines/2026-09-23-continuation-accounting-repository-verification.json) +retains the original failures, successful group counts and log hashes. Recursive +typecheck and build pass; the two test-only follow-ups also pass their package +typechecks and token gates. This is a complete resumed verification, not a claim +that the first monolithic `pnpm test:run` invocation exited successfully. + +## Live verification + +[Campaign 35873996790](https://github.com/paperclipai/paperclip/actions/runs/35873996790) +ran the same eight explicit `continuation-accounting` cells against `cfbf03ade`. +The qualified Codex `gpt-5.6-sol` profiles, local isolated fixtures, real provider calls and +Chromium browser remain the same. No expected outcome or live grader was weakened. + +Result: **7 / 8**, no retries, all evidence packages valid and cleanup successful. +All three previously failing live journeys pass: both bounded exhaustion cases +and the legacy quiet productive workflow, including repeated task reloads. Its +final screenshot shows Done and five document cards at revision 1. Stop, approval, +legacy noisy productivity and native noisy productivity also pass. + +Native quiet productivity completed all five correct documents and four answered +questions with no repair/failure debt. Its sole failed assertion is `perturbation`: +the model posted `["ACCOUNTINGQUIET..."]` instead of `ACCOUNTINGQUIET...` on each +turn. This is a completed model instruction-following failure, with an ambiguous +JSON-array presentation in the fixture prompt; it is not a lifecycle accounting +failure or missing evidence. The original machine grade remains failed. + +- [Published 7/8 report](https://d1p6rlowie26tp.cloudfront.net/runner-e2e/campaigns/gha-35873996790-1/index.html) +- [Immutable first post-fix measurement](baselines/2026-09-23-continuation-accounting-fixed-initial-live.json) + +Commit `841b836be232e6624776ee4e3f7641271d954914` presents each exact comment body +as a separate fenced literal and explicitly excludes brackets/quotation marks. +The exact-match grader is unchanged, and the added calibration rejects serialized +array bodies. [Final campaign 35876252684](https://github.com/paperclipai/paperclip/actions/runs/35876252684) +reran all eight cells against that source. The previous campaign's tests, merged +report and S3 publication finished before dispatch; only its queued secondary +GitHub Pages copy could be superseded by the workflow's same-branch concurrency. + +Billing for the first post-fix run is partial: 31/32 run records have token usage, +10 have reported cost, and one is cancelled before dispatch. Reported zero cost +does not mean zero actual spending. The saved measurement retains all coverage +fields and definition fingerprints. + +Final result: **8 / 8 passed**, no retries, no incomplete cells, all eight evidence +packages valid and cleanup successful. Both native and legacy productive wording +pairs complete five exactly-once revision-one records through four real responses. +Both legacy exhaustion variants reach the expected bounded stop; the late Stop +and approval workflows retain their authoritative behavior. + +- [Final live report](https://d1p6rlowie26tp.cloudfront.net/runner-e2e/campaigns/gha-35876252684-1/index.html) +- [Immutable final measurement](baselines/2026-09-23-continuation-accounting-fixed-live.json) + +The final measurement also has partial billing: 31/32 run records report usage, +10 report cost, and one is cancelled before provider execution. No zero-spend +claim is made. Both post-fix campaigns and the September 22 failures are retained. diff --git a/tests/lifecycle-baseline/README.md b/tests/lifecycle-baseline/README.md index de821ba1003..928fc532257 100644 --- a/tests/lifecycle-baseline/README.md +++ b/tests/lifecycle-baseline/README.md @@ -152,3 +152,16 @@ September 22 follow-up: [legacy continuation implementation and verification](LE The [continuation accounting matrix](../../doc/plans/2026-09-22-continuation-accounting-baseline.md) adds ACCT-01 through ACCT-04 for separate allowances, false progress, late gates and restart/replay. Its real-provider companion is the explicit-only `continuation-accounting` Product E2E suite. The [September 22 measurement](CONTINUATION-ACCOUNTING-2026-09-22.md) records the enabled failures and preserves both initial and corrected live campaigns. +The [September 23 fixes and fresh verification](CONTINUATION-ACCOUNTING-FIXES-2026-09-23.md) +retain the original measurements and cover separate persisted allowances, delayed +repair promotion and the current native question/response continuation contract. + +The inexpensive browser regressions use real Chromium without a provider or +Paperclip instance. They check screenshot readiness and development service-worker +module revalidation across repeated reloads: + +```sh +pnpm exec playwright test --config tests/runner-e2e/playwright-support.config.ts +``` + +Set `PAPERCLIP_PLAYWRIGHT_CHANNEL=chrome` to use an installed Chrome browser. diff --git a/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed-initial-live.json b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed-initial-live.json new file mode 100644 index 00000000000..80e0baa5510 --- /dev/null +++ b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed-initial-live.json @@ -0,0 +1,2856 @@ +{ + "schema": "paperclip.continuation-accounting-verification/v1", + "measurementDateLocal": "2026-09-23", + "timezone": "America/Los_Angeles", + "source": { + "sha": "cfbf03adee36ff8c3235858d046147c2d3c078d4", + "ref": "refs/heads/codex/lifecycle-behavior-baseline-20260921", + "workflowRunUrl": "https://github.com/paperclipai/paperclip/actions/runs/35873996790", + "eventName": "workflow_dispatch" + }, + "campaignId": "gha-35873996790-1", + "artifactSha256": "2122b0e1db73cebdb4c372b68d7aaca498cde3e61179ea846e242be5052963e2", + "totals": { + "selected": 8, + "executed": 8, + "passed": 7, + "failed": 1, + "incomplete": 0, + "retries": 0, + "cleanupPassed": true + }, + "billing": { + "testCount": 8, + "agentRunDurationMs": 960739, + "leaseDurationMs": 0, + "llm": { + "runCount": 32, + "runsWithTokenUsage": 31, + "runsWithReportedCost": 10, + "inputTokens": 11138086, + "outputTokens": 93003, + "cachedInputTokens": 9965885, + "totalTokens": 21196974, + "reportedCostUsd": 0, + "costStatus": "partial" + }, + "reportedLlmCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "testsWithCompleteBilling": 2 + }, + "definitionHashes": [ + "6485ad6c67bc744e6b2a294e0eac7a6b14d2f6d6bbfac4a0012e4812f9605f9e" + ], + "cells": [ + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-productive-neutral", + "caseId": "accounting-productive-neutral", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:32:04.640Z", + "finishedAt": "2026-09-23T14:36:24.258Z", + "durationMs": 259618, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 5, + "runsWithTokenUsage": 5, + "runsWithReportedCost": 0, + "inputTokens": 2698947, + "outputTokens": 26374, + "cachedInputTokens": 2488347, + "totalTokens": 5213668, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 208322, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "289f9250-c163-4a05-a4d2-9a501a09e32a", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 817833, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 7497, + "sessionReused": true, + "rawInputTokens": 817833, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:db525a963c0479b52bce6c8fde77f0ad56ab54fbddd8ba182f6b70dde7b9fff9", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ed3b2aa2054b7cfe8792415ae58488a7b0661353180ff7671b13793acc2c2740", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 7497, + "cachedInputTokens": 765047, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-7c41-7df3-8a6f-776441277fe0", + "rawCachedInputTokens": 765047, + "sessionRotationReason": null + } + }, + { + "runId": "ec974a7c-b8b9-434f-817d-daa1794b19e5", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 662327, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 6551, + "sessionReused": true, + "rawInputTokens": 662327, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:db525a963c0479b52bce6c8fde77f0ad56ab54fbddd8ba182f6b70dde7b9fff9", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ed3b2aa2054b7cfe8792415ae58488a7b0661353180ff7671b13793acc2c2740", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 6551, + "cachedInputTokens": 615029, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-7c41-7df3-8a6f-776441277fe0", + "rawCachedInputTokens": 615029, + "sessionRotationReason": null + } + }, + { + "runId": "20a53a54-7dc7-4dcb-b378-c39a203ad07f", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 523711, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 5381, + "sessionReused": true, + "rawInputTokens": 523711, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:db525a963c0479b52bce6c8fde77f0ad56ab54fbddd8ba182f6b70dde7b9fff9", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ed3b2aa2054b7cfe8792415ae58488a7b0661353180ff7671b13793acc2c2740", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 5381, + "cachedInputTokens": 481819, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-7c41-7df3-8a6f-776441277fe0", + "rawCachedInputTokens": 481819, + "sessionRotationReason": null + } + }, + { + "runId": "77bfeee8-3465-4dd2-895d-44a863017f3a", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 401133, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 4189, + "sessionReused": true, + "rawInputTokens": 401133, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:db525a963c0479b52bce6c8fde77f0ad56ab54fbddd8ba182f6b70dde7b9fff9", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ed3b2aa2054b7cfe8792415ae58488a7b0661353180ff7671b13793acc2c2740", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 4189, + "cachedInputTokens": 364310, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-7c41-7df3-8a6f-776441277fe0", + "rawCachedInputTokens": 364310, + "sessionRotationReason": null + } + }, + { + "runId": "59dd92e5-295c-4b22-8424-87004be42dd6", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 293943, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 2756, + "sessionReused": false, + "rawInputTokens": 293943, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:db525a963c0479b52bce6c8fde77f0ad56ab54fbddd8ba182f6b70dde7b9fff9", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ed3b2aa2054b7cfe8792415ae58488a7b0661353180ff7671b13793acc2c2740", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2756, + "cachedInputTokens": 262142, + "taskSessionReused": false, + "persistedSessionId": "01a0ceae-7c41-7df3-8a6f-776441277fe0", + "rawCachedInputTokens": 262142, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 208322, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 5, + "runIds": [ + "289f9250-c163-4a05-a4d2-9a501a09e32a", + "ec974a7c-b8b9-434f-817d-daa1794b19e5", + "20a53a54-7dc7-4dcb-b378-c39a203ad07f", + "77bfeee8-3465-4dd2-895d-44a863017f3a", + "59dd92e5-295c-4b22-8424-87004be42dd6" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-productive-noisy", + "caseId": "accounting-productive-noisy", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:32:06.699Z", + "finishedAt": "2026-09-23T14:36:35.944Z", + "durationMs": 269245, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 5, + "runsWithTokenUsage": 5, + "runsWithReportedCost": 0, + "inputTokens": 2708970, + "outputTokens": 24504, + "cachedInputTokens": 2411283, + "totalTokens": 5144757, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 216529, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "906b55bd-7aef-4de3-a70d-8fa1a2eb0fb1", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 895335, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 7128, + "sessionReused": true, + "rawInputTokens": 895335, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7cb0ab169518996c3d99f06a5c93a72fb0e218a9f31c4784a4a992fa54c0007a", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:7bdc84322aa255590601ad9ca2f4433fa67bf139cde37b1a517858fbb693b495", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 7128, + "cachedInputTokens": 810516, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-8469-7271-9e40-5339f4b97073", + "rawCachedInputTokens": 810516, + "sessionRotationReason": null + } + }, + { + "runId": "0f8e0ed0-384b-439d-97ac-c5eeb043a60f", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 694051, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 6143, + "sessionReused": true, + "rawInputTokens": 694051, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7cb0ab169518996c3d99f06a5c93a72fb0e218a9f31c4784a4a992fa54c0007a", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:7bdc84322aa255590601ad9ca2f4433fa67bf139cde37b1a517858fbb693b495", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 6143, + "cachedInputTokens": 615373, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-8469-7271-9e40-5339f4b97073", + "rawCachedInputTokens": 615373, + "sessionRotationReason": null + } + }, + { + "runId": "c188f77b-856d-4b19-a91d-44059762d32f", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 517931, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 4966, + "sessionReused": true, + "rawInputTokens": 517931, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7cb0ab169518996c3d99f06a5c93a72fb0e218a9f31c4784a4a992fa54c0007a", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:7bdc84322aa255590601ad9ca2f4433fa67bf139cde37b1a517858fbb693b495", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 4966, + "cachedInputTokens": 445249, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-8469-7271-9e40-5339f4b97073", + "rawCachedInputTokens": 445249, + "sessionRotationReason": null + } + }, + { + "runId": "19c2741b-8d73-4c09-a19c-9e84604108d4", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 365562, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 3793, + "sessionReused": true, + "rawInputTokens": 365562, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7cb0ab169518996c3d99f06a5c93a72fb0e218a9f31c4784a4a992fa54c0007a", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:7bdc84322aa255590601ad9ca2f4433fa67bf139cde37b1a517858fbb693b495", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 3793, + "cachedInputTokens": 332050, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-8469-7271-9e40-5339f4b97073", + "rawCachedInputTokens": 332050, + "sessionRotationReason": null + } + }, + { + "runId": "2d77cd93-1bf5-4b2e-9f47-71d4653fbf8c", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 236091, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 2474, + "sessionReused": false, + "rawInputTokens": 236091, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7cb0ab169518996c3d99f06a5c93a72fb0e218a9f31c4784a4a992fa54c0007a", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:7bdc84322aa255590601ad9ca2f4433fa67bf139cde37b1a517858fbb693b495", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2474, + "cachedInputTokens": 208095, + "taskSessionReused": false, + "persistedSessionId": "01a0ceae-8469-7271-9e40-5339f4b97073", + "rawCachedInputTokens": 208095, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 216529, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 5, + "runIds": [ + "906b55bd-7aef-4de3-a70d-8fa1a2eb0fb1", + "0f8e0ed0-384b-439d-97ac-c5eeb043a60f", + "c188f77b-856d-4b19-a91d-44059762d32f", + "19c2741b-8d73-4c09-a19c-9e84604108d4", + "2d77cd93-1bf5-4b2e-9f47-71d4653fbf8c" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-exhaustion-neutral", + "caseId": "accounting-exhaustion-neutral", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:32:12.456Z", + "finishedAt": "2026-09-23T14:34:38.144Z", + "durationMs": 145688, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 3, + "runsWithTokenUsage": 3, + "runsWithReportedCost": 0, + "inputTokens": 631401, + "outputTokens": 3995, + "cachedInputTokens": 535490, + "totalTokens": 1170886, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 50817, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "7d298247-d84d-48e7-a2b1-9cfc83a4b333", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 313817, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1767, + "sessionReused": true, + "rawInputTokens": 313817, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:90c0f13a0b918712a6ce8a0fd53a05b8182554cc70a8256357deb7ff431228de", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:78611f835682494faf61b7805cd1bf6b7b0d092066e31e9894057fdd02634d28", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1767, + "cachedInputTokens": 276544, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-9c55-7bd3-9280-717a1a8c049e", + "rawCachedInputTokens": 276544, + "sessionRotationReason": null + } + }, + { + "runId": "01b8df65-8c8d-40b9-9486-d3cd2bfeb689", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 205174, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1370, + "sessionReused": true, + "rawInputTokens": 205174, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:90c0f13a0b918712a6ce8a0fd53a05b8182554cc70a8256357deb7ff431228de", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:78611f835682494faf61b7805cd1bf6b7b0d092066e31e9894057fdd02634d28", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1370, + "cachedInputTokens": 173222, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-9c55-7bd3-9280-717a1a8c049e", + "rawCachedInputTokens": 173222, + "sessionRotationReason": null + } + }, + { + "runId": "80537a9c-6904-4f72-a9f8-f2e98815c057", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 112410, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 858, + "sessionReused": false, + "rawInputTokens": 112410, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:90c0f13a0b918712a6ce8a0fd53a05b8182554cc70a8256357deb7ff431228de", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:78611f835682494faf61b7805cd1bf6b7b0d092066e31e9894057fdd02634d28", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 858, + "cachedInputTokens": 85724, + "taskSessionReused": false, + "persistedSessionId": "01a0ceae-9c55-7bd3-9280-717a1a8c049e", + "rawCachedInputTokens": 85724, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 50817, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 3, + "runIds": [ + "7d298247-d84d-48e7-a2b1-9cfc83a4b333", + "01b8df65-8c8d-40b9-9486-d3cd2bfeb689", + "80537a9c-6904-4f72-a9f8-f2e98815c057" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-exhaustion-noisy", + "caseId": "accounting-exhaustion-noisy", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:32:15.722Z", + "finishedAt": "2026-09-23T14:34:52.770Z", + "durationMs": 157048, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 3, + "runsWithTokenUsage": 3, + "runsWithReportedCost": 0, + "inputTokens": 616936, + "outputTokens": 5740, + "cachedInputTokens": 525798, + "totalTokens": 1148474, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 62254, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "a6eb4864-ac14-425b-9815-8c4261c2140c", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 304118, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2663, + "sessionReused": true, + "rawInputTokens": 304118, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:d0b2fb638d45a05a88a2b682f09b27d14284f88bde61cc78b2a06881c9769e7c", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:0661bc0ddcd9c27a7f91934640a06a6f8ddf25fc767168dc855c34a5b664b0db", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2663, + "cachedInputTokens": 269373, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-a7d7-78b1-972e-8e1f9e92b287", + "rawCachedInputTokens": 269373, + "sessionRotationReason": null + } + }, + { + "runId": "7bce0fb1-f021-4660-919c-01f5398bd1d0", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 201278, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1985, + "sessionReused": true, + "rawInputTokens": 201278, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:d0b2fb638d45a05a88a2b682f09b27d14284f88bde61cc78b2a06881c9769e7c", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:0661bc0ddcd9c27a7f91934640a06a6f8ddf25fc767168dc855c34a5b664b0db", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1985, + "cachedInputTokens": 170829, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-a7d7-78b1-972e-8e1f9e92b287", + "rawCachedInputTokens": 170829, + "sessionRotationReason": null + } + }, + { + "runId": "3c513aee-0de9-4dec-8048-46cb32a1c029", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 111540, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 1092, + "sessionReused": false, + "rawInputTokens": 111540, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:d0b2fb638d45a05a88a2b682f09b27d14284f88bde61cc78b2a06881c9769e7c", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:0661bc0ddcd9c27a7f91934640a06a6f8ddf25fc767168dc855c34a5b664b0db", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1092, + "cachedInputTokens": 85596, + "taskSessionReused": false, + "persistedSessionId": "01a0ceae-a7d7-78b1-972e-8e1f9e92b287", + "rawCachedInputTokens": 85596, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 62254, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 3, + "runIds": [ + "a6eb4864-ac14-425b-9815-8c4261c2140c", + "7bce0fb1-f021-4660-919c-01f5398bd1d0", + "3c513aee-0de9-4dec-8048-46cb32a1c029" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-repair-stop", + "caseId": "accounting-repair-stop", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:31:48.282Z", + "finishedAt": "2026-09-23T14:34:10.411Z", + "durationMs": 142129, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 3, + "runsWithTokenUsage": 2, + "runsWithReportedCost": 0, + "inputTokens": 388114, + "outputTokens": 3261, + "cachedInputTokens": 316079, + "totalTokens": 707454, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 42999, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "b81cc789-7bf0-4a1d-8b62-70cb427a077f", + "usage": null + }, + { + "runId": "95e32d65-680f-4b40-9173-55de05fa9fef", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 273409, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2117, + "sessionReused": true, + "rawInputTokens": 273409, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:e7163ffd9c7687eaed51c901dd821ef3273c00d8d03e10f0e7f2add9ed8d4603", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:37addbe6387bde9ef92be2f747210e54c6eb238da8a87e4d46ad8034f7442b46", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2117, + "cachedInputTokens": 229320, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-3b44-7c12-9937-7b95c7ccc735", + "rawCachedInputTokens": 229320, + "sessionRotationReason": null + } + }, + { + "runId": "8b12b077-9fc4-445a-8fc3-6bc6fdf7b2ef", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 114705, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 1144, + "sessionReused": false, + "rawInputTokens": 114705, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:e7163ffd9c7687eaed51c901dd821ef3273c00d8d03e10f0e7f2add9ed8d4603", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:37addbe6387bde9ef92be2f747210e54c6eb238da8a87e4d46ad8034f7442b46", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1144, + "cachedInputTokens": 86759, + "taskSessionReused": false, + "persistedSessionId": "01a0ceae-3b44-7c12-9937-7b95c7ccc735", + "rawCachedInputTokens": 86759, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 42999, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 3, + "runIds": [ + "b81cc789-7bf0-4a1d-8b62-70cb427a077f", + "95e32d65-680f-4b40-9173-55de05fa9fef", + "8b12b077-9fc4-445a-8fc3-6bc6fdf7b2ef" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-repair-approval", + "caseId": "accounting-repair-approval", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:32:05.982Z", + "finishedAt": "2026-09-23T14:34:56.119Z", + "durationMs": 170137, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 3, + "runsWithTokenUsage": 3, + "runsWithReportedCost": 0, + "inputTokens": 1906427, + "outputTokens": 13803, + "cachedInputTokens": 1776629, + "totalTokens": 3696859, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 139914, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "e9469a5c-08d0-4a7b-abd9-8d6f8ad3ab6f", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 1002970, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 6803, + "sessionReused": true, + "rawInputTokens": 1002970, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:ee3706ca7fb85a63c0ac11b0cadc7ecfe8b2bf82c0e6e74ea91fc5ff30d59d35", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:4ae18880406edd242120a00a953a8bde0478570e01a78e24ec6e54655cce3797", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 6803, + "cachedInputTokens": 948786, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-7e39-7fe1-9559-8e705c579eee", + "rawCachedInputTokens": 948786, + "sessionRotationReason": null + } + }, + { + "runId": "3aa1e832-09a4-48d9-b8c8-0d447cc32589", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 789849, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 5691, + "sessionReused": true, + "rawInputTokens": 789849, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:ee3706ca7fb85a63c0ac11b0cadc7ecfe8b2bf82c0e6e74ea91fc5ff30d59d35", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:4ae18880406edd242120a00a953a8bde0478570e01a78e24ec6e54655cce3797", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 5691, + "cachedInputTokens": 740815, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-7e39-7fe1-9559-8e705c579eee", + "rawCachedInputTokens": 740815, + "sessionRotationReason": null + } + }, + { + "runId": "eba6e4d0-930f-4975-aa66-4cc5bfd5267f", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 113608, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 1309, + "sessionReused": false, + "rawInputTokens": 113608, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:ee3706ca7fb85a63c0ac11b0cadc7ecfe8b2bf82c0e6e74ea91fc5ff30d59d35", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:4ae18880406edd242120a00a953a8bde0478570e01a78e24ec6e54655cce3797", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1309, + "cachedInputTokens": 87028, + "taskSessionReused": false, + "persistedSessionId": "01a0ceae-7e39-7fe1-9559-8e705c579eee", + "rawCachedInputTokens": 87028, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 139914, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 3, + "runIds": [ + "e9469a5c-08d0-4a7b-abd9-8d6f8ad3ab6f", + "3aa1e832-09a4-48d9-b8c8-0d447cc32589", + "eba6e4d0-930f-4975-aa66-4cc5bfd5267f" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.runner-codex.local.accounting-productive-neutral", + "caseId": "accounting-productive-neutral", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "failed", + "failureClass": "candidate_failure", + "error": "Accounting assertions failed: perturbation", + "attempt": 1, + "startedAt": "2026-09-23T14:32:07.152Z", + "finishedAt": "2026-09-23T14:35:04.389Z", + "durationMs": 177237, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 5, + "runsWithTokenUsage": 5, + "runsWithReportedCost": 5, + "inputTokens": 678743, + "outputTokens": 6284, + "cachedInputTokens": 556605, + "totalTokens": 1241632, + "reportedCostUsd": 0, + "costStatus": "reported" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 124351, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": true + }, + "usage": { + "runs": [ + { + "runId": "4bbfdd6e-3805-4571-a1db-85ad549af0bf", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 331396, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2700, + "sessionReused": true, + "rawInputTokens": 331396, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:4b2eebeef2bf308cde7a451161e2a6016f33193b53d86d386aa14c313fdb758b", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:6421902a543595857d3671a31bfa1e3b3e530d0d0de287616a1dd8437d97b4df", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2700, + "cachedInputTokens": 298093, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-8823-7650-9c2d-0b4bfad3a6a5", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 298093, + "sessionRotationReason": null + } + }, + { + "runId": "6feb1adb-2770-43f9-b314-a886295ad005", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 162121, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1687, + "sessionReused": true, + "rawInputTokens": 162121, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:4b2eebeef2bf308cde7a451161e2a6016f33193b53d86d386aa14c313fdb758b", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:6421902a543595857d3671a31bfa1e3b3e530d0d0de287616a1dd8437d97b4df", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1687, + "cachedInputTokens": 136462, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-8823-7650-9c2d-0b4bfad3a6a5", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 136462, + "sessionRotationReason": null + } + }, + { + "runId": "6a82e73e-9415-4fc2-a44e-7eacec8d9e49", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 107196, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1190, + "sessionReused": true, + "rawInputTokens": 107196, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:4b2eebeef2bf308cde7a451161e2a6016f33193b53d86d386aa14c313fdb758b", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:6421902a543595857d3671a31bfa1e3b3e530d0d0de287616a1dd8437d97b4df", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1190, + "cachedInputTokens": 83860, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-8823-7650-9c2d-0b4bfad3a6a5", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 83860, + "sessionRotationReason": null + } + }, + { + "runId": "9c1c37ad-9291-4742-9b15-160eb4e0c512", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 59543, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 628, + "sessionReused": true, + "rawInputTokens": 59543, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:4b2eebeef2bf308cde7a451161e2a6016f33193b53d86d386aa14c313fdb758b", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:6421902a543595857d3671a31bfa1e3b3e530d0d0de287616a1dd8437d97b4df", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 628, + "cachedInputTokens": 38190, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-8823-7650-9c2d-0b4bfad3a6a5", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 38190, + "sessionRotationReason": null + } + }, + { + "runId": "22340ba2-336e-4f0a-81f5-5d42efafc803", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 18487, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 79, + "sessionReused": false, + "rawInputTokens": 18487, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:4b2eebeef2bf308cde7a451161e2a6016f33193b53d86d386aa14c313fdb758b", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:6421902a543595857d3671a31bfa1e3b3e530d0d0de287616a1dd8437d97b4df", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 79, + "cachedInputTokens": 0, + "taskSessionReused": false, + "persistedSessionId": "01a0ceae-8823-7650-9c2d-0b4bfad3a6a5", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 0, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 124351, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 5, + "runIds": [ + "4bbfdd6e-3805-4571-a1db-85ad549af0bf", + "6feb1adb-2770-43f9-b314-a886295ad005", + "6a82e73e-9415-4fc2-a44e-7eacec8d9e49", + "9c1c37ad-9291-4742-9b15-160eb4e0c512", + "22340ba2-336e-4f0a-81f5-5d42efafc803" + ], + "failedMatchers": [ + { + "matcher": { + "kind": "json_path", + "path": "accounting.perturbation", + "expected": true + }, + "passed": false, + "detail": "Each successful provider run actually posted all distinct prescribed attributed comments." + } + ] + }, + { + "executionId": "continuation-accounting.runner-codex.local.accounting-productive-noisy", + "caseId": "accounting-productive-noisy", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:32:17.631Z", + "finishedAt": "2026-09-23T14:35:07.168Z", + "durationMs": 169537, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 5, + "runsWithTokenUsage": 5, + "runsWithReportedCost": 5, + "inputTokens": 1508548, + "outputTokens": 9042, + "cachedInputTokens": 1355654, + "totalTokens": 2873244, + "reportedCostUsd": 0, + "costStatus": "reported" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 115553, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": true + }, + "usage": { + "runs": [ + { + "runId": "47ead03a-624e-4803-bb2f-d9fe86edd044", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 634521, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 3296, + "sessionReused": true, + "rawInputTokens": 634521, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:2fdbfa117ae08dc4e48ae9ffac4d0f09f89483fa61aea38f1f3ca1a3e2a74010", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:fc739f496359791c2dda55ae6bbc180af2f081abb8972aeb132d12a3be533d01", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 3296, + "cachedInputTokens": 592358, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-b363-7541-a5f2-f6114e983723", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 592358, + "sessionRotationReason": null + } + }, + { + "runId": "13a07be4-fce6-4582-ba14-691ff689ea73", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 396501, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2263, + "sessionReused": true, + "rawInputTokens": 396501, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:2fdbfa117ae08dc4e48ae9ffac4d0f09f89483fa61aea38f1f3ca1a3e2a74010", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:fc739f496359791c2dda55ae6bbc180af2f081abb8972aeb132d12a3be533d01", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2263, + "cachedInputTokens": 361292, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-b363-7541-a5f2-f6114e983723", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 361292, + "sessionRotationReason": null + } + }, + { + "runId": "b54d02d6-414c-415d-8f61-32739ba25b56", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 264666, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1751, + "sessionReused": true, + "rawInputTokens": 264666, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:2fdbfa117ae08dc4e48ae9ffac4d0f09f89483fa61aea38f1f3ca1a3e2a74010", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:fc739f496359791c2dda55ae6bbc180af2f081abb8972aeb132d12a3be533d01", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1751, + "cachedInputTokens": 234813, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-b363-7541-a5f2-f6114e983723", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 234813, + "sessionRotationReason": null + } + }, + { + "runId": "60419b55-81a0-468b-99a4-1ae8a844ce9b", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 153040, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1213, + "sessionReused": true, + "rawInputTokens": 153040, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:2fdbfa117ae08dc4e48ae9ffac4d0f09f89483fa61aea38f1f3ca1a3e2a74010", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:fc739f496359791c2dda55ae6bbc180af2f081abb8972aeb132d12a3be533d01", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1213, + "cachedInputTokens": 128073, + "taskSessionReused": true, + "persistedSessionId": "01a0ceae-b363-7541-a5f2-f6114e983723", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 128073, + "sessionRotationReason": null + } + }, + { + "runId": "cd42980c-fea6-4e6a-9d57-04d4e1b03926", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 59820, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 519, + "sessionReused": false, + "rawInputTokens": 59820, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:2fdbfa117ae08dc4e48ae9ffac4d0f09f89483fa61aea38f1f3ca1a3e2a74010", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:fc739f496359791c2dda55ae6bbc180af2f081abb8972aeb132d12a3be533d01", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 519, + "cachedInputTokens": 39118, + "taskSessionReused": false, + "persistedSessionId": "01a0ceae-b363-7541-a5f2-f6114e983723", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 39118, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 115553, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 5, + "runIds": [ + "47ead03a-624e-4803-bb2f-d9fe86edd044", + "13a07be4-fce6-4582-ba14-691ff689ea73", + "b54d02d6-414c-415d-8f61-32739ba25b56", + "60419b55-81a0-468b-99a4-1ae8a844ce9b", + "cd42980c-fea6-4e6a-9d57-04d4e1b03926" + ], + "failedMatchers": [] + } + ] +} diff --git a/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed-live.json b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed-live.json new file mode 100644 index 00000000000..dcba48468a2 --- /dev/null +++ b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed-live.json @@ -0,0 +1,2846 @@ +{ + "schema": "paperclip.continuation-accounting-verification/v1", + "measurementDateLocal": "2026-09-23", + "timezone": "America/Los_Angeles", + "source": { + "sha": "841b836be232e6624776ee4e3f7641271d954914", + "ref": "refs/heads/codex/lifecycle-behavior-baseline-20260921", + "workflowRunUrl": "https://github.com/paperclipai/paperclip/actions/runs/35876252684", + "eventName": "workflow_dispatch" + }, + "campaignId": "gha-35876252684-1", + "artifactSha256": "3a1a80557740371e4900da327e97b46a4e794db980b7d30c411902b28095df9c", + "totals": { + "selected": 8, + "executed": 8, + "passed": 8, + "failed": 0, + "incomplete": 0, + "retries": 0, + "cleanupPassed": true + }, + "billing": { + "testCount": 8, + "agentRunDurationMs": 867112, + "leaseDurationMs": 0, + "llm": { + "runCount": 32, + "runsWithTokenUsage": 31, + "runsWithReportedCost": 10, + "inputTokens": 17145022, + "outputTokens": 111778, + "cachedInputTokens": 15845922, + "totalTokens": 33102722, + "reportedCostUsd": 0, + "costStatus": "partial" + }, + "reportedLlmCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "testsWithCompleteBilling": 2 + }, + "definitionHashes": [ + "6485ad6c67bc744e6b2a294e0eac7a6b14d2f6d6bbfac4a0012e4812f9605f9e" + ], + "cells": [ + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-productive-neutral", + "caseId": "accounting-productive-neutral", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:50:59.872Z", + "finishedAt": "2026-09-23T14:55:11.671Z", + "durationMs": 251799, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 5, + "runsWithTokenUsage": 5, + "runsWithReportedCost": 0, + "inputTokens": 6668962, + "outputTokens": 36054, + "cachedInputTokens": 6303183, + "totalTokens": 13008199, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 204234, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "09cd875d-2d87-45f3-8b45-452d28f648d9", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 2264193, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 11403, + "sessionReused": true, + "rawInputTokens": 2264193, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:48cbafafcd91947e282f4e05d1fecad28d1ff2fa13b7f86a2dff628a73f21d3d", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:50dc383671f9a7c929f96a536ffe7bd04996069080a0843ca2376f29bb9ca1d1", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 11403, + "cachedInputTokens": 2170320, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-caa6-75b1-ad6b-6f346bdfa559", + "rawCachedInputTokens": 2170320, + "sessionRotationReason": null + } + }, + { + "runId": "7ea59ac5-4ae1-42ab-895f-6436defbf118", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 1801294, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 9663, + "sessionReused": true, + "rawInputTokens": 1801294, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:48cbafafcd91947e282f4e05d1fecad28d1ff2fa13b7f86a2dff628a73f21d3d", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:50dc383671f9a7c929f96a536ffe7bd04996069080a0843ca2376f29bb9ca1d1", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 9663, + "cachedInputTokens": 1713722, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-caa6-75b1-ad6b-6f346bdfa559", + "rawCachedInputTokens": 1713722, + "sessionRotationReason": null + } + }, + { + "runId": "f244718e-fbac-4812-aabb-8c096850fbb5", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 1370614, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 7385, + "sessionReused": true, + "rawInputTokens": 1370614, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:48cbafafcd91947e282f4e05d1fecad28d1ff2fa13b7f86a2dff628a73f21d3d", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:50dc383671f9a7c929f96a536ffe7bd04996069080a0843ca2376f29bb9ca1d1", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 7385, + "cachedInputTokens": 1289570, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-caa6-75b1-ad6b-6f346bdfa559", + "rawCachedInputTokens": 1289570, + "sessionRotationReason": null + } + }, + { + "runId": "70cf391a-a67e-4e38-a28c-64dc7b1b68d4", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 904593, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 5040, + "sessionReused": true, + "rawInputTokens": 904593, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:48cbafafcd91947e282f4e05d1fecad28d1ff2fa13b7f86a2dff628a73f21d3d", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:50dc383671f9a7c929f96a536ffe7bd04996069080a0843ca2376f29bb9ca1d1", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 5040, + "cachedInputTokens": 839252, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-caa6-75b1-ad6b-6f346bdfa559", + "rawCachedInputTokens": 839252, + "sessionRotationReason": null + } + }, + { + "runId": "7105de82-4762-4931-ad43-3917b60db734", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 328268, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 2563, + "sessionReused": false, + "rawInputTokens": 328268, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:48cbafafcd91947e282f4e05d1fecad28d1ff2fa13b7f86a2dff628a73f21d3d", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:50dc383671f9a7c929f96a536ffe7bd04996069080a0843ca2376f29bb9ca1d1", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2563, + "cachedInputTokens": 290319, + "taskSessionReused": false, + "persistedSessionId": "01a0cebf-caa6-75b1-ad6b-6f346bdfa559", + "rawCachedInputTokens": 290319, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 204234, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 5, + "runIds": [ + "09cd875d-2d87-45f3-8b45-452d28f648d9", + "7ea59ac5-4ae1-42ab-895f-6436defbf118", + "f244718e-fbac-4812-aabb-8c096850fbb5", + "70cf391a-a67e-4e38-a28c-64dc7b1b68d4", + "7105de82-4762-4931-ad43-3917b60db734" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-productive-noisy", + "caseId": "accounting-productive-noisy", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:51:05.704Z", + "finishedAt": "2026-09-23T14:54:41.186Z", + "durationMs": 215482, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 5, + "runsWithTokenUsage": 5, + "runsWithReportedCost": 0, + "inputTokens": 5181029, + "outputTokens": 33205, + "cachedInputTokens": 4884673, + "totalTokens": 10098907, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 166170, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "c6f65245-9fbb-49d5-8392-1999f9b5fc2a", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 1668813, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 9601, + "sessionReused": true, + "rawInputTokens": 1668813, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:11572f85dc354fc7ec6fdf29bee115fdae89bdde5fa2a5e84c1c1e70d67a0d17", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:61a590a70628ff6a3c54338c94eb45b75f19c068e63fa95f9a8734e45d714cf7", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 9601, + "cachedInputTokens": 1587649, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-e2b2-7bf1-90af-b5cc5399d33f", + "rawCachedInputTokens": 1587649, + "sessionRotationReason": null + } + }, + { + "runId": "99674a51-8624-4edc-b36e-ae28e7e4c976", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 1354031, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 8297, + "sessionReused": true, + "rawInputTokens": 1354031, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:11572f85dc354fc7ec6fdf29bee115fdae89bdde5fa2a5e84c1c1e70d67a0d17", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:61a590a70628ff6a3c54338c94eb45b75f19c068e63fa95f9a8734e45d714cf7", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 8297, + "cachedInputTokens": 1284425, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-e2b2-7bf1-90af-b5cc5399d33f", + "rawCachedInputTokens": 1284425, + "sessionRotationReason": null + } + }, + { + "runId": "e7d7a435-1352-43f4-98af-32262b9c15c3", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 1016252, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 6762, + "sessionReused": true, + "rawInputTokens": 1016252, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:11572f85dc354fc7ec6fdf29bee115fdae89bdde5fa2a5e84c1c1e70d67a0d17", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:61a590a70628ff6a3c54338c94eb45b75f19c068e63fa95f9a8734e45d714cf7", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 6762, + "cachedInputTokens": 957280, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-e2b2-7bf1-90af-b5cc5399d33f", + "rawCachedInputTokens": 957280, + "sessionRotationReason": null + } + }, + { + "runId": "2fa54436-7794-4b2d-8538-c8367bcf1bd2", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 730667, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 5162, + "sessionReused": true, + "rawInputTokens": 730667, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:11572f85dc354fc7ec6fdf29bee115fdae89bdde5fa2a5e84c1c1e70d67a0d17", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:61a590a70628ff6a3c54338c94eb45b75f19c068e63fa95f9a8734e45d714cf7", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 5162, + "cachedInputTokens": 681129, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-e2b2-7bf1-90af-b5cc5399d33f", + "rawCachedInputTokens": 681129, + "sessionRotationReason": null + } + }, + { + "runId": "c5cde5a1-d7c4-43bc-9dc1-f9eb5ab151a3", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 411266, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 3383, + "sessionReused": false, + "rawInputTokens": 411266, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:11572f85dc354fc7ec6fdf29bee115fdae89bdde5fa2a5e84c1c1e70d67a0d17", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:61a590a70628ff6a3c54338c94eb45b75f19c068e63fa95f9a8734e45d714cf7", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 3383, + "cachedInputTokens": 374190, + "taskSessionReused": false, + "persistedSessionId": "01a0cebf-e2b2-7bf1-90af-b5cc5399d33f", + "rawCachedInputTokens": 374190, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 166170, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 5, + "runIds": [ + "c6f65245-9fbb-49d5-8392-1999f9b5fc2a", + "99674a51-8624-4edc-b36e-ae28e7e4c976", + "e7d7a435-1352-43f4-98af-32262b9c15c3", + "2fa54436-7794-4b2d-8538-c8367bcf1bd2", + "c5cde5a1-d7c4-43bc-9dc1-f9eb5ab151a3" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-exhaustion-neutral", + "caseId": "accounting-exhaustion-neutral", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:51:00.132Z", + "finishedAt": "2026-09-23T14:53:42.722Z", + "durationMs": 162590, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 3, + "runsWithTokenUsage": 3, + "runsWithReportedCost": 0, + "inputTokens": 608238, + "outputTokens": 5202, + "cachedInputTokens": 519391, + "totalTokens": 1132831, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 71143, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "a7ec1d3f-2e4e-432a-90d2-aa5127358da1", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 297863, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2409, + "sessionReused": true, + "rawInputTokens": 297863, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:5852ab3e065bf5d4006e0c2c68f22d4696964ff6a9517618cfee2a808c63f6b1", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:e178e76c2b9a38001ed302c7d67e46185c309aac6fe92fea142773cbf01fc168", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2409, + "cachedInputTokens": 264505, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-cb15-7fd3-be1a-69ec27d5a5a6", + "rawCachedInputTokens": 264505, + "sessionRotationReason": null + } + }, + { + "runId": "1edd95c3-4728-428e-9132-b193460c7933", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 199012, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1785, + "sessionReused": true, + "rawInputTokens": 199012, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:5852ab3e065bf5d4006e0c2c68f22d4696964ff6a9517618cfee2a808c63f6b1", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:e178e76c2b9a38001ed302c7d67e46185c309aac6fe92fea142773cbf01fc168", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1785, + "cachedInputTokens": 169342, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-cb15-7fd3-be1a-69ec27d5a5a6", + "rawCachedInputTokens": 169342, + "sessionRotationReason": null + } + }, + { + "runId": "0257a596-67a6-4959-bd33-20ae237b84dd", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 111363, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 1008, + "sessionReused": false, + "rawInputTokens": 111363, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:5852ab3e065bf5d4006e0c2c68f22d4696964ff6a9517618cfee2a808c63f6b1", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:e178e76c2b9a38001ed302c7d67e46185c309aac6fe92fea142773cbf01fc168", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1008, + "cachedInputTokens": 85544, + "taskSessionReused": false, + "persistedSessionId": "01a0cebf-cb15-7fd3-be1a-69ec27d5a5a6", + "rawCachedInputTokens": 85544, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 71143, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 3, + "runIds": [ + "a7ec1d3f-2e4e-432a-90d2-aa5127358da1", + "1edd95c3-4728-428e-9132-b193460c7933", + "0257a596-67a6-4959-bd33-20ae237b84dd" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-exhaustion-noisy", + "caseId": "accounting-exhaustion-noisy", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:51:14.204Z", + "finishedAt": "2026-09-23T14:53:42.026Z", + "durationMs": 147822, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 3, + "runsWithTokenUsage": 3, + "runsWithReportedCost": 0, + "inputTokens": 429183, + "outputTokens": 5278, + "cachedInputTokens": 336058, + "totalTokens": 770519, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 50822, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "f7beddcc-6181-4a23-889a-f564284285ed", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 223706, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2500, + "sessionReused": true, + "rawInputTokens": 223706, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:dfca16d5954c5729fa7a5584eb3bdddf20f122fb929b319e93a23e96b601cadb", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:0b6ba4b71e7e854e538ff41d861b385fb1c4d7dea7bea3b8d2e73e4026300c44", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2500, + "cachedInputTokens": 185789, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-03eb-7e12-ae14-d97589f14ff5", + "rawCachedInputTokens": 185789, + "sessionRotationReason": null + } + }, + { + "runId": "ac6ab86c-0786-4864-a55e-a42ab3672d18", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 148610, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1888, + "sessionReused": true, + "rawInputTokens": 148610, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:dfca16d5954c5729fa7a5584eb3bdddf20f122fb929b319e93a23e96b601cadb", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:0b6ba4b71e7e854e538ff41d861b385fb1c4d7dea7bea3b8d2e73e4026300c44", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1888, + "cachedInputTokens": 114880, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-03eb-7e12-ae14-d97589f14ff5", + "rawCachedInputTokens": 114880, + "sessionRotationReason": null + } + }, + { + "runId": "373e0218-a87e-48fc-858e-37bb5723df12", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 56867, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 890, + "sessionReused": false, + "rawInputTokens": 56867, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:dfca16d5954c5729fa7a5584eb3bdddf20f122fb929b319e93a23e96b601cadb", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:0b6ba4b71e7e854e538ff41d861b385fb1c4d7dea7bea3b8d2e73e4026300c44", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 890, + "cachedInputTokens": 35389, + "taskSessionReused": false, + "persistedSessionId": "01a0cec0-03eb-7e12-ae14-d97589f14ff5", + "rawCachedInputTokens": 35389, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 50822, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 3, + "runIds": [ + "f7beddcc-6181-4a23-889a-f564284285ed", + "ac6ab86c-0786-4864-a55e-a42ab3672d18", + "373e0218-a87e-48fc-858e-37bb5723df12" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-repair-stop", + "caseId": "accounting-repair-stop", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:50:58.885Z", + "finishedAt": "2026-09-23T14:53:17.865Z", + "durationMs": 138980, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 3, + "runsWithTokenUsage": 2, + "runsWithReportedCost": 0, + "inputTokens": 317966, + "outputTokens": 3823, + "cachedInputTokens": 260011, + "totalTokens": 581800, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 41881, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "faafb584-f253-4980-8182-8dba99059fc9", + "usage": null + }, + { + "runId": "e943beb2-af0b-4fea-852b-76b96910eae1", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 205180, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2318, + "sessionReused": true, + "rawInputTokens": 205180, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:dbed89b45c953450d0cad04aa6d161a91150129cfa5629a3136f239e04de0e8c", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:8d589b12cd4968eb1825a809b35228762430501bf6ffab22d7894d53e7de90e7", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2318, + "cachedInputTokens": 173747, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-c415-7f50-81da-91633037a694", + "rawCachedInputTokens": 173747, + "sessionRotationReason": null + } + }, + { + "runId": "c3b10a4a-9104-4db0-8355-3b3d96d860d3", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 112786, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 1505, + "sessionReused": false, + "rawInputTokens": 112786, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:dbed89b45c953450d0cad04aa6d161a91150129cfa5629a3136f239e04de0e8c", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:8d589b12cd4968eb1825a809b35228762430501bf6ffab22d7894d53e7de90e7", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1505, + "cachedInputTokens": 86264, + "taskSessionReused": false, + "persistedSessionId": "01a0cebf-c415-7f50-81da-91633037a694", + "rawCachedInputTokens": 86264, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 41881, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 3, + "runIds": [ + "faafb584-f253-4980-8182-8dba99059fc9", + "e943beb2-af0b-4fea-852b-76b96910eae1", + "c3b10a4a-9104-4db0-8355-3b3d96d860d3" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.legacy-codex.local.accounting-repair-approval", + "caseId": "accounting-repair-approval", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:51:08.163Z", + "finishedAt": "2026-09-23T14:53:52.129Z", + "durationMs": 163966, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 3, + "runsWithTokenUsage": 3, + "runsWithReportedCost": 0, + "inputTokens": 1313161, + "outputTokens": 11127, + "cachedInputTokens": 1212753, + "totalTokens": 2537041, + "reportedCostUsd": 0, + "costStatus": "unpriced" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 129890, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": false + }, + "usage": { + "runs": [ + { + "runId": "0e9098e5-ed17-4943-8a89-e2196a4f20b8", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 696729, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 5600, + "sessionReused": true, + "rawInputTokens": 696729, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:ea7d2549478fd0f7ec7a9b1e3c4e456ec53028a4c3063e7df313beee74ca71e5", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:4ef3aa820504a77005d1d8192edc90aee8416f0bda9f6831c65289fced96fe79", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 5600, + "cachedInputTokens": 657052, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-f221-7873-9468-fda38a5b5bfe", + "rawCachedInputTokens": 657052, + "sessionRotationReason": null + } + }, + { + "runId": "67e624a7-e59c-48d7-a6f6-259765e7d471", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 502637, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 4399, + "sessionReused": true, + "rawInputTokens": 502637, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:ea7d2549478fd0f7ec7a9b1e3c4e456ec53028a4c3063e7df313beee74ca71e5", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:4ef3aa820504a77005d1d8192edc90aee8416f0bda9f6831c65289fced96fe79", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 4399, + "cachedInputTokens": 468365, + "taskSessionReused": true, + "persistedSessionId": "01a0cebf-f221-7873-9468-fda38a5b5bfe", + "rawCachedInputTokens": 468365, + "sessionRotationReason": null + } + }, + { + "runId": "075aeca3-ab78-4128-9761-85dfaf39c7ef", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "provider": "openai", + "costStatus": "unpriced", + "billingType": "metered_api", + "inputTokens": 113795, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 1128, + "sessionReused": false, + "rawInputTokens": 113795, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:ea7d2549478fd0f7ec7a9b1e3c4e456ec53028a4c3063e7df313beee74ca71e5", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:4ef3aa820504a77005d1d8192edc90aee8416f0bda9f6831c65289fced96fe79", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1128, + "cachedInputTokens": 87336, + "taskSessionReused": false, + "persistedSessionId": "01a0cebf-f221-7873-9468-fda38a5b5bfe", + "rawCachedInputTokens": 87336, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 129890, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 3, + "runIds": [ + "0e9098e5-ed17-4943-8a89-e2196a4f20b8", + "67e624a7-e59c-48d7-a6f6-259765e7d471", + "075aeca3-ab78-4128-9761-85dfaf39c7ef" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.runner-codex.local.accounting-productive-neutral", + "caseId": "accounting-productive-neutral", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:51:21.675Z", + "finishedAt": "2026-09-23T14:53:37.807Z", + "durationMs": 136132, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 5, + "runsWithTokenUsage": 5, + "runsWithReportedCost": 5, + "inputTokens": 1032000, + "outputTokens": 6949, + "cachedInputTokens": 894006, + "totalTokens": 1932955, + "reportedCostUsd": 0, + "costStatus": "reported" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 91058, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": true + }, + "usage": { + "runs": [ + { + "runId": "3aaa629c-857e-407d-9faf-2ee65a3cd70d", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 438196, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2556, + "sessionReused": true, + "rawInputTokens": 438196, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7a50a53bb8976781571d76557ee50b434ca3f1410175c4b70a3aff1b24347fdb", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ff73df6627f5986bd82f8b3195534d589f922075ae3abf365f2ce1a25220f393", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2556, + "cachedInputTokens": 402322, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-1fea-7e52-aba8-6d952b9ae0dc", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 402322, + "sessionRotationReason": null + } + }, + { + "runId": "7f83f4ef-47d2-4897-a41a-b64a712b652a", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 268253, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1814, + "sessionReused": true, + "rawInputTokens": 268253, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7a50a53bb8976781571d76557ee50b434ca3f1410175c4b70a3aff1b24347fdb", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ff73df6627f5986bd82f8b3195534d589f922075ae3abf365f2ce1a25220f393", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1814, + "cachedInputTokens": 237158, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-1fea-7e52-aba8-6d952b9ae0dc", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 237158, + "sessionRotationReason": null + } + }, + { + "runId": "b8475df8-e6f4-47cc-b596-5f64af913033", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 181266, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1371, + "sessionReused": true, + "rawInputTokens": 181266, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7a50a53bb8976781571d76557ee50b434ca3f1410175c4b70a3aff1b24347fdb", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ff73df6627f5986bd82f8b3195534d589f922075ae3abf365f2ce1a25220f393", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1371, + "cachedInputTokens": 154265, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-1fea-7e52-aba8-6d952b9ae0dc", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 154265, + "sessionRotationReason": null + } + }, + { + "runId": "49988108-3d07-4c58-b324-34273f217d6b", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 105292, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 895, + "sessionReused": true, + "rawInputTokens": 105292, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7a50a53bb8976781571d76557ee50b434ca3f1410175c4b70a3aff1b24347fdb", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ff73df6627f5986bd82f8b3195534d589f922075ae3abf365f2ce1a25220f393", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 895, + "cachedInputTokens": 81563, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-1fea-7e52-aba8-6d952b9ae0dc", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 81563, + "sessionRotationReason": null + } + }, + { + "runId": "9051f6f3-0e59-4742-b74a-d10b4f529c03", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 38993, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 313, + "sessionReused": false, + "rawInputTokens": 38993, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:7a50a53bb8976781571d76557ee50b434ca3f1410175c4b70a3aff1b24347fdb", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:ff73df6627f5986bd82f8b3195534d589f922075ae3abf365f2ce1a25220f393", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 313, + "cachedInputTokens": 18698, + "taskSessionReused": false, + "persistedSessionId": "01a0cec0-1fea-7e52-aba8-6d952b9ae0dc", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 18698, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 91058, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 5, + "runIds": [ + "3aaa629c-857e-407d-9faf-2ee65a3cd70d", + "7f83f4ef-47d2-4897-a41a-b64a712b652a", + "b8475df8-e6f4-47cc-b596-5f64af913033", + "49988108-3d07-4c58-b324-34273f217d6b", + "9051f6f3-0e59-4742-b74a-d10b4f529c03" + ], + "failedMatchers": [] + }, + { + "executionId": "continuation-accounting.runner-codex.local.accounting-productive-noisy", + "caseId": "accounting-productive-noisy", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "provider": "codex", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "error": null, + "attempt": 1, + "startedAt": "2026-09-23T14:51:29.643Z", + "finishedAt": "2026-09-23T14:54:07.996Z", + "durationMs": 158353, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "billing": { + "llm": { + "runCount": 5, + "runsWithTokenUsage": 5, + "runsWithReportedCost": 5, + "inputTokens": 1594483, + "outputTokens": 10140, + "cachedInputTokens": 1435847, + "totalTokens": 3040470, + "reportedCostUsd": 0, + "costStatus": "reported" + }, + "runtime": { + "provider": "local", + "agentRunDurationMs": 111914, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "reportedCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "complete": true + }, + "usage": { + "runs": [ + { + "runId": "08129dbd-b7dd-46fc-9b64-12f5b40746e0", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 697815, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 3613, + "sessionReused": true, + "rawInputTokens": 697815, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:a0f3e9fa58213dcfaf7915e28f8108c9ed24b50171eba23ce15aae370d5e517d", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:63dc598d40fb5db4d339adf0f9cdb486c65a46d30ab7ac8a21062be0cfa1c178", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 3613, + "cachedInputTokens": 653142, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-3e49-77c0-bf8a-9b69296174f1", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 653142, + "sessionRotationReason": null + } + }, + { + "runId": "ddfa2fbd-dec0-499d-972a-3a0d6dd72f69", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 407161, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2613, + "sessionReused": true, + "rawInputTokens": 407161, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:a0f3e9fa58213dcfaf7915e28f8108c9ed24b50171eba23ce15aae370d5e517d", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:63dc598d40fb5db4d339adf0f9cdb486c65a46d30ab7ac8a21062be0cfa1c178", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2613, + "cachedInputTokens": 370918, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-3e49-77c0-bf8a-9b69296174f1", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 370918, + "sessionRotationReason": null + } + }, + { + "runId": "36ac97ad-2d19-4324-8124-499be02dc9d1", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 271558, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 2013, + "sessionReused": true, + "rawInputTokens": 271558, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:a0f3e9fa58213dcfaf7915e28f8108c9ed24b50171eba23ce15aae370d5e517d", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:63dc598d40fb5db4d339adf0f9cdb486c65a46d30ab7ac8a21062be0cfa1c178", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 2013, + "cachedInputTokens": 240822, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-3e49-77c0-bf8a-9b69296174f1", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 240822, + "sessionRotationReason": null + } + }, + { + "runId": "27c052a7-6f80-49e0-813b-e3d8bea74617", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 156810, + "usageSource": "per_run", + "freshSession": false, + "outputTokens": 1371, + "sessionReused": true, + "rawInputTokens": 156810, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": false, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:a0f3e9fa58213dcfaf7915e28f8108c9ed24b50171eba23ce15aae370d5e517d", + "changedCategories": [], + "taskSessionReused": true, + "fingerprintVersion": 1, + "taskSessionAvailable": true, + "storedFingerprintPresent": true + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:63dc598d40fb5db4d339adf0f9cdb486c65a46d30ab7ac8a21062be0cfa1c178", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 1371, + "cachedInputTokens": 131051, + "taskSessionReused": true, + "persistedSessionId": "01a0cec0-3e49-77c0-bf8a-9b69296174f1", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 131051, + "sessionRotationReason": null + } + }, + { + "runId": "59b352e1-9d08-461e-b858-f7e936fb9e09", + "usage": { + "model": "gpt-5.6-sol", + "biller": "openai", + "costUsd": 0, + "provider": "openai", + "costStatus": "reported", + "billingType": "unknown", + "inputTokens": 61139, + "usageSource": "per_run", + "freshSession": true, + "outputTokens": 530, + "sessionReused": false, + "rawInputTokens": 61139, + "sessionRotated": false, + "configFreshness": { + "session": { + "reset": true, + "categories": [ + "adapter", + "adapterConfig", + "agentRuntimeConfig", + "instructions", + "issueOverrides", + "workspaceConfig", + "environment", + "envBindings", + "secrets", + "runtimeSkills" + ], + "resetReasons": [], + "nextFingerprint": "v1:sha256:a0f3e9fa58213dcfaf7915e28f8108c9ed24b50171eba23ce15aae370d5e517d", + "changedCategories": [], + "taskSessionReused": false, + "fingerprintVersion": 1, + "taskSessionAvailable": false, + "storedFingerprintPresent": false + }, + "version": 1, + "workspace": { + "action": "create", + "reasons": [], + "categories": [ + "mode", + "projectWorkspace", + "strategy", + "repo", + "lifecycleCommands", + "runtimeServices", + "environment", + "realization" + ], + "reuseRequested": false, + "nextFingerprint": "v1:sha256:63dc598d40fb5db4d339adf0f9cdb486c65a46d30ab7ac8a21062be0cfa1c178", + "workspaceReused": false, + "activeWorkspaceId": null, + "changedCategories": [], + "storedFingerprint": null, + "fingerprintVersion": 1, + "inferredFingerprint": null, + "previousWorkspaceId": null, + "configSnapshotRefreshed": false, + "storedFingerprintPresent": false + } + }, + "rawOutputTokens": 530, + "cachedInputTokens": 39914, + "taskSessionReused": false, + "persistedSessionId": "01a0cec0-3e49-77c0-bf8a-9b69296174f1", + "cacheAdjustedCostUsd": 0, + "rawCachedInputTokens": 39914, + "sessionRotationReason": null + } + } + ] + }, + "runtimeUsage": { + "provider": "local", + "agentRunDurationMs": 111914, + "leaseDurationMs": null, + "leaseCount": 0, + "costStatus": "not_metered", + "costSource": "local_not_metered" + }, + "runCount": 5, + "runIds": [ + "08129dbd-b7dd-46fc-9b64-12f5b40746e0", + "ddfa2fbd-dec0-499d-972a-3a0d6dd72f69", + "36ac97ad-2d19-4324-8124-499be02dc9d1", + "27c052a7-6f80-49e0-813b-e3d8bea74617", + "59b352e1-9d08-461e-b858-f7e936fb9e09" + ], + "failedMatchers": [] + } + ] +} diff --git a/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed.json b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed.json new file mode 100644 index 00000000000..2d043d1e676 --- /dev/null +++ b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-fixed.json @@ -0,0 +1,6698 @@ +{ + "schema": "paperclip.lifecycle-baseline/v1", + "commit": "c0b5ee8b38b61b5db9df6289859d49ae3b4b849a", + "fingerprint": "1ef24dd199eff085dd4f7897398e08473c9ff618c23182246648589ab5239cd0", + "measuredAt": "2026-09-23T14:23:52.097Z", + "layers": [ + "unit", + "runner", + "integration", + "grading" + ], + "execution": { + "unit": { + "exitCode": 0, + "signal": null, + "success": true, + "total": 423, + "passed": 423, + "failed": 0, + "pending": 0, + "launchError": null + }, + "runner": { + "exitCode": 0, + "signal": null, + "success": true, + "total": 184, + "passed": 184, + "failed": 0, + "pending": 0, + "launchError": null + }, + "integration": { + "exitCode": 0, + "signal": null, + "success": true, + "total": 381, + "passed": 381, + "failed": 0, + "pending": 0, + "launchError": null + }, + "grading": { + "exitCode": 0, + "signal": null, + "success": true, + "total": 85, + "passed": 85, + "failed": 0, + "pending": 0, + "launchError": null + } + }, + "scenarios": [ + { + "id": "LCA-01", + "name": "Ordinary completion", + "expected": "Valid completion, delivered answer, no extra execution", + "coverage": [ + { + "lane": "runner", + "file": "tests/lifecycle-baseline/runner.test.ts", + "pattern": "LCA-01", + "status": "pass", + "assertions": [ + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / neutral", + "status": "passed", + "duration": 1.5955000000000013, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / no-approval", + "status": "passed", + "duration": 0.15045800000000042, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / scoped-negation", + "status": "passed", + "duration": 0.10454200000000924, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / historical-quote", + "status": "passed", + "duration": 0.09262499999999818, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / spanish", + "status": "passed", + "duration": 0.09995899999999835, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / optional-next-steps", + "status": "passed", + "duration": 0.08466700000001026, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / all-done", + "status": "passed", + "duration": 0.0819580000000002, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / keep-going", + "status": "passed", + "duration": 0.07712499999999523, + "failureMessages": [] + } + ] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/lifecycle-baseline.test.ts", + "pattern": "LCA-01", + "status": "pass", + "assertions": [ + { + "name": "LCA Product E2E evidence calibration LCA-01 fails closed without API evidence", + "status": "passed", + "duration": 0.08075000000000898, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover executionRunId", + "status": "passed", + "duration": 0.0890409999999946, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover scheduledRetry", + "status": "passed", + "duration": 0.06983400000000017, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover activeRecoveryAction", + "status": "passed", + "duration": 0.06837500000000318, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover monitorNextCheckAt", + "status": "passed", + "duration": 0.06037500000000762, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-01", + "status": "pass", + "assertions": [ + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status done changes admission with identical prose", + "status": "passed", + "duration": 0.0497089999999929, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status blocked changes admission with identical prose", + "status": "passed", + "duration": 0.03141700000000469, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status in_review changes admission with identical prose", + "status": "passed", + "duration": 0.036874999999994884, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status cancelled changes admission with identical prose", + "status": "passed", + "duration": 0.03391599999999073, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / neutral", + "status": "passed", + "duration": 0.21545800000001236, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / no-approval", + "status": "passed", + "duration": 0.05554100000000517, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / scoped-negation", + "status": "passed", + "duration": 0.057292000000003895, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / historical-quote", + "status": "passed", + "duration": 0.04512499999999875, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / spanish", + "status": "passed", + "duration": 0.047000000000011255, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / optional-next-steps", + "status": "passed", + "duration": 0.04579200000000583, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / all-done", + "status": "passed", + "duration": 0.044541999999992754, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / keep-going", + "status": "passed", + "duration": 0.044291999999998666, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / empty", + "status": "passed", + "duration": 0.05229099999999676, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/native-status-arbiter-corpus.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "P6-31 Section 18.13 executable status-authority corpus executes all 53 fixtures in their production consumers and joins all 70 matrix rows", + "status": "passed", + "duration": 848.6576249999998, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails independently when any asserted field category is mutated", + "status": "passed", + "duration": 617.8464170000002, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails mapped fixtures when live entrypoints or owning actions are removed despite matching policy labels", + "status": "passed", + "duration": 65.60950000000048, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus retires a proven automatic review and applies the current successful completion exactly once", + "status": "passed", + "duration": 73.87275000000045, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus completes a new merge run after an old CI review and bounds repeated incomplete results", + "status": "passed", + "duration": 81.67841599999974, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus rejects wrong, missing, and duplicate criterion IDs before accepting completion", + "status": "passed", + "duration": 16.397249999999985, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus keeps genuine approval actionable in the finish response and in finalization", + "status": "passed", + "duration": 52.744416999999885, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves answered cards, explicit attention, stronger authority, and later task edits", + "status": "passed", + "duration": 162.577542, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus rejects an empty needs_review report with actionable feedback without inventing an approval", + "status": "passed", + "duration": 19.40191700000014, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus withdraws obsolete policy reviews, restores the prior status, and is idempotent", + "status": "passed", + "duration": 39.493375000000015, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus leaves an already accepted review untouched", + "status": "passed", + "duration": 12.936542000000372, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus leaves an already rejected review untouched", + "status": "passed", + "duration": 15.454125000000204, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves real completion reviews and limits cleanup to the requested runs", + "status": "passed", + "duration": 24.371291999999812, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later blocked status", + "status": "passed", + "duration": 19.814542000000074, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later done status", + "status": "passed", + "duration": 18.30341700000008, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later cancelled status", + "status": "passed", + "duration": 19.013708999999835, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus does not restore status after a newer decision or a status change back to review", + "status": "passed", + "duration": 36.622166999999536, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus keeps review status when a separate request still needs a response", + "status": "passed", + "duration": 14.700417000000016, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus isolates a failed cleanup candidate and retries it on the next pass", + "status": "passed", + "duration": 40.64683299999979, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus keeps committed cleanup and continues publication after a live event fails", + "status": "passed", + "duration": 34.221832999999606, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus continues native finalization when the obsolete-card lookup fails", + "status": "passed", + "duration": 20.9292089999999, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves a later authoritative status during reconciliation", + "status": "passed", + "duration": 0.11829200000011042, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus supersedes the exact committed coordinator decision and sequences preserve decisions independently of issue status versions", + "status": "passed", + "duration": 7.853417000000263, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus keeps assessment lineage run-local while superseding an issue decision from another run", + "status": "passed", + "duration": 9.15979200000038, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves an intermediate same-run assessment when the issue decision points to an older ancestor", + "status": "passed", + "duration": 6.4493750000001455, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus ignores historical committed finalizations superseded by a newer authoritative decision", + "status": "passed", + "duration": 7.896667000000889, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with none predecessor", + "status": "passed", + "duration": 5.701917000000321, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with same_run predecessor", + "status": "passed", + "duration": 6.859040999999706, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with other_run predecessor", + "status": "passed", + "duration": 8.28400000000056, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus binds a tools-refresh continuation to its existing durable wake without a duplicate", + "status": "passed", + "duration": 10.645667000000685, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails the transaction closed for an unknown status effect", + "status": "passed", + "duration": 4.544832999999926, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-01", + "status": "pass", + "assertions": [ + { + "name": "LCA full heartbeat observation LCA-01 native completed work has no extra execution regardless of summary", + "status": "passed", + "duration": 790.55575, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-01 legacy completed work has no extra execution regardless of summary", + "status": "passed", + "duration": 336.42175, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-completion-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-completion-challenge", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-blocker-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-blocker-challenge", + "status": "not_run" + }, + { + "id": "everyday-workflows:build-revise", + "status": "not_run" + }, + { + "id": "runner-evals:finish-task", + "status": "not_run" + } + ] + }, + { + "id": "LCA-02", + "name": "Productive multi-turn continuation", + "expected": "Continue without replaying completed work or treating productivity as repeated failure", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-02", + "status": "pass", + "assertions": [ + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / neutral preserves continuation effects", + "status": "passed", + "duration": 3.049875, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.25304199999999355, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.18275000000001285, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.1450839999999971, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / spanish preserves continuation effects", + "status": "passed", + "duration": 0.20041700000000162, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.13016600000000267, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / all-done preserves continuation effects", + "status": "passed", + "duration": 0.11066700000000651, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.0905000000000058, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / empty preserves continuation effects", + "status": "passed", + "duration": 0.11970800000000281, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / neutral preserves continuation effects", + "status": "passed", + "duration": 0.1376249999999999, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.09233299999999645, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.09545899999999108, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.08566600000000335, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / spanish preserves continuation effects", + "status": "passed", + "duration": 0.08066700000000537, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.08191700000000424, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / all-done preserves continuation effects", + "status": "passed", + "duration": 0.07708300000000179, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.0701660000000004, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / empty preserves continuation effects", + "status": "passed", + "duration": 0.05441600000000335, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / neutral preserves continuation effects", + "status": "passed", + "duration": 0.09916700000000844, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.07408300000000168, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.05629199999999912, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.06725000000000136, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / spanish preserves continuation effects", + "status": "passed", + "duration": 0.06866700000000492, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.06629099999999255, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / all-done preserves continuation effects", + "status": "passed", + "duration": 0.0969170000000048, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.061666999999999916, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / empty preserves continuation effects", + "status": "passed", + "duration": 0.07441700000001106, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / neutral preserves continuation effects", + "status": "passed", + "duration": 0.085125000000005, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.06112500000000409, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.05849999999999511, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.05795899999999676, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / spanish preserves continuation effects", + "status": "passed", + "duration": 0.07224999999999682, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.05808400000000802, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / all-done preserves continuation effects", + "status": "passed", + "duration": 0.06374999999999886, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.05987500000000523, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / empty preserves continuation effects", + "status": "passed", + "duration": 0.058417000000005714, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / neutral preserves continuation effects", + "status": "passed", + "duration": 0.12879100000000676, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.06283399999999517, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.06279099999999005, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.06799999999999784, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / spanish preserves continuation effects", + "status": "passed", + "duration": 0.06274999999999409, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.063083000000006, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / all-done preserves continuation effects", + "status": "passed", + "duration": 0.06870899999999835, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.07774999999999466, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / empty preserves continuation effects", + "status": "passed", + "duration": 0.0573750000000075, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / neutral preserves continuation effects", + "status": "passed", + "duration": 0.07974999999999, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.06370800000000543, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.09566700000000594, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.06120799999999349, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / spanish preserves continuation effects", + "status": "passed", + "duration": 0.06058299999999406, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.061750000000003524, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / all-done preserves continuation effects", + "status": "passed", + "duration": 0.12416699999999992, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.05924999999999159, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / empty preserves continuation effects", + "status": "passed", + "duration": 0.070083000000011, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / neutral", + "status": "passed", + "duration": 0.06495800000000429, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / no-approval", + "status": "passed", + "duration": 0.0436250000000058, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / scoped-negation", + "status": "passed", + "duration": 0.040624999999991473, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / historical-quote", + "status": "passed", + "duration": 0.0418329999999969, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / spanish", + "status": "passed", + "duration": 0.040792000000010376, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / optional-next-steps", + "status": "passed", + "duration": 0.041250000000005116, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / all-done", + "status": "passed", + "duration": 0.038584000000000174, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / keep-going", + "status": "passed", + "duration": 0.3709580000000017, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / empty", + "status": "passed", + "duration": 0.07162499999999739, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 explicit continuation changes effects with identical prose", + "status": "passed", + "duration": 0.04274999999999807, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "max-turn", + "status": "pass", + "assertions": [ + { + "name": "heartbeat bounded retry scheduling ACCT-01 infrastructure failures do not spend the first productive max-turn continuation", + "status": "passed", + "duration": 71.44616700000006, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling schedules max-turn continuations with distinct retry metadata", + "status": "passed", + "duration": 56.187707999999475, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling coalesces duplicate max-turn continuation schedules for the same source run and attempt", + "status": "passed", + "duration": 48.85350000000017, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling does not promote a duplicate max-turn continuation that does not own the issue lock", + "status": "passed", + "duration": 603.508167, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to blocked before retry promotion", + "status": "passed", + "duration": 70.32262499999979, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to todo before retry promotion", + "status": "passed", + "duration": 47.170750000000226, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to backlog before retry promotion", + "status": "passed", + "duration": 45.98145899999963, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-02", + "status": "pass", + "assertions": [ + { + "name": "LCA full heartbeat observation LCA-02 native answered-question continuation survives misleading approval prose", + "status": "passed", + "duration": 1004.7662499999997, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-02 legacy incomplete work schedules the same follow-up regardless of approval wording", + "status": "passed", + "duration": 622.5085829999998, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-02 native answered-question workflow continues beyond the failure retry allowance", + "status": "passed", + "duration": 873.9748749999999, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation:completed-action-resume", + "status": "not_run" + } + ] + }, + { + "id": "LCA-03", + "name": "Durable human question", + "expected": "Bound question precedes wait; matching answer resumes once", + "coverage": [ + { + "lane": "grading", + "file": "tests/runner-e2e/lifecycle-baseline.test.ts", + "pattern": "LCA-03", + "status": "pass", + "assertions": [ + { + "name": "LCA Product E2E evidence calibration LCA-03 accepts durable question and matching answered identity", + "status": "passed", + "duration": 0.9938750000000027, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-03 rejects prose-only waiting even if final task completes", + "status": "passed", + "duration": 0.36862499999999443, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-03 rejects answer on a different question", + "status": "passed", + "duration": 0.11920800000000042, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-03", + "status": "pass", + "assertions": [ + { + "name": "LCA native authority pairs LCA-03 question / neutral", + "status": "passed", + "duration": 0.04570900000000222, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / no-approval", + "status": "passed", + "duration": 0.052834000000004266, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / scoped-negation", + "status": "passed", + "duration": 0.043417000000005146, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / historical-quote", + "status": "passed", + "duration": 0.051207999999988374, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / spanish", + "status": "passed", + "duration": 0.0433749999999975, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / optional-next-steps", + "status": "passed", + "duration": 0.041499999999999204, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / all-done", + "status": "passed", + "duration": 0.05112499999999898, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / keep-going", + "status": "passed", + "duration": 0.05637500000000273, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / empty", + "status": "passed", + "duration": 0.042541999999997415, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/question-response-delivery.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "question response delivery queues an answer to a running successor instead of automatically steering", + "status": "passed", + "duration": 163.635667, + "failureMessages": [] + }, + { + "name": "question response delivery never mixes an external-chat question response into another live chat run in native mode", + "status": "passed", + "duration": 76.37883299999976, + "failureMessages": [] + }, + { + "name": "question response delivery never mixes an external-chat question response into another live chat run in legacy mode", + "status": "passed", + "duration": 39.89033300000028, + "failureMessages": [] + }, + { + "name": "question response delivery does not promote a source-run wake comment from another issue", + "status": "passed", + "duration": 44.611625000000004, + "failureMessages": [] + }, + { + "name": "question response delivery resolves an in-flight native input request before creating a continuation", + "status": "passed", + "duration": 43.571750000000065, + "failureMessages": [] + }, + { + "name": "question response delivery keeps native input delivery pending while its PRP session is unavailable", + "status": "passed", + "duration": 40.2234999999996, + "failureMessages": [] + }, + { + "name": "question response delivery coalesces into a queued successor without creating another wake", + "status": "passed", + "duration": 37.92599999999993, + "failureMessages": [] + }, + { + "name": "question response delivery never steers into the source run and keeps a skipped wake retryable", + "status": "passed", + "duration": 39.86925000000019, + "failureMessages": [] + }, + { + "name": "question response delivery delivers after wake suppression outlasts the bounded error retry limit", + "status": "passed", + "duration": 56.46825000000035, + "failureMessages": [] + }, + { + "name": "question response delivery preserves the actual-error retry budget after prolonged wake suppression", + "status": "passed", + "duration": 73.11741699999993, + "failureMessages": [] + }, + { + "name": "question response delivery enforces one durable wake per question-response idempotency key", + "status": "passed", + "duration": 36.34058300000015, + "failureMessages": [] + }, + { + "name": "question response delivery reuses the winning wake when a concurrent insert hits the idempotency fence", + "status": "passed", + "duration": 39.66879199999994, + "failureMessages": [] + }, + { + "name": "question response delivery settles against a canonical wake from the previous assignee without retrying forever", + "status": "passed", + "duration": 31.949583000000075, + "failureMessages": [] + }, + { + "name": "question response delivery reuses a durable wake receipt instead of issuing a duplicate continuation", + "status": "passed", + "duration": 44.52599999999984, + "failureMessages": [] + }, + { + "name": "question response delivery recovers a completed wake when receipt finalization was interrupted", + "status": "passed", + "duration": 23.19966599999998, + "failureMessages": [] + }, + { + "name": "question response delivery keeps a long wake claim leased while the side effect is active", + "status": "passed", + "duration": 125.02729099999988, + "failureMessages": [] + }, + { + "name": "question response delivery fences a stale worker after a newer claim generation takes ownership", + "status": "passed", + "duration": 78.82500000000027, + "failureMessages": [] + }, + { + "name": "question response delivery keeps acpx_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 32.106667000000016, + "failureMessages": [] + }, + { + "name": "question response delivery keeps claude_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 32.544624999999996, + "failureMessages": [] + }, + { + "name": "question response delivery keeps codex_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 43.496791999999914, + "failureMessages": [] + }, + { + "name": "question response delivery keeps cursor_cloud on the existing wake path without invoking native steering", + "status": "passed", + "duration": 27.83362500000021, + "failureMessages": [] + }, + { + "name": "question response delivery keeps cursor on the existing wake path without invoking native steering", + "status": "passed", + "duration": 16.526417000000038, + "failureMessages": [] + }, + { + "name": "question response delivery keeps gemini_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 29.746916000000056, + "failureMessages": [] + }, + { + "name": "question response delivery keeps grok_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 32.713040999999976, + "failureMessages": [] + }, + { + "name": "question response delivery keeps hermes_gateway on the existing wake path without invoking native steering", + "status": "passed", + "duration": 35.91554199999973, + "failureMessages": [] + }, + { + "name": "question response delivery keeps hermes_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 25.007416999999805, + "failureMessages": [] + }, + { + "name": "question response delivery keeps kimi_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 16.229083000000173, + "failureMessages": [] + }, + { + "name": "question response delivery keeps openclaw_gateway on the existing wake path without invoking native steering", + "status": "passed", + "duration": 14.838999999999942, + "failureMessages": [] + }, + { + "name": "question response delivery keeps opencode_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 36.394542, + "failureMessages": [] + }, + { + "name": "question response delivery keeps pi_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 27.322374999999738, + "failureMessages": [] + }, + { + "name": "question response delivery keeps process on the existing wake path without invoking native steering", + "status": "passed", + "duration": 15.36370800000077, + "failureMessages": [] + }, + { + "name": "question response delivery keeps http on the existing wake path without invoking native steering", + "status": "passed", + "duration": 17.752709000000323, + "failureMessages": [] + }, + { + "name": "question response delivery keeps external_test_adapter on the existing wake path without invoking native steering", + "status": "passed", + "duration": 15.336209000000053, + "failureMessages": [] + }, + { + "name": "question response delivery queues once without probing successor steering", + "status": "passed", + "duration": 18.632790999999997, + "failureMessages": [] + }, + { + "name": "question response delivery formats text, select labels, multi-select, and custom answers in order", + "status": "passed", + "duration": 9.894333999999617, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-question-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-question-challenge", + "status": "not_run" + }, + { + "id": "continuation:answer-updates-scope", + "status": "not_run" + }, + { + "id": "continuation:provider-question-bridge", + "status": "not_run" + } + ] + }, + { + "id": "LCA-04", + "name": "Approval and decline", + "expected": "Correct authorized approval releases only its gate; decline executes nothing", + "coverage": [ + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-04", + "status": "pass", + "assertions": [ + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 native accepted approval preserves the paused admission gate", + "status": "passed", + "duration": 4.372333999999682, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the paused admission gate", + "status": "passed", + "duration": 3.749333000000661, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 native accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 7.1030000000000655, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 7.269042000000809, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-04", + "status": "pass", + "assertions": [ + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status done changes admission with identical prose", + "status": "passed", + "duration": 0.0497089999999929, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status blocked changes admission with identical prose", + "status": "passed", + "duration": 0.03141700000000469, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status in_review changes admission with identical prose", + "status": "passed", + "duration": 0.036874999999994884, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status cancelled changes admission with identical prose", + "status": "passed", + "duration": 0.03391599999999073, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / neutral", + "status": "passed", + "duration": 0.07387500000000102, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / no-approval", + "status": "passed", + "duration": 0.05237499999999784, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / scoped-negation", + "status": "passed", + "duration": 0.045249999999995794, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / historical-quote", + "status": "passed", + "duration": 0.04508300000000531, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / spanish", + "status": "passed", + "duration": 0.04358300000001236, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / optional-next-steps", + "status": "passed", + "duration": 0.05170799999999076, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / all-done", + "status": "passed", + "duration": 0.05674999999999386, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / keep-going", + "status": "passed", + "duration": 0.05062499999999659, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / empty", + "status": "passed", + "duration": 0.04316599999999937, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / neutral", + "status": "passed", + "duration": 0.05520799999999326, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / no-approval", + "status": "passed", + "duration": 0.04162499999999625, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / scoped-negation", + "status": "passed", + "duration": 0.040374999999997385, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / historical-quote", + "status": "passed", + "duration": 0.03929099999999153, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / spanish", + "status": "passed", + "duration": 0.08416699999999366, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / optional-next-steps", + "status": "passed", + "duration": 0.044124999999993975, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / all-done", + "status": "passed", + "duration": 0.039749999999997954, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / keep-going", + "status": "passed", + "duration": 0.039874999999995, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / empty", + "status": "passed", + "duration": 0.039874999999995, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 resolving the real approval changes authority with identical prose", + "status": "passed", + "duration": 0.033416000000002555, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "server/src/__tests__/issue-thread-interaction-routes.test.ts", + "pattern": "confirmation|approval|tool.action", + "status": "pass", + "assertions": [ + { + "name": "issue thread interaction routes returns 400 for agent-addressed tool-action confirmations", + "status": "passed", + "duration": 121.69658299999992, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes accepts request confirmations and wakes the current assignee when configured for accept-only wakeups", + "status": "passed", + "duration": 117.87933299999986, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes executes an accepted tool-action confirmation through the gateway callback", + "status": "passed", + "duration": 114.53304200000002, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes with failure instructions after an accepted tool action fails", + "status": "passed", + "duration": 119.35862499999985, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes with fresh-approval instructions after an accepted tool action expires", + "status": "passed", + "duration": 118.45279200000004, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes rejects client-supplied tool-action metadata on interaction creation", + "status": "passed", + "duration": 118.6772089999995, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes executes an accepted secret-proposal confirmation and wakes with verification instructions", + "status": "passed", + "duration": 136.7640419999998, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forwards plan-document confirmations to the interaction service for revision validation", + "status": "passed", + "duration": 115.44683299999997, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes accepts request checkbox confirmations with selected option ids and wakes the assignee", + "status": "passed", + "duration": 119.95141700000022, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'explicit' issueId", + "status": "passed", + "duration": 113.56758400000035, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'omitted' issueId", + "status": "passed", + "duration": 117.9937919999993, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'null' issueId", + "status": "passed", + "duration": 118.19758300000012, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a plan document confirmation on a standard-work issue", + "status": "passed", + "duration": 117.22329200000058, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes the returned agent when accepting an agent-authored confirmation from a board review assignee", + "status": "passed", + "duration": 123.82841600000029, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes does not emit a continuation wake when request confirmations are rejected", + "status": "passed", + "duration": 124.02412499999991, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes delivers generic confirmation rejection feedback as the next turn message", + "status": "passed", + "duration": 122.73316599999998, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes with decline instructions when a tool-action confirmation is rejected", + "status": "passed", + "duration": 112.88475000000108, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes allows an agent to accept another agent's pending review confirmation by default", + "status": "passed", + "duration": 118.80299999999988, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes allows an agent to reject a pending review confirmation by default", + "status": "passed", + "duration": 124.4424170000002, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes keeps an unrelated pending confirmation human-only on an in-review issue", + "status": "passed", + "duration": 123.03916599999866, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes keeps a same-requester sibling confirmation human-only", + "status": "passed", + "duration": 117.60883300000023, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes rejects an agent review-confirmation verdict under human_only with actionable copy", + "status": "passed", + "duration": 116.15170899999976, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes allows an unrelated agent-resolvable confirmation under a restrictive issue review policy", + "status": "passed", + "duration": 122.57737500000076, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes lets the creator and same run resolve 'request_confirmation' through anyone", + "status": "passed", + "duration": 124.25462499999958, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes lets the creator and same run resolve 'request_checkbox_confirmation' through anyone", + "status": "passed", + "duration": 121.89158299999872, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes blocks human-only and tool-action interactions for agents", + "status": "passed", + "duration": 898.665583, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "gate|budget|paused", + "status": "pass", + "assertions": [ + { + "name": "heartbeat bounded retry scheduling retains the failure budget after many pre-provider workspace_busy waits", + "status": "passed", + "duration": 76.21933399999989, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling retains the failure budget after many pre-provider ai_connection_busy waits", + "status": "passed", + "duration": 67.10912499999995, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the dependency gate for interrupted conversations", + "status": "passed", + "duration": 54.7287080000001, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the disabled gate for interrupted conversations", + "status": "passed", + "duration": 62.40804200000002, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the reassigned gate for interrupted conversations", + "status": "passed", + "duration": 73.59137499999997, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling run-dispatch module transactions rolls back the wakeup-request update when the run-event write fails during a gate-suppressed cancellation", + "status": "passed", + "duration": 37.706583999999566, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-approval-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-approval-challenge", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:tool-review-approve", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:tool-review-decline", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:tool-review-always", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-untrusted-evidence-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-untrusted-evidence-challenge", + "status": "not_run" + }, + { + "id": "continuation:clarification-not-approval", + "status": "not_run" + }, + { + "id": "everyday-workflows:service-approve", + "status": "not_run" + }, + { + "id": "everyday-workflows:service-decline", + "status": "not_run" + } + ] + }, + { + "id": "LCA-05", + "name": "Plan revision acceptance", + "expected": "Work mode and exact accepted revision authorize execution", + "coverage": [ + { + "lane": "grading", + "file": "tests/runner-e2e/lifecycle-baseline.test.ts", + "pattern": "LCA-05", + "status": "pass", + "assertions": [ + { + "name": "LCA Product E2E evidence calibration LCA-05 accepts current revision and rejects stale or foreign plan targets", + "status": "passed", + "duration": 0.18020800000000747, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-05", + "status": "pass", + "assertions": [ + { + "name": "LCA narrative authority baseline LCA-05 legacy title report is not work-mode authority", + "status": "passed", + "duration": 0.1004999999999967, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-05 legacy title plan is not work-mode authority", + "status": "passed", + "duration": 0.061500000000009436, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-05 legacy title research is not work-mode authority", + "status": "passed", + "duration": 0.06141599999999414, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-05 legacy description is not work-mode authority", + "status": "passed", + "duration": 0.07279200000000685, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "server/src/__tests__/run-liveness.test.ts", + "pattern": "mode|title and description", + "status": "pass", + "assertions": [ + { + "name": "run liveness classifier uses explicit planning mode for the planning diagnostic exemption", + "status": "passed", + "duration": 0.07349999999999568, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode undefined", + "status": "passed", + "duration": 0.7087080000000014, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode null", + "status": "passed", + "duration": 0.32245899999999494, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode standard", + "status": "passed", + "duration": 0.24216599999999744, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode ask", + "status": "passed", + "duration": 0.2512909999999948, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode skill_test", + "status": "passed", + "duration": 0.25737500000001035, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode planning", + "status": "passed", + "duration": 0.2250840000000096, + "failureMessages": [] + }, + { + "name": "run liveness classifier a standard-mode task can deliver a plan and complete without entering planning mode", + "status": "passed", + "duration": 0.06241699999999639, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "server/src/__tests__/heartbeat-context-summary.test.ts", + "pattern": "selects directives only", + "status": "pass", + "assertions": [ + { + "name": "buildPaperclipTaskMarkdown selects directives only from explicit standard mode, even when a plan is requested", + "status": "passed", + "duration": 1.1159999999999854, + "failureMessages": [] + }, + { + "name": "buildPaperclipTaskMarkdown selects directives only from explicit planning mode, even when a plan is requested", + "status": "passed", + "duration": 0.1582499999999527, + "failureMessages": [] + }, + { + "name": "buildPaperclipTaskMarkdown selects directives only from explicit ask mode, even when a plan is requested", + "status": "passed", + "duration": 0.1175829999999678, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "server/src/services/native-runtime/native-execution-input.test.ts", + "pattern": "LCA-05", + "status": "pass", + "assertions": [ + { + "name": "LCA-05 explicit native work mode title and description cannot override standard mode", + "status": "passed", + "duration": 2.697791999999936, + "failureMessages": [] + }, + { + "name": "LCA-05 explicit native work mode title and description cannot override planning mode", + "status": "passed", + "duration": 0.4984999999999218, + "failureMessages": [] + }, + { + "name": "LCA-05 explicit native work mode title and description cannot override ask mode", + "status": "passed", + "duration": 0.2907079999999951, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/activity-service.test.ts", + "pattern": "LCA-05", + "status": "pass", + "assertions": [ + { + "name": "activity service LCA-05 persists explicit standard mode across wording edits and uses it in ledger backfill", + "status": "passed", + "duration": 218.00316699999985, + "failureMessages": [] + }, + { + "name": "activity service LCA-05 persists explicit planning mode across wording edits and uses it in ledger backfill", + "status": "passed", + "duration": 170.90091699999994, + "failureMessages": [] + }, + { + "name": "activity service LCA-05 persists explicit ask mode across wording edits and uses it in ledger backfill", + "status": "passed", + "duration": 108.261708, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "server/src/__tests__/issue-thread-interaction-routes.test.ts", + "pattern": "plan|revision", + "status": "pass", + "assertions": [ + { + "name": "issue thread interaction routes forwards plan-document confirmations to the interaction service for revision validation", + "status": "passed", + "duration": 115.44683299999997, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'explicit' issueId", + "status": "passed", + "duration": 113.56758400000035, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'omitted' issueId", + "status": "passed", + "duration": 117.9937919999993, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'null' issueId", + "status": "passed", + "duration": 118.19758300000012, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes does not project an explicitly different issue's approved plan into the current issue wake", + "status": "passed", + "duration": 117.32666600000084, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a plan document confirmation on a standard-work issue", + "status": "passed", + "duration": 117.22329200000058, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes the assignee to revise a rejected plan even when its policy is accept-only", + "status": "passed", + "duration": 124.4930000000004, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/issue-thread-interactions-service.test.ts", + "pattern": "Plan.mode|stale.*revision|revision.*stale|plan confirmation", + "status": "pass", + "assertions": [ + { + "name": "issueThreadInteractionService atomically returns an accepted Plan-mode issue to its agent in Auto mode", + "status": "passed", + "duration": 15.229874999999993, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService keeps Plan mode for non-plan and checkbox confirmations", + "status": "passed", + "duration": 21.342915999999605, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService keeps ask mode when accepting a plan confirmation", + "status": "passed", + "duration": 10.247416000000158, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService keeps standard mode when accepting a plan confirmation", + "status": "passed", + "duration": 13.643457999999555, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService keeps Plan mode when a plan confirmation is rejected", + "status": "passed", + "duration": 24.360249999999724, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService rejects creating a plan confirmation against a stale document revision and accepts the current one", + "status": "passed", + "duration": 12.664500000000771, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-plan-revision-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-plan-revision-challenge", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-work-mode-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-work-mode-challenge", + "status": "not_run" + }, + { + "id": "agent-chat:plan-handoff", + "status": "not_run" + }, + { + "id": "continuation:revision-preserves-approval", + "status": "not_run" + } + ] + }, + { + "id": "LCA-06", + "name": "Dependencies", + "expected": "All required dependencies release one parent wake; unrelated events do nothing", + "coverage": [ + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-issue-liveness-escalation.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "heartbeat resolved dependency wake reconciliation runs exactly one bounded review-path recovery before surfacing a stalled decision", + "status": "passed", + "duration": 663.0268339999998, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation keeps resolved dependency wake reconciliation active", + "status": "passed", + "duration": 710.9984170000002, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation heals a blocked dependent whose done blocker has no workspace finalize obligation", + "status": "passed", + "duration": 786.1397500000003, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation reconciles a resolved blocked dependency after the assignee-null window closes", + "status": "passed", + "duration": 474.6810839999998, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation keeps repeated wakes behind a active execution hold run-free, then resumes once", + "status": "passed", + "duration": 280.7614169999997, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation keeps repeated wakes behind a resolved execution hold run-free, then resumes once", + "status": "passed", + "duration": 237.88937499999975, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation rechecks every gate after an execution hold clears", + "status": "passed", + "duration": 355.55433399999947, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation preserves distinct comments through a hold and adopts them on the next eligible wake", + "status": "passed", + "duration": 342.5637910000005, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation retries a resolved dependency wake when the prior wake was skipped as stale", + "status": "passed", + "duration": 321.3301249999995, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation waits for workspace finalize before healing a resolved blocked dependent", + "status": "passed", + "duration": 385.49354200000016, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation does not duplicate an existing dependency wake keyed to any resolved blocker", + "status": "passed", + "duration": 48.657208999999966, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation heals a multi-blocker dependent when only a completed wake for an earlier blocker exists", + "status": "passed", + "duration": 335.11154199999964, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation heals a blocked dependent after a terminal reset when a previous-cycle old-key wake exists", + "status": "passed", + "duration": 336.2230419999987, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation does not re-heal when a completed old-key wake is from the current blocked cycle", + "status": "passed", + "duration": 44.166417000000365, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation counts null dependency wake returns as deferred instead of enqueue failures", + "status": "passed", + "duration": 27.40466600000036, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-dependency-restart-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-dependency-restart-challenge", + "status": "not_run" + }, + { + "id": "everyday-workflows:delegate-feedback", + "status": "not_run" + }, + { + "id": "runner-evals:set-task-dependencies", + "status": "not_run" + } + ] + }, + { + "id": "LCA-07", + "name": "External monitor wait", + "expected": "Durable eligible monitor fires once and respects timeout and exhaustion", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-07", + "status": "pass", + "assertions": [ + { + "name": "LCA native authority pairs LCA-07 monitor / neutral", + "status": "passed", + "duration": 0.046542000000002304, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / no-approval", + "status": "passed", + "duration": 0.04666699999999935, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / scoped-negation", + "status": "passed", + "duration": 0.04270799999999042, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / historical-quote", + "status": "passed", + "duration": 0.041667000000003895, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / spanish", + "status": "passed", + "duration": 0.05229199999999423, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / optional-next-steps", + "status": "passed", + "duration": 0.042083999999988464, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / all-done", + "status": "passed", + "duration": 0.038375000000002046, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / keep-going", + "status": "passed", + "duration": 0.04399999999999693, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / empty", + "status": "passed", + "duration": 0.03770800000000918, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/issue-monitor-scheduler.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "issue monitor scheduler triggers due issue monitors once and clears the one-shot schedule", + "status": "passed", + "duration": 1377.183583, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler does not replay a quota monitor with unknown execution evidence", + "status": "passed", + "duration": 639.1046660000002, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler does not replay a quota monitor with exhausted execution evidence", + "status": "passed", + "duration": 584.1158749999995, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler wakes a cross-agent review participant for provider quota monitors", + "status": "passed", + "duration": 809.6714160000001, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler lets the board trigger a scheduled issue monitor immediately", + "status": "passed", + "duration": 1023.9092499999997, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler clears due monitors that cannot be dispatched and records a skip", + "status": "passed", + "duration": 564.5063750000008, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler clears exhausted monitors and queues bounded owner recovery instead of another due check", + "status": "passed", + "duration": 993.2002909999992, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler clears timed-out monitors and creates a visible recovery issue when requested", + "status": "passed", + "duration": 966.0406249999996, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler omits external monitor refs from wake payloads and activity details", + "status": "passed", + "duration": 926.1548750000002, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "runner-evals:schedule-task-wake", + "status": "not_run" + } + ] + }, + { + "id": "LCA-08", + "name": "Ordinary conversation", + "expected": "Deliver response without task completion coercion or repair loops", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-08", + "status": "pass", + "assertions": [ + { + "name": "LCA native authority pairs LCA-08 conversation / neutral", + "status": "passed", + "duration": 0.043958000000003494, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / no-approval", + "status": "passed", + "duration": 0.037165999999999144, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / scoped-negation", + "status": "passed", + "duration": 0.036000000000001364, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / historical-quote", + "status": "passed", + "duration": 0.035708999999997104, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / spanish", + "status": "passed", + "duration": 0.040624999999991473, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / optional-next-steps", + "status": "passed", + "duration": 0.04537500000000705, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / all-done", + "status": "passed", + "duration": 0.03787499999999966, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / keep-going", + "status": "passed", + "duration": 0.039208999999999605, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / empty", + "status": "passed", + "duration": 0.0360419999999948, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "conversation", + "status": "pass", + "assertions": [ + { + "name": "heartbeat bounded retry scheduling bounds interrupted conversations across restarts and concurrent scheduling", + "status": "passed", + "duration": 133.127833, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the dependency gate for interrupted conversations", + "status": "passed", + "duration": 54.7287080000001, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the disabled gate for interrupted conversations", + "status": "passed", + "duration": 62.40804200000002, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the reassigned gate for interrupted conversations", + "status": "passed", + "duration": 73.59137499999997, + "failureMessages": [] + } + ] + }, + { + "lane": "runner", + "file": "packages/paperclip-runner/src/native-session-runtime.test.ts", + "pattern": "governed wait|structured input", + "status": "pass", + "assertions": [ + { + "name": "executeNativeSession recovery commits a governed wait without waiting for abort-insensitive provider cleanup", + "status": "passed", + "duration": 100.7812080000001, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery accepts a control-plane governed wait when a completed turn omitted its semantic result", + "status": "passed", + "duration": 0.385124999999789, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery parks a provider turn immediately after a durable governed wait appears", + "status": "passed", + "duration": 0.41912500000034925, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery hands a committed structured input to the durable wait after its live window", + "status": "passed", + "duration": 0.9172089999997297, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery keeps a settling structured input in the original turn while its append crosses expiry", + "status": "passed", + "duration": 0.9203750000001492, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:clarify-reuse", + "status": "not_run" + }, + { + "id": "agent-chat:clarify-reuse", + "status": "not_run" + } + ] + }, + { + "id": "LCA-09", + "name": "Missing disposition and exhausted repair", + "expected": "Bounded explicit recovery; prose/comments do not supply authority or reset attempts", + "coverage": [ + { + "lane": "runner", + "file": "tests/lifecycle-baseline/runner.test.ts", + "pattern": "LCA-09", + "status": "pass", + "assertions": [ + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / neutral", + "status": "passed", + "duration": 0.1786249999999967, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / no-approval", + "status": "passed", + "duration": 0.09579200000000299, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / scoped-negation", + "status": "passed", + "duration": 0.06354199999999821, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / historical-quote", + "status": "passed", + "duration": 0.053375000000002615, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / spanish", + "status": "passed", + "duration": 0.04775000000000773, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / optional-next-steps", + "status": "passed", + "duration": 0.046875, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / all-done", + "status": "passed", + "duration": 0.04574999999999818, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / keep-going", + "status": "passed", + "duration": 0.046999999999997044, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / empty", + "status": "passed", + "duration": 0.06187500000000057, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-09", + "status": "pass", + "assertions": [ + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / neutral preserves continuation effects", + "status": "passed", + "duration": 3.049875, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.25304199999999355, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.18275000000001285, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.1450839999999971, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / spanish preserves continuation effects", + "status": "passed", + "duration": 0.20041700000000162, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.13016600000000267, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / all-done preserves continuation effects", + "status": "passed", + "duration": 0.11066700000000651, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.0905000000000058, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / empty preserves continuation effects", + "status": "passed", + "duration": 0.11970800000000281, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / neutral preserves continuation effects", + "status": "passed", + "duration": 0.1376249999999999, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.09233299999999645, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.09545899999999108, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.08566600000000335, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / spanish preserves continuation effects", + "status": "passed", + "duration": 0.08066700000000537, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.08191700000000424, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / all-done preserves continuation effects", + "status": "passed", + "duration": 0.07708300000000179, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.0701660000000004, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / empty preserves continuation effects", + "status": "passed", + "duration": 0.05441600000000335, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / neutral preserves continuation effects", + "status": "passed", + "duration": 0.09916700000000844, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.07408300000000168, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.05629199999999912, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.06725000000000136, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / spanish preserves continuation effects", + "status": "passed", + "duration": 0.06866700000000492, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.06629099999999255, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / all-done preserves continuation effects", + "status": "passed", + "duration": 0.0969170000000048, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.061666999999999916, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / empty preserves continuation effects", + "status": "passed", + "duration": 0.07441700000001106, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / neutral preserves continuation effects", + "status": "passed", + "duration": 0.085125000000005, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.06112500000000409, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.05849999999999511, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.05795899999999676, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / spanish preserves continuation effects", + "status": "passed", + "duration": 0.07224999999999682, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.05808400000000802, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / all-done preserves continuation effects", + "status": "passed", + "duration": 0.06374999999999886, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.05987500000000523, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / empty preserves continuation effects", + "status": "passed", + "duration": 0.058417000000005714, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / neutral preserves continuation effects", + "status": "passed", + "duration": 0.12879100000000676, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.06283399999999517, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.06279099999999005, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.06799999999999784, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / spanish preserves continuation effects", + "status": "passed", + "duration": 0.06274999999999409, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.063083000000006, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / all-done preserves continuation effects", + "status": "passed", + "duration": 0.06870899999999835, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.07774999999999466, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / empty preserves continuation effects", + "status": "passed", + "duration": 0.0573750000000075, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / neutral preserves continuation effects", + "status": "passed", + "duration": 0.07974999999999, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.06370800000000543, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.09566700000000594, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.06120799999999349, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / spanish preserves continuation effects", + "status": "passed", + "duration": 0.06058299999999406, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.061750000000003524, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / all-done preserves continuation effects", + "status": "passed", + "duration": 0.12416699999999992, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.05924999999999159, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / empty preserves continuation effects", + "status": "passed", + "duration": 0.070083000000011, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-09 additional commentary cannot manufacture progress or reset an attempt", + "status": "passed", + "duration": 0.11762499999998965, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-09 exhausted recovery remains exhausted", + "status": "passed", + "duration": 0.02791700000000219, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / neutral", + "status": "passed", + "duration": 0.04279100000000824, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / no-approval", + "status": "passed", + "duration": 0.03720800000000679, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / scoped-negation", + "status": "passed", + "duration": 0.039957999999998606, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / historical-quote", + "status": "passed", + "duration": 0.039666999999994346, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / spanish", + "status": "passed", + "duration": 0.04716599999999005, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / optional-next-steps", + "status": "passed", + "duration": 0.048790999999994256, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / all-done", + "status": "passed", + "duration": 0.046916999999993436, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / keep-going", + "status": "passed", + "duration": 0.040207999999992694, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / empty", + "status": "passed", + "duration": 0.040542000000002076, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (1)", + "status": "passed", + "duration": 86.75225, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (2)", + "status": "passed", + "duration": 28.302624999999807, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (3)", + "status": "passed", + "duration": 21.875125000000025, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (4)", + "status": "passed", + "duration": 22.098375000000033, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (5)", + "status": "passed", + "duration": 22.724958000000242, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not roll back the ledger when a fast repair finishes before enqueue returns", + "status": "passed", + "duration": 25.492750000000342, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority keeps the same bounded episode across restart and commentary, then escalates only after agent attempts", + "status": "passed", + "duration": 52.18854199999987, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-02 full recovery sweep cannot replenish an exhausted episode with silent", + "status": "passed", + "duration": 86.55933300000015, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-02 full recovery sweep cannot replenish an exhausted episode with comments", + "status": "passed", + "duration": 79.88683399999991, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-02 full recovery sweep cannot replenish an exhausted episode with tool-calls", + "status": "passed", + "duration": 73.4045000000001, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 approval introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 59.43541700000014, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 budget introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 38.9953330000003, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 pause introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 40.773459, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 reassigned introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 41.415958000000046, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-04 a delayed second repair remains promotable after controller restart", + "status": "passed", + "duration": 31.574458999999933, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-01 repairs preserve prior infrastructure and productive debits", + "status": "passed", + "duration": 22.73349999999982, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-04 rejects a delayed repair with foreign-source", + "status": "passed", + "duration": 35.40099999999984, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-04 rejects a delayed repair with changed-episode", + "status": "passed", + "duration": 30.043333000000075, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-04 rejects a delayed repair with exhausted-slot", + "status": "passed", + "duration": 28.255125000000135, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority persists the source identity while the second repair waits to dispatch", + "status": "passed", + "duration": 20.18220799999972, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not stack a new repair budget on the retry_queued comment policy", + "status": "passed", + "duration": 5.447582999999668, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not stack a new repair budget on the retry_exhausted comment policy", + "status": "passed", + "duration": 5.924291999999696, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not grant a new budget to exhausted pre-upgrade continuation", + "status": "passed", + "duration": 15.696249999999964, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors durable done instead of the final summary", + "status": "passed", + "duration": 5.569790999999896, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors durable cancelled instead of the final summary", + "status": "passed", + "duration": 3.2144170000001395, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors durable blocked instead of the final summary", + "status": "passed", + "duration": 5.21520799999962, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors durable in_review instead of the final summary", + "status": "passed", + "duration": 5.284333999999944, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority respects a pending approval while the issue still says in progress", + "status": "passed", + "duration": 5.66333399999985, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority rechecks a newly pending approval at dispatch without spending another attempt", + "status": "passed", + "duration": 18.504750000000058, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority preserves repair authority and its budget through a typed infrastructure retry", + "status": "passed", + "duration": 20.583458999999948, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority suppresses a queued repair after done", + "status": "passed", + "duration": 15.16262500000039, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority suppresses a queued repair after paused", + "status": "passed", + "duration": 15.374624999999924, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority suppresses a queued repair after reassigned", + "status": "passed", + "duration": 14.40637499999957, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority suppresses a queued repair after stopped", + "status": "passed", + "duration": 11.81979199999978, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority leaves goal-control run ownership intact: {\"goalControlRequestId\":\"control\"}", + "status": "passed", + "duration": 5.672125000000051, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority leaves goal-control run ownership intact: {\"resumeSessionGoalHeartbeat\":true}", + "status": "passed", + "duration": 5.25774999999976, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority leaves a due monitor as the owner of the next step", + "status": "passed", + "duration": 5.170166999999765, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors pause and changed ownership without spending a repair attempt", + "status": "passed", + "duration": 12.25741700000026, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority the delayed sweep ignores old diagnostic labels and uses the same repair path", + "status": "passed", + "duration": 194.15091699999994, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "server/src/services/recovery/legacy-continuation.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "legacy continuation authority requests agent repair for a successful process without a task disposition", + "status": "passed", + "duration": 1.0329579999999936, + "failureMessages": [] + }, + { + "name": "legacy continuation authority respects persisted done disposition", + "status": "passed", + "duration": 0.11750000000000682, + "failureMessages": [] + }, + { + "name": "legacy continuation authority respects persisted cancelled disposition", + "status": "passed", + "duration": 0.04333300000000406, + "failureMessages": [] + }, + { + "name": "legacy continuation authority respects persisted blocked disposition", + "status": "passed", + "duration": 0.039917000000002645, + "failureMessages": [] + }, + { + "name": "legacy continuation authority respects persisted in_review disposition", + "status": "passed", + "duration": 0.03958299999999326, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a failed process into repair", + "status": "passed", + "duration": 0.04116700000000151, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a cancelled process into repair", + "status": "passed", + "duration": 0.028916999999992754, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a interrupted process into repair", + "status": "passed", + "duration": 0.035708999999997104, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a timed_out process into repair", + "status": "passed", + "duration": 0.04229200000000333, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a running process into repair", + "status": "passed", + "duration": 0.05070900000001188, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves stopped", + "status": "passed", + "duration": 0.0401250000000033, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves paused", + "status": "passed", + "duration": 0.024709000000001424, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves budgetBlocked", + "status": "passed", + "duration": 0.020333000000007928, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves pendingWait", + "status": "passed", + "duration": 0.02216699999999605, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves activeExecution", + "status": "passed", + "duration": 0.024374999999992042, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves ownedLifecycle", + "status": "passed", + "duration": 0.019083000000009065, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves conversation", + "status": "passed", + "duration": 0.01675000000000182, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not repair with a paused agent", + "status": "passed", + "duration": 0.026583000000002244, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not repair with a terminated agent", + "status": "passed", + "duration": 0.01650000000000773, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not repair with a pending_approval agent", + "status": "passed", + "duration": 0.017583000000001903, + "failureMessages": [] + }, + { + "name": "legacy continuation authority rejects foreign agent and reassigned issue", + "status": "passed", + "duration": 0.049624999999991815, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves the episode through two attempts and exhaustion", + "status": "passed", + "duration": 0.16283300000000622, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not resurrect an exhausted pre-upgrade liveness or handoff budget", + "status": "passed", + "duration": 0.11295900000000358, + "failureMessages": [] + }, + { + "name": "legacy continuation authority keeps replay identity stable while a genuinely new episode gets its own identity", + "status": "passed", + "duration": 0.23441599999999596, + "failureMessages": [] + }, + { + "name": "legacy continuation authority leaves native finalization to its own authority", + "status": "passed", + "duration": 0.04333300000000406, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-09", + "status": "pass", + "assertions": [ + { + "name": "LCA full heartbeat observation LCA-09 exhausted recovery ignores commentary but admits a new user request", + "status": "passed", + "duration": 148.24154200000066, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "server/src/__tests__/disposition-repair.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "owner-sticky disposition repair classifies a deliberate wait without a target into its dedicated bounded lane", + "status": "passed", + "duration": 1.02374999999995, + "failureMessages": [] + }, + { + "name": "owner-sticky disposition repair uses the persisted five-attempt owner-sticky schedule with bounded deterministic jitter", + "status": "passed", + "duration": 0.5812499999999545, + "failureMessages": [] + } + ] + }, + { + "lane": "runner", + "file": "packages/paperclip-runner/src/native-session-runtime.test.ts", + "pattern": "result.less|proposal.less|semantic result", + "status": "pass", + "assertions": [ + { + "name": "executeNativeSession recovery reconciles an out-of-band 'complete' goal (after semantic result: false)", + "status": "passed", + "duration": 26.597541999999976, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'complete' goal (after semantic result: true)", + "status": "passed", + "duration": 26.60445900000002, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'paused' goal (after semantic result: false)", + "status": "passed", + "duration": 25.890457999999967, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'paused' goal (after semantic result: true)", + "status": "passed", + "duration": 26.292540999999915, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'blocked' goal (after semantic result: false)", + "status": "passed", + "duration": 26.70237499999996, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'blocked' goal (after semantic result: true)", + "status": "passed", + "duration": 26.741041999999993, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'limited' goal (after semantic result: false)", + "status": "passed", + "duration": 27.07412499999998, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'limited' goal (after semantic result: true)", + "status": "passed", + "duration": 26.026791000000003, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'usageLimited' goal (after semantic result: false)", + "status": "passed", + "duration": 26.947750000000042, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'usageLimited' goal (after semantic result: true)", + "status": "passed", + "duration": 26.744459000000006, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'budgetLimited' goal (after semantic result: false)", + "status": "passed", + "duration": 26.718458000000055, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'budgetLimited' goal (after semantic result: true)", + "status": "passed", + "duration": 25.884874999999965, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery ACCT-04 resolves a proposal-less durable disposition after silent without replenishing consumed repair", + "status": "passed", + "duration": 0.6236669999998412, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery ACCT-04 resolves a proposal-less durable disposition after commentary without replenishing consumed repair", + "status": "passed", + "duration": 0.39466600000014296, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery ACCT-04 resolves a proposal-less durable disposition after tool-events without replenishing consumed repair", + "status": "passed", + "duration": 0.3316660000000411, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery resolves a checkpointed result-less disposition without resubmitting when its terminal event is missing", + "status": "passed", + "duration": 0.472374999999829, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery keeps a reconstructed semantic result on its matched terminal turn", + "status": "passed", + "duration": 0.6253750000000764, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery accepts a control-plane governed wait when a completed turn omitted its semantic result", + "status": "passed", + "duration": 0.385124999999789, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/services/native-runtime/native-safe-replacement.test.ts", + "pattern": "exhausted|another run id", + "status": "pass", + "assertions": [ + { + "name": "durable replacement and control recovery automatically closes an exhausted incident once, preserves ownership, and records no replay", + "status": "passed", + "duration": 218.72137500000008, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery never resets an exhausted incident by assigning another run id", + "status": "passed", + "duration": 242.6604580000003, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-repair-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-repair-challenge", + "status": "not_run" + } + ] + }, + { + "id": "LCA-10", + "name": "Stop, pause and budget", + "expected": "Distinct stop/pause semantics; no unauthorized continuation", + "coverage": [ + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-10", + "status": "pass", + "assertions": [ + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 native accepted approval preserves the paused admission gate", + "status": "passed", + "duration": 4.372333999999682, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the paused admission gate", + "status": "passed", + "duration": 3.749333000000661, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 native accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 7.1030000000000655, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 7.269042000000809, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-10", + "status": "pass", + "assertions": [ + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate budget survives encouraging prose", + "status": "passed", + "duration": 0.0654169999999965, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate duplicate survives encouraging prose", + "status": "passed", + "duration": 0.05500000000000682, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate wrong-company survives encouraging prose", + "status": "passed", + "duration": 0.04029199999999378, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate paused-agent survives encouraging prose", + "status": "passed", + "duration": 0.03841699999999548, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / neutral", + "status": "passed", + "duration": 0.03845899999998892, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / no-approval", + "status": "passed", + "duration": 0.03958400000000495, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / scoped-negation", + "status": "passed", + "duration": 0.035833000000010884, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / historical-quote", + "status": "passed", + "duration": 0.03891699999999787, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / spanish", + "status": "passed", + "duration": 0.04116700000000151, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / optional-next-steps", + "status": "passed", + "duration": 0.037500000000008527, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / all-done", + "status": "passed", + "duration": 0.03554199999999241, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / keep-going", + "status": "passed", + "duration": 0.035042000000004236, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / empty", + "status": "passed", + "duration": 0.03570799999999963, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-stale-queue-invalidation.test.ts", + "pattern": "cap|gate|ownership|before adapter", + "status": "pass", + "assertions": [ + { + "name": "heartbeat stale queued-run invalidation skips generic timer wakes with no actionable assigned work before adapter execution", + "status": "passed", + "duration": 357.7614169999997, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation cancels a resolved connection-intent wake 'parked' after checkout but before adapter dispatch", + "status": "passed", + "duration": 596.2505829999991, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation cancels a resolved connection-intent wake 'reassigned' after checkout but before adapter dispatch", + "status": "passed", + "duration": 558.2590830000008, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation rejects ownership changes immediately before the final continuation handoff", + "status": "passed", + "duration": 634.622625, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips wakes before queueing when per-agent daily run cap is reached", + "status": "passed", + "duration": 356.99216700000034, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation treats zero daily run cap as a hard stop", + "status": "passed", + "duration": 360.9907089999997, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation counts started cancelled runs toward the per-agent daily run cap", + "status": "passed", + "duration": 380.47312500000044, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation coalesces same-issue wakes before enforcing the daily run cap", + "status": "passed", + "duration": 442.4894999999997, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips wakes before queueing when per-agent daily cost cap is reached", + "status": "passed", + "duration": 361.66416599999866, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation treats zero daily cost cap as a hard stop", + "status": "passed", + "duration": 384.14916599999924, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips already queued runs before adapter execution when the daily cost cap is reached", + "status": "passed", + "duration": 399.7529160000013, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips already queued issue runs at the daily run cap and releases the execution lock", + "status": "passed", + "duration": 406.58683400000155, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation promotes deferred issue wakes when a queued holder is cancelled by the daily run cap", + "status": "passed", + "duration": 419.41804200000115, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "budget|pause|cancel|gate", + "status": "pass", + "assertions": [ + { + "name": "heartbeat bounded retry scheduling retains the failure budget after many pre-provider workspace_busy waits", + "status": "passed", + "duration": 76.21933399999989, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling retains the failure budget after many pre-provider ai_connection_busy waits", + "status": "passed", + "duration": 67.10912499999995, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the dependency gate for interrupted conversations", + "status": "passed", + "duration": 54.7287080000001, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the disabled gate for interrupted conversations", + "status": "passed", + "duration": 62.40804200000002, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the reassigned gate for interrupted conversations", + "status": "passed", + "duration": 73.59137499999997, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to blocked before retry promotion", + "status": "passed", + "duration": 70.32262499999979, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to todo before retry promotion", + "status": "passed", + "duration": 47.170750000000226, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to backlog before retry promotion", + "status": "passed", + "duration": 45.98145899999963, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling run-dispatch module transactions rolls back the wakeup-request update when the run-event write fails during a gate-suppressed cancellation", + "status": "passed", + "duration": 37.706583999999566, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling run-dispatch module transactions keeps promotion and stale-queued-run cancellation company-scoped", + "status": "passed", + "duration": 612.7537919999995, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling run-dispatch module transactions never writes another company's wakeup request during suppressed-retry or stale-queued-run cancellation", + "status": "passed", + "duration": 49.91008299999885, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:stop-new-resume", + "status": "not_run" + }, + { + "id": "everyday-workflows:stop-redirect", + "status": "not_run" + }, + { + "id": "agent-chat:stop-new-resume", + "status": "not_run" + } + ] + }, + { + "id": "LCA-11", + "name": "Terminal ordering and cleanup", + "expected": "Completion report is not provider success; terminal/cleanup events retain their authority", + "coverage": [ + { + "lane": "runner", + "file": "tests/lifecycle-baseline/runner.test.ts", + "pattern": "LCA-11", + "status": "pass", + "assertions": [ + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / neutral", + "status": "passed", + "duration": 0.14799999999999613, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / no-approval", + "status": "passed", + "duration": 0.06433300000000486, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / scoped-negation", + "status": "passed", + "duration": 0.058625000000006366, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / historical-quote", + "status": "passed", + "duration": 0.05637500000000273, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / spanish", + "status": "passed", + "duration": 0.0539579999999944, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / optional-next-steps", + "status": "passed", + "duration": 0.051167000000006624, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / all-done", + "status": "passed", + "duration": 0.04662500000000591, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / keep-going", + "status": "passed", + "duration": 0.04316699999999685, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / empty", + "status": "passed", + "duration": 0.04708300000000065, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-11", + "status": "pass", + "assertions": [ + { + "name": "LCA native authority pairs LCA-11 late failure / neutral", + "status": "passed", + "duration": 0.046583000000012476, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / no-approval", + "status": "passed", + "duration": 0.03745799999998667, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / scoped-negation", + "status": "passed", + "duration": 0.036875000000009095, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / historical-quote", + "status": "passed", + "duration": 0.037500000000008527, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / spanish", + "status": "passed", + "duration": 0.04329199999999389, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / optional-next-steps", + "status": "passed", + "duration": 0.036875000000009095, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / all-done", + "status": "passed", + "duration": 0.0367909999999938, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / keep-going", + "status": "passed", + "duration": 0.036457999999996105, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / empty", + "status": "passed", + "duration": 0.0360419999999948, + "failureMessages": [] + } + ] + }, + { + "lane": "runner", + "file": "packages/paperclip-runner/src/native-session-runtime.test.ts", + "pattern": "terminal|completion report|cleanup|handoff", + "status": "pass", + "assertions": [ + { + "name": "executeNativeSession recovery preserves durable success while quarantined cleanup stays bounded", + "status": "passed", + "duration": 1.6366669999999885, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery stops scheduled cleanup after the quarantine lifetime budget", + "status": "passed", + "duration": 1.2801670000000058, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery retains late bootstrap cleanup through the next admission", + "status": "passed", + "duration": 1.0188750000000937, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when provider result never settles", + "status": "passed", + "duration": 0.6695829999999887, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when completion checkpoint never settles", + "status": "passed", + "duration": 0.45545800000002146, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when control-plane replay never settles", + "status": "passed", + "duration": 0.4737079999999878, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when final event append never settles", + "status": "passed", + "duration": 0.504833000000076, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when run completion never settles", + "status": "passed", + "duration": 0.5294999999999845, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery commits cancellation before bounding failed provider cleanup", + "status": "passed", + "duration": 204.94454200000007, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves a permanent integrity failure through required cleanup ({\"typed\":true,\"closeFails\":false})", + "status": "passed", + "duration": 0.668292000000065, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves a permanent integrity failure through required cleanup ({\"typed\":true,\"closeFails\":true})", + "status": "passed", + "duration": 0.3562080000001515, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves a permanent integrity failure through required cleanup ({\"typed\":false,\"closeFails\":true})", + "status": "passed", + "duration": 0.31816700000013043, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves a permanent integrity failure through required cleanup ({\"typed\":true,\"closeFails\":true,\"startupRace\":true})", + "status": "passed", + "duration": 0.3252500000000964, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery commits a governed wait without waiting for abort-insensitive provider cleanup", + "status": "passed", + "duration": 100.7812080000001, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery uses the execution timeout when a completion report has no provider terminal", + "status": "passed", + "duration": 173.0168749999998, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery retains a reusable session while a semantic terminal releases its remote subscription", + "status": "passed", + "duration": 150.37620800000013, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery replaces a provider session that already ended with a failed terminal", + "status": "passed", + "duration": 0.5301660000000084, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery resolves a checkpointed result-less disposition without resubmitting when its terminal event is missing", + "status": "passed", + "duration": 0.472374999999829, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery keeps a reconstructed semantic result on its matched terminal turn", + "status": "passed", + "duration": 0.6253750000000764, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery aborts and bounds a durable handoff that never settles", + "status": "passed", + "duration": 126.68645800000013, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves terminal success while iterator teardown remains pending", + "status": "passed", + "duration": 51.056916, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves terminal success while quarantining stalled handoff cleanup", + "status": "passed", + "duration": 103.0612500000002, + "failureMessages": [] + } + ] + } + ], + "live": [] + }, + { + "id": "LCA-12", + "name": "Replay, restart and stale ownership", + "expected": "One successor, preserved receipts/budgets; stale finalizers cannot mutate new ownership", + "coverage": [ + { + "lane": "grading", + "file": "tests/runner-e2e/lifecycle-baseline.test.ts", + "pattern": "LCA-12", + "status": "pass", + "assertions": [ + { + "name": "LCA Product E2E evidence calibration LCA-12 rejects lost original receipt", + "status": "passed", + "duration": 0.07491699999999923, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-12", + "status": "pass", + "assertions": [ + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate budget survives encouraging prose", + "status": "passed", + "duration": 0.0654169999999965, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate duplicate survives encouraging prose", + "status": "passed", + "duration": 0.05500000000000682, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate wrong-company survives encouraging prose", + "status": "passed", + "duration": 0.04029199999999378, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate paused-agent survives encouraging prose", + "status": "passed", + "duration": 0.03841699999999548, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / neutral", + "status": "passed", + "duration": 0.037750000000002615, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / no-approval", + "status": "passed", + "duration": 0.035041999999990026, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / scoped-negation", + "status": "passed", + "duration": 0.03466699999999889, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / historical-quote", + "status": "passed", + "duration": 0.03420799999999247, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / spanish", + "status": "passed", + "duration": 0.03412500000000307, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / optional-next-steps", + "status": "passed", + "duration": 0.03929200000000321, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / all-done", + "status": "passed", + "duration": 0.038375000000002046, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / keep-going", + "status": "passed", + "duration": 0.03458300000001202, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / empty", + "status": "passed", + "duration": 0.035125000000007844, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/native-finalization-recovery.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "P6-16/P6-25/P6-28 native finalization recovery fails closed into bounded named recovery without consulting the live flag or falling back", + "status": "passed", + "duration": 75.60191699999996, + "failureMessages": [] + }, + { + "name": "P6-16/P6-25/P6-28 native finalization recovery retires an older failed finalizer when a newer run already committed the issue", + "status": "passed", + "duration": 24.61441700000023, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery discovers exact committed results even with stale nativePhase or privately recovered errors", + "status": "passed", + "duration": 16.849959000000126, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"runtimeMode\":\"legacy\"}}", + "status": "passed", + "duration": 4.559499999999389, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"status\":\"running\"}}", + "status": "passed", + "duration": 4.044292000000496, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"finishedAt\":null}}", + "status": "passed", + "duration": 4.602249999999913, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"error\":\"another failure\"}}", + "status": "passed", + "duration": 3.806416999999783, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"errorCode\":\"setup_failed\"}}", + "status": "passed", + "duration": 3.533625000000029, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"error\":\"newer failure\",\"errorCode\":\"adapter_failed\",\"resultJson\":{\"recoveredExecutionFailure\":{\"error\":\"provider_transport_failed: runner did not durably suspend before checkpoint\",\"errorCode\":\"adapter_failed\"}}}}", + "status": "passed", + "duration": 3.2254170000005615, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"schemaStatus\":\"rejected\"}", + "status": "passed", + "duration": 3.170165999999881, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"phase\":\"retryable_failure\"}}", + "status": "passed", + "duration": 3.2240419999998267, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"nextAttemptAt\":\"1970-01-01T00:00:00.000Z\"}}", + "status": "passed", + "duration": 2.922207999999955, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"leaseOwner\":\"another-controller\",\"leaseExpiresAt\":\"2026-09-23T14:25:26.603Z\"}}", + "status": "passed", + "duration": 3.1128749999998035, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"recoveryHistory\":[{\"kind\":\"native_cleanup_maintenance\",\"phase\":\"started\"}]}}", + "status": "passed", + "duration": 3.0583340000002863, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"recoveryHistory\":[{\"kind\":\"native_cleanup_maintenance\",\"phase\":\"settled\"}]}}", + "status": "passed", + "duration": 3.098792000000685, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"recoveryHistory\":[{\"kind\":\"native_cleanup_maintenance\",\"phase\":\"operator_required\"}]}}", + "status": "passed", + "duration": 3.6864159999995536, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"recoveryHistory\":[{\"kind\":\"native_cleanup_source_archive\",\"phase\":\"operator_required\"}]}}", + "status": "passed", + "duration": 2.8657499999999345, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"recoveryHistory\":[{\"kind\":\"native_cleanup_source_archive\",\"phase\":\"prepared\"},{\"kind\":\"native_cleanup_runner_epoch\",\"phase\":\"spawned\",\"epoch\":1,\"pid\":88736}]}}", + "status": "passed", + "duration": 4.616542000000663, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery discovers a single legacy failed attempt only for independent physical proof", + "status": "passed", + "duration": 4.610999999999876, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery discovers prelaunch source archival at prepared without changing authority", + "status": "passed", + "duration": 4.910125000000335, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery discovers prelaunch source archival at archived without changing authority", + "status": "passed", + "duration": 3.8575419999997393, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery fences actual scoped admission until every archived owner has its matching latest settlement", + "status": "passed", + "duration": 13.052874999999403, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with new epoch", + "status": "passed", + "duration": 3.2849999999998545, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with third attempt", + "status": "passed", + "duration": 3.4803750000000946, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with reordered phases", + "status": "passed", + "duration": 3.140832999999475, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with different request", + "status": "passed", + "duration": 2.8612499999999272, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with unversioned entry", + "status": "passed", + "duration": 3.2092499999998836, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with settled attempt", + "status": "passed", + "duration": 3.247707999999875, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with unknown failure", + "status": "passed", + "duration": 2.954291999999441, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with missing source", + "status": "passed", + "duration": 3.1844590000000608, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery joins overlap and advances beyond a permanently ineligible first candidate", + "status": "passed", + "duration": 8.750082999999904, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery isolates one failure and resets its joined owner for the next bounded sweep", + "status": "passed", + "duration": 7.779332999999497, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/services/native-runtime/native-safe-replacement.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "durable replacement and control recovery preserves saved work and a queued request at a controlled recovery boundary (verified)", + "status": "passed", + "duration": 295.25549999999976, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery preserves saved work and a queued request at a controlled recovery boundary (unproven)", + "status": "passed", + "duration": 224.17774999999983, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery preserves saved work and a queued request at a controlled recovery boundary (unknown_action)", + "status": "passed", + "duration": 223.10558299999957, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery requires stopped-session proof through commit (unproven)", + "status": "passed", + "duration": 198.52099999999973, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery requires stopped-session proof through commit (changed)", + "status": "passed", + "duration": 213.60808299999962, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery requires stopped-session proof through commit (verified)", + "status": "passed", + "duration": 264.8642919999993, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (missing_receipt)", + "status": "passed", + "duration": 197.46629200000007, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (other_run)", + "status": "passed", + "duration": 227.9032500000003, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (other_cause)", + "status": "passed", + "duration": 227.32924999999977, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (manual_reblock)", + "status": "passed", + "duration": 205.61970799999926, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (dependency_edit)", + "status": "passed", + "duration": 226.47699999999986, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (queued_comment)", + "status": "passed", + "duration": 250.93087500000001, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery automatically closes an exhausted incident once, preserves ownership, and records no replay", + "status": "passed", + "duration": 218.72137500000008, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not let a full batch awaiting replacement starve an eligible disposition", + "status": "passed", + "duration": 241.30275000000074, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery rolls back a crashed automatic disposition and completes it on the next sweep", + "status": "passed", + "duration": 245.06925000000047, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not let the automatic fallback preempt a safe replacement", + "status": "passed", + "duration": 189.85249999999996, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery closes stale recovery after closed without changing task state or granting replay", + "status": "passed", + "duration": 257.0797080000002, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery closes stale recovery after reassigned without changing task state or granting replay", + "status": "passed", + "duration": 247.42483300000004, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery closes stale recovery after new_execution without changing task state or granting replay", + "status": "passed", + "duration": 238.40312499999982, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery cancels a durable native retry even when its previous provider is already failed", + "status": "passed", + "duration": 268.44275000000016, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery atomically terminalizes unsupported legacy recovery and preserves its owner", + "status": "passed", + "duration": 242.29675000000043, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not reopen a reconciled legacy run while continuation is pending", + "status": "passed", + "duration": 229.04283300000043, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery surfaces a failed current reviewer without transferring the original assignment", + "status": "passed", + "duration": 271.8909160000003, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not turn an already reconciled continuation into a recovery assignment", + "status": "passed", + "duration": 256.0287500000013, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery keeps an unclassified transport terminal operator-owned", + "status": "passed", + "duration": 232.41712499999994, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not reuse consumed wake authority after a later done transition", + "status": "passed", + "duration": 240.4650410000013, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not reuse consumed wake authority after a later cancelled transition", + "status": "passed", + "duration": 235.54466700000012, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not reuse consumed wake authority after a later review transition", + "status": "passed", + "duration": 229.36083399999916, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery persists exactly one linked successor under competing sweepers and restarts", + "status": "passed", + "duration": 218.4289579999986, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery retries status publication after a crash without dispatching provider work", + "status": "passed", + "duration": 216.59287500000028, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: native", + "status": "passed", + "duration": 226.8889169999984, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: legacy", + "status": "passed", + "duration": 239.52687499999956, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: native_precedes_context", + "status": "passed", + "duration": 265.0799999999999, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: missing", + "status": "passed", + "duration": 223.41137499999968, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: nonexistent", + "status": "passed", + "duration": 207.67112500000076, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: deleted", + "status": "passed", + "duration": 318.9924169999995, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: foreign", + "status": "passed", + "duration": 236.15250000000015, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: malformed", + "status": "passed", + "duration": 224.71237499999916, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: object", + "status": "passed", + "duration": 262.5629169999993, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: array", + "status": "passed", + "duration": 214.31720799999857, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: number", + "status": "passed", + "duration": 254.14800000000105, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: json_null", + "status": "passed", + "duration": 234.05533400000058, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: native_foreign", + "status": "passed", + "duration": 276.12112499999967, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: native_nonexistent", + "status": "passed", + "duration": 259.4066669999993, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery never resets an exhausted incident by assigning another run id", + "status": "passed", + "duration": 242.6604580000003, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery recovers a crash at successor_inserted without duplicate successors", + "status": "passed", + "duration": 270.6006660000003, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery recovers a crash at lineage_committed without duplicate successors", + "status": "passed", + "duration": 258.3557920000003, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not replay a provider-native command with unknown effects (PRP envelope: false)", + "status": "passed", + "duration": 367.841042, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not replay a provider-native command with unknown effects (PRP envelope: true)", + "status": "passed", + "duration": 301.22933300000113, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery surfaces a reviewer's abandoned control transition for the operator", + "status": "passed", + "duration": 285.7115410000006, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery fences a stranded finalization and surfaces one operator action after its deadline", + "status": "passed", + "duration": 262.96999999999935, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery bounds legacy finalization without adding a deadline to healthy provider execution", + "status": "passed", + "duration": 294.39800000000105, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not release another run's checkout or replace a reassigned task", + "status": "passed", + "duration": 274.7733329999992, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery requires explicit reconciled outcomes and rejects a still-running provider", + "status": "passed", + "duration": 288.0284580000007, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery retains a reconciliation delivery across dispatch failure and invalidates stale ownership", + "status": "passed", + "duration": 240.37804099999994, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/question-response-delivery.test.ts", + "pattern": "concurrent|interrupted|stale|receipt", + "status": "pass", + "assertions": [ + { + "name": "question response delivery reuses the winning wake when a concurrent insert hits the idempotency fence", + "status": "passed", + "duration": 39.66879199999994, + "failureMessages": [] + }, + { + "name": "question response delivery reuses a durable wake receipt instead of issuing a duplicate continuation", + "status": "passed", + "duration": 44.52599999999984, + "failureMessages": [] + }, + { + "name": "question response delivery recovers a completed wake when receipt finalization was interrupted", + "status": "passed", + "duration": 23.19966599999998, + "failureMessages": [] + }, + { + "name": "question response delivery fences a stale worker after a newer claim generation takes ownership", + "status": "passed", + "duration": 78.82500000000027, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-dependency-restart-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-dependency-restart-challenge", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:tool-review-restart", + "status": "not_run" + }, + { + "id": "everyday-workflows:recover-controller", + "status": "not_run" + } + ] + }, + { + "id": "LCA-13", + "name": "Owned review", + "expected": "Concrete reviewer; reviewer outcome drives next transition", + "coverage": [ + { + "lane": "unit", + "file": "server/src/services/native-runtime/status-arbiter.test.ts", + "pattern": "review", + "status": "pass", + "assertions": [ + { + "name": "native status authority a reviewer finishes its decision without completing rejected or still-reviewed work", + "status": "passed", + "duration": 1.444250000000011, + "failureMessages": [] + }, + { + "name": "native status authority routes an unfinished reviewer action to bounded recovery instead of retrying the worker task", + "status": "passed", + "duration": 0.18170800000000042, + "failureMessages": [] + }, + { + "name": "native status authority creates explicit liveness paths for review, continuation, cancellation, and governance", + "status": "passed", + "duration": 0.252750000000006, + "failureMessages": [] + }, + { + "name": "native status authority does not create a duplicate review after this run's review was already accepted", + "status": "passed", + "duration": 0.1853749999999934, + "failureMessages": [] + }, + { + "name": "native status authority does not create a duplicate review after this run's planning confirmation was already accepted", + "status": "passed", + "duration": 0.058334000000002106, + "failureMessages": [] + }, + { + "name": "native status authority routes each explicit request to its own reviewer", + "status": "passed", + "duration": 0.06329200000000412, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/native-status-arbiter-corpus.test.ts", + "pattern": "ATT|review|corpus", + "status": "pass", + "assertions": [ + { + "name": "P6-31 Section 18.13 executable status-authority corpus executes all 53 fixtures in their production consumers and joins all 70 matrix rows", + "status": "passed", + "duration": 848.6576249999998, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails independently when any asserted field category is mutated", + "status": "passed", + "duration": 617.8464170000002, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails mapped fixtures when live entrypoints or owning actions are removed despite matching policy labels", + "status": "passed", + "duration": 65.60950000000048, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus retires a proven automatic review and applies the current successful completion exactly once", + "status": "passed", + "duration": 73.87275000000045, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus completes a new merge run after an old CI review and bounds repeated incomplete results", + "status": "passed", + "duration": 81.67841599999974, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus rejects wrong, missing, and duplicate criterion IDs before accepting completion", + "status": "passed", + "duration": 16.397249999999985, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus keeps genuine approval actionable in the finish response and in finalization", + "status": "passed", + "duration": 52.744416999999885, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves answered cards, explicit attention, stronger authority, and later task edits", + "status": "passed", + "duration": 162.577542, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus rejects an empty needs_review report with actionable feedback without inventing an approval", + "status": "passed", + "duration": 19.40191700000014, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus withdraws obsolete policy reviews, restores the prior status, and is idempotent", + "status": "passed", + "duration": 39.493375000000015, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus leaves an already accepted review untouched", + "status": "passed", + "duration": 12.936542000000372, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus leaves an already rejected review untouched", + "status": "passed", + "duration": 15.454125000000204, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves real completion reviews and limits cleanup to the requested runs", + "status": "passed", + "duration": 24.371291999999812, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later blocked status", + "status": "passed", + "duration": 19.814542000000074, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later done status", + "status": "passed", + "duration": 18.30341700000008, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later cancelled status", + "status": "passed", + "duration": 19.013708999999835, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus does not restore status after a newer decision or a status change back to review", + "status": "passed", + "duration": 36.622166999999536, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus keeps review status when a separate request still needs a response", + "status": "passed", + "duration": 14.700417000000016, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus isolates a failed cleanup candidate and retries it on the next pass", + "status": "passed", + "duration": 40.64683299999979, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus keeps committed cleanup and continues publication after a live event fails", + "status": "passed", + "duration": 34.221832999999606, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus continues native finalization when the obsolete-card lookup fails", + "status": "passed", + "duration": 20.9292089999999, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves a later authoritative status during reconciliation", + "status": "passed", + "duration": 0.11829200000011042, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus supersedes the exact committed coordinator decision and sequences preserve decisions independently of issue status versions", + "status": "passed", + "duration": 7.853417000000263, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus keeps assessment lineage run-local while superseding an issue decision from another run", + "status": "passed", + "duration": 9.15979200000038, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves an intermediate same-run assessment when the issue decision points to an older ancestor", + "status": "passed", + "duration": 6.4493750000001455, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus ignores historical committed finalizations superseded by a newer authoritative decision", + "status": "passed", + "duration": 7.896667000000889, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with none predecessor", + "status": "passed", + "duration": 5.701917000000321, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with same_run predecessor", + "status": "passed", + "duration": 6.859040999999706, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with other_run predecessor", + "status": "passed", + "duration": 8.28400000000056, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus binds a tools-refresh continuation to its existing durable wake without a duplicate", + "status": "passed", + "duration": 10.645667000000685, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails the transaction closed for an unknown status effect", + "status": "passed", + "duration": 4.544832999999926, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "runner-evals:request-task-review", + "status": "not_run" + } + ] + }, + { + "id": "ACCT-01", + "name": "Separate productive, repair and infrastructure allowances", + "expected": "Each lane spends only its own allowance", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/accounting.test.ts", + "pattern": "ACCT-01", + "status": "pass", + "assertions": [ + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance a disposition repair attempt 0 is not a failed provider attempt", + "status": "passed", + "duration": 0.732167000000004, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance a disposition repair attempt 1 is not a failed provider attempt", + "status": "passed", + "duration": 0.09779100000000085, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance a disposition repair attempt 2 is not a failed provider attempt", + "status": "passed", + "duration": 0.07612500000000466, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance productive continuation count 0 is not failure count", + "status": "passed", + "duration": 0.0577080000000052, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance productive continuation count 1 is not failure count", + "status": "passed", + "duration": 0.04112499999999386, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance productive continuation count 2 is not failure count", + "status": "passed", + "duration": 0.032083000000000084, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance productive continuation count 10 is not failure count", + "status": "passed", + "duration": 0.03037500000000648, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance workspace_busy preserves prior failures regardless of wait count", + "status": "passed", + "duration": 0.07537499999999397, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ai_connection_busy preserves prior failures regardless of wait count", + "status": "passed", + "duration": 0.05991700000001288, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'silent' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.3911249999999882, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'confident' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.09458399999999756, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'comments' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.09524999999999295, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'tool calls' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.0739590000000021, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'stale diagnostic' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.07187500000000568, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 stopped wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.05445799999999679, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 paused wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.024999999999991473, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 budgetBlocked wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.024416000000002214, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 pendingWait wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.02558299999999747, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 activeExecution wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.021500000000003183, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 ownedLifecycle wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.021333999999995967, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-04 episode identity survives arbitrary failure and resource-wait counters", + "status": "passed", + "duration": 0.05562499999999204, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "server/src/services/execution-recovery-attempt.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "failure attempts across resource waits preserves prior failures through subscription waits without trusting unrelated context", + "status": "passed", + "duration": 0.669124999999994, + "failureMessages": [] + }, + { + "name": "failure attempts across resource waits preserves prior failures through repeated workspace waits", + "status": "passed", + "duration": 0.055291999999994346, + "failureMessages": [] + }, + { + "name": "failure attempts across resource waits does not trust a caller-supplied count outside a server-created workspace retry", + "status": "passed", + "duration": 0.043290999999996416, + "failureMessages": [] + }, + { + "name": "failure attempts across resource waits keeps ambiguous historical counts without treating a historical productive count as failures", + "status": "passed", + "duration": 0.05412499999999909, + "failureMessages": [] + }, + { + "name": "persisted independent accounting max_turns_continuation cannot erase prior infrastructure debits or spend more", + "status": "passed", + "duration": 0.05187499999999545, + "failureMessages": [] + }, + { + "name": "persisted independent accounting issue_disposition_repair cannot erase prior infrastructure debits or spend more", + "status": "passed", + "duration": 0.03233299999999417, + "failureMessages": [] + }, + { + "name": "persisted independent accounting workspace_busy cannot erase prior infrastructure debits or spend more", + "status": "passed", + "duration": 0.02904200000000401, + "failureMessages": [] + }, + { + "name": "persisted independent accounting ai_connection_busy cannot erase prior infrastructure debits or spend more", + "status": "passed", + "duration": 0.03712500000000318, + "failureMessages": [] + }, + { + "name": "persisted independent accounting never lowers the current failure count from a partial or stale ledger", + "status": "passed", + "duration": 0.07800000000000296, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": "ACCT-01", + "status": "pass", + "assertions": [ + { + "name": "legacy continuation persisted authority ACCT-01 repairs preserve prior infrastructure and productive debits", + "status": "passed", + "duration": 22.73349999999982, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "ACCT-01", + "status": "pass", + "assertions": [ + { + "name": "heartbeat bounded retry scheduling ACCT-01 a failed disposition repair 1 receives its own first infrastructure retry", + "status": "passed", + "duration": 62.004791000000296, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling ACCT-01 a failed disposition repair 2 receives its own first infrastructure retry", + "status": "passed", + "duration": 52.532250000000204, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling ACCT-01 infrastructure failures do not spend the first productive max-turn continuation", + "status": "passed", + "duration": 71.44616700000006, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling ACCT-01 alternating failures, productive continuations and waits preserve both allowances after restart", + "status": "passed", + "duration": 93.26637500000015, + "failureMessages": [] + } + ] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/accounting.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "ACCT calibrated live accounting evidence retains every accounting screenshot through the existing evidence allowlist", + "status": "passed", + "duration": 8.132207999999991, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence discovers eight explicit-only real-provider cells and excludes unsupported native repair injection", + "status": "passed", + "duration": 0.7801670000000058, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-neutral' recording", + "status": "passed", + "duration": 0.6592499999999859, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-noisy' recording", + "status": "passed", + "duration": 0.18683300000000713, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-neutral' recording", + "status": "passed", + "duration": 0.15183400000000802, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-noisy' recording", + "status": "passed", + "duration": 0.09933300000000145, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-stop' recording", + "status": "passed", + "duration": 0.1114159999999913, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-approval' recording", + "status": "passed", + "duration": 0.08799999999999386, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-productive-neutral", + "status": "passed", + "duration": 0.12658400000000825, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-exhaustion-noisy", + "status": "passed", + "duration": 0.1372920000000022, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-stop", + "status": "passed", + "duration": 0.09445800000000304, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-approval", + "status": "passed", + "duration": 0.07366700000000037, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive noise", + "status": "passed", + "duration": 0.1677919999999915, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive extra-run", + "status": "passed", + "duration": 0.09091599999999289, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-runtime", + "status": "passed", + "duration": 0.07516599999999585, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive pending-retry", + "status": "passed", + "duration": 0.07637499999998454, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive repair-debt", + "status": "passed", + "duration": 0.07900000000000773, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-document", + "status": "passed", + "duration": 0.07879199999999287, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive premature-document", + "status": "passed", + "duration": 0.059333000000009406, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-answer", + "status": "passed", + "duration": 0.07137499999998909, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-state", + "status": "passed", + "duration": 0.08275000000000432, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive rewritten-document", + "status": "passed", + "duration": 0.06354200000001242, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive deduplicated-noise", + "status": "passed", + "duration": 0.21812500000001478, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair new-episode", + "status": "passed", + "duration": 0.15395799999998871, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair reset-attempt", + "status": "passed", + "duration": 0.0696670000000097, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair extra-repair", + "status": "passed", + "duration": 0.05579199999999673, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair user-comment", + "status": "passed", + "duration": 0.06537499999998886, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair restart-loss", + "status": "passed", + "duration": 0.05095900000000597, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair hidden-exhaustion", + "status": "passed", + "duration": 0.056583999999986645, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects Stop that still dispatched the provider", + "status": "passed", + "duration": 0.0820410000000038, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects pending approval competing with repair and declined approval continuing", + "status": "passed", + "duration": 0.06729199999998059, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation-accounting:accounting-productive-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-productive-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-stop", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-approval", + "status": "not_run" + } + ] + }, + { + "id": "ACCT-02", + "name": "False progress and exhaustion", + "expected": "Comments, wording and raw tool counts cannot replenish attempts", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/accounting.test.ts", + "pattern": "ACCT-02", + "status": "pass", + "assertions": [ + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance a disposition repair attempt 0 is not a failed provider attempt", + "status": "passed", + "duration": 0.732167000000004, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance a disposition repair attempt 1 is not a failed provider attempt", + "status": "passed", + "duration": 0.09779100000000085, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance a disposition repair attempt 2 is not a failed provider attempt", + "status": "passed", + "duration": 0.07612500000000466, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance productive continuation count 0 is not failure count", + "status": "passed", + "duration": 0.0577080000000052, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance productive continuation count 1 is not failure count", + "status": "passed", + "duration": 0.04112499999999386, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance productive continuation count 2 is not failure count", + "status": "passed", + "duration": 0.032083000000000084, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance productive continuation count 10 is not failure count", + "status": "passed", + "duration": 0.03037500000000648, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance workspace_busy preserves prior failures regardless of wait count", + "status": "passed", + "duration": 0.07537499999999397, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ai_connection_busy preserves prior failures regardless of wait count", + "status": "passed", + "duration": 0.05991700000001288, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'silent' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.3911249999999882, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'confident' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.09458399999999756, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'comments' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.09524999999999295, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'tool calls' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.0739590000000021, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance 'stale diagnostic' cannot replenish exhausted repairs or failures", + "status": "passed", + "duration": 0.07187500000000568, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 stopped wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.05445799999999679, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 paused wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.024999999999991473, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 budgetBlocked wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.024416000000002214, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 pendingWait wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.02558299999999747, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 activeExecution wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.021500000000003183, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 ownedLifecycle wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.021333999999995967, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-04 episode identity survives arbitrary failure and resource-wait counters", + "status": "passed", + "duration": 0.05562499999999204, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "ACCT-02", + "status": "pass", + "assertions": [ + { + "name": "heartbeat bounded retry scheduling ACCT-02 exhausted infrastructure retries remain exhausted after silent and restart", + "status": "passed", + "duration": 49.520958000000064, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling ACCT-02 exhausted infrastructure retries remain exhausted after comments-and-tools and restart", + "status": "passed", + "duration": 52.49108299999989, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": "ACCT-02", + "status": "pass", + "assertions": [ + { + "name": "legacy continuation persisted authority ACCT-02 full recovery sweep cannot replenish an exhausted episode with silent", + "status": "passed", + "duration": 86.55933300000015, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-02 full recovery sweep cannot replenish an exhausted episode with comments", + "status": "passed", + "duration": 79.88683399999991, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-02 full recovery sweep cannot replenish an exhausted episode with tool-calls", + "status": "passed", + "duration": 73.4045000000001, + "failureMessages": [] + } + ] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/accounting.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "ACCT calibrated live accounting evidence retains every accounting screenshot through the existing evidence allowlist", + "status": "passed", + "duration": 8.132207999999991, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence discovers eight explicit-only real-provider cells and excludes unsupported native repair injection", + "status": "passed", + "duration": 0.7801670000000058, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-neutral' recording", + "status": "passed", + "duration": 0.6592499999999859, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-noisy' recording", + "status": "passed", + "duration": 0.18683300000000713, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-neutral' recording", + "status": "passed", + "duration": 0.15183400000000802, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-noisy' recording", + "status": "passed", + "duration": 0.09933300000000145, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-stop' recording", + "status": "passed", + "duration": 0.1114159999999913, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-approval' recording", + "status": "passed", + "duration": 0.08799999999999386, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-productive-neutral", + "status": "passed", + "duration": 0.12658400000000825, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-exhaustion-noisy", + "status": "passed", + "duration": 0.1372920000000022, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-stop", + "status": "passed", + "duration": 0.09445800000000304, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-approval", + "status": "passed", + "duration": 0.07366700000000037, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive noise", + "status": "passed", + "duration": 0.1677919999999915, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive extra-run", + "status": "passed", + "duration": 0.09091599999999289, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-runtime", + "status": "passed", + "duration": 0.07516599999999585, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive pending-retry", + "status": "passed", + "duration": 0.07637499999998454, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive repair-debt", + "status": "passed", + "duration": 0.07900000000000773, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-document", + "status": "passed", + "duration": 0.07879199999999287, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive premature-document", + "status": "passed", + "duration": 0.059333000000009406, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-answer", + "status": "passed", + "duration": 0.07137499999998909, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-state", + "status": "passed", + "duration": 0.08275000000000432, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive rewritten-document", + "status": "passed", + "duration": 0.06354200000001242, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive deduplicated-noise", + "status": "passed", + "duration": 0.21812500000001478, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair new-episode", + "status": "passed", + "duration": 0.15395799999998871, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair reset-attempt", + "status": "passed", + "duration": 0.0696670000000097, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair extra-repair", + "status": "passed", + "duration": 0.05579199999999673, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair user-comment", + "status": "passed", + "duration": 0.06537499999998886, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair restart-loss", + "status": "passed", + "duration": 0.05095900000000597, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair hidden-exhaustion", + "status": "passed", + "duration": 0.056583999999986645, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects Stop that still dispatched the provider", + "status": "passed", + "duration": 0.0820410000000038, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects pending approval competing with repair and declined approval continuing", + "status": "passed", + "duration": 0.06729199999998059, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation-accounting:accounting-productive-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-productive-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-stop", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-approval", + "status": "not_run" + } + ] + }, + { + "id": "ACCT-03", + "name": "Late gates", + "expected": "Stop, approvals, ownership, pause and spending gates remain authoritative", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/accounting.test.ts", + "pattern": "ACCT-03", + "status": "pass", + "assertions": [ + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 stopped wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.05445799999999679, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 paused wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.024999999999991473, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 budgetBlocked wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.024416000000002214, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 pendingWait wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.02558299999999747, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 activeExecution wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.021500000000003183, + "failureMessages": [] + }, + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-03 ownedLifecycle wins over both fresh and exhausted allowances", + "status": "passed", + "duration": 0.021333999999995967, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": "ACCT-03", + "status": "pass", + "assertions": [ + { + "name": "legacy continuation persisted authority ACCT-03 approval introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 59.43541700000014, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 budget introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 38.9953330000003, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 pause introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 40.773459, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 reassigned introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 41.415958000000046, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-04 LCA-10", + "status": "pass", + "assertions": [ + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 native accepted approval preserves the paused admission gate", + "status": "passed", + "duration": 4.372333999999682, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the paused admission gate", + "status": "passed", + "duration": 3.749333000000661, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 native accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 7.1030000000000655, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 7.269042000000809, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-stale-queue-invalidation.test.ts", + "pattern": "gate|cap|ownership", + "status": "pass", + "assertions": [ + { + "name": "heartbeat stale queued-run invalidation rejects ownership changes immediately before the final continuation handoff", + "status": "passed", + "duration": 634.622625, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips wakes before queueing when per-agent daily run cap is reached", + "status": "passed", + "duration": 356.99216700000034, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation treats zero daily run cap as a hard stop", + "status": "passed", + "duration": 360.9907089999997, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation counts started cancelled runs toward the per-agent daily run cap", + "status": "passed", + "duration": 380.47312500000044, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation coalesces same-issue wakes before enforcing the daily run cap", + "status": "passed", + "duration": 442.4894999999997, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips wakes before queueing when per-agent daily cost cap is reached", + "status": "passed", + "duration": 361.66416599999866, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation treats zero daily cost cap as a hard stop", + "status": "passed", + "duration": 384.14916599999924, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips already queued runs before adapter execution when the daily cost cap is reached", + "status": "passed", + "duration": 399.7529160000013, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips already queued issue runs at the daily run cap and releases the execution lock", + "status": "passed", + "duration": 406.58683400000155, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation promotes deferred issue wakes when a queued holder is cancelled by the daily run cap", + "status": "passed", + "duration": 419.41804200000115, + "failureMessages": [] + } + ] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/accounting.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "ACCT calibrated live accounting evidence retains every accounting screenshot through the existing evidence allowlist", + "status": "passed", + "duration": 8.132207999999991, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence discovers eight explicit-only real-provider cells and excludes unsupported native repair injection", + "status": "passed", + "duration": 0.7801670000000058, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-neutral' recording", + "status": "passed", + "duration": 0.6592499999999859, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-noisy' recording", + "status": "passed", + "duration": 0.18683300000000713, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-neutral' recording", + "status": "passed", + "duration": 0.15183400000000802, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-noisy' recording", + "status": "passed", + "duration": 0.09933300000000145, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-stop' recording", + "status": "passed", + "duration": 0.1114159999999913, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-approval' recording", + "status": "passed", + "duration": 0.08799999999999386, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-productive-neutral", + "status": "passed", + "duration": 0.12658400000000825, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-exhaustion-noisy", + "status": "passed", + "duration": 0.1372920000000022, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-stop", + "status": "passed", + "duration": 0.09445800000000304, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-approval", + "status": "passed", + "duration": 0.07366700000000037, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive noise", + "status": "passed", + "duration": 0.1677919999999915, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive extra-run", + "status": "passed", + "duration": 0.09091599999999289, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-runtime", + "status": "passed", + "duration": 0.07516599999999585, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive pending-retry", + "status": "passed", + "duration": 0.07637499999998454, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive repair-debt", + "status": "passed", + "duration": 0.07900000000000773, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-document", + "status": "passed", + "duration": 0.07879199999999287, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive premature-document", + "status": "passed", + "duration": 0.059333000000009406, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-answer", + "status": "passed", + "duration": 0.07137499999998909, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-state", + "status": "passed", + "duration": 0.08275000000000432, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive rewritten-document", + "status": "passed", + "duration": 0.06354200000001242, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive deduplicated-noise", + "status": "passed", + "duration": 0.21812500000001478, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair new-episode", + "status": "passed", + "duration": 0.15395799999998871, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair reset-attempt", + "status": "passed", + "duration": 0.0696670000000097, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair extra-repair", + "status": "passed", + "duration": 0.05579199999999673, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair user-comment", + "status": "passed", + "duration": 0.06537499999998886, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair restart-loss", + "status": "passed", + "duration": 0.05095900000000597, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair hidden-exhaustion", + "status": "passed", + "duration": 0.056583999999986645, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects Stop that still dispatched the provider", + "status": "passed", + "duration": 0.0820410000000038, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects pending approval competing with repair and declined approval continuing", + "status": "passed", + "duration": 0.06729199999998059, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation-accounting:accounting-productive-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-productive-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-stop", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-approval", + "status": "not_run" + } + ] + }, + { + "id": "ACCT-04", + "name": "Restart and replay accounting", + "expected": "Consumed allowances and causal receipts survive restart and duplicates", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/accounting.test.ts", + "pattern": "ACCT-04", + "status": "pass", + "assertions": [ + { + "name": "ACCT-01 separate accounting and ACCT-02 narrative invariance ACCT-04 episode identity survives arbitrary failure and resource-wait counters", + "status": "passed", + "duration": 0.05562499999999204, + "failureMessages": [] + } + ] + }, + { + "lane": "runner", + "file": "packages/paperclip-runner/src/native-session-runtime.test.ts", + "pattern": "ACCT-04", + "status": "pass", + "assertions": [ + { + "name": "executeNativeSession recovery ACCT-04 resolves a proposal-less durable disposition after silent without replenishing consumed repair", + "status": "passed", + "duration": 0.6236669999998412, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery ACCT-04 resolves a proposal-less durable disposition after commentary without replenishing consumed repair", + "status": "passed", + "duration": 0.39466600000014296, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery ACCT-04 resolves a proposal-less durable disposition after tool-events without replenishing consumed repair", + "status": "passed", + "duration": 0.3316660000000411, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": "ACCT-04|replay|restart|fast repair", + "status": "pass", + "assertions": [ + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (1)", + "status": "passed", + "duration": 86.75225, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (2)", + "status": "passed", + "duration": 28.302624999999807, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (3)", + "status": "passed", + "duration": 21.875125000000025, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (4)", + "status": "passed", + "duration": 22.098375000000033, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (5)", + "status": "passed", + "duration": 22.724958000000242, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not roll back the ledger when a fast repair finishes before enqueue returns", + "status": "passed", + "duration": 25.492750000000342, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority keeps the same bounded episode across restart and commentary, then escalates only after agent attempts", + "status": "passed", + "duration": 52.18854199999987, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 approval introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 59.43541700000014, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 budget introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 38.9953330000003, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 pause introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 40.773459, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-03 reassigned introduced during second repair delay survives restart without another debit", + "status": "passed", + "duration": 41.415958000000046, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-04 a delayed second repair remains promotable after controller restart", + "status": "passed", + "duration": 31.574458999999933, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-04 rejects a delayed repair with foreign-source", + "status": "passed", + "duration": 35.40099999999984, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-04 rejects a delayed repair with changed-episode", + "status": "passed", + "duration": 30.043333000000075, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority ACCT-04 rejects a delayed repair with exhausted-slot", + "status": "passed", + "duration": 28.255125000000135, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "concurrent|coalesces|after restart", + "status": "pass", + "assertions": [ + { + "name": "heartbeat bounded retry scheduling reuses one failure successor across concurrent and repeated scheduling", + "status": "passed", + "duration": 113.60774999999967, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling bounds interrupted conversations across restarts and concurrent scheduling", + "status": "passed", + "duration": 133.127833, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling ACCT-01 alternating failures, productive continuations and waits preserve both allowances after restart", + "status": "passed", + "duration": 93.26637500000015, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling coalesces duplicate accepted interaction continuation infra retry schedules", + "status": "passed", + "duration": 43.676542000000154, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling coalesces duplicate max-turn continuation schedules for the same source run and attempt", + "status": "passed", + "duration": 48.85350000000017, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling run-dispatch module transactions promotes a due scheduled retry exactly once under concurrent promotion attempts", + "status": "passed", + "duration": 610.4828339999995, + "failureMessages": [] + } + ] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/accounting.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "ACCT calibrated live accounting evidence retains every accounting screenshot through the existing evidence allowlist", + "status": "passed", + "duration": 8.132207999999991, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence discovers eight explicit-only real-provider cells and excludes unsupported native repair injection", + "status": "passed", + "duration": 0.7801670000000058, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-neutral' recording", + "status": "passed", + "duration": 0.6592499999999859, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-noisy' recording", + "status": "passed", + "duration": 0.18683300000000713, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-neutral' recording", + "status": "passed", + "duration": 0.15183400000000802, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-noisy' recording", + "status": "passed", + "duration": 0.09933300000000145, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-stop' recording", + "status": "passed", + "duration": 0.1114159999999913, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-approval' recording", + "status": "passed", + "duration": 0.08799999999999386, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-productive-neutral", + "status": "passed", + "duration": 0.12658400000000825, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-exhaustion-noisy", + "status": "passed", + "duration": 0.1372920000000022, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-stop", + "status": "passed", + "duration": 0.09445800000000304, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-approval", + "status": "passed", + "duration": 0.07366700000000037, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive noise", + "status": "passed", + "duration": 0.1677919999999915, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive extra-run", + "status": "passed", + "duration": 0.09091599999999289, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-runtime", + "status": "passed", + "duration": 0.07516599999999585, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive pending-retry", + "status": "passed", + "duration": 0.07637499999998454, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive repair-debt", + "status": "passed", + "duration": 0.07900000000000773, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-document", + "status": "passed", + "duration": 0.07879199999999287, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive premature-document", + "status": "passed", + "duration": 0.059333000000009406, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-answer", + "status": "passed", + "duration": 0.07137499999998909, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-state", + "status": "passed", + "duration": 0.08275000000000432, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive rewritten-document", + "status": "passed", + "duration": 0.06354200000001242, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive deduplicated-noise", + "status": "passed", + "duration": 0.21812500000001478, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair new-episode", + "status": "passed", + "duration": 0.15395799999998871, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair reset-attempt", + "status": "passed", + "duration": 0.0696670000000097, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair extra-repair", + "status": "passed", + "duration": 0.05579199999999673, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair user-comment", + "status": "passed", + "duration": 0.06537499999998886, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair restart-loss", + "status": "passed", + "duration": 0.05095900000000597, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair hidden-exhaustion", + "status": "passed", + "duration": 0.056583999999986645, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects Stop that still dispatched the provider", + "status": "passed", + "duration": 0.0820410000000038, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects pending approval competing with repair and declined approval continuing", + "status": "passed", + "duration": 0.06729199999998059, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation-accounting:accounting-productive-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-productive-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-stop", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-approval", + "status": "not_run" + } + ] + } + ] +} diff --git a/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-grading-followup.json b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-grading-followup.json new file mode 100644 index 00000000000..90ee46e08d9 --- /dev/null +++ b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-grading-followup.json @@ -0,0 +1,1773 @@ +{ + "schema": "paperclip.lifecycle-baseline/v1", + "commit": "841b836be232e6624776ee4e3f7641271d954914", + "fingerprint": "b1e6f8d495218623ed3af61d377160af0eff4102ccd58c18637fe40e23a1b221", + "measuredAt": "2026-09-23T14:38:46.423Z", + "layers": [ + "grading" + ], + "execution": { + "grading": { + "exitCode": 0, + "signal": null, + "success": true, + "total": 86, + "passed": 86, + "failed": 0, + "pending": 0, + "launchError": null + } + }, + "scenarios": [ + { + "id": "LCA-01", + "name": "Ordinary completion", + "expected": "Valid completion, delivered answer, no extra execution", + "coverage": [ + { + "lane": "runner", + "file": "tests/lifecycle-baseline/runner.test.ts", + "pattern": "LCA-01", + "status": "not_run", + "assertions": [] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/lifecycle-baseline.test.ts", + "pattern": "LCA-01", + "status": "pass", + "assertions": [ + { + "name": "LCA Product E2E evidence calibration LCA-01 fails closed without API evidence", + "status": "passed", + "duration": 0.19325000000000614, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover executionRunId", + "status": "passed", + "duration": 0.24116699999999014, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover scheduledRetry", + "status": "passed", + "duration": 0.140166000000022, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover activeRecoveryAction", + "status": "passed", + "duration": 0.10704199999997854, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover monitorNextCheckAt", + "status": "passed", + "duration": 0.08166700000001015, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-01", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/native-status-arbiter-corpus.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-01", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-completion-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-completion-challenge", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-blocker-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-blocker-challenge", + "status": "not_run" + }, + { + "id": "everyday-workflows:build-revise", + "status": "not_run" + }, + { + "id": "runner-evals:finish-task", + "status": "not_run" + } + ] + }, + { + "id": "LCA-02", + "name": "Productive multi-turn continuation", + "expected": "Continue without replaying completed work or treating productivity as repeated failure", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-02", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "max-turn", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-02", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "continuation:completed-action-resume", + "status": "not_run" + } + ] + }, + { + "id": "LCA-03", + "name": "Durable human question", + "expected": "Bound question precedes wait; matching answer resumes once", + "coverage": [ + { + "lane": "grading", + "file": "tests/runner-e2e/lifecycle-baseline.test.ts", + "pattern": "LCA-03", + "status": "pass", + "assertions": [ + { + "name": "LCA Product E2E evidence calibration LCA-03 accepts durable question and matching answered identity", + "status": "passed", + "duration": 1.368208999999979, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-03 rejects prose-only waiting even if final task completes", + "status": "passed", + "duration": 0.41520899999997596, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-03 rejects answer on a different question", + "status": "passed", + "duration": 0.20316700000000765, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-03", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/question-response-delivery.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-question-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-question-challenge", + "status": "not_run" + }, + { + "id": "continuation:answer-updates-scope", + "status": "not_run" + }, + { + "id": "continuation:provider-question-bridge", + "status": "not_run" + } + ] + }, + { + "id": "LCA-04", + "name": "Approval and decline", + "expected": "Correct authorized approval releases only its gate; decline executes nothing", + "coverage": [ + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-04", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-04", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "server/src/__tests__/issue-thread-interaction-routes.test.ts", + "pattern": "confirmation|approval|tool.action", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "gate|budget|paused", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-approval-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-approval-challenge", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:tool-review-approve", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:tool-review-decline", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:tool-review-always", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-untrusted-evidence-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-untrusted-evidence-challenge", + "status": "not_run" + }, + { + "id": "continuation:clarification-not-approval", + "status": "not_run" + }, + { + "id": "everyday-workflows:service-approve", + "status": "not_run" + }, + { + "id": "everyday-workflows:service-decline", + "status": "not_run" + } + ] + }, + { + "id": "LCA-05", + "name": "Plan revision acceptance", + "expected": "Work mode and exact accepted revision authorize execution", + "coverage": [ + { + "lane": "grading", + "file": "tests/runner-e2e/lifecycle-baseline.test.ts", + "pattern": "LCA-05", + "status": "pass", + "assertions": [ + { + "name": "LCA Product E2E evidence calibration LCA-05 accepts current revision and rejects stale or foreign plan targets", + "status": "passed", + "duration": 0.2911670000000015, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-05", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "server/src/__tests__/run-liveness.test.ts", + "pattern": "mode|title and description", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "server/src/__tests__/heartbeat-context-summary.test.ts", + "pattern": "selects directives only", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "server/src/services/native-runtime/native-execution-input.test.ts", + "pattern": "LCA-05", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/activity-service.test.ts", + "pattern": "LCA-05", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "server/src/__tests__/issue-thread-interaction-routes.test.ts", + "pattern": "plan|revision", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/issue-thread-interactions-service.test.ts", + "pattern": "Plan.mode|stale.*revision|revision.*stale|plan confirmation", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-plan-revision-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-plan-revision-challenge", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-work-mode-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-work-mode-challenge", + "status": "not_run" + }, + { + "id": "agent-chat:plan-handoff", + "status": "not_run" + }, + { + "id": "continuation:revision-preserves-approval", + "status": "not_run" + } + ] + }, + { + "id": "LCA-06", + "name": "Dependencies", + "expected": "All required dependencies release one parent wake; unrelated events do nothing", + "coverage": [ + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-issue-liveness-escalation.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-dependency-restart-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-dependency-restart-challenge", + "status": "not_run" + }, + { + "id": "everyday-workflows:delegate-feedback", + "status": "not_run" + }, + { + "id": "runner-evals:set-task-dependencies", + "status": "not_run" + } + ] + }, + { + "id": "LCA-07", + "name": "External monitor wait", + "expected": "Durable eligible monitor fires once and respects timeout and exhaustion", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-07", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/issue-monitor-scheduler.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "runner-evals:schedule-task-wake", + "status": "not_run" + } + ] + }, + { + "id": "LCA-08", + "name": "Ordinary conversation", + "expected": "Deliver response without task completion coercion or repair loops", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-08", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "conversation", + "status": "not_run", + "assertions": [] + }, + { + "lane": "runner", + "file": "packages/paperclip-runner/src/native-session-runtime.test.ts", + "pattern": "governed wait|structured input", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:clarify-reuse", + "status": "not_run" + }, + { + "id": "agent-chat:clarify-reuse", + "status": "not_run" + } + ] + }, + { + "id": "LCA-09", + "name": "Missing disposition and exhausted repair", + "expected": "Bounded explicit recovery; prose/comments do not supply authority or reset attempts", + "coverage": [ + { + "lane": "runner", + "file": "tests/lifecycle-baseline/runner.test.ts", + "pattern": "LCA-09", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-09", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "server/src/services/recovery/legacy-continuation.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-09", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "server/src/__tests__/disposition-repair.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + }, + { + "lane": "runner", + "file": "packages/paperclip-runner/src/native-session-runtime.test.ts", + "pattern": "result.less|proposal.less|semantic result", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/services/native-runtime/native-safe-replacement.test.ts", + "pattern": "exhausted|another run id", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-repair-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-repair-challenge", + "status": "not_run" + } + ] + }, + { + "id": "LCA-10", + "name": "Stop, pause and budget", + "expected": "Distinct stop/pause semantics; no unauthorized continuation", + "coverage": [ + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-10", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-10", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-stale-queue-invalidation.test.ts", + "pattern": "cap|gate|ownership|before adapter", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "budget|pause|cancel|gate", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:stop-new-resume", + "status": "not_run" + }, + { + "id": "everyday-workflows:stop-redirect", + "status": "not_run" + }, + { + "id": "agent-chat:stop-new-resume", + "status": "not_run" + } + ] + }, + { + "id": "LCA-11", + "name": "Terminal ordering and cleanup", + "expected": "Completion report is not provider success; terminal/cleanup events retain their authority", + "coverage": [ + { + "lane": "runner", + "file": "tests/lifecycle-baseline/runner.test.ts", + "pattern": "LCA-11", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-11", + "status": "not_run", + "assertions": [] + }, + { + "lane": "runner", + "file": "packages/paperclip-runner/src/native-session-runtime.test.ts", + "pattern": "terminal|completion report|cleanup|handoff", + "status": "not_run", + "assertions": [] + } + ], + "live": [] + }, + { + "id": "LCA-12", + "name": "Replay, restart and stale ownership", + "expected": "One successor, preserved receipts/budgets; stale finalizers cannot mutate new ownership", + "coverage": [ + { + "lane": "grading", + "file": "tests/runner-e2e/lifecycle-baseline.test.ts", + "pattern": "LCA-12", + "status": "pass", + "assertions": [ + { + "name": "LCA Product E2E evidence calibration LCA-12 rejects lost original receipt", + "status": "passed", + "duration": 0.10862500000001774, + "failureMessages": [] + } + ] + }, + { + "lane": "unit", + "file": "tests/lifecycle-baseline/authority.test.ts", + "pattern": "LCA-12", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/native-finalization-recovery.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/services/native-runtime/native-safe-replacement.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/question-response-delivery.test.ts", + "pattern": "concurrent|interrupted|stale|receipt", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "lifecycle-baseline:lifecycle-dependency-restart-neutral", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:lifecycle-dependency-restart-challenge", + "status": "not_run" + }, + { + "id": "lifecycle-baseline:tool-review-restart", + "status": "not_run" + }, + { + "id": "everyday-workflows:recover-controller", + "status": "not_run" + } + ] + }, + { + "id": "LCA-13", + "name": "Owned review", + "expected": "Concrete reviewer; reviewer outcome drives next transition", + "coverage": [ + { + "lane": "unit", + "file": "server/src/services/native-runtime/status-arbiter.test.ts", + "pattern": "review", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/native-status-arbiter-corpus.test.ts", + "pattern": "ATT|review|corpus", + "status": "not_run", + "assertions": [] + } + ], + "live": [ + { + "id": "runner-evals:request-task-review", + "status": "not_run" + } + ] + }, + { + "id": "ACCT-01", + "name": "Separate productive, repair and infrastructure allowances", + "expected": "Each lane spends only its own allowance", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/accounting.test.ts", + "pattern": "ACCT-01", + "status": "not_run", + "assertions": [] + }, + { + "lane": "unit", + "file": "server/src/services/execution-recovery-attempt.test.ts", + "pattern": ".", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": "ACCT-01", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "ACCT-01", + "status": "not_run", + "assertions": [] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/accounting.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "ACCT calibrated live accounting evidence retains every accounting screenshot through the existing evidence allowlist", + "status": "passed", + "duration": 27.677791000000013, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence discovers eight explicit-only real-provider cells and excludes unsupported native repair injection", + "status": "passed", + "duration": 1.2993749999999977, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-neutral' recording", + "status": "passed", + "duration": 0.7357920000000036, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-noisy' recording", + "status": "passed", + "duration": 0.39245900000003076, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-neutral' recording", + "status": "passed", + "duration": 0.21550000000002, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-noisy' recording", + "status": "passed", + "duration": 0.1348340000000121, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-stop' recording", + "status": "passed", + "duration": 0.11704200000002629, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-approval' recording", + "status": "passed", + "duration": 0.1173750000000382, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects a serialized array in place of the exact neutral comment", + "status": "passed", + "duration": 0.17599999999998772, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-productive-neutral", + "status": "passed", + "duration": 0.15529199999997445, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-exhaustion-noisy", + "status": "passed", + "duration": 0.13425000000000864, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-stop", + "status": "passed", + "duration": 0.10650000000003956, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-approval", + "status": "passed", + "duration": 0.07533399999999801, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive noise", + "status": "passed", + "duration": 0.17904199999998127, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive extra-run", + "status": "passed", + "duration": 0.09954199999998536, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-runtime", + "status": "passed", + "duration": 0.09854199999995217, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive pending-retry", + "status": "passed", + "duration": 0.07245899999998073, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive repair-debt", + "status": "passed", + "duration": 0.06908300000003464, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-document", + "status": "passed", + "duration": 0.08183299999996052, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive premature-document", + "status": "passed", + "duration": 0.06837500000000318, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-answer", + "status": "passed", + "duration": 0.06737500000002683, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-state", + "status": "passed", + "duration": 0.08912499999996726, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive rewritten-document", + "status": "passed", + "duration": 0.07650000000001, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive deduplicated-noise", + "status": "passed", + "duration": 0.0795840000000112, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair new-episode", + "status": "passed", + "duration": 0.12087500000001228, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair reset-attempt", + "status": "passed", + "duration": 0.07358299999998508, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair extra-repair", + "status": "passed", + "duration": 0.06575000000003683, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair user-comment", + "status": "passed", + "duration": 0.13845900000001166, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair restart-loss", + "status": "passed", + "duration": 0.05766699999998082, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair hidden-exhaustion", + "status": "passed", + "duration": 0.05620899999996709, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects Stop that still dispatched the provider", + "status": "passed", + "duration": 0.10245899999995345, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects pending approval competing with repair and declined approval continuing", + "status": "passed", + "duration": 0.0821669999999699, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation-accounting:accounting-productive-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-productive-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-stop", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-approval", + "status": "not_run" + } + ] + }, + { + "id": "ACCT-02", + "name": "False progress and exhaustion", + "expected": "Comments, wording and raw tool counts cannot replenish attempts", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/accounting.test.ts", + "pattern": "ACCT-02", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "ACCT-02", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": "ACCT-02", + "status": "not_run", + "assertions": [] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/accounting.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "ACCT calibrated live accounting evidence retains every accounting screenshot through the existing evidence allowlist", + "status": "passed", + "duration": 27.677791000000013, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence discovers eight explicit-only real-provider cells and excludes unsupported native repair injection", + "status": "passed", + "duration": 1.2993749999999977, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-neutral' recording", + "status": "passed", + "duration": 0.7357920000000036, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-noisy' recording", + "status": "passed", + "duration": 0.39245900000003076, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-neutral' recording", + "status": "passed", + "duration": 0.21550000000002, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-noisy' recording", + "status": "passed", + "duration": 0.1348340000000121, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-stop' recording", + "status": "passed", + "duration": 0.11704200000002629, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-approval' recording", + "status": "passed", + "duration": 0.1173750000000382, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects a serialized array in place of the exact neutral comment", + "status": "passed", + "duration": 0.17599999999998772, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-productive-neutral", + "status": "passed", + "duration": 0.15529199999997445, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-exhaustion-noisy", + "status": "passed", + "duration": 0.13425000000000864, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-stop", + "status": "passed", + "duration": 0.10650000000003956, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-approval", + "status": "passed", + "duration": 0.07533399999999801, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive noise", + "status": "passed", + "duration": 0.17904199999998127, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive extra-run", + "status": "passed", + "duration": 0.09954199999998536, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-runtime", + "status": "passed", + "duration": 0.09854199999995217, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive pending-retry", + "status": "passed", + "duration": 0.07245899999998073, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive repair-debt", + "status": "passed", + "duration": 0.06908300000003464, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-document", + "status": "passed", + "duration": 0.08183299999996052, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive premature-document", + "status": "passed", + "duration": 0.06837500000000318, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-answer", + "status": "passed", + "duration": 0.06737500000002683, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-state", + "status": "passed", + "duration": 0.08912499999996726, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive rewritten-document", + "status": "passed", + "duration": 0.07650000000001, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive deduplicated-noise", + "status": "passed", + "duration": 0.0795840000000112, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair new-episode", + "status": "passed", + "duration": 0.12087500000001228, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair reset-attempt", + "status": "passed", + "duration": 0.07358299999998508, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair extra-repair", + "status": "passed", + "duration": 0.06575000000003683, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair user-comment", + "status": "passed", + "duration": 0.13845900000001166, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair restart-loss", + "status": "passed", + "duration": 0.05766699999998082, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair hidden-exhaustion", + "status": "passed", + "duration": 0.05620899999996709, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects Stop that still dispatched the provider", + "status": "passed", + "duration": 0.10245899999995345, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects pending approval competing with repair and declined approval continuing", + "status": "passed", + "duration": 0.0821669999999699, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation-accounting:accounting-productive-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-productive-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-stop", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-approval", + "status": "not_run" + } + ] + }, + { + "id": "ACCT-03", + "name": "Late gates", + "expected": "Stop, approvals, ownership, pause and spending gates remain authoritative", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/accounting.test.ts", + "pattern": "ACCT-03", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": "ACCT-03", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-04 LCA-10", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-stale-queue-invalidation.test.ts", + "pattern": "gate|cap|ownership", + "status": "not_run", + "assertions": [] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/accounting.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "ACCT calibrated live accounting evidence retains every accounting screenshot through the existing evidence allowlist", + "status": "passed", + "duration": 27.677791000000013, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence discovers eight explicit-only real-provider cells and excludes unsupported native repair injection", + "status": "passed", + "duration": 1.2993749999999977, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-neutral' recording", + "status": "passed", + "duration": 0.7357920000000036, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-noisy' recording", + "status": "passed", + "duration": 0.39245900000003076, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-neutral' recording", + "status": "passed", + "duration": 0.21550000000002, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-noisy' recording", + "status": "passed", + "duration": 0.1348340000000121, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-stop' recording", + "status": "passed", + "duration": 0.11704200000002629, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-approval' recording", + "status": "passed", + "duration": 0.1173750000000382, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects a serialized array in place of the exact neutral comment", + "status": "passed", + "duration": 0.17599999999998772, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-productive-neutral", + "status": "passed", + "duration": 0.15529199999997445, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-exhaustion-noisy", + "status": "passed", + "duration": 0.13425000000000864, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-stop", + "status": "passed", + "duration": 0.10650000000003956, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-approval", + "status": "passed", + "duration": 0.07533399999999801, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive noise", + "status": "passed", + "duration": 0.17904199999998127, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive extra-run", + "status": "passed", + "duration": 0.09954199999998536, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-runtime", + "status": "passed", + "duration": 0.09854199999995217, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive pending-retry", + "status": "passed", + "duration": 0.07245899999998073, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive repair-debt", + "status": "passed", + "duration": 0.06908300000003464, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-document", + "status": "passed", + "duration": 0.08183299999996052, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive premature-document", + "status": "passed", + "duration": 0.06837500000000318, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-answer", + "status": "passed", + "duration": 0.06737500000002683, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-state", + "status": "passed", + "duration": 0.08912499999996726, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive rewritten-document", + "status": "passed", + "duration": 0.07650000000001, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive deduplicated-noise", + "status": "passed", + "duration": 0.0795840000000112, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair new-episode", + "status": "passed", + "duration": 0.12087500000001228, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair reset-attempt", + "status": "passed", + "duration": 0.07358299999998508, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair extra-repair", + "status": "passed", + "duration": 0.06575000000003683, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair user-comment", + "status": "passed", + "duration": 0.13845900000001166, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair restart-loss", + "status": "passed", + "duration": 0.05766699999998082, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair hidden-exhaustion", + "status": "passed", + "duration": 0.05620899999996709, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects Stop that still dispatched the provider", + "status": "passed", + "duration": 0.10245899999995345, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects pending approval competing with repair and declined approval continuing", + "status": "passed", + "duration": 0.0821669999999699, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation-accounting:accounting-productive-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-productive-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-stop", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-approval", + "status": "not_run" + } + ] + }, + { + "id": "ACCT-04", + "name": "Restart and replay accounting", + "expected": "Consumed allowances and causal receipts survive restart and duplicates", + "coverage": [ + { + "lane": "unit", + "file": "tests/lifecycle-baseline/accounting.test.ts", + "pattern": "ACCT-04", + "status": "not_run", + "assertions": [] + }, + { + "lane": "runner", + "file": "packages/paperclip-runner/src/native-session-runtime.test.ts", + "pattern": "ACCT-04", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/legacy-continuation-authority.test.ts", + "pattern": "ACCT-04|replay|restart|fast repair", + "status": "not_run", + "assertions": [] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "concurrent|coalesces|after restart", + "status": "not_run", + "assertions": [] + }, + { + "lane": "grading", + "file": "tests/runner-e2e/accounting.test.ts", + "pattern": ".", + "status": "pass", + "assertions": [ + { + "name": "ACCT calibrated live accounting evidence retains every accounting screenshot through the existing evidence allowlist", + "status": "passed", + "duration": 27.677791000000013, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence discovers eight explicit-only real-provider cells and excludes unsupported native repair injection", + "status": "passed", + "duration": 1.2993749999999977, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-neutral' recording", + "status": "passed", + "duration": 0.7357920000000036, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-productive-noisy' recording", + "status": "passed", + "duration": 0.39245900000003076, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-neutral' recording", + "status": "passed", + "duration": 0.21550000000002, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-exhaustion-noisy' recording", + "status": "passed", + "duration": 0.1348340000000121, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-stop' recording", + "status": "passed", + "duration": 0.11704200000002629, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence accepts a complete 'accounting-repair-approval' recording", + "status": "passed", + "duration": 0.1173750000000382, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects a serialized array in place of the exact neutral comment", + "status": "passed", + "duration": 0.17599999999998772, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-productive-neutral", + "status": "passed", + "duration": 0.15529199999997445, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-exhaustion-noisy", + "status": "passed", + "duration": 0.13425000000000864, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-stop", + "status": "passed", + "duration": 0.10650000000003956, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects missing final evidence for accounting-repair-approval", + "status": "passed", + "duration": 0.07533399999999801, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive noise", + "status": "passed", + "duration": 0.17904199999998127, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive extra-run", + "status": "passed", + "duration": 0.09954199999998536, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-runtime", + "status": "passed", + "duration": 0.09854199999995217, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive pending-retry", + "status": "passed", + "duration": 0.07245899999998073, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive repair-debt", + "status": "passed", + "duration": 0.06908300000003464, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive wrong-document", + "status": "passed", + "duration": 0.08183299999996052, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive premature-document", + "status": "passed", + "duration": 0.06837500000000318, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-answer", + "status": "passed", + "duration": 0.06737500000002683, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive missing-state", + "status": "passed", + "duration": 0.08912499999996726, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive rewritten-document", + "status": "passed", + "duration": 0.07650000000001, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects productive deduplicated-noise", + "status": "passed", + "duration": 0.0795840000000112, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair new-episode", + "status": "passed", + "duration": 0.12087500000001228, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair reset-attempt", + "status": "passed", + "duration": 0.07358299999998508, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair extra-repair", + "status": "passed", + "duration": 0.06575000000003683, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair user-comment", + "status": "passed", + "duration": 0.13845900000001166, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair restart-loss", + "status": "passed", + "duration": 0.05766699999998082, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects exhausted repair hidden-exhaustion", + "status": "passed", + "duration": 0.05620899999996709, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects Stop that still dispatched the provider", + "status": "passed", + "duration": 0.10245899999995345, + "failureMessages": [] + }, + { + "name": "ACCT calibrated live accounting evidence rejects pending approval competing with repair and declined approval continuing", + "status": "passed", + "duration": 0.0821669999999699, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "continuation-accounting:accounting-productive-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-productive-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-neutral", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-exhaustion-noisy", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-stop", + "status": "not_run" + }, + { + "id": "continuation-accounting:accounting-repair-approval", + "status": "not_run" + } + ] + } + ] +} diff --git a/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-repository-verification.json b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-repository-verification.json new file mode 100644 index 00000000000..198774c4c33 --- /dev/null +++ b/tests/lifecycle-baseline/baselines/2026-09-23-continuation-accounting-repository-verification.json @@ -0,0 +1,119 @@ +{ + "schema": "paperclip.repository-verification/v1", + "measuredAt": "2026-09-23T15:04:23.646010+00:00", + "productionCommit": "cfbf03adee36ff8c3235858d046147c2d3c078d4", + "fixtureCommit": "841b836be232e6624776ee4e3f7641271d954914", + "scope": "All groups of scripts/run-vitest-stable.mjs, resumed after the initial pnpm test:run failure. Two test-only fixture fixes were verified before this record; no production change after the live campaign source.", + "counts": { + "passed": 25944, + "failed": 0, + "skipped": 102 + }, + "serializedCoverage": { + "expected": 148, + "executed": 148, + "unique": 148, + "missing": [] + }, + "groups": [ + { + "group": "general-server", + "status": "passed", + "counts": { + "passed": 12902, + "failed": 0, + "skipped": 83 + }, + "completedInvocations": 1, + "logPath": "/private/tmp/accounting-fixed-full-tests.log", + "logSha256": "4424a8ed0eab9dd363d225a152b22954c661db1833e66cfb2a555b975f618592" + }, + { + "group": "workspaces-a", + "status": "passed", + "counts": { + "passed": 7005, + "failed": 0, + "skipped": 0 + }, + "completedInvocations": 2, + "logPath": "/private/tmp/accounting-fixed-workspaces-a.log", + "logSha256": "350e65148379100561e2ae367383c58b850899bc6f40cb7bb833b2069e7000ae" + }, + { + "group": "workspaces-b", + "status": "passed", + "counts": { + "passed": 3398, + "failed": 0, + "skipped": 19 + }, + "completedInvocations": 12, + "logPath": "/private/tmp/accounting-fixed-workspaces-b-final.log", + "logSha256": "9f76c4968ce972fc47c503065f967e66bea2321b213108884df641d7c9905fd5" + }, + { + "group": "serialized-0", + "status": "passed", + "counts": { + "passed": 760, + "failed": 0, + "skipped": 0 + }, + "completedInvocations": 47, + "logPath": "/private/tmp/accounting-fixed-serialized-0-retry.log", + "logSha256": "26bbb8c43423f7b3d4a0f2b2cab31434891aa9d5a226bdb070c50f280993edb2" + }, + { + "group": "serialized-1", + "status": "passed", + "counts": { + "passed": 938, + "failed": 0, + "skipped": 0 + }, + "completedInvocations": 50, + "logPath": "/private/tmp/accounting-fixed-serialized-1.log", + "logSha256": "3892df72f6d484c71508d9900acb06fae8ba7854e9981827ffbd8c6adc1069c3" + }, + { + "group": "serialized-2", + "status": "passed", + "counts": { + "passed": 941, + "failed": 0, + "skipped": 0 + }, + "completedInvocations": 51, + "logPath": "/private/tmp/accounting-fixed-serialized-2-retry.log", + "logSha256": "1a2174825d988a152b066fe83a4ce7398bcec7617e8a0d2dfa2eadcb111a78db" + } + ], + "initialFailures": [ + { + "log": "/private/tmp/accounting-fixed-full-tests.log", + "reason": "Three production offline-fallback assertions loaded an unstamped development worker; fixture now stamps a production build, unchanged assertions pass." + }, + { + "logs": [ + "/private/tmp/accounting-fixed-serialized-0.log", + "/private/tmp/accounting-fixed-serialized-2.log" + ], + "reason": "First route cold imports exceeded the 15s test deadline during concurrent UI execution; full unchanged shards rerun successfully after UI completed." + }, + { + "log": "/private/tmp/accounting-fixed-workspaces-b.log", + "reason": "Callback drain fixture could stop before its handler started because its polling window was only 250ms. Test now awaits a handler-start signal; full workspace group passes." + } + ], + "checks": { + "recursiveTypecheck": "passed", + "build": "passed", + "followupPackageTypechecks": "passed", + "tokenGates": "passed", + "baseline": "1073/1073 plus grading follow-up 86/86 (one added calibration, 1074 current assertions)", + "e2eSupport": "475/475", + "browserSupport": "5/5", + "live": "8/8, no retries, all evidence valid, cleanup passed" + } +} diff --git a/ui/src/lib/sw-offline-fallback.test.ts b/ui/src/lib/sw-offline-fallback.test.ts index 917e7658cc0..7d0d18aca0f 100644 --- a/ui/src/lib/sw-offline-fallback.test.ts +++ b/ui/src/lib/sw-offline-fallback.test.ts @@ -29,7 +29,10 @@ function loadServiceWorkerFetchListener(overrides: { keys: vi.fn(async () => []), delete: vi.fn(async () => true), }; - const code = readFileSync(resolve(uiRoot, "public/sw.js"), "utf8"); + // Offline fallback belongs to a stamped production build. Development + // leaves Vite requests to the browser instead of intercepting them. + const code = readFileSync(resolve(uiRoot, "public/sw.js"), "utf8") + .replace("__PAPERCLIP_BUILD_ID__", "fixture-production"); new Function("self", "caches", "fetch", "Response", "URL", code)( swSelf, caches,