From 1466021e1855a87f95bec6a7885935e4c412c02e Mon Sep 17 00:00:00 2001 From: Forge Date: Tue, 22 Sep 2026 02:19:41 +0000 Subject: [PATCH] Record complete final-source regression shard results --- .../extensions-recovery-20260922.md | 64 ++- .../extensions-regression-20260922.json | 455 ++++++++++++++++++ 2 files changed, 512 insertions(+), 7 deletions(-) create mode 100644 docs/validation/extensions-regression-20260922.json diff --git a/docs/validation/extensions-recovery-20260922.md b/docs/validation/extensions-recovery-20260922.md index 229da6cbb..7cedd8726 100644 --- a/docs/validation/extensions-recovery-20260922.md +++ b/docs/validation/extensions-recovery-20260922.md @@ -3,7 +3,9 @@ This is a development checkpoint, not a product release. Runtime/graph source checkpoint: `c33354c930e1853f618223734186bc2d2aaf9bec`, based on `ba3c21e50d9129d2f5f3843ec3728868ae6d47a1`. The follow-up `2ca1385` changes marketplace source/documentation links only. -Final regression uses that source; report-only commits may follow it. +Final regression tested clean revision `07b0a10455989cf33ce134a7557b20168c7c287d`, +which adds only the report/changelog/coverage checkpoint to that source. +The subsequent regression evidence commit changes documentation only. ## Scope and fixes @@ -59,18 +61,66 @@ summary, so its outcome is unknown. Later interrupted attempts are recorded in ## Regression checkpoint -The recovered-source full suite completed with 259 passing files / 4,539 -passing tests and 16 skipped files / 192 skipped tests. The subsequent final -suite was interrupted without a completion JSON or summary; its outcome is -unconfirmed. The final source will be checked in four sequential Vitest shards -so each completed portion has a durable command, revision and exit record. -Final results are pending at this documentation checkpoint. +The earlier recovered-source full suite completed with 259 passing files / 4,539 +passing tests and 16 skipped files / 192 skipped tests. That run predates the +final fixes and is separate from the final-source results below. The subsequent +unsharded final suite and first shard-1 attempt were interrupted without a +completion receipt or summary; neither is counted as passing. + +The final source passed all four sequential Vitest shards on September 22, +2026, from 02:10:11 to 02:18:25 UTC. Every shard tested clean revision +`07b0a10455989cf33ce134a7557b20168c7c287d` with this exact command, substituting +the shard number for `N`: + +```sh +npx vitest run --shard=N/4 --maxWorkers=2 --minWorkers=1 +``` + +| Shard | Exit | Files passed / skipped | Tests passed / skipped | Command seconds | +|---|---:|---:|---:|---:| +| 1/4 | 0 | 64 / 6 | 1,693 / 63 | 136.478 | +| 2/4 | 0 | 65 / 5 | 1,125 / 56 | 102.268 | +| 3/4 | 0 | 68 / 2 | 860 / 23 | 147.704 | +| 4/4 | 0 | 64 / 3 | 867 / 50 | 89.888 | +| Total | 0 | 261 / 16 | 4,545 / 192 | 476.338 | + +There were zero reported failures. Skipped tests are not validated coverage. +The combined file inventory matches all 277 tracked test files exactly once, +with no missing, unexpected or duplicate files. Source and configuration stayed +unchanged throughout; no test fixes were needed in this continuation. + +The committed [regression receipts](extensions-regression-20260922.json) contain +each exact command, revision, start/finish time, exit, summary, file inventory +and raw-log SHA-256. Local originals are +`.qa/recovery/final-shard-{1,2,3,4}.{started.json,json,log}`. The interrupted +01:58:11 shard attempt is retained separately as +`.qa/recovery/final-shard-1-interrupted-015811.*`, including an explicit +incomplete record with unknown exit status. Each successful shard wrote its +receipt and appended the external recovery checkpoint before the next began. + +Stable execution was possible during this continuation: all four commands +completed normally without another task interruption. This does not diagnose +the earlier interruptions. Klaus's readback reported continuous kernel uptime +of about six days and zero visible OOM events; the earlier SIGTERM exits do not +establish a host reboot or CodeGraph crash. Host/control logs were unavailable, +and the shared-service cause remains unknown. No infrastructure changes were made. Completed final-source preparation: engine build (exit 0, 35.389 s), Drupal package build (exit 0, 0.329 s), Drupal negative fixture (exit 0, 1.413 s), and marketplace frontend build (exit 0, 0.245 s). The rebuilt Drupal package hash matches the artifact used for the completed corpus checks. +This milestone reused the successful corpus, browser, worker and control +artifacts because there were no invalidating source changes. PR preparation +is the next milestone; this pass did not push, create a PR, deploy or release. + +| Product gate | Status after this milestone | +|---|---| +| Code-complete | Incomplete: acceptance gaps below remain | +| Validated | Final Linux regression passed; broader acceptance remains partial | +| Preview-ready | Local evidence exists; hosted HTTPS preview unverified | +| Released | No | + ## Worker, package and browser checks The compiled-worker harness asserts positive worker thread IDs for both parse diff --git a/docs/validation/extensions-regression-20260922.json b/docs/validation/extensions-regression-20260922.json new file mode 100644 index 000000000..3152ce27b --- /dev/null +++ b/docs/validation/extensions-regression-20260922.json @@ -0,0 +1,455 @@ +{ + "generated_at": "2026-09-22T02:18:29.592613+00:00", + "tested_revision": "07b0a10455989cf33ce134a7557b20168c7c287d", + "branch": "recovery/extensions-validation-20260922", + "source_changed_during_run": false, + "stable_execution": true, + "totals": { + "files_passed": 261, + "files_skipped": 16, + "tests_passed": 4545, + "tests_skipped": 192, + "failures": 0 + }, + "complete_file_inventory": { + "expected": 277, + "observed": 277, + "missing": [], + "unexpected": [], + "duplicates": [] + }, + "command_seconds": 476.338, + "shards": [ + { + "command": [ + "npx", + "vitest", + "run", + "--shard=1/4", + "--maxWorkers=2", + "--minWorkers=1" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-22T02:10:11.499863+00:00", + "revision": "07b0a10455989cf33ce134a7557b20168c7c287d", + "working_tree": "", + "exit_code": 0, + "seconds": 136.478, + "finished_at": "2026-09-22T02:12:27.977554+00:00", + "summary": [ + "Test Files 64 passed | 6 skipped (70)", + "Tests 1693 passed | 63 skipped (1756)", + "Duration 133.62s (transform 8.20s, setup 0ms, collect 49.88s, tests 182.26s, environment 32ms, prepare 11.11s)" + ], + "shard": "1/4", + "counts": { + "files_passed": 64, + "files_skipped": 6, + "tests_passed": 1693, + "tests_skipped": 63, + "failures": 0 + }, + "receipt_path": ".qa/recovery/final-shard-1.json", + "log_path": ".qa/recovery/final-shard-1.log", + "log_sha256": "50009b7fff497dc18927ee153c639a8bdd861a4a1fed5cfa4a5939f036487f22", + "files": [ + "__tests__/alias-binding-resolution.test.ts", + "__tests__/bare-call-no-method.test.ts", + "__tests__/branch-guards.test.ts", + "__tests__/c-fnptr-kernel-sweep.test.ts", + "__tests__/cli-unlock.test.ts", + "__tests__/commonjs-exports.test.ts", + "__tests__/cooperative-yield.test.ts", + "__tests__/cpp-raw-string-preparse-1505.test.ts", + "__tests__/exclude-config.test.ts", + "__tests__/explore-blast-radius.test.ts", + "__tests__/explore-result-count.test.ts", + "__tests__/explore-session-state.test.ts", + "__tests__/explore-synth-constant-endpoints.test.ts", + "__tests__/extension-mapping.test.ts", + "__tests__/extraction.test.ts", + "__tests__/fatal-handler.test.ts", + "__tests__/frameworks-integration.test.ts", + "__tests__/gin-middleware-chain.test.ts", + "__tests__/git-changed-untracked-dir.test.ts", + "__tests__/git-hooks.test.ts", + "__tests__/graph.test.ts", + "__tests__/index-command.test.ts", + "__tests__/index-orphan-watchdog.test.ts", + "__tests__/installer.test.ts", + "__tests__/integration/lru-cache.test.ts", + "__tests__/is-test-file.test.ts", + "__tests__/kernel-lua-parity.test.ts", + "__tests__/kernel-ruby-parity.test.ts", + "__tests__/kernel-rustlang-parity.test.ts", + "__tests__/kernel-scala-parity.test.ts", + "__tests__/kernel-swift-parity.test.ts", + "__tests__/mcp-callers-truncation.test.ts", + "__tests__/mcp-initialize.test.ts", + "__tests__/mcp-stale-slice.test.ts", + "__tests__/mcp-staleness-banner.test.ts", + "__tests__/nextjs.test.ts", + "__tests__/node-file-view.test.ts", + "__tests__/object-literal-methods.test.ts", + "__tests__/parse-pool.test.ts", + "__tests__/plugins.test.ts", + "__tests__/prepare-release.test.ts", + "__tests__/python-quoted-annotation.test.ts", + "__tests__/react-router.test.ts", + "__tests__/remove-binary.test.ts", + "__tests__/resolution.test.ts", + "__tests__/sqlite-backend.test.ts", + "__tests__/stdin-teardown.test.ts", + "__tests__/strip-cstyle-differential.test.ts", + "__tests__/subprocess-timeouts.test.ts", + "__tests__/sveltekit-router.test.ts", + "__tests__/swift-objc-bridge.test.ts", + "__tests__/synthesis-tail-scaling.test.ts", + "__tests__/telemetry.test.ts", + "__tests__/ts-chained-receiver.test.ts", + "__tests__/ts-field-classification.test.ts", + "__tests__/ui-conditions.test.ts", + "__tests__/ui-entrypoints-api.test.ts", + "__tests__/ui-file-model.test.ts", + "__tests__/ui-highlight.test.ts", + "__tests__/ui-map-model.test.ts", + "__tests__/ui-program-model.test.ts", + "__tests__/ui-screens-model.test.ts", + "__tests__/ui-steps-api-servers.test.ts", + "__tests__/ui-steps-api.test.ts", + "__tests__/ui-steps-cross-tier.test.ts", + "__tests__/ui-steps-program.test.ts", + "__tests__/update-check.test.ts", + "__tests__/value-reference-edges.test.ts", + "__tests__/wal-deferral.test.ts", + "__tests__/watch-policy.test.ts" + ] + }, + { + "command": [ + "npx", + "vitest", + "run", + "--shard=2/4", + "--maxWorkers=2", + "--minWorkers=1" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-22T02:12:34.133275+00:00", + "revision": "07b0a10455989cf33ce134a7557b20168c7c287d", + "working_tree": "", + "exit_code": 0, + "seconds": 102.268, + "finished_at": "2026-09-22T02:14:16.400843+00:00", + "summary": [ + "Test Files 65 passed | 5 skipped (70)", + "Tests 1125 passed | 56 skipped (1181)", + "Duration 99.61s (transform 6.49s, setup 0ms, collect 48.07s, tests 119.24s, environment 27ms, prepare 10.36s)" + ], + "shard": "2/4", + "counts": { + "files_passed": 65, + "files_skipped": 5, + "tests_passed": 1125, + "tests_skipped": 56, + "failures": 0 + }, + "receipt_path": ".qa/recovery/final-shard-2.json", + "log_path": ".qa/recovery/final-shard-2.log", + "log_sha256": "52feb0473a973814ae086c04eb9e8890b47709a3f0e527fc2ca771739a722fd8", + "files": [ + "__tests__/adaptive-explore-sizing.test.ts", + "__tests__/android-res-exclusion.test.ts", + "__tests__/c-fnptr-synthesizer.test.ts", + "__tests__/cfml-receiver-inference.test.ts", + "__tests__/cli-node-command.test.ts", + "__tests__/cli-truncation.test.ts", + "__tests__/cli-ui-command.test.ts", + "__tests__/closure-collection-synthesizer.test.ts", + "__tests__/concurrent-locking.test.ts", + "__tests__/config-secret-redaction.test.ts", + "__tests__/context-ranking.test.ts", + "__tests__/cross-file-visibility.test.ts", + "__tests__/daemon-attach-log.test.ts", + "__tests__/daemon-bind-failure.test.ts", + "__tests__/daemon-pid-reuse.test.ts", + "__tests__/db-reopen-on-replace.test.ts", + "__tests__/erlang-behaviour-synthesizer.test.ts", + "__tests__/explore-allocation-1500.test.ts", + "__tests__/explore-cluster-starvation.test.ts", + "__tests__/explore-cross-call-dedup.test.ts", + "__tests__/explore-displacement-guard.test.ts", + "__tests__/explore-elided-symbol-names.test.ts", + "__tests__/explore-path-pinning.test.ts", + "__tests__/explore-relevance-scoring.test.ts", + "__tests__/expo-modules.test.ts", + "__tests__/expo-router.test.ts", + "__tests__/extension-explore.test.ts", + "__tests__/foundation.test.ts", + "__tests__/frontload-hook.test.ts", + "__tests__/fts5-fallback.test.ts", + "__tests__/generated-detection.test.ts", + "__tests__/git-index-currency.test.ts", + "__tests__/glyphs.test.ts", + "__tests__/install-sh-prune.test.ts", + "__tests__/installer-targets.test.ts", + "__tests__/iterate-nodes-by-kind.test.ts", + "__tests__/kernel-ccpp-parity.test.ts", + "__tests__/kernel-grammar-parity.test.ts", + "__tests__/kernel-php-parity.test.ts", + "__tests__/kernel-r-parity.test.ts", + "__tests__/kernel-scaffold.test.ts", + "__tests__/liveness-watchdog.test.ts", + "__tests__/mcp-catchup-gate.test.ts", + "__tests__/mcp-files-path-normalization.test.ts", + "__tests__/mcp-roots.test.ts", + "__tests__/mcp-tool-annotations.test.ts", + "__tests__/name-lookup-index.test.ts", + "__tests__/no-silent-fuzzy-symbol.test.ts", + "__tests__/object-registry-synthesizer.test.ts", + "__tests__/pinia-store-synthesizer.test.ts", + "__tests__/proxy-connect.test.ts", + "__tests__/python-module-scope-collection-methods.test.ts", + "__tests__/query-pool.test.ts", + "__tests__/refs-by-files-spread.test.ts", + "__tests__/release-main-regressions.test.ts", + "__tests__/rn-event-channel.test.ts", + "__tests__/rust-self-owner.test.ts", + "__tests__/same-name-disambiguation.test.ts", + "__tests__/store-exported-later.test.ts", + "__tests__/type-hierarchy.test.ts", + "__tests__/ui-entry-model.test.ts", + "__tests__/ui-filecode-api.test.ts", + "__tests__/ui-filecode-model.test.ts", + "__tests__/ui-flow-model.test.ts", + "__tests__/ui-search-model.test.ts", + "__tests__/ui-server-api.test.ts", + "__tests__/ui-server.test.ts", + "__tests__/vue-router.test.ts", + "__tests__/wasm-runtime-flags.test.ts", + "__tests__/writer-lock.test.ts" + ] + }, + { + "command": [ + "npx", + "vitest", + "run", + "--shard=3/4", + "--maxWorkers=2", + "--minWorkers=1" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-22T02:14:21.534328+00:00", + "revision": "07b0a10455989cf33ce134a7557b20168c7c287d", + "working_tree": "", + "exit_code": 0, + "seconds": 147.704, + "finished_at": "2026-09-22T02:16:49.238606+00:00", + "summary": [ + "Test Files 68 passed | 2 skipped (70)", + "Tests 860 passed | 23 skipped (883)", + "Duration 145.79s (transform 11.58s, setup 0ms, collect 52.62s, tests 196.05s, environment 1.53s, prepare 10.43s)" + ], + "shard": "3/4", + "counts": { + "files_passed": 68, + "files_skipped": 2, + "tests_passed": 860, + "tests_skipped": 23, + "failures": 0 + }, + "receipt_path": ".qa/recovery/final-shard-3.json", + "log_path": ".qa/recovery/final-shard-3.log", + "log_sha256": "bbada93a9d344a6905c0e96c33e230fe365ca21bd1a5e6cd0a272e3fa08dd962", + "files": [ + "__tests__/arkts-resolution.test.ts", + "__tests__/batched-ref-cleanup.test.ts", + "__tests__/call-receiver-no-fabrication.test.ts", + "__tests__/celery-dispatch-synthesizer.test.ts", + "__tests__/cfml-inheritance-resolution.test.ts", + "__tests__/cli-affected-test-conventions.test.ts", + "__tests__/cli-context-command.test.ts", + "__tests__/cli-definition-grouping.test.ts", + "__tests__/cli-install-init.test.ts", + "__tests__/cli-no-color.test.ts", + "__tests__/cli-parse-warning.test.ts", + "__tests__/cpp-raw-string-delimiter-haserror.test.ts", + "__tests__/daemon-manager.test.ts", + "__tests__/db-perf.test.ts", + "__tests__/drupal.test.ts", + "__tests__/erlang-arity-resolution.test.ts", + "__tests__/explore-corroboration-ranking.test.ts", + "__tests__/explore-factory-closure.test.ts", + "__tests__/explore-oversize-member.test.ts", + "__tests__/explore-pinned-allocation.test.ts", + "__tests__/explore-reservation-invariant.test.ts", + "__tests__/extension-marketplace.test.ts", + "__tests__/field-name-retrieval.test.ts", + "__tests__/frameworks.test.ts", + "__tests__/function-ref.test.ts", + "__tests__/generated-flag-index.test.ts", + "__tests__/goframe.test.ts", + "__tests__/identifier-segments.test.ts", + "__tests__/import-emitted-specifier.test.ts", + "__tests__/include-config.test.ts", + "__tests__/integration/mcp-input-limits.test.ts", + "__tests__/jsx-child-disambiguation.test.ts", + "__tests__/kernel-csharp-parity.test.ts", + "__tests__/kernel-kotlin-parity.test.ts", + "__tests__/kernel-retry-materialize.test.ts", + "__tests__/laravel-event-synthesizer.test.ts", + "__tests__/mcp-daemon.test.ts", + "__tests__/mcp-ppid-watchdog.test.ts", + "__tests__/mcp-require-project-path.test.ts", + "__tests__/mcp-subproject-adoption.test.ts", + "__tests__/mcp-unindexed.test.ts", + "__tests__/mcp-writer-lock.test.ts", + "__tests__/namespace-object-resolution.test.ts", + "__tests__/nested-declarator-functions.test.ts", + "__tests__/nix-option-synthesizer.test.ts", + "__tests__/node-version-check.test.ts", + "__tests__/php-import-alias-static-resolution.test.ts", + "__tests__/php-property-receiver-resolution.test.ts", + "__tests__/ppid-watchdog.test.ts", + "__tests__/pr19-improvements.test.ts", + "__tests__/query-paths.test.ts", + "__tests__/react-hook-handlers.test.ts", + "__tests__/react-native-bridge.test.ts", + "__tests__/resolver-pool-sizing.test.ts", + "__tests__/rtk-query-synthesizer.test.ts", + "__tests__/search-query-parser.test.ts", + "__tests__/spring-event-synthesizer.test.ts", + "__tests__/startup-handshake.test.ts", + "__tests__/status-json.test.ts", + "__tests__/store-binding-cache.test.ts", + "__tests__/strip-comments.test.ts", + "__tests__/sync.test.ts", + "__tests__/tsconfig-extends-aliases.test.ts", + "__tests__/ui-effects.test.ts", + "__tests__/ui-events-api.test.ts", + "__tests__/ui-package.test.ts", + "__tests__/unsafe-index-root.test.ts", + "__tests__/upgrade.test.ts", + "__tests__/wal-heal.test.ts", + "__tests__/worktree-detection.test.ts" + ] + }, + { + "command": [ + "npx", + "vitest", + "run", + "--shard=4/4", + "--maxWorkers=2", + "--minWorkers=1" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-22T02:16:55.469267+00:00", + "revision": "07b0a10455989cf33ce134a7557b20168c7c287d", + "working_tree": "", + "exit_code": 0, + "seconds": 89.888, + "finished_at": "2026-09-22T02:18:25.357648+00:00", + "summary": [ + "Test Files 64 passed | 3 skipped (67)", + "Tests 867 passed | 50 skipped (917)", + "Duration 87.99s (transform 6.61s, setup 0ms, collect 45.77s, tests 100.29s, environment 26ms, prepare 9.66s)" + ], + "shard": "4/4", + "counts": { + "files_passed": 64, + "files_skipped": 3, + "tests_passed": 867, + "tests_skipped": 50, + "failures": 0 + }, + "receipt_path": ".qa/recovery/final-shard-4.json", + "log_path": ".qa/recovery/final-shard-4.log", + "log_sha256": "c710ac2ac2e4e9eb286a23f5d5c6ac80b004c0bdd958dfd9d58b30b70c9f0000", + "files": [ + "__tests__/awaited-receiver.test.ts", + "__tests__/beta-signup.test.ts", + "__tests__/branch-guards-languages.test.ts", + "__tests__/cli-affected-paths.test.ts", + "__tests__/cli-index-explicit-path.test.ts", + "__tests__/cli-query-command.test.ts", + "__tests__/cli-version.test.ts", + "__tests__/context.test.ts", + "__tests__/daemon-client-liveness.test.ts", + "__tests__/daemon-registry.test.ts", + "__tests__/daemon-socket-fallback.test.ts", + "__tests__/dead-code.test.ts", + "__tests__/deprioritize-config.test.ts", + "__tests__/dynamic-boundaries.test.ts", + "__tests__/explore-allocation-e2e.test.ts", + "__tests__/explore-declaration-only.test.ts", + "__tests__/explore-diagnostics.test.ts", + "__tests__/explore-named-symbol-render.test.ts", + "__tests__/explore-nl-stopword-collision.test.ts", + "__tests__/explore-output-budget.test.ts", + "__tests__/explore-proportional-allocation.test.ts", + "__tests__/extraction-old-git.test.ts", + "__tests__/fabric-view.test.ts", + "__tests__/fuzzy-lexical-reach.test.ts", + "__tests__/grammar-wasm-bytes.test.ts", + "__tests__/include-ignored-config.test.ts", + "__tests__/integration/full-pipeline.test.ts", + "__tests__/kernel-dart-parity.test.ts", + "__tests__/kernel-deep-nesting.test.ts", + "__tests__/kernel-tsjs-parity.test.ts", + "__tests__/large-corpus-regressions.test.ts", + "__tests__/lombok.test.ts", + "__tests__/mcp-debounce-env.test.ts", + "__tests__/mcp-startup-orphan.test.ts", + "__tests__/mcp-tool-allowlist.test.ts", + "__tests__/mediatr-dispatch-synthesizer.test.ts", + "__tests__/multi-repo-workspace.test.ts", + "__tests__/mybatis-extractor-robustness.test.ts", + "__tests__/node-sqlite-backend.test.ts", + "__tests__/npm-sdk.test.ts", + "__tests__/npm-shim.test.ts", + "__tests__/orphaned-refs-sweep.test.ts", + "__tests__/preload-languages.test.ts", + "__tests__/react-hoc-component.test.ts", + "__tests__/redux-thunk-synthesizer.test.ts", + "__tests__/reference-target-kind.test.ts", + "__tests__/resolution-fileexists-containment.test.ts", + "__tests__/security.test.ts", + "__tests__/segment-vocab.test.ts", + "__tests__/sidekiq-dispatch-synthesizer.test.ts", + "__tests__/swift-objc-bridge-resolver.test.ts", + "__tests__/symbol-lookup.test.ts", + "__tests__/sync-rebuild-convergence.test.ts", + "__tests__/synthesis-progress.test.ts", + "__tests__/tanstack-router.test.ts", + "__tests__/telemetry-optout.test.ts", + "__tests__/ts-this-field-call.test.ts", + "__tests__/ui-export-svg.test.ts", + "__tests__/ui-flow-api.test.ts", + "__tests__/ui-map-api.test.ts", + "__tests__/ui-steps-model.test.ts", + "__tests__/ui-symbol-model.test.ts", + "__tests__/ui-trails-model.test.ts", + "__tests__/ui-trails.test.ts", + "__tests__/vue-store-extraction.test.ts", + "__tests__/vuex-dispatch-synthesizer.test.ts", + "__tests__/watcher.test.ts" + ] + } + ], + "historical_run": { + "receipt": ".qa/recovery/recovered-full-suite.json", + "tests_passed": 4539, + "tests_skipped": 192, + "files_passed": 259, + "files_skipped": 16, + "note": "Earlier recovered source before final fixes; separate from final-source shard totals." + }, + "interruptions": { + "prior_attempt": ".qa/recovery/final-shard-1-interrupted-015811.incomplete.json", + "prior_attempt_counted_as_pass": false, + "cause": "Unknown task interruption; no claim of host reboot or CodeGraph crash." + }, + "scope": "Final regression evidence only. Product completion, hosted preview, release and PR preparation are not claimed." +}