Repository navigation
test(provider): exit Claude fixture on EOF and prevent leaked processes - #48
Conversation
STARTSTART — T3 PR48 static-check/EOF-flush follow-up only. Existing head1152494f0f909381081ee334a5a8d00cd16903f5. Coordinator reports real cloud Vitest6 registry +21 related provider tests passed, while named spawnSync import violates namespace rule and raw JSON calls violate Effect preferSchemaOverJson. Fix via existing namespace/Schema conventions; preserve response assertion and owned direct-child2s watchdog. Replace forced EOF exit with minimal interval cleanup/natural exit to permit stdout flush. No diagnostic weakening, source-dependency edit for cloud jsonc-parser link defect, Mac dependency-tree install, Actions/security/access/merge or unrelated work. Second lightweight slot alongside pingdotgg#932; bounded64MiB disk/256MiB RAM preflight admitted. Return exact corrected head for prepared cloud rerun plus existing verified tomlkit target/interpreter for pingdotgg#284. |
RESULTRESULT — T3 PR48 source corrections published for the prepared real cloud rerun. PR #48 Changes:
Bounded local evidence (not full qualification):
Cloud boundary: Durable local evidence: /Users/businessaccount/.local/state/closura/mac-disk-20261031/t3-48-static-followup/ (native-node24-probe.json, local-source-checks.json, source/PR readbacks). Existing private tomlkit reuse was separately verified for the coordinator's pingdotgg#284 handoff; no extra install, unrelated-file copy or global Python change. Exact paths returned in the repair thread. |
Exact-source validation and independent review receiptReviewed candidate: Independent source review found no remaining blocker. EOF clears only the fixture's own interval, allowing queued stdout to drain; version mode creates no keepalive. The durable regression shares the readiness fixture, checks normal and 128 KiB response IDs, retains child error/status/signal/stderr assertions, and has an owned direct-child timeout. Namespace/Schema corrections do not weaken diagnostics. No real provider, runtime/userdata, security, access, workflow or dependency-source changes. The prepared cloud qualification owner completed, and the coordinator/reviewer read back, these results on the exact complete candidate tree:
Primary scoped commands: from Identity nuance: the cloud executor's actual local HEAD remained base Fresh source-landing checks: main is unprotected with required-status enforcement off/empty; repository rulesets are empty; no submitted reviews or unresolved threads; CodeRabbit status is success. Current AGENTS/development guidance requires scoped semantic tests/lint/types and identifies Knip enforcement; those checks above are complete. No mandatory GitHub Actions transport requirement was found. This receipt is not a GitHub Actions pass: zero current-head workflow runs/check-runs are present, and Actions remains untouched. No full test suite, desktop build, native Windows/macOS qualification, deployment, or installed-app claim. The legitimate CI-route health gap remains separately owned and open. The coordinator relayed the user's normal source-merge authorization for this exact window. Normal expected-head source landing is authorized; no formal approval vote, rule bypass, Actions enablement or hosted billing change will be used. Source merge and installed/operational recovery remain distinct. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Source landing verifiedMerged normally by expected-head squash at 2026-10-31 09:59:49 UTC: Post-merge readback confirms No formal approval vote or rule bypass was used. Post-merge Actions/check-run collections are empty, not green; Actions settings were not changed. This finishes verified source landing only. No app deployment, Mac checkout adoption, full-suite/native-platform pass, or resolution of the separately owned legitimate CI-route health gap is implied. |
The synthetic Claude readiness fixture kept a live interval after stdin closed, leaving stopped test work behind as Node processes. Clear only that keepalive on EOF and let Node exit naturally so queued stdout can drain. The version probe also exits naturally. Readiness probes and the regression use the same synthetic .mjs fixture.
The existing EOF regression uses the repository's NodeChildProcess namespace import and supported Schema.fromJsonString codecs. It preserves all exit/error/signal/stderr and type/subtype/request-ID assertions plus the two-second direct-child watchdog. A second128KiB request-ID case verifies the entire larger response survives pipe backpressure; no unbounded wait or latency/SLO qualification is introduced. The existing POSIX tilde-path convention and Windows skip remain.
Exact head:
8c4337893e9e0b1dc0d0148eb2708cc95f662b31.Original request and provenance
Reported human quote from the original Mac repair dispatch, preserved exactly:
Mac recovery owner #463 holds the incident evidence. The source ledger at the config repair head preserves the exact reported quote and technical follow-up. The opening/review T3 rows are agent-created handoffs, not authenticated human-origin messages. The original EOF-only fix was 3010acd; that fix and its durable regression remain in this branch. The latest coordinator follow-up corrects the concrete namespace/Schema diagnostics and preserves output flushing through natural exit.
Verification and limits
Only the existing registry test and shared synthetic fixture changed. No real provider startup, credentials, live userdata/DB, security/access controls, VM disks or unrelated platform setup changes. Parent handles cloud rerun, independent review and merge.