From 0dfa0fb988e0db5bcc34b240250676134ba0b744 Mon Sep 17 00:00:00 2001 From: Devin Foley Date: Mon, 24 Aug 2026 08:54:52 -0700 Subject: [PATCH] ci: refresh general-server shard duration manifest (#12075) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work > - The PR verify workflow gates every pull request; its slowest check sets the feedback time for all contributors > - The general-server test lane splits its vitest suites across five runners with a duration-weighted partition (`scripts/general-server-shard.mjs`) > - The partition reads a duration manifest that was sampled on 2026-08-04, when the lane had 279 suites and 946s of serial time > - The lane has since grown to 405 suites and 1274s; 126 suites had no recorded duration and one suite grew from 37s to 123s > - The stale weights made the partition uneven: in the fully green actions run 32708351172, "General tests (server (2/5))" ran 364s and was the slowest check in the whole run, while sibling shards ran 292-330s > - This pull request refreshes the manifest with per-suite durations measured from that same run > - The benefit is a level five-shard split (255s ±1s of predicted suite time per shard), which removes ~50s from the slowest PR check ## Linked Issues or Issue Description **Describe the current behavior** In the fully green PR actions run [32708351172](https://github.com/paperclipai/paperclip/actions/runs/32708351172) (2026-08-24), the check "General tests (server (2/5))" completed in 364s. Its test step ran 315s while sibling shards ran 241-276s. It was the slowest check in the run. **Describe the improvement** The duration manifest `scripts/general-server-shard-durations.json` is stale. It holds 279 suites sampled on 2026-08-04, but the lane now has 405 suites. The 126 unknown suites fall back to the median weight (~1.3s), and `server/src/__tests__/workspace-runtime.test.ts` grew from 37.4s to 123.3s. The partition therefore predicts a level split but produces an uneven one. Refreshing the manifest restores the level split without any code change. **Expected impact** All five server shards level at ~255s of predicted suite time (~310s job time). The slowest PR check drops from 364s to about 317s, so the PR critical path improves by roughly 50s. ## What Changed - Regenerated `scripts/general-server-shard-durations.json` from actions run 32708351172 (2026-08-24): 405 suites, 1274s total serial time (was 279 suites, 946s from 2026-08-04) - Updated the `$comment` field to name the new sample run and date - No code changes; the partition logic in `scripts/general-server-shard.mjs` is untouched ## Verification - Parsed all five "General tests (server (n/5))" job logs from run 32708351172 with the consecutive-completion-timestamp method described in the manifest `$comment`; asserted that the parsed suite set equals the exact file list that `run-vitest-stable.mjs` collects (405/405, no misses, no extras) - Ran `node scripts/run-vitest-stable.mjs --mode general --group general-server --shard-index N --shard-count 5 --dry-run` for N=0..4 with the new manifest: each shard predicts 255s (±1s) of suite time, and the five shards form a complete, non-overlapping cover of all 405 suites - Ran `node --test ./scripts/__tests__/run-vitest-stable-shard.test.mjs`: 13/13 pass ## Risks - Low risk. The change is data-only. Wrong weights cannot break correctness: the partition always covers every suite exactly once, so the worst case of a bad weight is an uneven shard, which is the current state. ## Model Used - Claude (Anthropic), model ID `claude-fable-5`, agentic coding session with tool use (Claude Code / Claude Agent SDK) ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have searched GitHub for duplicate or related PRs and linked them above - [x] I have either (a) linked existing issues with `Fixes: #` / `Closes #` / `Refs #` OR (b) described the issue in-PR following the relevant issue template - [x] I have not referenced internal/instance-local Paperclip issues or links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip` URLs) - [x] My branch name describes the change (e.g. `docs/...`, `fix/...`) and contains no internal Paperclip ticket id or instance-derived details - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable (no code change; existing partition tests pass) - [x] I have updated relevant documentation to reflect my changes (manifest `$comment` updated) - [x] I have considered and documented any risks above - [x] All Paperclip CI gates are green - [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups - [x] I will address all Greptile and reviewer comments before requesting merge Related prior work: #11528 (balanced the serialized server shards by recorded duration), #10923 (split serialized tests into five shards), #11156 (split workspaces-a into two shards). Co-authored-by: Claude --- scripts/general-server-shard-durations.json | 679 ++++++++++++-------- 1 file changed, 402 insertions(+), 277 deletions(-) diff --git a/scripts/general-server-shard-durations.json b/scripts/general-server-shard-durations.json index 165b692a71..4e3a786f8a 100644 --- a/scripts/general-server-shard-durations.json +++ b/scripts/general-server-shard-durations.json @@ -1,285 +1,410 @@ { - "$comment": "Per-suite wall-clock durations (ms) for the general-server vitest lane, used by scripts/general-server-shard.mjs to balance suites across the PR shard matrix. Sampled from a real PR run of .github/workflows/pr.yml (actions run 30930345729, 2026-08-04) by diffing consecutive per-suite completion timestamps in the 'Run grouped general test suites' logs \u2014 that captures each suite's true serial cost (import + collect + tests), not just the vitest-reported test time. Suites missing here get the median weight, so the manifest only needs occasional refreshes.", - "unit": "ms", + "$comment": "Per-suite wall-clock durations (ms) for the general-server vitest lane, used by scripts/general-server-shard.mjs to balance suites across the PR shard matrix. Sampled from a real PR run of .github/workflows/pr.yml (actions run 32708351172, 2026-08-24) by diffing consecutive per-suite completion timestamps in the 'Run grouped general test suites' logs \u2014 that captures each suite's true serial cost (import + collect + tests), not just the vitest-reported test time. Suites missing here get the median weight, so the manifest only needs occasional refreshes.", "durations": { - "server/src/__tests__/access-service.test.ts": 4415, - "server/src/__tests__/access-validators.test.ts": 385, - "server/src/__tests__/activity-log-responsible-user.test.ts": 8591, - "server/src/__tests__/activity-service.test.ts": 4704, - "server/src/__tests__/adapter-models.test.ts": 875, - "server/src/__tests__/adapter-registry.test.ts": 880, - "server/src/__tests__/adapter-session-codecs.test.ts": 343, - "server/src/__tests__/agent-auth-jwt.test.ts": 408, - "server/src/__tests__/agent-auth-middleware.test.ts": 1102, - "server/src/__tests__/agent-instructions-service.test.ts": 1648, - "server/src/__tests__/agent-invokability.test.ts": 2416, - "server/src/__tests__/agent-permissions-service.test.ts": 439, - "server/src/__tests__/agent-shortname-collision.test.ts": 1432, - "server/src/__tests__/agent-skill-contract.test.ts": 218, - "server/src/__tests__/agents-adapter-config-user-secret.test.ts": 4910, - "server/src/__tests__/agents-pending-approval-config.test.ts": 4632, - "server/src/__tests__/agents-service-clear-error.test.ts": 7537, - "server/src/__tests__/agents-service-secret-bindings.test.ts": 4929, - "server/src/__tests__/api-compression.test.ts": 337, - "server/src/__tests__/app-hmr-port.test.ts": 4092, - "server/src/__tests__/app-private-hostname-gate.test.ts": 2486, - "server/src/__tests__/app-vite-dev-routing.test.ts": 2494, - "server/src/__tests__/approvals-service.test.ts": 962, - "server/src/__tests__/attachment-types.test.ts": 397, - "server/src/__tests__/attention-service.test.ts": 6385, - "server/src/__tests__/authorization-service.test.ts": 5178, - "server/src/__tests__/aws-secrets-manager-provider.test.ts": 234, - "server/src/__tests__/better-auth.test.ts": 707, - "server/src/__tests__/board-claim.test.ts": 4169, - "server/src/__tests__/board-mutation-guard.test.ts": 325, - "server/src/__tests__/body-limits.test.ts": 139, - "server/src/__tests__/budgets-service.test.ts": 4078, - "server/src/__tests__/build-commit.test.ts": 204, - "server/src/__tests__/build-version.test.ts": 2984, - "server/src/__tests__/built-in-agents.test.ts": 12350, - "server/src/__tests__/bundled-plugins.test.ts": 243, - "server/src/__tests__/change-consent-gate.test.ts": 4031, - "server/src/__tests__/claude-local-adapter-environment.test.ts": 656, - "server/src/__tests__/claude-local-adapter.test.ts": 350, - "server/src/__tests__/claude-local-execute.test.ts": 3017, - "server/src/__tests__/claude-local-skill-sync.test.ts": 292, - "server/src/__tests__/cleanup-removal-service.test.ts": 5080, - "server/src/__tests__/cloud-image-bundled-plugins.test.ts": 227, - "server/src/__tests__/codex-auth-reconciliation.test.ts": 1018, - "server/src/__tests__/codex-local-adapter-environment.test.ts": 295, - "server/src/__tests__/codex-local-adapter.test.ts": 343, - "server/src/__tests__/codex-local-execute.test.ts": 1427, - "server/src/__tests__/codex-local-skill-injection.test.ts": 301, - "server/src/__tests__/codex-local-skill-sync.test.ts": 287, - "server/src/__tests__/companies-service.test.ts": 6464, - "server/src/__tests__/company-artifacts-service.test.ts": 5752, - "server/src/__tests__/company-portability-import-batching.test.ts": 8001, - "server/src/__tests__/company-search-extract-service.test.ts": 4856, - "server/src/__tests__/company-search-service.test.ts": 6275, - "server/src/__tests__/company-skill-import-boundary.test.ts": 5181, - "server/src/__tests__/company-skill-policy-service.test.ts": 4598, - "server/src/__tests__/company-skill-test-runs-service.test.ts": 8229, - "server/src/__tests__/company-skills-catalog-service.test.ts": 7482, - "server/src/__tests__/company-skills-detail.test.ts": 4940, - "server/src/__tests__/company-skills-service.test.ts": 17289, - "server/src/__tests__/company-skills.test.ts": 1551, - "server/src/__tests__/config-file.test.ts": 270, - "server/src/__tests__/cursor-local-adapter-environment.test.ts": 343, - "server/src/__tests__/cursor-local-adapter.test.ts": 315, - "server/src/__tests__/cursor-local-execute.test.ts": 1075, - "server/src/__tests__/cursor-local-skill-injection.test.ts": 492, - "server/src/__tests__/cursor-local-skill-sync.test.ts": 498, - "server/src/__tests__/dashboard-service.test.ts": 4449, - "server/src/__tests__/decision-retention-service.test.ts": 5741, - "server/src/__tests__/decision-training.test.ts": 6474, - "server/src/__tests__/decision-wakeup.test.ts": 233, - "server/src/__tests__/decisions-service.test.ts": 6434, - "server/src/__tests__/dev-runner-output.test.ts": 232, - "server/src/__tests__/dev-runner-paths.test.ts": 141, - "server/src/__tests__/dev-runner-snapshot.test.ts": 1148, - "server/src/__tests__/dev-runner-worktree.test.ts": 213, - "server/src/__tests__/dev-server-status.test.ts": 140, - "server/src/__tests__/dev-watch-ignore.test.ts": 145, - "server/src/__tests__/docker-entrypoint.test.ts": 276, - "server/src/__tests__/document-annotations-service.test.ts": 5650, + "server/src/__tests__/access-service.test.ts": 4757, + "server/src/__tests__/access-validators.test.ts": 645, + "server/src/__tests__/activity-log-responsible-user.test.ts": 4407, + "server/src/__tests__/activity-service.test.ts": 4708, + "server/src/__tests__/adapter-models.test.ts": 1173, + "server/src/__tests__/adapter-registry.test.ts": 1032, + "server/src/__tests__/adapter-session-codecs.test.ts": 791, + "server/src/__tests__/agent-auth-jwt.test.ts": 648, + "server/src/__tests__/agent-auth-middleware.test.ts": 1228, + "server/src/__tests__/agent-instructions-service.test.ts": 248, + "server/src/__tests__/agent-invokability.test.ts": 1113, + "server/src/__tests__/agent-permissions-service.test.ts": 640, + "server/src/__tests__/agent-shortname-collision.test.ts": 1735, + "server/src/__tests__/agent-skill-contract.test.ts": 242, + "server/src/__tests__/agents-adapter-config-user-secret.test.ts": 5407, + "server/src/__tests__/agents-claude-oauth-binding.test.ts": 6610, + "server/src/__tests__/agents-pending-approval-config.test.ts": 4533, + "server/src/__tests__/agents-service-clear-error.test.ts": 5193, + "server/src/__tests__/agents-service-secret-bindings.test.ts": 4658, + "server/src/__tests__/api-compression.test.ts": 341, + "server/src/__tests__/app-hmr-port.test.ts": 3779, + "server/src/__tests__/app-private-hostname-gate.test.ts": 4033, + "server/src/__tests__/app-vite-dev-routing.test.ts": 2993, + "server/src/__tests__/approvals-service.test.ts": 1207, + "server/src/__tests__/artifact-review-documents-service.test.ts": 4200, + "server/src/__tests__/attachment-types.test.ts": 579, + "server/src/__tests__/attention-service.test.ts": 6910, + "server/src/__tests__/authorization-service.test.ts": 6083, + "server/src/__tests__/aws-secrets-manager-provider.test.ts": 285, + "server/src/__tests__/better-auth.test.ts": 1103, + "server/src/__tests__/board-claim.test.ts": 3975, + "server/src/__tests__/board-mutation-guard.test.ts": 293, + "server/src/__tests__/body-limits.test.ts": 203, + "server/src/__tests__/budgets-service.test.ts": 4238, + "server/src/__tests__/build-commit.test.ts": 195, + "server/src/__tests__/build-version.test.ts": 211, + "server/src/__tests__/built-in-agents.test.ts": 10282, + "server/src/__tests__/bundled-plugins.test.ts": 235, + "server/src/__tests__/change-consent-gate.test.ts": 4215, + "server/src/__tests__/claude-local-adapter-environment.test.ts": 1105, + "server/src/__tests__/claude-local-adapter.test.ts": 751, + "server/src/__tests__/claude-local-execute.test.ts": 3248, + "server/src/__tests__/claude-local-skill-sync.test.ts": 706, + "server/src/__tests__/cleanup-removal-service.test.ts": 5454, + "server/src/__tests__/cli-invocation-safety.test.ts": 1244, + "server/src/__tests__/cloud-image-bundled-plugins.test.ts": 211, + "server/src/__tests__/cloud-instance.test.ts": 227, + "server/src/__tests__/codex-auth-reconciliation.test.ts": 1256, + "server/src/__tests__/codex-device-login-credential-read.test.ts": 605, + "server/src/__tests__/codex-device-login-reaper.test.ts": 1310, + "server/src/__tests__/codex-device-login-service.test.ts": 4054, + "server/src/__tests__/codex-local-adapter-environment.test.ts": 722, + "server/src/__tests__/codex-local-adapter.test.ts": 739, + "server/src/__tests__/codex-local-execute.test.ts": 2000, + "server/src/__tests__/codex-local-skill-injection.test.ts": 674, + "server/src/__tests__/codex-local-skill-sync.test.ts": 673, + "server/src/__tests__/codex-login-session-runtime.test.ts": 1272, + "server/src/__tests__/companies-service.test.ts": 6166, + "server/src/__tests__/company-artifacts-service.test.ts": 6065, + "server/src/__tests__/company-cloud-floor.test.ts": 1279, + "server/src/__tests__/company-portability-import-batching.test.ts": 5771, + "server/src/__tests__/company-search-extract-service.test.ts": 4422, + "server/src/__tests__/company-search-service.test.ts": 5513, + "server/src/__tests__/company-skill-import-boundary.test.ts": 5493, + "server/src/__tests__/company-skill-policy-service.test.ts": 4498, + "server/src/__tests__/company-skill-test-runs-service.test.ts": 7873, + "server/src/__tests__/company-skills-catalog-service.test.ts": 6859, + "server/src/__tests__/company-skills-detail.test.ts": 5366, + "server/src/__tests__/company-skills-service.test.ts": 17568, + "server/src/__tests__/company-skills.test.ts": 1829, + "server/src/__tests__/company-transfer-runs.test.ts": 3984, + "server/src/__tests__/config-file.test.ts": 653, + "server/src/__tests__/cross-issue-influence-limit-postgres.test.ts": 4526, + "server/src/__tests__/cross-issue-influence-limit.test.ts": 1106, + "server/src/__tests__/cursor-local-adapter-environment.test.ts": 464, + "server/src/__tests__/cursor-local-adapter.test.ts": 320, + "server/src/__tests__/cursor-local-execute.test.ts": 1165, + "server/src/__tests__/cursor-local-skill-injection.test.ts": 278, + "server/src/__tests__/cursor-local-skill-sync.test.ts": 289, + "server/src/__tests__/dashboard-service.test.ts": 3824, + "server/src/__tests__/db-errors.test.ts": 202, + "server/src/__tests__/decision-retention-service.test.ts": 5463, + "server/src/__tests__/decision-training.test.ts": 6158, + "server/src/__tests__/decision-wakeup.test.ts": 204, + "server/src/__tests__/decisions-service.test.ts": 7258, + "server/src/__tests__/dev-runner-output.test.ts": 220, + "server/src/__tests__/dev-runner-paths.test.ts": 197, + "server/src/__tests__/dev-runner-snapshot.test.ts": 199, + "server/src/__tests__/dev-runner-worktree.test.ts": 217, + "server/src/__tests__/dev-server-status.test.ts": 206, + "server/src/__tests__/dev-watch-ignore.test.ts": 206, + "server/src/__tests__/disposition-repair.test.ts": 1780, + "server/src/__tests__/docker-build-stamp.test.ts": 199, + "server/src/__tests__/docker-entrypoint.test.ts": 265, + "server/src/__tests__/document-annotations-service.test.ts": 5743, "server/src/__tests__/documents-service.test.ts": 4497, - "server/src/__tests__/documents.test.ts": 611, - "server/src/__tests__/effective-run-config-fingerprints.test.ts": 253, - "server/src/__tests__/environment-config.test.ts": 1745, - "server/src/__tests__/environment-custom-image-terminal-ws.test.ts": 3025, - "server/src/__tests__/environment-custom-images-service.test.ts": 7289, - "server/src/__tests__/environment-execution-target.test.ts": 513, - "server/src/__tests__/environment-live-ssh.test.ts": 943, - "server/src/__tests__/environment-probe.test.ts": 1489, - "server/src/__tests__/environment-run-orchestrator.test.ts": 1013, - "server/src/__tests__/environment-runtime-driver-contract.test.ts": 5388, - "server/src/__tests__/environment-runtime.test.ts": 5862, - "server/src/__tests__/environment-service.test.ts": 4714, - "server/src/__tests__/environment-test-harness.test.ts": 460, - "server/src/__tests__/error-handler.test.ts": 442, - "server/src/__tests__/execution-lock-orphan-cleanup.test.ts": 5168, - "server/src/__tests__/execution-workspace-policy.test.ts": 484, - "server/src/__tests__/execution-workspaces-service.test.ts": 11057, - "server/src/__tests__/export-fidelity.test.ts": 4157, - "server/src/__tests__/external-objects-service.test.ts": 5386, - "server/src/__tests__/feedback-flush-controller.test.ts": 3756, - "server/src/__tests__/feedback-service.test.ts": 4651, - "server/src/__tests__/feedback-share-client.test.ts": 146, - "server/src/__tests__/file-resources.test.ts": 14085, - "server/src/__tests__/first-admin-claim.test.ts": 4124, - "server/src/__tests__/folders-service.test.ts": 6404, + "server/src/__tests__/documents.test.ts": 1104, + "server/src/__tests__/duplex-aggregate-ceiling-env.test.ts": 210, + "server/src/__tests__/duplex-telemetry-recorder.test.ts": 207, + "server/src/__tests__/effective-run-config-fingerprints.test.ts": 219, + "server/src/__tests__/embedded-postgres-supervisor.test.ts": 206, + "server/src/__tests__/environment-capability-contract.test.ts": 1735, + "server/src/__tests__/environment-config.test.ts": 1712, + "server/src/__tests__/environment-custom-image-terminal-ws.test.ts": 2846, + "server/src/__tests__/environment-custom-images-service.test.ts": 9820, + "server/src/__tests__/environment-driver-traits.test.ts": 202, + "server/src/__tests__/environment-execution-target-capabilities.test.ts": 751, + "server/src/__tests__/environment-execution-target-duplex-kill-switch.test.ts": 677, + "server/src/__tests__/environment-execution-target-duplex.test.ts": 1346, + "server/src/__tests__/environment-execution-target.test.ts": 811, + "server/src/__tests__/environment-live-ssh.test.ts": 1193, + "server/src/__tests__/environment-probe.test.ts": 1730, + "server/src/__tests__/environment-run-orchestrator.test.ts": 1692, + "server/src/__tests__/environment-runtime-driver-contract.test.ts": 5260, + "server/src/__tests__/environment-runtime-duplex-bridge-input.test.ts": 4482, + "server/src/__tests__/environment-runtime.test.ts": 11452, + "server/src/__tests__/environment-service.test.ts": 4677, + "server/src/__tests__/environment-test-harness.test.ts": 572, + "server/src/__tests__/error-handler.test.ts": 288, + "server/src/__tests__/execution-lock-orphan-cleanup.test.ts": 5533, + "server/src/__tests__/execution-workspace-policy.test.ts": 701, + "server/src/__tests__/execution-workspace-reopen.test.ts": 5598, + "server/src/__tests__/execution-workspace-runtime-control-conflict.test.ts": 2022, + "server/src/__tests__/execution-workspaces-service.test.ts": 18767, + "server/src/__tests__/export-fidelity.test.ts": 4260, + "server/src/__tests__/external-objects-service.test.ts": 5395, + "server/src/__tests__/feedback-flush-controller.test.ts": 4136, + "server/src/__tests__/feedback-service.test.ts": 5006, + "server/src/__tests__/feedback-share-client.test.ts": 208, + "server/src/__tests__/file-resources-git-scan-load.test.ts": 2549, + "server/src/__tests__/file-resources.test.ts": 9337, + "server/src/__tests__/first-admin-claim.test.ts": 3933, + "server/src/__tests__/folders-service.test.ts": 5002, "server/src/__tests__/forbidden-tokens.test.ts": 209, - "server/src/__tests__/gemini-local-adapter-environment.test.ts": 379, - "server/src/__tests__/gemini-local-adapter.test.ts": 330, - "server/src/__tests__/gemini-local-execute.test.ts": 472, - "server/src/__tests__/gemini-local-skill-sync.test.ts": 285, - "server/src/__tests__/git-credentials.test.ts": 1528, - "server/src/__tests__/google-sheets-gallery.test.ts": 994, + "server/src/__tests__/gemini-local-adapter-environment.test.ts": 329, + "server/src/__tests__/gemini-local-adapter.test.ts": 319, + "server/src/__tests__/gemini-local-execute.test.ts": 462, + "server/src/__tests__/gemini-local-skill-sync.test.ts": 288, + "server/src/__tests__/general-capability-classifier.test.ts": 1736, + "server/src/__tests__/git-credentials.test.ts": 1726, + "server/src/__tests__/google-sheets-gallery.test.ts": 1678, "server/src/__tests__/grok-local-skill-sync.test.ts": 273, - "server/src/__tests__/heartbeat-accepted-plan-workspace-refresh.test.ts": 8428, - "server/src/__tests__/heartbeat-active-run-output-watchdog.test.ts": 53902, - "server/src/__tests__/heartbeat-agent-session-message.test.ts": 2466, - "server/src/__tests__/heartbeat-archived-company-guard.test.ts": 5273, - "server/src/__tests__/heartbeat-auto-checkout.test.ts": 1122, - "server/src/__tests__/heartbeat-comment-wake-batching.test.ts": 8686, - "server/src/__tests__/heartbeat-context-summary.test.ts": 1645, - "server/src/__tests__/heartbeat-cost-accounting.test.ts": 1621, - "server/src/__tests__/heartbeat-issue-rewake-throttle.test.ts": 6959, - "server/src/__tests__/heartbeat-ledger-billing-code.test.ts": 1758, - "server/src/__tests__/heartbeat-list.test.ts": 4922, - "server/src/__tests__/heartbeat-local-environment.test.ts": 10973, - "server/src/__tests__/heartbeat-lock-release-on-reassignment.test.ts": 5081, - "server/src/__tests__/heartbeat-managed-clone-credentials.test.ts": 1255, - "server/src/__tests__/heartbeat-model-profile.test.ts": 1678, - "server/src/__tests__/heartbeat-plugin-environment.test.ts": 5596, - "server/src/__tests__/heartbeat-project-env.test.ts": 1685, - "server/src/__tests__/heartbeat-referenced-projects.test.ts": 6589, - "server/src/__tests__/heartbeat-remote-referenced-projects.test.ts": 1714, - "server/src/__tests__/heartbeat-responsible-user-invariant.test.ts": 7223, - "server/src/__tests__/heartbeat-retry-scheduling.test.ts": 10283, - "server/src/__tests__/heartbeat-run-log.test.ts": 1604, - "server/src/__tests__/heartbeat-run-status-payload.test.ts": 1639, - "server/src/__tests__/heartbeat-run-summary.test.ts": 435, - "server/src/__tests__/heartbeat-runtime-mcp-servers.test.ts": 5094, - "server/src/__tests__/heartbeat-runtime-skills.test.ts": 6782, - "server/src/__tests__/heartbeat-runtime-state.test.ts": 5485, - "server/src/__tests__/heartbeat-scheduling-suppression.test.ts": 1603, - "server/src/__tests__/heartbeat-stale-queue-invalidation.test.ts": 18475, - "server/src/__tests__/heartbeat-start-lock.test.ts": 437, - "server/src/__tests__/heartbeat-timer-wake-session-reset-pf4.test.ts": 1137, - "server/src/__tests__/heartbeat-workspace-branch-containment.test.ts": 8615, - "server/src/__tests__/heartbeat-workspace-busy.test.ts": 9802, - "server/src/__tests__/heartbeat-workspace-finalize-branch.test.ts": 7704, - "server/src/__tests__/heartbeat-workspace-ready-comment.test.ts": 1154, - "server/src/__tests__/heartbeat-workspace-session.test.ts": 1365, - "server/src/__tests__/heartbeat-worktree-suppression.test.ts": 6472, - "server/src/__tests__/heartbeat-zombie-guard.test.ts": 1704, - "server/src/__tests__/hire-hook.test.ts": 986, - "server/src/__tests__/http-log-policy.test.ts": 228, - "server/src/__tests__/http-log-redaction.test.ts": 167, - "server/src/__tests__/inbox-dismissals.test.ts": 7200, - "server/src/__tests__/instance-settings-managed-overlay.test.ts": 909, - "server/src/__tests__/instance-settings-service.test.ts": 915, - "server/src/__tests__/instrumentation.test.ts": 189, - "server/src/__tests__/invite-join-grants.test.ts": 592, - "server/src/__tests__/invite-rate-limit.test.ts": 218, - "server/src/__tests__/invite-token-entropy.test.ts": 1922, - "server/src/__tests__/issue-blocker-attention.test.ts": 6309, - "server/src/__tests__/issue-comment-redaction.test.ts": 6354, - "server/src/__tests__/issue-continuation-summary.test.ts": 932, - "server/src/__tests__/issue-execution-policy.test.ts": 462, - "server/src/__tests__/issue-goal-fallback.test.ts": 204, - "server/src/__tests__/issue-liveness.test.ts": 444, - "server/src/__tests__/issue-monitor-scheduler.test.ts": 10856, - "server/src/__tests__/issue-recovery-actions.test.ts": 7768, - "server/src/__tests__/issue-references-service.test.ts": 4311, - "server/src/__tests__/issue-rewake-throttle.test.ts": 209, - "server/src/__tests__/issue-thread-interactions-service.test.ts": 9148, - "server/src/__tests__/issue-thread-interactions-telemetry.test.ts": 4652, - "server/src/__tests__/issue-tree-control-service-unit.test.ts": 904, - "server/src/__tests__/issue-tree-control-service.test.ts": 6218, - "server/src/__tests__/issues-list-query-parsing.test.ts": 1797, - "server/src/__tests__/issues-user-context.test.ts": 1136, - "server/src/__tests__/join-request-dedupe.test.ts": 203, - "server/src/__tests__/json-schema-secret-refs.test.ts": 142, - "server/src/__tests__/live-events-ws.test.ts": 549, - "server/src/__tests__/log-redaction.test.ts": 1177, - "server/src/__tests__/logger-tz.test.ts": 158, - "server/src/__tests__/managed-config.test.ts": 414, - "server/src/__tests__/mcp-http.test.ts": 206, - "server/src/__tests__/monthly-spend-service.test.ts": 1193, - "server/src/__tests__/openclaw-gateway-adapter.test.ts": 234, - "server/src/__tests__/opencode-local-adapter.test.ts": 196, - "server/src/__tests__/opencode-local-skill-sync.test.ts": 186, - "server/src/__tests__/paperclip-env.test.ts": 302, + "server/src/__tests__/health-workspace-readiness.test.ts": 1621, + "server/src/__tests__/heartbeat-accepted-plan-workspace-refresh.test.ts": 8157, + "server/src/__tests__/heartbeat-active-run-output-watchdog.test.ts": 53682, + "server/src/__tests__/heartbeat-agent-session-message.test.ts": 2803, + "server/src/__tests__/heartbeat-archived-company-guard.test.ts": 4562, + "server/src/__tests__/heartbeat-auto-checkout.test.ts": 1955, + "server/src/__tests__/heartbeat-comment-wake-batching.test.ts": 9076, + "server/src/__tests__/heartbeat-context-summary.test.ts": 1952, + "server/src/__tests__/heartbeat-cost-accounting.test.ts": 1984, + "server/src/__tests__/heartbeat-issue-rewake-throttle.test.ts": 7616, + "server/src/__tests__/heartbeat-ledger-billing-code.test.ts": 2053, + "server/src/__tests__/heartbeat-list.test.ts": 5326, + "server/src/__tests__/heartbeat-local-environment.test.ts": 5312, + "server/src/__tests__/heartbeat-lock-release-on-reassignment.test.ts": 5336, + "server/src/__tests__/heartbeat-managed-clone-credentials.test.ts": 2164, + "server/src/__tests__/heartbeat-model-profile.test.ts": 2000, + "server/src/__tests__/heartbeat-pending-cleanup-sweep.test.ts": 5683, + "server/src/__tests__/heartbeat-plugin-environment.test.ts": 5602, + "server/src/__tests__/heartbeat-project-env.test.ts": 2029, + "server/src/__tests__/heartbeat-referenced-projects.test.ts": 5601, + "server/src/__tests__/heartbeat-remote-referenced-projects.test.ts": 1865, + "server/src/__tests__/heartbeat-responsible-user-invariant.test.ts": 6136, + "server/src/__tests__/heartbeat-retry-scheduling.test.ts": 9278, + "server/src/__tests__/heartbeat-run-lease-release-terminalization.test.ts": 5519, + "server/src/__tests__/heartbeat-run-log.test.ts": 1944, + "server/src/__tests__/heartbeat-run-status-payload.test.ts": 1969, + "server/src/__tests__/heartbeat-run-summary.test.ts": 210, + "server/src/__tests__/heartbeat-run-terminalize-before-release.test.ts": 4525, + "server/src/__tests__/heartbeat-runtime-mcp-servers.test.ts": 5513, + "server/src/__tests__/heartbeat-runtime-skills.test.ts": 6217, + "server/src/__tests__/heartbeat-runtime-state.test.ts": 5495, + "server/src/__tests__/heartbeat-scheduling-suppression.test.ts": 1931, + "server/src/__tests__/heartbeat-stale-queue-invalidation.test.ts": 18600, + "server/src/__tests__/heartbeat-start-lock.test.ts": 231, + "server/src/__tests__/heartbeat-timer-wake-session-reset-pf4.test.ts": 1971, + "server/src/__tests__/heartbeat-workspace-branch-containment.test.ts": 7407, + "server/src/__tests__/heartbeat-workspace-busy.test.ts": 10518, + "server/src/__tests__/heartbeat-workspace-finalize-branch.test.ts": 7262, + "server/src/__tests__/heartbeat-workspace-ready-comment.test.ts": 1932, + "server/src/__tests__/heartbeat-workspace-session.test.ts": 2286, + "server/src/__tests__/heartbeat-worktree-suppression.test.ts": 6308, + "server/src/__tests__/heartbeat-zombie-guard.test.ts": 1935, + "server/src/__tests__/hire-hook.test.ts": 807, + "server/src/__tests__/http-log-policy.test.ts": 204, + "server/src/__tests__/http-log-redaction.test.ts": 239, + "server/src/__tests__/inbox-dismissals.test.ts": 5662, + "server/src/__tests__/instance-settings-managed-overlay.test.ts": 1170, + "server/src/__tests__/instance-settings-service.test.ts": 1144, + "server/src/__tests__/instrumentation.test.ts": 239, + "server/src/__tests__/interaction-resolution-cross-issue-cap-postgres.test.ts": 6128, + "server/src/__tests__/invite-join-grants.test.ts": 637, + "server/src/__tests__/invite-rate-limit.test.ts": 207, + "server/src/__tests__/invite-token-entropy.test.ts": 2300, + "server/src/__tests__/issue-blocker-attention.test.ts": 6573, + "server/src/__tests__/issue-comment-redaction.test.ts": 6119, + "server/src/__tests__/issue-continuation-summary.test.ts": 1144, + "server/src/__tests__/issue-execution-policy.test.ts": 705, + "server/src/__tests__/issue-existing-branch-validation-status.test.ts": 1356, + "server/src/__tests__/issue-goal-fallback.test.ts": 198, + "server/src/__tests__/issue-interactions-read-only-contract.test.ts": 203, + "server/src/__tests__/issue-liveness.test.ts": 652, + "server/src/__tests__/issue-monitor-scheduler.test.ts": 11289, + "server/src/__tests__/issue-recovery-actions.test.ts": 8471, + "server/src/__tests__/issue-references-service.test.ts": 4472, + "server/src/__tests__/issue-remove-cascade.test.ts": 5149, + "server/src/__tests__/issue-review-attention.test.ts": 4623, + "server/src/__tests__/issue-review-policy.test.ts": 4125, + "server/src/__tests__/issue-rewake-throttle.test.ts": 213, + "server/src/__tests__/issue-thread-interactions-service.test.ts": 9932, + "server/src/__tests__/issue-thread-interactions-telemetry.test.ts": 5363, + "server/src/__tests__/issue-tree-control-service-unit.test.ts": 1131, + "server/src/__tests__/issue-tree-control-service.test.ts": 5585, + "server/src/__tests__/issues-list-query-parsing.test.ts": 5695, + "server/src/__tests__/issues-parent-id-alias.test.ts": 6098, + "server/src/__tests__/issues-user-context.test.ts": 1728, + "server/src/__tests__/join-request-dedupe.test.ts": 212, + "server/src/__tests__/json-schema-secret-refs.test.ts": 208, + "server/src/__tests__/kimi-local-skill-sync.test.ts": 284, + "server/src/__tests__/live-events-ws.test.ts": 813, + "server/src/__tests__/local-service-supervisor.test.ts": 4367, + "server/src/__tests__/log-redaction.test.ts": 201, + "server/src/__tests__/logger-tz.test.ts": 220, + "server/src/__tests__/managed-config.test.ts": 666, + "server/src/__tests__/mcp-http.test.ts": 208, + "server/src/__tests__/merged-pr-confirmation-sweep.test.ts": 4305, + "server/src/__tests__/monthly-spend-service.test.ts": 1987, + "server/src/__tests__/openclaw-gateway-adapter.test.ts": 292, + "server/src/__tests__/opencode-local-adapter.test.ts": 297, + "server/src/__tests__/opencode-local-skill-sync.test.ts": 285, + "server/src/__tests__/paperclip-env.test.ts": 263, + "server/src/__tests__/paperclip-issue-update-helper.test.ts": 4333, "server/src/__tests__/paperclip-skill-utils.test.ts": 252, - "server/src/__tests__/parse-status-filter.test.ts": 1335, - "server/src/__tests__/pi-local-adapter-environment.test.ts": 393, - "server/src/__tests__/pi-local-execute.test.ts": 334, - "server/src/__tests__/pi-local-skill-sync.test.ts": 1133, - "server/src/__tests__/pipelines-service.test.ts": 7263, - "server/src/__tests__/plugin-access-authorization-host-services.test.ts": 5438, - "server/src/__tests__/plugin-agent-sessions.test.ts": 1682, - "server/src/__tests__/plugin-config-startup-delivery.test.ts": 4023, - "server/src/__tests__/plugin-database.test.ts": 4601, - "server/src/__tests__/plugin-dev-watcher.test.ts": 508, - "server/src/__tests__/plugin-environment-driver-ready-recovery.test.ts": 2887, - "server/src/__tests__/plugin-environment-driver-seam.test.ts": 541, - "server/src/__tests__/plugin-execution-workspace-bridge.test.ts": 229, - "server/src/__tests__/plugin-host-services-span.test.ts": 1789, - "server/src/__tests__/plugin-install-autobuild.test.ts": 7316, - "server/src/__tests__/plugin-install-guard.test.ts": 1163, - "server/src/__tests__/plugin-lifecycle-restart.test.ts": 724, - "server/src/__tests__/plugin-local-folders.test.ts": 277, - "server/src/__tests__/plugin-managed-agents.test.ts": 5174, - "server/src/__tests__/plugin-managed-routines.test.ts": 5685, - "server/src/__tests__/plugin-managed-skills.test.ts": 6856, - "server/src/__tests__/plugin-orchestration-apis.test.ts": 8002, - "server/src/__tests__/plugin-sandbox-provider-config-validation.test.ts": 296, - "server/src/__tests__/plugin-sdk-orchestration-contract.test.ts": 454, - "server/src/__tests__/plugin-sdk-testing.test.ts": 272, - "server/src/__tests__/plugin-secrets-handler.test.ts": 4609, - "server/src/__tests__/plugin-telemetry-bridge.test.ts": 1224, - "server/src/__tests__/plugin-tenant-isolation.test.ts": 5093, - "server/src/__tests__/plugin-tool-dispatcher-pluginDbId.test.ts": 960, - "server/src/__tests__/plugin-ui-static.test.ts": 1092, - "server/src/__tests__/plugin-worker-manager.test.ts": 1327, - "server/src/__tests__/private-hostname-guard.test.ts": 301, - "server/src/__tests__/productivity-review-service.test.ts": 9612, - "server/src/__tests__/project-icon-persistence.test.ts": 4155, - "server/src/__tests__/project-list-metrics.test.ts": 950, - "server/src/__tests__/project-shortname-resolution.test.ts": 1177, - "server/src/__tests__/qa-routine-secrets-e2e.test.ts": 5304, - "server/src/__tests__/quota-windows-service.test.ts": 215, - "server/src/__tests__/quota-windows.test.ts": 366, - "server/src/__tests__/recovery-classifiers.test.ts": 1574, - "server/src/__tests__/recovery-observability.test.ts": 4389, - "server/src/__tests__/recovery-stale-issue-lock-sweep.test.ts": 9167, - "server/src/__tests__/redact-sensitive.test.ts": 144, - "server/src/__tests__/remote-http-endpoint-guard.test.ts": 635, - "server/src/__tests__/routable-blocked.test.ts": 210, - "server/src/__tests__/routine-run-telemetry.test.ts": 5025, - "server/src/__tests__/routines-service.test.ts": 13035, - "server/src/__tests__/run-continuations.test.ts": 808, - "server/src/__tests__/run-liveness.test.ts": 143, - "server/src/__tests__/runtime-api.test.ts": 223, - "server/src/__tests__/sandbox-provider-runtime.test.ts": 144, - "server/src/__tests__/secret-provider-registry.test.ts": 187, - "server/src/__tests__/secrets-service-user-secret-owner-scoped.test.ts": 4753, - "server/src/__tests__/secrets-service.test.ts": 7274, - "server/src/__tests__/server-info.test.ts": 846, - "server/src/__tests__/server-package-build-script.test.ts": 427, - "server/src/__tests__/server-startup-feedback-export.test.ts": 1249, - "server/src/__tests__/shared-telemetry-events.test.ts": 230, - "server/src/__tests__/skills-catalog-service.test.ts": 260, - "server/src/__tests__/smoke-lab.test.ts": 6063, - "server/src/__tests__/source-trust.test.ts": 5476, - "server/src/__tests__/static-index-html.test.ts": 294, - "server/src/__tests__/status-card-update-engine.test.ts": 385, - "server/src/__tests__/status-cards.test.ts": 8233, - "server/src/__tests__/storage-local-provider.test.ts": 234, - "server/src/__tests__/summary-slots.test.ts": 6587, - "server/src/__tests__/task-watchdogs-classifier.test.ts": 762, - "server/src/__tests__/task-watchdogs-scheduler.test.ts": 6386, - "server/src/__tests__/teams-catalog-install-no-overrides.test.ts": 9170, - "server/src/__tests__/teams-catalog-service.test.ts": 461, - "server/src/__tests__/telemetry-client-flush.test.ts": 1208, - "server/src/__tests__/tool-access-policy-service.test.ts": 6548, - "server/src/__tests__/tool-access-service.test.ts": 14498, - "server/src/__tests__/tool-content-guards.test.ts": 240, - "server/src/__tests__/tool-gateway-service.test.ts": 6241, - "server/src/__tests__/tool-gateway.test.ts": 24463, - "server/src/__tests__/tool-oauth-legacy-backfill.test.ts": 7051, - "server/src/__tests__/trust-preset-resolver.test.ts": 409, - "server/src/__tests__/trust-proxy.test.ts": 168, - "server/src/__tests__/ui-branding.test.ts": 223, - "server/src/__tests__/version.test.ts": 229, - "server/src/__tests__/vite-html-renderer.test.ts": 136, - "server/src/__tests__/work-products.test.ts": 521, - "server/src/__tests__/work-timeline-service.test.ts": 5712, - "server/src/__tests__/workspace-instance-cleanup.test.ts": 265, - "server/src/__tests__/workspace-runtime.test.ts": 37401, - "server/src/__tests__/worktree-config.test.ts": 280, - "server/src/__tests__/write-path-membership.test.ts": 736 + "server/src/__tests__/parse-status-filter.test.ts": 1713, + "server/src/__tests__/pi-local-adapter-environment.test.ts": 396, + "server/src/__tests__/pi-local-execute.test.ts": 491, + "server/src/__tests__/pi-local-skill-sync.test.ts": 288, + "server/src/__tests__/pipelines-service.test.ts": 8966, + "server/src/__tests__/plugin-access-authorization-host-services.test.ts": 5679, + "server/src/__tests__/plugin-agent-sessions.test.ts": 1903, + "server/src/__tests__/plugin-config-startup-delivery.test.ts": 3528, + "server/src/__tests__/plugin-database.test.ts": 4910, + "server/src/__tests__/plugin-dev-watcher.test.ts": 308, + "server/src/__tests__/plugin-environment-driver-ready-recovery.test.ts": 4760, + "server/src/__tests__/plugin-environment-driver-sandbox-capabilities.test.ts": 269, + "server/src/__tests__/plugin-environment-driver-seam.test.ts": 745, + "server/src/__tests__/plugin-execution-workspace-bridge.test.ts": 223, + "server/src/__tests__/plugin-host-services-span.test.ts": 2220, + "server/src/__tests__/plugin-install-autobuild.test.ts": 7492, + "server/src/__tests__/plugin-install-guard.test.ts": 1307, + "server/src/__tests__/plugin-lifecycle-restart.test.ts": 1304, + "server/src/__tests__/plugin-loader-error-retry.test.ts": 1324, + "server/src/__tests__/plugin-local-folders.test.ts": 260, + "server/src/__tests__/plugin-managed-agents.test.ts": 5957, + "server/src/__tests__/plugin-managed-routines.test.ts": 5686, + "server/src/__tests__/plugin-managed-skills.test.ts": 6978, + "server/src/__tests__/plugin-orchestration-apis.test.ts": 8406, + "server/src/__tests__/plugin-sandbox-provider-config-validation.test.ts": 204, + "server/src/__tests__/plugin-sdk-orchestration-contract.test.ts": 717, + "server/src/__tests__/plugin-sdk-testing.test.ts": 584, + "server/src/__tests__/plugin-secrets-handler.test.ts": 5161, + "server/src/__tests__/plugin-telemetry-bridge.test.ts": 2066, + "server/src/__tests__/plugin-tenant-isolation.test.ts": 4622, + "server/src/__tests__/plugin-tool-dispatcher-pluginDbId.test.ts": 795, + "server/src/__tests__/plugin-ui-static.test.ts": 1293, + "server/src/__tests__/plugin-worker-manager-duplex-byte-ledger.test.ts": 1240, + "server/src/__tests__/plugin-worker-manager-duplex-pending-write-ledger.test.ts": 1006, + "server/src/__tests__/plugin-worker-manager-duplex-stdin-write-ledger.test.ts": 3918, + "server/src/__tests__/plugin-worker-manager-duplex.test.ts": 2233, + "server/src/__tests__/plugin-worker-manager.test.ts": 2669, + "server/src/__tests__/private-hostname-guard.test.ts": 300, + "server/src/__tests__/private-json-etag.test.ts": 271, + "server/src/__tests__/productivity-review-service.test.ts": 11098, + "server/src/__tests__/project-icon-persistence.test.ts": 3936, + "server/src/__tests__/project-list-metrics.test.ts": 1198, + "server/src/__tests__/project-shortname-resolution.test.ts": 1196, + "server/src/__tests__/qa-routine-secrets-e2e.test.ts": 5522, + "server/src/__tests__/quota-windows-service.test.ts": 214, + "server/src/__tests__/quota-windows.test.ts": 799, + "server/src/__tests__/recovery-classifiers.test.ts": 1822, + "server/src/__tests__/recovery-observability.test.ts": 4550, + "server/src/__tests__/recovery-stale-issue-lock-sweep.test.ts": 5578, + "server/src/__tests__/redact-sensitive.test.ts": 207, + "server/src/__tests__/remote-http-endpoint-guard.test.ts": 212, + "server/src/__tests__/rerun-survival.integration.test.ts": 623, + "server/src/__tests__/reusable-leases-default.test.ts": 623, + "server/src/__tests__/routable-blocked.test.ts": 205, + "server/src/__tests__/routine-run-telemetry.test.ts": 5399, + "server/src/__tests__/routines-service.test.ts": 9870, + "server/src/__tests__/run-continuations.test.ts": 771, + "server/src/__tests__/run-liveness.test.ts": 210, + "server/src/__tests__/run-secret-redaction.test.ts": 817, + "server/src/__tests__/runtime-api.test.ts": 204, + "server/src/__tests__/sandbox-orphan-cleanup-spool.test.ts": 221, + "server/src/__tests__/sandbox-provider-runtime.test.ts": 196, + "server/src/__tests__/secret-provider-registry.test.ts": 270, + "server/src/__tests__/secrets-service-dangling-user-secret.test.ts": 5159, + "server/src/__tests__/secrets-service-user-secret-owner-scoped.test.ts": 5294, + "server/src/__tests__/secrets-service.test.ts": 6526, + "server/src/__tests__/server-info.test.ts": 648, + "server/src/__tests__/server-package-build-script.test.ts": 194, + "server/src/__tests__/server-startup-feedback-export.test.ts": 1631, + "server/src/__tests__/service-version.test.ts": 200, + "server/src/__tests__/shared-telemetry-events.test.ts": 208, + "server/src/__tests__/skills-catalog-service.test.ts": 248, + "server/src/__tests__/smoke-lab.test.ts": 4920, + "server/src/__tests__/source-trust.test.ts": 3784, + "server/src/__tests__/static-index-html.test.ts": 276, + "server/src/__tests__/status-card-update-engine.test.ts": 639, + "server/src/__tests__/status-cards.test.ts": 8423, + "server/src/__tests__/storage-local-provider.test.ts": 225, + "server/src/__tests__/summary-slots.test.ts": 6669, + "server/src/__tests__/task-watchdogs-classifier.test.ts": 1741, + "server/src/__tests__/task-watchdogs-incident-fixture.test.ts": 203, + "server/src/__tests__/task-watchdogs-scheduler.test.ts": 6504, + "server/src/__tests__/teams-catalog-install-no-overrides.test.ts": 7292, + "server/src/__tests__/teams-catalog-service.test.ts": 697, + "server/src/__tests__/telemetry-client-flush.test.ts": 221, + "server/src/__tests__/tool-access-policy-service.test.ts": 6204, + "server/src/__tests__/tool-access-service.test.ts": 16382, + "server/src/__tests__/tool-content-guards.test.ts": 220, + "server/src/__tests__/tool-gateway-service.test.ts": 6570, + "server/src/__tests__/tool-gateway.test.ts": 18019, + "server/src/__tests__/tool-oauth-legacy-backfill.test.ts": 4994, + "server/src/__tests__/tool-review-queue-unsigned-request.test.ts": 5001, + "server/src/__tests__/trust-preset-resolver.test.ts": 642, + "server/src/__tests__/trust-proxy.test.ts": 249, + "server/src/__tests__/ui-branding.test.ts": 200, + "server/src/__tests__/version.test.ts": 222, + "server/src/__tests__/vite-html-renderer.test.ts": 208, + "server/src/__tests__/work-product-runtime-reconciliation.test.ts": 762, + "server/src/__tests__/work-products.test.ts": 773, + "server/src/__tests__/work-timeline-service.test.ts": 5134, + "server/src/__tests__/workspace-instance-cleanup.test.ts": 247, + "server/src/__tests__/workspace-login-handoff-endpoint.test.ts": 1280, + "server/src/__tests__/workspace-login-handoff-issuer.test.ts": 755, + "server/src/__tests__/workspace-login-handoff.test.ts": 241, + "server/src/__tests__/workspace-operations-reconciliation.test.ts": 4391, + "server/src/__tests__/workspace-readiness.test.ts": 848, + "server/src/__tests__/workspace-reaper-cooldown-config.test.ts": 665, + "server/src/__tests__/workspace-runtime-control-recovery.test.ts": 4196, + "server/src/__tests__/workspace-runtime-exposure-reservation.test.ts": 8194, + "server/src/__tests__/workspace-runtime-https-live-exercise.test.ts": 2333, + "server/src/__tests__/workspace-runtime-leases.test.ts": 4619, + "server/src/__tests__/workspace-runtime-start-terminality.test.ts": 5267, + "server/src/__tests__/workspace-runtime.test.ts": 123272, + "server/src/__tests__/worktree-config.test.ts": 1126, + "server/src/__tests__/worktree-seed-server-spawn.test.ts": 2003, + "server/src/__tests__/write-build-stamp.test.ts": 203, + "server/src/__tests__/write-path-membership.test.ts": 1215, + "server/src/adapters/claude-agent-id-header.test.ts": 203, + "server/src/adapters/http/execute.test.ts": 270, + "server/src/adapters/plugin-loader.test.ts": 236, + "server/src/adapters/registry.test.ts": 1062, + "server/src/instrumentation.test.ts": 222, + "server/src/lib/request-promise-memo.test.ts": 218, + "server/src/middleware/cloud-tenant-actor.test.ts": 1207, + "server/src/routes/adapters.test.ts": 1736, + "server/src/services/adapter-login-lease.test.ts": 199, + "server/src/services/adapter-models-env.test.ts": 202, + "server/src/services/adapter-registry-bootstrap.reconcile.test.ts": 1133, + "server/src/services/adapter-registry-bootstrap.test.ts": 1116, + "server/src/services/attention-resolver-audience.test.ts": 1778, + "server/src/services/board-auth.test.ts": 738, + "server/src/services/environment-custom-image-terminal-sessions.test.ts": 217, + "server/src/services/execution-allowlist.test.ts": 205, + "server/src/services/execution-policy-bootstrap.test.ts": 1128, + "server/src/services/heartbeat-run-runtime-status.test.ts": 222, + "server/src/services/heartbeat-stop-metadata.test.ts": 195, + "server/src/services/hot-restart.test.ts": 295, + "server/src/services/issue-dependency-wakeups.test.ts": 751, + "server/src/services/issue-thread-interaction-resolution.test.ts": 622, + "server/src/services/issue-thread-interactions.test.ts": 4650, + "server/src/services/login-command.test.ts": 191, + "server/src/services/managed-environments.test.ts": 1711, + "server/src/services/managed-resource-drift.test.ts": 215, + "server/src/services/onboarding-greeting.test.ts": 204, + "server/src/services/recovery/model-profile-hint.test.ts": 203, + "server/src/services/recovery/provider-failure-classification.test.ts": 1712, + "server/src/services/recovery/review-path-recovery.test.ts": 216, + "server/src/services/recovery/service.pause-durability.test.ts": 1746, + "server/src/services/recovery/stranded-notice.test.ts": 758, + "server/src/services/recovery/successful-run-handoff.test.ts": 821, + "server/src/services/responsible-user-denial-run-outcomes.test.ts": 1130, + "server/src/services/routines-formatter-cache.test.ts": 2942, + "server/src/services/run-log-store.test.ts": 629, + "server/src/services/run-scratch.test.ts": 214, + "server/src/services/runtime-exposure/broker-client.test.ts": 381, + "server/src/services/runtime-exposure/exposure-manager.test.ts": 577, + "server/src/services/runtime-exposure/loopback-listener.test.ts": 686, + "server/src/services/runtime-exposure/port-pair.test.ts": 622, + "server/src/services/runtime-exposure/port-reservation.test.ts": 657, + "server/src/services/runtime-exposure/tailscale-hostname.test.ts": 214, + "server/src/services/session-workspace-cwd.test.ts": 199, + "server/src/services/setup-token-reaper.test.ts": 1726, + "server/src/services/setup-token-session.test.ts": 4809, + "server/src/services/setup-token-transport-binding.test.ts": 1995, + "server/src/services/workspace-git-operation-scheduler.test.ts": 1623, + "server/src/services/workspace-runtime-exposure-backfill.test.ts": 1618, + "server/src/services/workspace-runtime-exposure.test.ts": 13656, + "server/src/services/workspace-runtime-read-model.test.ts": 1139, + "server/src/services/workspace-runtime-ready-comment.test.ts": 1744, + "server/src/shutdown.test.ts": 247, + "server/src/url-utils.test.ts": 196 } }