From e58857534b8294fa5bc20b1a0b4a498af7184228 Mon Sep 17 00:00:00 2001 From: Dotta Date: Tue, 22 Sep 2026 18:38:40 -0700 Subject: [PATCH] Record work-mode baseline and real-provider verification --- ...2026-09-22-explicit-work-mode-authority.md | 10 +- ...026-09-22-legacy-continuation-authority.md | 5 +- .../EXPLICIT-WORK-MODE-2026-09-22.md | 91 + tests/lifecycle-baseline/README.md | 2 + .../2026-09-22-explicit-work-mode-live.json | 286 + .../2026-09-22-explicit-work-mode.json | 4930 +++++++++++++++++ 6 files changed, 5321 insertions(+), 3 deletions(-) create mode 100644 tests/lifecycle-baseline/EXPLICIT-WORK-MODE-2026-09-22.md create mode 100644 tests/lifecycle-baseline/baselines/2026-09-22-explicit-work-mode-live.json create mode 100644 tests/lifecycle-baseline/baselines/2026-09-22-explicit-work-mode.json diff --git a/doc/plans/2026-09-22-explicit-work-mode-authority.md b/doc/plans/2026-09-22-explicit-work-mode-authority.md index 6dc88cc1701..daad12c422b 100644 --- a/doc/plans/2026-09-22-explicit-work-mode-authority.md +++ b/doc/plans/2026-09-22-explicit-work-mode-authority.md @@ -32,5 +32,13 @@ attempts and final results before declaring verification complete. ## Verification -In progress. The historical remaining-findings inventory is retained in +Deterministic baseline: 990/992 pass, with only the two previously recorded native +compatibility probes failing. All work-mode assertions pass; E2E support, +typechecks and build pass. Both explicit planning controls passed in campaign +35805477715; its four new wording cases exposed a Markdown/browser fixture +mismatch, with one additional duplicate model response. Those failures remain +recorded. After a fixture-only plain-text correction, both wording pairs passed +in campaign 35806360797 (4/4). See the +[measurement report](../../tests/lifecycle-baseline/EXPLICIT-WORK-MODE-2026-09-22.md). +The historical remaining-findings inventory is retained in [the continuation plan](2026-09-22-legacy-continuation-authority.md). diff --git a/doc/plans/2026-09-22-legacy-continuation-authority.md b/doc/plans/2026-09-22-legacy-continuation-authority.md index c8981ad9985..a1b8033dcee 100644 --- a/doc/plans/2026-09-22-legacy-continuation-authority.md +++ b/doc/plans/2026-09-22-legacy-continuation-authority.md @@ -118,13 +118,14 @@ Keep this section even if this slice incidentally resolves some assertions. | Finding | Recorded count | Disposition | |---|---:|---| -| Narrative changes continuation | 36 | Current focus | -| Title/description words select work mode | 4 | Retain for explicit work-mode follow-up; no title/body field in the new authority contract | +| Narrative changes continuation | 36 | Fixed by the persisted-disposition authority slice; see verification above | +| 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 | Coverage boundary | Separate audit after this slice; do not infer progress from text/event counts | | Blank task route after reload | New live observation | Investigate browser bootstrap/rendering; seen after successful persisted lifecycle in both runtimes; campaigns 35744074887 and 35747200170 | +| 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 | diff --git a/tests/lifecycle-baseline/EXPLICIT-WORK-MODE-2026-09-22.md b/tests/lifecycle-baseline/EXPLICIT-WORK-MODE-2026-09-22.md new file mode 100644 index 00000000000..f5d0800f4ec --- /dev/null +++ b/tests/lifecycle-baseline/EXPLICIT-WORK-MODE-2026-09-22.md @@ -0,0 +1,91 @@ +# Explicit work-mode authority — 2026-09-22 + +Product source: `d17c92eae10e949643a3b9d1be829061c30e77d6`. +Fixture correction: `2e9ee319379ef263a511ef31717ee1185b53abdf`. +Isolated worktree: `/private/tmp/paperclip-lifecycle-baseline-20260921`. + +## Behavior + +The task creation/update and native/legacy runner mode paths already use explicit +fields. The remaining title/description regexes were a legacy liveness diagnostic +exemption, not a write to `issues.work_mode`. They are now removed. Heartbeat and +activity-ledger backfill pass the persisted work mode to the classifier. + +A standard task can deliver a requested plan in its thread or canonical plan +document and complete. It does not become a planning-mode task. Explicit planning +mode and revision-bound approval transitions retain their existing contract. +No schema migration or inferred rewrite of existing tasks is needed. + +This is a bounded work-mode change. Other prose diagnostics, productive-progress +accounting, the native compatibility probes and the browser reload finding remain +tracked in [the backlog](../../doc/plans/2026-09-22-legacy-continuation-authority.md). + +## Deterministic verification + +The [retained baseline](baselines/2026-09-22-explicit-work-mode.json) records +**990 passed / 992 total**: unit 393/393, runner 182/182, database integration +361/363, grading 54/54. The same two unsupported native `same_agent` probes +remain failed and visible; no new failure was accepted or skipped. The original +baseline reports remain unchanged. Measurement finished September 22 in +America/Los_Angeles (September 23 UTC). + +Five direct comparison probes also reject the previous classifier: the four +historical title/body triggers incorrectly received the planning exemption, +while a neutral-title task explicitly in planning mode did not. The corrected +classifier passes all five. These comparisons are supplemental to the counted +Vitest baseline. + +Coverage includes all former title/description trigger words, missing/default +mode, explicit standard/planning/ask/skill-test modes, full/resumed prompt +directives, native execution input, database create/edit/explicit-mode updates, +canonical plan creation in standard mode, activity backfill, and real heartbeat +repair pairs. The heartbeat comparison uses durable effects because successor +completion can precede a predecessor's diagnostic projection. + +All 443 Product E2E support tests and all four inventory/report checks pass. +Repository recursive typecheck, Product E2E typecheck, lifecycle-baseline typecheck, +and repository build pass. The full general repository test command was not +rerun for this small classifier change; the relevant suites are included above. + +## Real-provider verification + +Campaign [35805477715](https://github.com/paperclipai/paperclip/actions/runs/35805477715) +finished **2/6 passed** on the product source SHA above. It selected six local Codex cells, using +the existing `gpt-5.6-sol` profiles: + +- `lifecycle-work-mode-neutral` and `lifecycle-work-mode-challenge` on both + legacy and native: one provider turn per cell, a requested two-step plan, + exact visible output, standard mode before/after execution, Done, no extra + recovery or pending interaction. +- `core-compatibility` / `plan-revise-accept` on both runtimes: explicit planning + mode, initial and revised plan, exact revision-bound approval, then completion. + +Both explicit planning controls passed. All four wording cases preserved +standard mode and completed, but failed the browser's literal full-text match: +Markdown renders ordered-list numbers separately from the DOM text. The retained +legacy challenge screenshot shows the correct plan and Done. Three cases passed +all persisted-state/output matchers. Legacy-neutral additionally posted the +response twice: the provider log records two successful PATCH calls, the second +escaping an underscore. That is a model behavior failure, not a duplicate server +projection. The original machine grades remain unchanged. + +The fixture correction uses an equivalent plain-text two-step plan so the raw +exact-output and browser exact-text contracts agree. All 443 support tests and +the E2E typecheck pass again. Campaign +[35806360797](https://github.com/paperclipai/paperclip/actions/runs/35806360797) +is a fresh four-cell measurement of both wording pairs on that corrected source; +**all four live cells passed**. Each runtime delivered the exact two-step plan +once, preserved standard mode, completed in one run and left no extra work or +pending interaction. All evidence validated and cleanup passed, with no retries +or incomplete cells. The two explicit planning/revision/acceptance controls +passed in the first campaign on identical product code. The corrected campaign +does not regrade the first campaign or establish a statistical reliability rate. + +These are real browser/server/database/provider journeys. The full 46-cell +lifecycle catalog is not selected by this follow-up. Both campaigns and their +catalog hashes, source revisions, cleanup and billing coverage are retained in +the [live inventory](baselines/2026-09-22-explicit-work-mode-live.json). +Missing cost evidence must not be interpreted as free. + +Published reports: [original six-cell attempt](https://d1p6rlowie26tp.cloudfront.net/runner-e2e/campaigns/gha-35805477715-1/index.html), +[corrected four-cell campaign](https://d1p6rlowie26tp.cloudfront.net/runner-e2e/campaigns/gha-35806360797-1/index.html). diff --git a/tests/lifecycle-baseline/README.md b/tests/lifecycle-baseline/README.md index 54eee774427..35965b39b8c 100644 --- a/tests/lifecycle-baseline/README.md +++ b/tests/lifecycle-baseline/README.md @@ -10,6 +10,8 @@ failures, representative observations and unmeasured coverage. The separate [live Actions baseline](LIVE-BASELINE-2026-09-21.md) records actual LLM/browser runs, assertion corrections and retained behavior failures. The [fix report](LIVE-FIXES-2026-09-21.md) records the later cancellation fix, corrected fixtures and fresh campaigns. +The [explicit work-mode report](EXPLICIT-WORK-MODE-2026-09-22.md) records the +title/description heuristic removal and its layered verification. ## Run and inspect diff --git a/tests/lifecycle-baseline/baselines/2026-09-22-explicit-work-mode-live.json b/tests/lifecycle-baseline/baselines/2026-09-22-explicit-work-mode-live.json new file mode 100644 index 00000000000..43ce0eba9a3 --- /dev/null +++ b/tests/lifecycle-baseline/baselines/2026-09-22-explicit-work-mode-live.json @@ -0,0 +1,286 @@ +{ + "schema": "paperclip.explicit-work-mode-verification/v1", + "measurementDateLocal": "2026-09-22", + "timezone": "America/Los_Angeles", + "campaigns": [ + { + "source": { + "sha": "d17c92eae10e949643a3b9d1be829061c30e77d6", + "ref": "refs/heads/codex/lifecycle-behavior-baseline-20260921", + "workflowRunUrl": "https://github.com/paperclipai/paperclip/actions/runs/35805477715", + "eventName": "workflow_dispatch" + }, + "campaignId": "gha-35805477715-1", + "artifactSha256": "921c157c55769bd3febe3a29d1aaa64c6c8c2c5e7b349c4e865964425c2b0c2f", + "totals": { + "selected": 6, + "executed": 6, + "passed": 2, + "failed": 4, + "incomplete": 0, + "retries": 0, + "cleanupPassed": true + }, + "billing": { + "testCount": 6, + "agentRunDurationMs": 119026, + "leaseDurationMs": 0, + "llm": { + "runCount": 10, + "runsWithTokenUsage": 10, + "runsWithReportedCost": 5, + "inputTokens": 641012, + "outputTokens": 7375, + "cachedInputTokens": 410079, + "totalTokens": 1058466, + "reportedCostUsd": 0, + "costStatus": "partial" + }, + "reportedLlmCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "testsWithCompleteBilling": 3 + }, + "definitionHashes": [ + "b38be17e21fd6b4f81ae4a1ffc0488559940c65dec016ffbcf41107195775249", + "f82ddc73601921ce113ace60db788053b1c93ed11cc5add75fa237ea4c3e0393" + ], + "cells": [ + { + "executionId": "lifecycle-baseline.legacy-codex.local.lifecycle-work-mode-neutral", + "caseId": "lifecycle-work-mode-neutral", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "model": "gpt-5.6-sol", + "status": "failed", + "failureClass": "candidate_failure", + "attempt": 1, + "durationMs": 62305, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 1, + "failedMatchers": [ + { + "matcher": { + "kind": "message_exact", + "expected": "ROLLOUT_7ddf65563aed-1\n1. Inspect the exporter.\n2. Implement and verify the change." + }, + "passed": false, + "detail": "expected {\"kind\":\"message_exact\",\"expected\":\"ROLLOUT_7ddf65563aed-1\\n1. Inspect the exporter.\\n2. Implement and verify the change.\"}; observed \"ROLLOUT_7ddf65563aed-1\\n1. Inspect the exporter.\\n2. Implement and verify the change.\\nROLLOUT_7ddf65563aed-1\\n1. Inspect the exporter.\\n2. Implement and verify the change.\"" + }, + { + "matcher": { + "kind": "message_occurrences", + "expected": "ROLLOUT_7ddf65563aed-1\n1. Inspect the exporter.\n2. Implement and verify the change.", + "count": 1 + }, + "passed": false, + "detail": "expected {\"kind\":\"message_occurrences\",\"expected\":\"ROLLOUT_7ddf65563aed-1\\n1. Inspect the exporter.\\n2. Implement and verify the change.\",\"count\":1}; observed 2" + } + ] + }, + { + "executionId": "lifecycle-baseline.legacy-codex.local.lifecycle-work-mode-challenge", + "caseId": "lifecycle-work-mode-challenge", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "model": "gpt-5.6-sol", + "status": "failed", + "failureClass": "candidate_failure", + "attempt": 1, + "durationMs": 56471, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 1, + "failedMatchers": [] + }, + { + "executionId": "lifecycle-baseline.runner-codex.local.lifecycle-work-mode-neutral", + "caseId": "lifecycle-work-mode-neutral", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "model": "gpt-5.6-sol", + "status": "failed", + "failureClass": "candidate_failure", + "attempt": 1, + "durationMs": 57976, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 1, + "failedMatchers": [] + }, + { + "executionId": "lifecycle-baseline.runner-codex.local.lifecycle-work-mode-challenge", + "caseId": "lifecycle-work-mode-challenge", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "model": "gpt-5.6-sol", + "status": "failed", + "failureClass": "candidate_failure", + "attempt": 1, + "durationMs": 51867, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 1, + "failedMatchers": [] + }, + { + "executionId": "core-compatibility.legacy-codex.local.plan-revise-accept", + "caseId": "plan-revise-accept", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "attempt": 1, + "durationMs": 62650, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 3, + "failedMatchers": [] + }, + { + "executionId": "core-compatibility.runner-codex.local.plan-revise-accept", + "caseId": "plan-revise-accept", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "attempt": 1, + "durationMs": 60071, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 3, + "failedMatchers": [] + } + ], + "interpretation": "Both planning controls passed. Four new wording cases failed literal browser matching of Markdown lists. Legacy-neutral also issued two successful comment PATCH calls; model behavior evidence is retained. No regrading." + }, + { + "source": { + "sha": "2e9ee319379ef263a511ef31717ee1185b53abdf", + "ref": "refs/heads/codex/lifecycle-behavior-baseline-20260921", + "workflowRunUrl": "https://github.com/paperclipai/paperclip/actions/runs/35806360797", + "eventName": "workflow_dispatch" + }, + "campaignId": "gha-35806360797-1", + "artifactSha256": "6927541ae792c0f4e7013672de4e56135eeada52d5976b78bae467ba35b61647", + "totals": { + "selected": 4, + "executed": 4, + "passed": 4, + "failed": 0, + "incomplete": 0, + "retries": 0, + "cleanupPassed": true + }, + "billing": { + "testCount": 4, + "agentRunDurationMs": 53034, + "leaseDurationMs": 0, + "llm": { + "runCount": 4, + "runsWithTokenUsage": 4, + "runsWithReportedCost": 2, + "inputTokens": 202266, + "outputTokens": 1767, + "cachedInputTokens": 124958, + "totalTokens": 328991, + "reportedCostUsd": 0, + "costStatus": "partial" + }, + "reportedLlmCostUsd": 0, + "estimatedRuntimeCostUsd": 0, + "observedAndEstimatedCostUsd": 0, + "testsWithCompleteBilling": 2 + }, + "definitionHashes": [ + "6c1a13b14f9f15e6eac6e557f39337ce4396b40a732f37a6fa1096b6b5ab2868" + ], + "cells": [ + { + "executionId": "lifecycle-baseline.legacy-codex.local.lifecycle-work-mode-neutral", + "caseId": "lifecycle-work-mode-neutral", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "attempt": 1, + "durationMs": 37511, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 1, + "failedMatchers": [] + }, + { + "executionId": "lifecycle-baseline.legacy-codex.local.lifecycle-work-mode-challenge", + "caseId": "lifecycle-work-mode-challenge", + "profileId": "legacy-codex", + "environmentId": "local", + "runtimeMode": "legacy", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "attempt": 1, + "durationMs": 34480, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 1, + "failedMatchers": [] + }, + { + "executionId": "lifecycle-baseline.runner-codex.local.lifecycle-work-mode-neutral", + "caseId": "lifecycle-work-mode-neutral", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "attempt": 1, + "durationMs": 39179, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 1, + "failedMatchers": [] + }, + { + "executionId": "lifecycle-baseline.runner-codex.local.lifecycle-work-mode-challenge", + "caseId": "lifecycle-work-mode-challenge", + "profileId": "runner-codex", + "environmentId": "local", + "runtimeMode": "native", + "model": "gpt-5.6-sol", + "status": "passed", + "failureClass": null, + "attempt": 1, + "durationMs": 33067, + "evidenceValid": true, + "evidenceErrors": [], + "cleanup": "passed", + "runCount": 1, + "failedMatchers": [] + } + ], + "interpretation": "All four corrected standard-mode wording cells passed exact output, visible browser state, persisted mode and completion. One provider run per cell, no retries, valid evidence and successful cleanup." + } + ] +} diff --git a/tests/lifecycle-baseline/baselines/2026-09-22-explicit-work-mode.json b/tests/lifecycle-baseline/baselines/2026-09-22-explicit-work-mode.json new file mode 100644 index 00000000000..924e7b969e9 --- /dev/null +++ b/tests/lifecycle-baseline/baselines/2026-09-22-explicit-work-mode.json @@ -0,0 +1,4930 @@ +{ + "schema": "paperclip.lifecycle-baseline/v1", + "commit": "d17c92eae10e949643a3b9d1be829061c30e77d6", + "fingerprint": "8b1f1d59a31020c19ae67c15509b117d5747bfc23d93c19a862dc3ccff9ed64d", + "measuredAt": "2026-09-23T01:16:11.146Z", + "layers": [ + "unit", + "runner", + "integration", + "grading" + ], + "execution": { + "unit": { + "exitCode": 0, + "signal": null, + "success": true, + "total": 393, + "passed": 393, + "failed": 0, + "pending": 0, + "launchError": null + }, + "runner": { + "exitCode": 0, + "signal": null, + "success": true, + "total": 182, + "passed": 182, + "failed": 0, + "pending": 0, + "launchError": null + }, + "integration": { + "exitCode": 1, + "signal": null, + "success": false, + "total": 363, + "passed": 361, + "failed": 2, + "pending": 0, + "launchError": null + }, + "grading": { + "exitCode": 0, + "signal": null, + "success": true, + "total": 54, + "passed": 54, + "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.734250000000003, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / no-approval", + "status": "passed", + "duration": 0.14300000000000068, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / scoped-negation", + "status": "passed", + "duration": 0.1039999999999992, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / historical-quote", + "status": "passed", + "duration": 0.08608300000000213, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / spanish", + "status": "passed", + "duration": 0.10370799999999747, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / optional-next-steps", + "status": "passed", + "duration": 0.08579199999999787, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / all-done", + "status": "passed", + "duration": 0.07654199999998923, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-01 structured completion / keep-going", + "status": "passed", + "duration": 0.07783299999999826, + "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.07737499999998931, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover executionRunId", + "status": "passed", + "duration": 0.08741700000000208, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover scheduledRetry", + "status": "passed", + "duration": 0.07166600000000756, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover activeRecoveryAction", + "status": "passed", + "duration": 0.06229199999999935, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-01 rejects leftover monitorNextCheckAt", + "status": "passed", + "duration": 0.06024999999999636, + "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.07158300000000395, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status blocked changes admission with identical prose", + "status": "passed", + "duration": 0.03720900000001848, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status in_review changes admission with identical prose", + "status": "passed", + "duration": 0.03508399999998346, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status cancelled changes admission with identical prose", + "status": "passed", + "duration": 0.03816699999998718, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / neutral", + "status": "passed", + "duration": 0.4517089999999939, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / no-approval", + "status": "passed", + "duration": 0.15237499999997794, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / scoped-negation", + "status": "passed", + "duration": 0.17429200000000833, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / historical-quote", + "status": "passed", + "duration": 0.27495799999999804, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / spanish", + "status": "passed", + "duration": 0.11145799999999895, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / optional-next-steps", + "status": "passed", + "duration": 0.11070800000001668, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / all-done", + "status": "passed", + "duration": 0.14141599999999244, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / keep-going", + "status": "passed", + "duration": 0.17574999999999363, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-01 complete / empty", + "status": "passed", + "duration": 0.10991699999999582, + "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": 885.7006659999997, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails independently when any asserted field category is mutated", + "status": "passed", + "duration": 874.6004170000006, + "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": 60.635167000000365, + "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": 45.59687500000018, + "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": 44.624542000000474, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus rejects wrong, missing, and duplicate criterion IDs before accepting completion", + "status": "passed", + "duration": 9.963250000000698, + "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": 37.33445800000027, + "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": 163.1746659999999, + "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.153291999999965, + "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": 36.07495800000015, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus leaves an already accepted review untouched", + "status": "passed", + "duration": 14.239083000000392, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus leaves an already rejected review untouched", + "status": "passed", + "duration": 12.571791999999732, + "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": 21.292875000000095, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later blocked status", + "status": "passed", + "duration": 20.0367499999993, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later done status", + "status": "passed", + "duration": 26.10620800000015, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later cancelled status", + "status": "passed", + "duration": 22.225540999999794, + "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": 48.99354200000016, + "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.563084000000345, + "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": 42.333417000000736, + "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": 35.69704199999978, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus continues native finalization when the obsolete-card lookup fails", + "status": "passed", + "duration": 19.602083000000675, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves a later authoritative status during reconciliation", + "status": "passed", + "duration": 0.12491599999975733, + "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": 8.04729099999986, + "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": 10.584541999999601, + "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.582292000000052, + "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.905624999999418, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with none predecessor", + "status": "passed", + "duration": 5.5109999999995125, + "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.355750000000626, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with other_run predecessor", + "status": "passed", + "duration": 7.404042000000118, + "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": 7.908916999999747, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails the transaction closed for an unknown status effect", + "status": "passed", + "duration": 4.014957999999751, + "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": 932.3656250000004, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-01 legacy completed work has no extra execution regardless of summary", + "status": "passed", + "duration": 340.1635830000005, + "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.2834160000000026, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.442875000000015, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.5063749999999914, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.3329999999999984, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / spanish preserves continuation effects", + "status": "passed", + "duration": 0.40245799999999576, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.1559999999999775, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / all-done preserves continuation effects", + "status": "passed", + "duration": 0.1052090000000021, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.10408300000000281, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / empty preserves continuation effects", + "status": "passed", + "duration": 0.147625000000005, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / neutral preserves continuation effects", + "status": "passed", + "duration": 0.2416249999999991, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.15016700000001038, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.18045900000001325, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.12433300000000713, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / spanish preserves continuation effects", + "status": "passed", + "duration": 0.10462499999999864, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.1329589999999996, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / all-done preserves continuation effects", + "status": "passed", + "duration": 0.09250000000000114, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.0656669999999906, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / empty preserves continuation effects", + "status": "passed", + "duration": 0.07254199999999855, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / neutral preserves continuation effects", + "status": "passed", + "duration": 0.1193749999999909, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.07049999999998136, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.07291599999999221, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.07208299999999213, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / spanish preserves continuation effects", + "status": "passed", + "duration": 0.0625, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.08829099999999812, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / all-done preserves continuation effects", + "status": "passed", + "duration": 0.09841700000001197, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.06204200000001947, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / empty preserves continuation effects", + "status": "passed", + "duration": 0.07662500000000705, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / neutral preserves continuation effects", + "status": "passed", + "duration": 0.15787499999999, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.08045799999999304, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.09466699999998696, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.06979200000000674, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / spanish preserves continuation effects", + "status": "passed", + "duration": 0.0860839999999996, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.0640420000000006, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / all-done preserves continuation effects", + "status": "passed", + "duration": 0.07204199999998195, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.0730829999999969, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / empty preserves continuation effects", + "status": "passed", + "duration": 0.07224999999999682, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / neutral preserves continuation effects", + "status": "passed", + "duration": 0.1617920000000197, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.09458399999999756, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.06887499999999136, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.10129200000000083, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / spanish preserves continuation effects", + "status": "passed", + "duration": 0.14487499999998477, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.07474999999999454, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / all-done preserves continuation effects", + "status": "passed", + "duration": 0.07479200000000219, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.1784579999999778, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / empty preserves continuation effects", + "status": "passed", + "duration": 0.12466599999999062, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / neutral preserves continuation effects", + "status": "passed", + "duration": 0.12162499999999454, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.09908400000000483, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.11154200000001424, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.07758300000000418, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / spanish preserves continuation effects", + "status": "passed", + "duration": 0.08245800000000258, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.07954100000000608, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / all-done preserves continuation effects", + "status": "passed", + "duration": 0.07145799999997848, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.1271250000000066, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / empty preserves continuation effects", + "status": "passed", + "duration": 0.0835830000000044, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / neutral", + "status": "passed", + "duration": 0.09658400000000711, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / no-approval", + "status": "passed", + "duration": 0.06470799999999599, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / scoped-negation", + "status": "passed", + "duration": 0.09445900000000051, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / historical-quote", + "status": "passed", + "duration": 0.09266600000000835, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / spanish", + "status": "passed", + "duration": 0.06350000000000477, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / optional-next-steps", + "status": "passed", + "duration": 0.054667000000023336, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / all-done", + "status": "passed", + "duration": 0.04983400000000415, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / keep-going", + "status": "passed", + "duration": 0.5122080000000153, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 continue / empty", + "status": "passed", + "duration": 0.0595000000000141, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-02 explicit continuation changes effects with identical prose", + "status": "passed", + "duration": 0.05550000000002342, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/src/__tests__/heartbeat-retry-scheduling.test.ts", + "pattern": "max-turn", + "status": "pass", + "assertions": [ + { + "name": "heartbeat bounded retry scheduling schedules max-turn continuations with distinct retry metadata", + "status": "passed", + "duration": 78.0161250000001, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling coalesces duplicate max-turn continuation schedules for the same source run and attempt", + "status": "passed", + "duration": 67.50916599999982, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling does not promote a duplicate max-turn continuation that does not own the issue lock", + "status": "passed", + "duration": 621.1231669999997, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to blocked before retry promotion", + "status": "passed", + "duration": 53.5522919999994, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to todo before retry promotion", + "status": "passed", + "duration": 49.370082999999795, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to backlog before retry promotion", + "status": "passed", + "duration": 53.76208300000053, + "failureMessages": [] + } + ] + }, + { + "lane": "integration", + "file": "server/test-baselines/lifecycle-heartbeat.test.ts", + "pattern": "LCA-02", + "status": "assertion_failure", + "assertions": [ + { + "name": "LCA full heartbeat observation LCA-02 native explicit continuation survives misleading approval prose", + "status": "failed", + "duration": 510.3984580000006, + "failureMessages": [ + "AssertionError: expected { Object (status, locked) } to deeply equal { status: 'done', locked: false }\n at /private/tmp/paperclip-lifecycle-baseline-20260921/server/test-baselines/lifecycle-heartbeat.test.ts:345:30\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at file:///Users/dotta/paperclipai/paperclip/node_modules/.pnpm/@vitest+runner@4.1.11/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:20" + ] + }, + { + "name": "LCA full heartbeat observation LCA-02 legacy incomplete work schedules the same follow-up regardless of approval wording", + "status": "passed", + "duration": 651.3029999999999, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-02 native productive workflow continues beyond the failure retry allowance", + "status": "failed", + "duration": 278.667375, + "failureMessages": [ + "AssertionError: expected { Object (status, locked) } to deeply equal { status: 'done', locked: false }\n at /private/tmp/paperclip-lifecycle-baseline-20260921/server/test-baselines/lifecycle-heartbeat.test.ts:397:28\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at file:///Users/dotta/paperclipai/paperclip/node_modules/.pnpm/@vitest+runner@4.1.11/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:20" + ] + } + ] + } + ], + "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.247249999999994, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-03 rejects prose-only waiting even if final task completes", + "status": "passed", + "duration": 0.35462499999999864, + "failureMessages": [] + }, + { + "name": "LCA Product E2E evidence calibration LCA-03 rejects answer on a different question", + "status": "passed", + "duration": 0.09799999999999898, + "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.10616699999999923, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / no-approval", + "status": "passed", + "duration": 0.10816600000001131, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / scoped-negation", + "status": "passed", + "duration": 0.07150000000001455, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / historical-quote", + "status": "passed", + "duration": 0.07545799999999758, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / spanish", + "status": "passed", + "duration": 0.07612499999999045, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / optional-next-steps", + "status": "passed", + "duration": 0.04983300000000668, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / all-done", + "status": "passed", + "duration": 0.06416699999999764, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / keep-going", + "status": "passed", + "duration": 0.06758400000001075, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-03 question / empty", + "status": "passed", + "duration": 0.04866599999999721, + "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": 166.0915, + "failureMessages": [] + }, + { + "name": "question response delivery never mixes an external-chat question response into another live chat run in native mode", + "status": "passed", + "duration": 83.12066699999968, + "failureMessages": [] + }, + { + "name": "question response delivery never mixes an external-chat question response into another live chat run in legacy mode", + "status": "passed", + "duration": 45.058958000000075, + "failureMessages": [] + }, + { + "name": "question response delivery does not promote a source-run wake comment from another issue", + "status": "passed", + "duration": 51.382292000000234, + "failureMessages": [] + }, + { + "name": "question response delivery resolves an in-flight native input request before creating a continuation", + "status": "passed", + "duration": 45.58020799999986, + "failureMessages": [] + }, + { + "name": "question response delivery keeps native input delivery pending while its PRP session is unavailable", + "status": "passed", + "duration": 46.00045799999998, + "failureMessages": [] + }, + { + "name": "question response delivery coalesces into a queued successor without creating another wake", + "status": "passed", + "duration": 53.48570800000016, + "failureMessages": [] + }, + { + "name": "question response delivery never steers into the source run and keeps a skipped wake retryable", + "status": "passed", + "duration": 53.03558299999986, + "failureMessages": [] + }, + { + "name": "question response delivery delivers after wake suppression outlasts the bounded error retry limit", + "status": "passed", + "duration": 77.7199999999998, + "failureMessages": [] + }, + { + "name": "question response delivery preserves the actual-error retry budget after prolonged wake suppression", + "status": "passed", + "duration": 75.76195899999948, + "failureMessages": [] + }, + { + "name": "question response delivery enforces one durable wake per question-response idempotency key", + "status": "passed", + "duration": 43.229208000000654, + "failureMessages": [] + }, + { + "name": "question response delivery reuses the winning wake when a concurrent insert hits the idempotency fence", + "status": "passed", + "duration": 37.25366699999995, + "failureMessages": [] + }, + { + "name": "question response delivery settles against a canonical wake from the previous assignee without retrying forever", + "status": "passed", + "duration": 59.55879199999981, + "failureMessages": [] + }, + { + "name": "question response delivery reuses a durable wake receipt instead of issuing a duplicate continuation", + "status": "passed", + "duration": 52.85345799999959, + "failureMessages": [] + }, + { + "name": "question response delivery recovers a completed wake when receipt finalization was interrupted", + "status": "passed", + "duration": 46.3329590000003, + "failureMessages": [] + }, + { + "name": "question response delivery keeps a long wake claim leased while the side effect is active", + "status": "passed", + "duration": 136.2758330000006, + "failureMessages": [] + }, + { + "name": "question response delivery fences a stale worker after a newer claim generation takes ownership", + "status": "passed", + "duration": 87.25662499999999, + "failureMessages": [] + }, + { + "name": "question response delivery keeps acpx_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 39.270040999999765, + "failureMessages": [] + }, + { + "name": "question response delivery keeps claude_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 40.427999999999884, + "failureMessages": [] + }, + { + "name": "question response delivery keeps codex_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 34.70191700000032, + "failureMessages": [] + }, + { + "name": "question response delivery keeps cursor_cloud on the existing wake path without invoking native steering", + "status": "passed", + "duration": 28.681000000000495, + "failureMessages": [] + }, + { + "name": "question response delivery keeps cursor on the existing wake path without invoking native steering", + "status": "passed", + "duration": 22.571625000000495, + "failureMessages": [] + }, + { + "name": "question response delivery keeps gemini_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 27.177582999999686, + "failureMessages": [] + }, + { + "name": "question response delivery keeps grok_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 20.939500000000407, + "failureMessages": [] + }, + { + "name": "question response delivery keeps hermes_gateway on the existing wake path without invoking native steering", + "status": "passed", + "duration": 19.769749999999476, + "failureMessages": [] + }, + { + "name": "question response delivery keeps hermes_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 18.50183399999969, + "failureMessages": [] + }, + { + "name": "question response delivery keeps kimi_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 18.455958999999893, + "failureMessages": [] + }, + { + "name": "question response delivery keeps openclaw_gateway on the existing wake path without invoking native steering", + "status": "passed", + "duration": 19.78333300000031, + "failureMessages": [] + }, + { + "name": "question response delivery keeps opencode_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 17.645332999999482, + "failureMessages": [] + }, + { + "name": "question response delivery keeps pi_local on the existing wake path without invoking native steering", + "status": "passed", + "duration": 16.46545900000001, + "failureMessages": [] + }, + { + "name": "question response delivery keeps process on the existing wake path without invoking native steering", + "status": "passed", + "duration": 21.898707999999715, + "failureMessages": [] + }, + { + "name": "question response delivery keeps http on the existing wake path without invoking native steering", + "status": "passed", + "duration": 25.72191599999951, + "failureMessages": [] + }, + { + "name": "question response delivery keeps external_test_adapter on the existing wake path without invoking native steering", + "status": "passed", + "duration": 25.355333999999857, + "failureMessages": [] + }, + { + "name": "question response delivery queues once without probing successor steering", + "status": "passed", + "duration": 32.68104200000016, + "failureMessages": [] + }, + { + "name": "question response delivery formats text, select labels, multi-select, and custom answers in order", + "status": "passed", + "duration": 12.558708999999908, + "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": 5.251041000000441, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the paused admission gate", + "status": "passed", + "duration": 4.263958999999886, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 native accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 13.727917000000161, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 8.708542000000307, + "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.07158300000000395, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status blocked changes admission with identical prose", + "status": "passed", + "duration": 0.03720900000001848, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status in_review changes admission with identical prose", + "status": "passed", + "duration": 0.03508399999998346, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-01 LCA-04 real status cancelled changes admission with identical prose", + "status": "passed", + "duration": 0.03816699999998718, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / neutral", + "status": "passed", + "duration": 0.14470899999997755, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / no-approval", + "status": "passed", + "duration": 0.0892910000000029, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / scoped-negation", + "status": "passed", + "duration": 0.06337499999997931, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / historical-quote", + "status": "passed", + "duration": 0.056874999999990905, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / spanish", + "status": "passed", + "duration": 0.14091600000000426, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / optional-next-steps", + "status": "passed", + "duration": 0.11699999999999022, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / all-done", + "status": "passed", + "duration": 0.1326660000000004, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / keep-going", + "status": "passed", + "duration": 0.08354100000002518, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 approval / empty", + "status": "passed", + "duration": 0.08449999999999136, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / neutral", + "status": "passed", + "duration": 0.11266600000001858, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / no-approval", + "status": "passed", + "duration": 0.04966699999999946, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / scoped-negation", + "status": "passed", + "duration": 0.09108299999999758, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / historical-quote", + "status": "passed", + "duration": 0.08379100000001927, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / spanish", + "status": "passed", + "duration": 0.12587500000000773, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / optional-next-steps", + "status": "passed", + "duration": 0.06274999999999409, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / all-done", + "status": "passed", + "duration": 0.06829200000001379, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / keep-going", + "status": "passed", + "duration": 0.05587499999998613, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 blocker / empty", + "status": "passed", + "duration": 0.07120899999998187, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-04 resolving the real approval changes authority with identical prose", + "status": "passed", + "duration": 0.06225000000000591, + "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": 131.99054199999955, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes accepts request confirmations and wakes the current assignee when configured for accept-only wakeups", + "status": "passed", + "duration": 183.42312500000025, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes executes an accepted tool-action confirmation through the gateway callback", + "status": "passed", + "duration": 439.1758749999999, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes with failure instructions after an accepted tool action fails", + "status": "passed", + "duration": 186.63504199999898, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes with fresh-approval instructions after an accepted tool action expires", + "status": "passed", + "duration": 215.11724999999933, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes rejects client-supplied tool-action metadata on interaction creation", + "status": "passed", + "duration": 163.40362500000083, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes executes an accepted secret-proposal confirmation and wakes with verification instructions", + "status": "passed", + "duration": 175.99058299999888, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forwards plan-document confirmations to the interaction service for revision validation", + "status": "passed", + "duration": 169.52466699999968, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes accepts request checkbox confirmations with selected option ids and wakes the assignee", + "status": "passed", + "duration": 189.24654200000077, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'explicit' issueId", + "status": "passed", + "duration": 184.4672499999997, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'omitted' issueId", + "status": "passed", + "duration": 139.20066700000098, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'null' issueId", + "status": "passed", + "duration": 132.81883299999936, + "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": 126.66862499999843, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes the returned agent when accepting an agent-authored confirmation from a board review assignee", + "status": "passed", + "duration": 128.20154100000036, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes does not emit a continuation wake when request confirmations are rejected", + "status": "passed", + "duration": 127.08658400000058, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes delivers generic confirmation rejection feedback as the next turn message", + "status": "passed", + "duration": 127.07966600000145, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes wakes with decline instructions when a tool-action confirmation is rejected", + "status": "passed", + "duration": 130.19900000000052, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes allows an agent to accept another agent's pending review confirmation by default", + "status": "passed", + "duration": 128.4547500000008, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes allows an agent to reject a pending review confirmation by default", + "status": "passed", + "duration": 125.28733300000022, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes keeps an unrelated pending confirmation human-only on an in-review issue", + "status": "passed", + "duration": 136.1476670000011, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes keeps a same-requester sibling confirmation human-only", + "status": "passed", + "duration": 140.05162500000006, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes rejects an agent review-confirmation verdict under human_only with actionable copy", + "status": "passed", + "duration": 185.84595799999988, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes allows an unrelated agent-resolvable confirmation under a restrictive issue review policy", + "status": "passed", + "duration": 135.97925000000032, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes lets the creator and same run resolve 'request_confirmation' through anyone", + "status": "passed", + "duration": 141.78862500000105, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes lets the creator and same run resolve 'request_checkbox_confirmation' through anyone", + "status": "passed", + "duration": 128.51016699999855, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes blocks human-only and tool-action interactions for agents", + "status": "passed", + "duration": 162.44479199999842, + "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": 78.88195799999994, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling retains the failure budget after many pre-provider ai_connection_busy waits", + "status": "passed", + "duration": 66.06516699999975, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the dependency gate for interrupted conversations", + "status": "passed", + "duration": 51.06254100000024, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the disabled gate for interrupted conversations", + "status": "passed", + "duration": 57.04954199999975, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the reassigned gate for interrupted conversations", + "status": "passed", + "duration": 60.95487500000036, + "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": 36.51579199999833, + "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.1752919999999989, + "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.14279199999998582, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-05 legacy title plan is not work-mode authority", + "status": "passed", + "duration": 0.06970799999999144, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-05 legacy title research is not work-mode authority", + "status": "passed", + "duration": 0.07737500000001774, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-05 legacy description is not work-mode authority", + "status": "passed", + "duration": 0.14016699999999105, + "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.11524999999997476, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode undefined", + "status": "passed", + "duration": 1.1527909999999792, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode null", + "status": "passed", + "duration": 0.5962499999999977, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode standard", + "status": "passed", + "duration": 0.7119580000000099, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode ask", + "status": "passed", + "duration": 0.5720420000000104, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode skill_test", + "status": "passed", + "duration": 0.35249999999999204, + "failureMessages": [] + }, + { + "name": "run liveness classifier title and description cannot change liveness in explicit mode planning", + "status": "passed", + "duration": 0.3209590000000162, + "failureMessages": [] + }, + { + "name": "run liveness classifier a standard-mode task can deliver a plan and complete without entering planning mode", + "status": "passed", + "duration": 0.11720800000000509, + "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.178874999999607, + "failureMessages": [] + }, + { + "name": "buildPaperclipTaskMarkdown selects directives only from explicit planning mode, even when a plan is requested", + "status": "passed", + "duration": 0.1670830000002752, + "failureMessages": [] + }, + { + "name": "buildPaperclipTaskMarkdown selects directives only from explicit ask mode, even when a plan is requested", + "status": "passed", + "duration": 0.12616699999989578, + "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": 3.235667000000035, + "failureMessages": [] + }, + { + "name": "LCA-05 explicit native work mode title and description cannot override planning mode", + "status": "passed", + "duration": 1.2844579999999723, + "failureMessages": [] + }, + { + "name": "LCA-05 explicit native work mode title and description cannot override ask mode", + "status": "passed", + "duration": 0.8811249999999973, + "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": 182.06725000000006, + "failureMessages": [] + }, + { + "name": "activity service LCA-05 persists explicit planning mode across wording edits and uses it in ledger backfill", + "status": "passed", + "duration": 127.98820799999976, + "failureMessages": [] + }, + { + "name": "activity service LCA-05 persists explicit ask mode across wording edits and uses it in ledger backfill", + "status": "passed", + "duration": 97.67112499999985, + "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": 169.52466699999968, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'explicit' issueId", + "status": "passed", + "duration": 184.4672499999997, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'omitted' issueId", + "status": "passed", + "duration": 139.20066700000098, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes forces a fresh workspace-aware session when accepting a planning confirmation with 'null' issueId", + "status": "passed", + "duration": 132.81883299999936, + "failureMessages": [] + }, + { + "name": "issue thread interaction routes does not project an explicitly different issue's approved plan into the current issue wake", + "status": "passed", + "duration": 125.6098750000001, + "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": 126.66862499999843, + "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.39620800000012, + "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.27141599999959, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService keeps Plan mode for non-plan and checkbox confirmations", + "status": "passed", + "duration": 18.160917000000154, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService keeps ask mode when accepting a plan confirmation", + "status": "passed", + "duration": 8.759875000000648, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService keeps standard mode when accepting a plan confirmation", + "status": "passed", + "duration": 8.856374999999389, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService keeps Plan mode when a plan confirmation is rejected", + "status": "passed", + "duration": 8.609791000000769, + "failureMessages": [] + }, + { + "name": "issueThreadInteractionService rejects creating a plan confirmation against a stale document revision and accepts the current one", + "status": "passed", + "duration": 14.173416999999972, + "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": 618.9797909999998, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation keeps resolved dependency wake reconciliation active", + "status": "passed", + "duration": 420.12829099999954, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation heals a blocked dependent whose done blocker has no workspace finalize obligation", + "status": "passed", + "duration": 385.0348749999994, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation reconciles a resolved blocked dependency after the assignee-null window closes", + "status": "passed", + "duration": 359.15333399999963, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation keeps repeated wakes behind a active execution hold run-free, then resumes once", + "status": "passed", + "duration": 230.55933300000015, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation keeps repeated wakes behind a resolved execution hold run-free, then resumes once", + "status": "passed", + "duration": 225.5840420000004, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation rechecks every gate after an execution hold clears", + "status": "passed", + "duration": 349.70016699999996, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation preserves distinct comments through a hold and adopts them on the next eligible wake", + "status": "passed", + "duration": 369.6653329999999, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation retries a resolved dependency wake when the prior wake was skipped as stale", + "status": "passed", + "duration": 360.5191249999998, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation waits for workspace finalize before healing a resolved blocked dependent", + "status": "passed", + "duration": 419.5241669999996, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation does not duplicate an existing dependency wake keyed to any resolved blocker", + "status": "passed", + "duration": 31.66283300000032, + "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": 368.86954199999946, + "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": 341.36316700000043, + "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": 40.88025000000016, + "failureMessages": [] + }, + { + "name": "heartbeat resolved dependency wake reconciliation counts null dependency wake returns as deferred instead of enqueue failures", + "status": "passed", + "duration": 45.634415999999874, + "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.0660000000000025, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / no-approval", + "status": "passed", + "duration": 0.06416600000000017, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / scoped-negation", + "status": "passed", + "duration": 0.070083000000011, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / historical-quote", + "status": "passed", + "duration": 0.052958000000018046, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / spanish", + "status": "passed", + "duration": 0.05420899999998596, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / optional-next-steps", + "status": "passed", + "duration": 0.0815420000000131, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / all-done", + "status": "passed", + "duration": 0.06029200000000401, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / keep-going", + "status": "passed", + "duration": 0.061082999999996446, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-07 monitor / empty", + "status": "passed", + "duration": 0.05000000000001137, + "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": 1242.3164590000006, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler does not replay a quota monitor with unknown execution evidence", + "status": "passed", + "duration": 581.8827499999998, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler does not replay a quota monitor with exhausted execution evidence", + "status": "passed", + "duration": 580.449584, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler wakes a cross-agent review participant for provider quota monitors", + "status": "passed", + "duration": 844.1818750000002, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler lets the board trigger a scheduled issue monitor immediately", + "status": "passed", + "duration": 964.5082499999999, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler clears due monitors that cannot be dispatched and records a skip", + "status": "passed", + "duration": 562.5059999999994, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler clears exhausted monitors and queues bounded owner recovery instead of another due check", + "status": "passed", + "duration": 1090.3337080000001, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler clears timed-out monitors and creates a visible recovery issue when requested", + "status": "passed", + "duration": 1188.8062920000011, + "failureMessages": [] + }, + { + "name": "issue monitor scheduler omits external monitor refs from wake payloads and activity details", + "status": "passed", + "duration": 1058.8612089999988, + "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.07545799999999758, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / no-approval", + "status": "passed", + "duration": 0.047958000000022594, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / scoped-negation", + "status": "passed", + "duration": 0.0689999999999884, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / historical-quote", + "status": "passed", + "duration": 0.06029200000000401, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / spanish", + "status": "passed", + "duration": 0.05633299999999508, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / optional-next-steps", + "status": "passed", + "duration": 0.04824999999999591, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / all-done", + "status": "passed", + "duration": 0.04620799999997871, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / keep-going", + "status": "passed", + "duration": 0.04295799999999872, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-08 conversation / empty", + "status": "passed", + "duration": 0.04433299999999463, + "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": 130.62391599999955, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the dependency gate for interrupted conversations", + "status": "passed", + "duration": 51.06254100000024, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the disabled gate for interrupted conversations", + "status": "passed", + "duration": 57.04954199999975, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the reassigned gate for interrupted conversations", + "status": "passed", + "duration": 60.95487500000036, + "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": 101.1880000000001, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery accepts a control-plane governed wait when a completed turn omitted its semantic result", + "status": "passed", + "duration": 1.5345839999999953, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery parks a provider turn immediately after a durable governed wait appears", + "status": "passed", + "duration": 0.6420829999997295, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery hands a committed structured input to the durable wait after its live window", + "status": "passed", + "duration": 2.261333999999806, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery keeps a settling structured input in the original turn while its append crosses expiry", + "status": "passed", + "duration": 0.705417000000125, + "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.1963750000000033, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / no-approval", + "status": "passed", + "duration": 0.09850000000000136, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / scoped-negation", + "status": "passed", + "duration": 0.06287500000000534, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / historical-quote", + "status": "passed", + "duration": 0.04983400000000415, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / spanish", + "status": "passed", + "duration": 0.04508399999998858, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / optional-next-steps", + "status": "passed", + "duration": 0.04416700000000162, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / all-done", + "status": "passed", + "duration": 0.04620900000000461, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / keep-going", + "status": "passed", + "duration": 0.043417000000005146, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-09 summary cannot replace missing disposition / empty", + "status": "passed", + "duration": 0.09541699999999764, + "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.2834160000000026, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.442875000000015, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.5063749999999914, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.3329999999999984, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / spanish preserves continuation effects", + "status": "passed", + "duration": 0.40245799999999576, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.1559999999999775, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / all-done preserves continuation effects", + "status": "passed", + "duration": 0.1052090000000021, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.10408300000000281, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy summary / empty preserves continuation effects", + "status": "passed", + "duration": 0.147625000000005, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / neutral preserves continuation effects", + "status": "passed", + "duration": 0.2416249999999991, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.15016700000001038, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.18045900000001325, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.12433300000000713, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / spanish preserves continuation effects", + "status": "passed", + "duration": 0.10462499999999864, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.1329589999999996, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / all-done preserves continuation effects", + "status": "passed", + "duration": 0.09250000000000114, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.0656669999999906, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy result / empty preserves continuation effects", + "status": "passed", + "duration": 0.07254199999999855, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / neutral preserves continuation effects", + "status": "passed", + "duration": 0.1193749999999909, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.07049999999998136, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.07291599999999221, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.07208299999999213, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / spanish preserves continuation effects", + "status": "passed", + "duration": 0.0625, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.08829099999999812, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / all-done preserves continuation effects", + "status": "passed", + "duration": 0.09841700000001197, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.06204200000001947, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy comment / empty preserves continuation effects", + "status": "passed", + "duration": 0.07662500000000705, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / neutral preserves continuation effects", + "status": "passed", + "duration": 0.15787499999999, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.08045799999999304, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.09466699999998696, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.06979200000000674, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / spanish preserves continuation effects", + "status": "passed", + "duration": 0.0860839999999996, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.0640420000000006, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / all-done preserves continuation effects", + "status": "passed", + "duration": 0.07204199999998195, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.0730829999999969, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy continuation / empty preserves continuation effects", + "status": "passed", + "duration": 0.07224999999999682, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / neutral preserves continuation effects", + "status": "passed", + "duration": 0.1617920000000197, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.09458399999999756, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.06887499999999136, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.10129200000000083, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / spanish preserves continuation effects", + "status": "passed", + "duration": 0.14487499999998477, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.07474999999999454, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / all-done preserves continuation effects", + "status": "passed", + "duration": 0.07479200000000219, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.1784579999999778, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stdout / empty preserves continuation effects", + "status": "passed", + "duration": 0.12466599999999062, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / neutral preserves continuation effects", + "status": "passed", + "duration": 0.12162499999999454, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / no-approval preserves continuation effects", + "status": "passed", + "duration": 0.09908400000000483, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / scoped-negation preserves continuation effects", + "status": "passed", + "duration": 0.11154200000001424, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / historical-quote preserves continuation effects", + "status": "passed", + "duration": 0.07758300000000418, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / spanish preserves continuation effects", + "status": "passed", + "duration": 0.08245800000000258, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / optional-next-steps preserves continuation effects", + "status": "passed", + "duration": 0.07954100000000608, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / all-done preserves continuation effects", + "status": "passed", + "duration": 0.07145799999997848, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / keep-going preserves continuation effects", + "status": "passed", + "duration": 0.1271250000000066, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-02 LCA-09 legacy stderr / empty preserves continuation effects", + "status": "passed", + "duration": 0.0835830000000044, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-09 additional commentary cannot manufacture progress or reset an attempt", + "status": "passed", + "duration": 0.21412499999999568, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-09 exhausted recovery remains exhausted", + "status": "passed", + "duration": 0.031374999999997044, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / neutral", + "status": "passed", + "duration": 0.06024999999999636, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / no-approval", + "status": "passed", + "duration": 0.0599589999999921, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / scoped-negation", + "status": "passed", + "duration": 0.04754199999999287, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / historical-quote", + "status": "passed", + "duration": 0.044125000000008185, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / spanish", + "status": "passed", + "duration": 0.127207999999996, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / optional-next-steps", + "status": "passed", + "duration": 0.10129100000000335, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / all-done", + "status": "passed", + "duration": 0.057125000000013415, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / keep-going", + "status": "passed", + "duration": 0.05054200000000719, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-09 missing evidence / empty", + "status": "passed", + "duration": 0.045416999999986274, + "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": 97.51304100000016, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (2)", + "status": "passed", + "duration": 30.750542000000223, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (3)", + "status": "passed", + "duration": 26.82891699999982, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (4)", + "status": "passed", + "duration": 22.500958000000082, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority deduplicates concurrent replay with stale prose-derived liveness (5)", + "status": "passed", + "duration": 23.336625000000367, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not roll back the ledger when a fast repair finishes before enqueue returns", + "status": "passed", + "duration": 28.476458000000093, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority keeps the same bounded episode across restart and commentary, then escalates only after agent attempts", + "status": "passed", + "duration": 59.80912499999977, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority persists the source identity while the second repair waits to dispatch", + "status": "passed", + "duration": 26.92987499999981, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not stack a new repair budget on the retry_queued comment policy", + "status": "passed", + "duration": 7.250499999999647, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not stack a new repair budget on the retry_exhausted comment policy", + "status": "passed", + "duration": 7.617792000000009, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority does not grant a new budget to exhausted pre-upgrade continuation", + "status": "passed", + "duration": 24.304541999999856, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors durable done instead of the final summary", + "status": "passed", + "duration": 4.478458000000046, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors durable cancelled instead of the final summary", + "status": "passed", + "duration": 5.444999999999709, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors durable blocked instead of the final summary", + "status": "passed", + "duration": 7.83166700000038, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors durable in_review instead of the final summary", + "status": "passed", + "duration": 8.15191700000014, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority respects a pending approval while the issue still says in progress", + "status": "passed", + "duration": 8.388915999999881, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority rechecks a newly pending approval at dispatch without spending another attempt", + "status": "passed", + "duration": 24.177083999999923, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority preserves repair authority and its budget through a typed infrastructure retry", + "status": "passed", + "duration": 24.138041000000158, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority suppresses a queued repair after done", + "status": "passed", + "duration": 32.70141599999988, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority suppresses a queued repair after paused", + "status": "passed", + "duration": 20.615999999999985, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority suppresses a queued repair after reassigned", + "status": "passed", + "duration": 15.513875000000098, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority suppresses a queued repair after stopped", + "status": "passed", + "duration": 11.664499999999862, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority leaves goal-control run ownership intact: {\"goalControlRequestId\":\"control\"}", + "status": "passed", + "duration": 8.418625000000247, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority leaves goal-control run ownership intact: {\"resumeSessionGoalHeartbeat\":true}", + "status": "passed", + "duration": 6.7178329999997, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority leaves a due monitor as the owner of the next step", + "status": "passed", + "duration": 5.914582999999766, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority honors pause and changed ownership without spending a repair attempt", + "status": "passed", + "duration": 10.165457999999944, + "failureMessages": [] + }, + { + "name": "legacy continuation persisted authority the delayed sweep ignores old diagnostic labels and uses the same repair path", + "status": "passed", + "duration": 116.86904199999981, + "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.3659580000000062, + "failureMessages": [] + }, + { + "name": "legacy continuation authority respects persisted done disposition", + "status": "passed", + "duration": 0.13612499999999272, + "failureMessages": [] + }, + { + "name": "legacy continuation authority respects persisted cancelled disposition", + "status": "passed", + "duration": 0.16391699999999787, + "failureMessages": [] + }, + { + "name": "legacy continuation authority respects persisted blocked disposition", + "status": "passed", + "duration": 0.12779199999999946, + "failureMessages": [] + }, + { + "name": "legacy continuation authority respects persisted in_review disposition", + "status": "passed", + "duration": 0.11570899999998119, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a failed process into repair", + "status": "passed", + "duration": 0.07554099999998698, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a cancelled process into repair", + "status": "passed", + "duration": 0.08037500000000364, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a interrupted process into repair", + "status": "passed", + "duration": 0.0660000000000025, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a timed_out process into repair", + "status": "passed", + "duration": 0.10462499999999864, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not convert a running process into repair", + "status": "passed", + "duration": 0.1290000000000191, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves stopped", + "status": "passed", + "duration": 0.09045899999998142, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves paused", + "status": "passed", + "duration": 0.03899999999998727, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves budgetBlocked", + "status": "passed", + "duration": 0.03070900000000165, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves pendingWait", + "status": "passed", + "duration": 0.03412499999998886, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves activeExecution", + "status": "passed", + "duration": 0.034207999999978256, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves ownedLifecycle", + "status": "passed", + "duration": 0.055499999999995, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves conversation", + "status": "passed", + "duration": 0.05170799999999076, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not repair with a paused agent", + "status": "passed", + "duration": 0.056791999999973086, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not repair with a terminated agent", + "status": "passed", + "duration": 0.03387499999999477, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not repair with a pending_approval agent", + "status": "passed", + "duration": 0.021332999999998492, + "failureMessages": [] + }, + { + "name": "legacy continuation authority rejects foreign agent and reassigned issue", + "status": "passed", + "duration": 0.05104199999999537, + "failureMessages": [] + }, + { + "name": "legacy continuation authority preserves the episode through two attempts and exhaustion", + "status": "passed", + "duration": 0.20887500000000614, + "failureMessages": [] + }, + { + "name": "legacy continuation authority does not resurrect an exhausted pre-upgrade liveness or handoff budget", + "status": "passed", + "duration": 0.3085829999999987, + "failureMessages": [] + }, + { + "name": "legacy continuation authority keeps replay identity stable while a genuinely new episode gets its own identity", + "status": "passed", + "duration": 0.2001250000000141, + "failureMessages": [] + }, + { + "name": "legacy continuation authority leaves native finalization to its own authority", + "status": "passed", + "duration": 0.04749999999998522, + "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": 161.38004200000069, + "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.4321250000000418, + "failureMessages": [] + }, + { + "name": "owner-sticky disposition repair uses the persisted five-attempt owner-sticky schedule with bounded deterministic jitter", + "status": "passed", + "duration": 0.8319169999999758, + "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.582832999999937, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'complete' goal (after semantic result: true)", + "status": "passed", + "duration": 26.562332999999967, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'paused' goal (after semantic result: false)", + "status": "passed", + "duration": 26.640041999999994, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'paused' goal (after semantic result: true)", + "status": "passed", + "duration": 27.562667000000033, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'blocked' goal (after semantic result: false)", + "status": "passed", + "duration": 26.665166999999997, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'blocked' goal (after semantic result: true)", + "status": "passed", + "duration": 26.567332999999962, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'limited' goal (after semantic result: false)", + "status": "passed", + "duration": 25.515582999999992, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'limited' goal (after semantic result: true)", + "status": "passed", + "duration": 26.19620800000007, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'usageLimited' goal (after semantic result: false)", + "status": "passed", + "duration": 26.942542000000003, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'usageLimited' goal (after semantic result: true)", + "status": "passed", + "duration": 26.510042000000112, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'budgetLimited' goal (after semantic result: false)", + "status": "passed", + "duration": 25.717959000000064, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery reconciles an out-of-band 'budgetLimited' goal (after semantic result: true)", + "status": "passed", + "duration": 26.520708999999897, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery resolves a proposal-less durable disposition terminal through control-plane policy", + "status": "passed", + "duration": 0.960667000000285, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery resolves a checkpointed result-less disposition without resubmitting when its terminal event is missing", + "status": "passed", + "duration": 0.9162500000002183, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery keeps a reconstructed semantic result on its matched terminal turn", + "status": "passed", + "duration": 1.0284169999999904, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery accepts a control-plane governed wait when a completed turn omitted its semantic result", + "status": "passed", + "duration": 1.5345839999999953, + "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": 294.4167500000003, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery never resets an exhausted incident by assigning another run id", + "status": "passed", + "duration": 249.62495800000033, + "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": 5.251041000000441, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the paused admission gate", + "status": "passed", + "duration": 4.263958999999886, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 native accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 13.727917000000161, + "failureMessages": [] + }, + { + "name": "LCA full heartbeat observation LCA-04 LCA-10 legacy accepted approval preserves the budget admission gate", + "status": "passed", + "duration": 8.708542000000307, + "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.14183300000001964, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate duplicate survives encouraging prose", + "status": "passed", + "duration": 0.06412500000001842, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate wrong-company survives encouraging prose", + "status": "passed", + "duration": 0.047791999999986956, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate paused-agent survives encouraging prose", + "status": "passed", + "duration": 0.04579099999997993, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / neutral", + "status": "passed", + "duration": 0.08366699999999128, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / no-approval", + "status": "passed", + "duration": 0.1875, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / scoped-negation", + "status": "passed", + "duration": 0.22049999999998704, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / historical-quote", + "status": "passed", + "duration": 0.12883399999998346, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / spanish", + "status": "passed", + "duration": 0.0802500000000066, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / optional-next-steps", + "status": "passed", + "duration": 0.0675420000000031, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / all-done", + "status": "passed", + "duration": 0.10270799999997848, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / keep-going", + "status": "passed", + "duration": 0.128832999999986, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-10 stopped / empty", + "status": "passed", + "duration": 0.10970799999998349, + "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": 413.6592080000005, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation cancels a resolved connection-intent wake 'parked' after checkout but before adapter dispatch", + "status": "passed", + "duration": 919.5536250000005, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation cancels a resolved connection-intent wake 'reassigned' after checkout but before adapter dispatch", + "status": "passed", + "duration": 786.498458, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation rejects ownership changes immediately before the final continuation handoff", + "status": "passed", + "duration": 920.1054169999989, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips wakes before queueing when per-agent daily run cap is reached", + "status": "passed", + "duration": 511.580833, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation treats zero daily run cap as a hard stop", + "status": "passed", + "duration": 466.27679199999875, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation counts started cancelled runs toward the per-agent daily run cap", + "status": "passed", + "duration": 445.3695829999997, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation coalesces same-issue wakes before enforcing the daily run cap", + "status": "passed", + "duration": 424.93012499999895, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips wakes before queueing when per-agent daily cost cap is reached", + "status": "passed", + "duration": 394.7859169999974, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation treats zero daily cost cap as a hard stop", + "status": "passed", + "duration": 389.51641700000255, + "failureMessages": [] + }, + { + "name": "heartbeat stale queued-run invalidation skips already queued runs before adapter execution when the daily cost cap is reached", + "status": "passed", + "duration": 429.28749999999854, + "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": 429.0673339999994, + "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": 472.37629200000083, + "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": 78.88195799999994, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling retains the failure budget after many pre-provider ai_connection_busy waits", + "status": "passed", + "duration": 66.06516699999975, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the dependency gate for interrupted conversations", + "status": "passed", + "duration": 51.06254100000024, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the disabled gate for interrupted conversations", + "status": "passed", + "duration": 57.04954199999975, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling respects the reassigned gate for interrupted conversations", + "status": "passed", + "duration": 60.95487500000036, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to blocked before retry promotion", + "status": "passed", + "duration": 53.5522919999994, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to todo before retry promotion", + "status": "passed", + "duration": 49.370082999999795, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling cancels a due max-turn continuation when the issue moves to backlog before retry promotion", + "status": "passed", + "duration": 53.76208300000053, + "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": 36.51579199999833, + "failureMessages": [] + }, + { + "name": "heartbeat bounded retry scheduling run-dispatch module transactions keeps promotion and stale-queued-run cancellation company-scoped", + "status": "passed", + "duration": 614.9945420000004, + "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.06941699999879, + "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.20725000000000193, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / no-approval", + "status": "passed", + "duration": 0.085125000000005, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / scoped-negation", + "status": "passed", + "duration": 0.06766599999998846, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / historical-quote", + "status": "passed", + "duration": 0.0698330000000027, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / spanish", + "status": "passed", + "duration": 0.054874999999995566, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / optional-next-steps", + "status": "passed", + "duration": 0.05762500000000159, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / all-done", + "status": "passed", + "duration": 0.04550000000000409, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / keep-going", + "status": "passed", + "duration": 0.045708000000004745, + "failureMessages": [] + }, + { + "name": "LCA runner protocol narrative pairs LCA-11 explicit verification reason survives detail / empty", + "status": "passed", + "duration": 0.04812499999999886, + "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.11841699999999378, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / no-approval", + "status": "passed", + "duration": 0.06379200000000651, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / scoped-negation", + "status": "passed", + "duration": 0.050583000000017364, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / historical-quote", + "status": "passed", + "duration": 0.04795899999999165, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / spanish", + "status": "passed", + "duration": 0.056707999999986214, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / optional-next-steps", + "status": "passed", + "duration": 0.06912500000001387, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / all-done", + "status": "passed", + "duration": 0.04554199999998332, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / keep-going", + "status": "passed", + "duration": 0.04254099999999994, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-11 late failure / empty", + "status": "passed", + "duration": 0.0457500000000266, + "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": 2.203416999999945, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery stops scheduled cleanup after the quarantine lifetime budget", + "status": "passed", + "duration": 3.189041999999972, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery retains late bootstrap cleanup through the next admission", + "status": "passed", + "duration": 2.387083000000075, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when provider result never settles", + "status": "passed", + "duration": 1.4697089999999662, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when completion checkpoint never settles", + "status": "passed", + "duration": 1.9341249999999945, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when control-plane replay never settles", + "status": "passed", + "duration": 1.7641250000001492, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when final event append never settles", + "status": "passed", + "duration": 1.8966249999998581, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery bounds post-terminal finalization when run completion never settles", + "status": "passed", + "duration": 3.535457999999835, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery commits cancellation before bounding failed provider cleanup", + "status": "passed", + "duration": 203.39420900000005, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves a permanent integrity failure through required cleanup ({\"typed\":true,\"closeFails\":false})", + "status": "passed", + "duration": 0.8911250000001019, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves a permanent integrity failure through required cleanup ({\"typed\":true,\"closeFails\":true})", + "status": "passed", + "duration": 0.4272919999998521, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves a permanent integrity failure through required cleanup ({\"typed\":false,\"closeFails\":true})", + "status": "passed", + "duration": 0.3737500000002001, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves a permanent integrity failure through required cleanup ({\"typed\":true,\"closeFails\":true,\"startupRace\":true})", + "status": "passed", + "duration": 0.5171669999999722, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery commits a governed wait without waiting for abort-insensitive provider cleanup", + "status": "passed", + "duration": 101.1880000000001, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery uses the execution timeout when a completion report has no provider terminal", + "status": "passed", + "duration": 172.55395799999997, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery retains a reusable session while a semantic terminal releases its remote subscription", + "status": "passed", + "duration": 154.58158300000014, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery replaces a provider session that already ended with a failed terminal", + "status": "passed", + "duration": 1.2645000000002256, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery resolves a proposal-less durable disposition terminal through control-plane policy", + "status": "passed", + "duration": 0.960667000000285, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery resolves a checkpointed result-less disposition without resubmitting when its terminal event is missing", + "status": "passed", + "duration": 0.9162500000002183, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery keeps a reconstructed semantic result on its matched terminal turn", + "status": "passed", + "duration": 1.0284169999999904, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery aborts and bounds a durable handoff that never settles", + "status": "passed", + "duration": 127.15662500000008, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves terminal success while iterator teardown remains pending", + "status": "passed", + "duration": 51.609375, + "failureMessages": [] + }, + { + "name": "executeNativeSession recovery preserves terminal success while quarantining stalled handoff cleanup", + "status": "passed", + "duration": 102.12687500000038, + "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.07574999999999932, + "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.14183300000001964, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate duplicate survives encouraging prose", + "status": "passed", + "duration": 0.06412500000001842, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate wrong-company survives encouraging prose", + "status": "passed", + "duration": 0.047791999999986956, + "failureMessages": [] + }, + { + "name": "LCA narrative authority baseline LCA-10 LCA-12 legacy gate paused-agent survives encouraging prose", + "status": "passed", + "duration": 0.04579099999997993, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / neutral", + "status": "passed", + "duration": 0.1267919999999947, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / no-approval", + "status": "passed", + "duration": 0.07366700000000037, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / scoped-negation", + "status": "passed", + "duration": 0.11824999999998909, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / historical-quote", + "status": "passed", + "duration": 0.09591699999998582, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / spanish", + "status": "passed", + "duration": 0.050957999999980075, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / optional-next-steps", + "status": "passed", + "duration": 0.04583299999998758, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / all-done", + "status": "passed", + "duration": 0.043666999999999234, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / keep-going", + "status": "passed", + "duration": 0.04095799999998917, + "failureMessages": [] + }, + { + "name": "LCA native authority pairs LCA-12 already closed / empty", + "status": "passed", + "duration": 0.040375000000011596, + "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": 134.09845799999994, + "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": 33.95120799999995, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery discovers exact committed results even with stale nativePhase or privately recovered errors", + "status": "passed", + "duration": 23.686125000000175, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"runtimeMode\":\"legacy\"}}", + "status": "passed", + "duration": 7.197957999999744, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"status\":\"running\"}}", + "status": "passed", + "duration": 7.087250000000495, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"finishedAt\":null}}", + "status": "passed", + "duration": 6.429417000000285, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"error\":\"another failure\"}}", + "status": "passed", + "duration": 6.4875410000004194, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"run\":{\"errorCode\":\"setup_failed\"}}", + "status": "passed", + "duration": 4.444875000000138, + "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": 4.99329200000011, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"schemaStatus\":\"rejected\"}", + "status": "passed", + "duration": 4.88274999999976, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"phase\":\"retryable_failure\"}}", + "status": "passed", + "duration": 5.819790999999896, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"nextAttemptAt\":\"1970-01-01T00:00:00.000Z\"}}", + "status": "passed", + "duration": 6.688167000000249, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"leaseOwner\":\"another-controller\",\"leaseExpiresAt\":\"2026-09-23T01:17:37.918Z\"}}", + "status": "passed", + "duration": 6.60266700000011, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"recoveryHistory\":[{\"kind\":\"native_cleanup_maintenance\",\"phase\":\"started\"}]}}", + "status": "passed", + "duration": 5.569916999999805, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"recoveryHistory\":[{\"kind\":\"native_cleanup_maintenance\",\"phase\":\"settled\"}]}}", + "status": "passed", + "duration": 5.407874999999876, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes ineligible or previously attempted cleanup: {\"coordinator\":{\"recoveryHistory\":[{\"kind\":\"native_cleanup_maintenance\",\"phase\":\"operator_required\"}]}}", + "status": "passed", + "duration": 4.920916000000034, + "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": 4.6788329999999405, + "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": 5.322917000000416, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery discovers a single legacy failed attempt only for independent physical proof", + "status": "passed", + "duration": 7.1944170000006125, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery discovers prelaunch source archival at prepared without changing authority", + "status": "passed", + "duration": 6.663166000000274, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery discovers prelaunch source archival at archived without changing authority", + "status": "passed", + "duration": 7.640167000000474, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery fences actual scoped admission until every archived owner has its matching latest settlement", + "status": "passed", + "duration": 25.271708999999646, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with new epoch", + "status": "passed", + "duration": 5.843000000000757, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with third attempt", + "status": "passed", + "duration": 5.550583000000188, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with reordered phases", + "status": "passed", + "duration": 4.7841249999992215, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with different request", + "status": "passed", + "duration": 5.219791000000441, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with unversioned entry", + "status": "passed", + "duration": 5.1550829999996495, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with settled attempt", + "status": "passed", + "duration": 4.444875000000138, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with unknown failure", + "status": "passed", + "duration": 5.281125000000429, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery excludes legacy discovery with missing source", + "status": "passed", + "duration": 5.277250000000095, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery joins overlap and advances beyond a permanently ineligible first candidate", + "status": "passed", + "duration": 12.780999999999949, + "failureMessages": [] + }, + { + "name": "retained native cleanup discovery isolates one failure and resets its joined owner for the next bounded sweep", + "status": "passed", + "duration": 11.34595900000022, + "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": 370.61504100000093, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery preserves saved work and a queued request at a controlled recovery boundary (unproven)", + "status": "passed", + "duration": 463.29404199999954, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery preserves saved work and a queued request at a controlled recovery boundary (unknown_action)", + "status": "passed", + "duration": 354.1230420000011, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery requires stopped-session proof through commit (unproven)", + "status": "passed", + "duration": 319.059792, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery requires stopped-session proof through commit (changed)", + "status": "passed", + "duration": 392.4212499999994, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery requires stopped-session proof through commit (verified)", + "status": "passed", + "duration": 396.166709000001, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (missing_receipt)", + "status": "passed", + "duration": 911.6972079999996, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (other_run)", + "status": "passed", + "duration": 1305.009, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (other_cause)", + "status": "passed", + "duration": 328.0886250000003, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (manual_reblock)", + "status": "passed", + "duration": 296.5606250000001, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (dependency_edit)", + "status": "passed", + "duration": 285.4619160000002, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery honors blocking intent before safe replacement (queued_comment)", + "status": "passed", + "duration": 291.4337919999998, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery automatically closes an exhausted incident once, preserves ownership, and records no replay", + "status": "passed", + "duration": 294.4167500000003, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not let a full batch awaiting replacement starve an eligible disposition", + "status": "passed", + "duration": 288.51395799999955, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery rolls back a crashed automatic disposition and completes it on the next sweep", + "status": "passed", + "duration": 258.3087909999995, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not let the automatic fallback preempt a safe replacement", + "status": "passed", + "duration": 252.98733299999913, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery closes stale recovery after closed without changing task state or granting replay", + "status": "passed", + "duration": 259.19708399999945, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery closes stale recovery after reassigned without changing task state or granting replay", + "status": "passed", + "duration": 275.2597909999986, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery closes stale recovery after new_execution without changing task state or granting replay", + "status": "passed", + "duration": 269.7191249999996, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery cancels a durable native retry even when its previous provider is already failed", + "status": "passed", + "duration": 287.7487090000013, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery atomically terminalizes unsupported legacy recovery and preserves its owner", + "status": "passed", + "duration": 302.1424159999988, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not reopen a reconciled legacy run while continuation is pending", + "status": "passed", + "duration": 264.79341600000043, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery surfaces a failed current reviewer without transferring the original assignment", + "status": "passed", + "duration": 264.38708300000144, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not turn an already reconciled continuation into a recovery assignment", + "status": "passed", + "duration": 266.94174999999814, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery keeps an unclassified transport terminal operator-owned", + "status": "passed", + "duration": 253.81970799999908, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not reuse consumed wake authority after a later done transition", + "status": "passed", + "duration": 279.45054099999834, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not reuse consumed wake authority after a later cancelled transition", + "status": "passed", + "duration": 355.3212910000002, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not reuse consumed wake authority after a later review transition", + "status": "passed", + "duration": 290.71749999999884, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery persists exactly one linked successor under competing sweepers and restarts", + "status": "passed", + "duration": 258.12920799999847, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery retries status publication after a crash without dispatching provider work", + "status": "passed", + "duration": 260.47870799999873, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: native", + "status": "passed", + "duration": 277.68462499999805, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: legacy", + "status": "passed", + "duration": 296.63279200000034, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: native_precedes_context", + "status": "passed", + "duration": 265.20300000000134, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: missing", + "status": "passed", + "duration": 252.47049999999945, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: nonexistent", + "status": "passed", + "duration": 275.9825000000019, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: deleted", + "status": "passed", + "duration": 289.56825000000026, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: foreign", + "status": "passed", + "duration": 244.17362499999945, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: malformed", + "status": "passed", + "duration": 247.9497080000001, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: object", + "status": "passed", + "duration": 255.2015829999982, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: array", + "status": "passed", + "duration": 268.3065409999981, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: number", + "status": "passed", + "duration": 284.9523339999978, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: json_null", + "status": "passed", + "duration": 278.2271249999976, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: native_foreign", + "status": "passed", + "duration": 297.3937079999996, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery routes status delivery only through a proven same-company task: native_nonexistent", + "status": "passed", + "duration": 351.47270800000115, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery never resets an exhausted incident by assigning another run id", + "status": "passed", + "duration": 249.62495800000033, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery recovers a crash at successor_inserted without duplicate successors", + "status": "passed", + "duration": 325.8129170000029, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery recovers a crash at lineage_committed without duplicate successors", + "status": "passed", + "duration": 285.7597500000011, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not replay a provider-native command with unknown effects (PRP envelope: false)", + "status": "passed", + "duration": 271.16316700000243, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not replay a provider-native command with unknown effects (PRP envelope: true)", + "status": "passed", + "duration": 328.877708, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery surfaces a reviewer's abandoned control transition for the operator", + "status": "passed", + "duration": 277.2269579999993, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery fences a stranded finalization and surfaces one operator action after its deadline", + "status": "passed", + "duration": 315.442833000001, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery bounds legacy finalization without adding a deadline to healthy provider execution", + "status": "passed", + "duration": 299.73354200000176, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery does not release another run's checkout or replace a reassigned task", + "status": "passed", + "duration": 311.31045900000026, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery requires explicit reconciled outcomes and rejects a still-running provider", + "status": "passed", + "duration": 316.9527500000004, + "failureMessages": [] + }, + { + "name": "durable replacement and control recovery retains a reconciliation delivery across dispatch failure and invalidates stale ownership", + "status": "passed", + "duration": 328.77141700000357, + "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": 37.25366699999995, + "failureMessages": [] + }, + { + "name": "question response delivery reuses a durable wake receipt instead of issuing a duplicate continuation", + "status": "passed", + "duration": 52.85345799999959, + "failureMessages": [] + }, + { + "name": "question response delivery recovers a completed wake when receipt finalization was interrupted", + "status": "passed", + "duration": 46.3329590000003, + "failureMessages": [] + }, + { + "name": "question response delivery fences a stale worker after a newer claim generation takes ownership", + "status": "passed", + "duration": 87.25662499999999, + "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.8608750000000214, + "failureMessages": [] + }, + { + "name": "native status authority routes an unfinished reviewer action to bounded recovery instead of retrying the worker task", + "status": "passed", + "duration": 0.24220800000000509, + "failureMessages": [] + }, + { + "name": "native status authority creates explicit liveness paths for review, continuation, cancellation, and governance", + "status": "passed", + "duration": 0.2396669999999972, + "failureMessages": [] + }, + { + "name": "native status authority does not create a duplicate review after this run's review was already accepted", + "status": "passed", + "duration": 0.048709000000002334, + "failureMessages": [] + }, + { + "name": "native status authority does not create a duplicate review after this run's planning confirmation was already accepted", + "status": "passed", + "duration": 0.035458999999974594, + "failureMessages": [] + }, + { + "name": "native status authority routes each explicit request to its own reviewer", + "status": "passed", + "duration": 0.05354099999999562, + "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": 885.7006659999997, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails independently when any asserted field category is mutated", + "status": "passed", + "duration": 874.6004170000006, + "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": 60.635167000000365, + "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": 45.59687500000018, + "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": 44.624542000000474, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus rejects wrong, missing, and duplicate criterion IDs before accepting completion", + "status": "passed", + "duration": 9.963250000000698, + "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": 37.33445800000027, + "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": 163.1746659999999, + "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.153291999999965, + "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": 36.07495800000015, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus leaves an already accepted review untouched", + "status": "passed", + "duration": 14.239083000000392, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus leaves an already rejected review untouched", + "status": "passed", + "duration": 12.571791999999732, + "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": 21.292875000000095, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later blocked status", + "status": "passed", + "duration": 20.0367499999993, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later done status", + "status": "passed", + "duration": 26.10620800000015, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus dismisses the obsolete card without undoing a later cancelled status", + "status": "passed", + "duration": 22.225540999999794, + "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": 48.99354200000016, + "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.563084000000345, + "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": 42.333417000000736, + "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": 35.69704199999978, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus continues native finalization when the obsolete-card lookup fails", + "status": "passed", + "duration": 19.602083000000675, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus preserves a later authoritative status during reconciliation", + "status": "passed", + "duration": 0.12491599999975733, + "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": 8.04729099999986, + "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": 10.584541999999601, + "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.582292000000052, + "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.905624999999418, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with none predecessor", + "status": "passed", + "duration": 5.5109999999995125, + "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.355750000000626, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus records run-scoped superseding assessment lineage with other_run predecessor", + "status": "passed", + "duration": 7.404042000000118, + "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": 7.908916999999747, + "failureMessages": [] + }, + { + "name": "P6-31 Section 18.13 executable status-authority corpus fails the transaction closed for an unknown status effect", + "status": "passed", + "duration": 4.014957999999751, + "failureMessages": [] + } + ] + } + ], + "live": [ + { + "id": "runner-evals:request-task-review", + "status": "not_run" + } + ] + } + ] +}