fix(dispatcher): keep quiet output focused - #2330
Conversation
There was a problem hiding this comment.
Changes requested: The quiet-path changes miss the restart rehost path, regressing verbose/debug Slack shimmer behavior after a process restart.
Warning
Changes requested · head 3838241 · 1 finding: 1 minor
| Severity | Finding | Where |
|---|---|---|
| minor | F1 Rehosted cards silently fall back to quiet verbosity | src/core/resumeLaunch.ts:259 |
Full review
F1: SlackIO.status now treats an omitted display level as quiet, but the restart rehost path still calls io.status(...) without the resolved verbosity. After a process restart, a hosted pipeline configured for verbose or debug therefore clears and suppresses its Slack shimmer, contradicting the requirement to preserve higher-verbosity behavior. Resolve the current verbosity for the rehosted request and pass it through, with restart-path coverage for quiet and verbose/debug.
3838241 to
65140a3
Compare
There was a problem hiding this comment.
Changes requested: Request-level verbosity is still lost on production rehost, and quiet now hides the only queued outcome.
Warning
Changes requested · head 65140a3 · 2 findings: 2 minor
| Severity | Finding | Where |
|---|---|---|
| minor | F1 Rehost reads verbosity from an event that has already stripped directives | src/core/resumeLaunch.ts:263 |
| minor | F2 Spec contradiction — docs/reference/specs/routing-and-config.md item 28: quiet drops the only queued outcome | src/core/dispatch/admission.ts:415 |
Full review
F1 (minor, high confidence): Production records the first input from directives.text, after verbosity:* has been stripped. Parsing that event during rehost therefore cannot recover a request-level override. Under quiet configuration, a verbosity:debug ship request still rehosts as quiet. The regression test fabricates an input shape production never writes. Persist the resolved verbosity durably or recover it from the original durable request, and test through the production recording path.
F2 (minor, high confidence): A queued request creates no run card, and routing its position and withdrawal command through replyAck leaves quiet users with no visible outcome at all. That queue result is a necessary intermediate result with an actionable stop lever, which item 28 promises at quiet. Keep the queue outcome visible while suppressing only routine lifecycle narration.
Co-Authored-By: coreplane-switchboard[bot] <318072483+coreplane-switchboard[bot]@users.noreply.github.com>
65140a3 to
9816034
Compare
|
Re-review requested at 9816034 — F1 now persists resolved ship-request verbosity on the hosted ledger and rehost prefers it, with production-recording quiet/verbose/debug restart regressions; F2 restores the queue position and withdrawal command at every verbosity because queued asks have no run card. Tests, specs, and PR body are refreshed. |
There was a problem hiding this comment.
LGTM: Both prior findings are resolved with durable production-path coverage and aligned specifications.
Note
Approved · head 9816034 · no findings
Full review
Both prior findings are resolved. The remaining test-guard checks are verification-preserving renames: connected-hook now explicitly selects verbose, and compactActivity retains the original assertions.
Quiet mode now keeps checklists, actionable queue details, failures, and final results while suppressing routine Slack and run-lifecycle narration. Verbose and debug retain diagnostics, including across pipeline rehosting.
Why: #2329 and the observed Slack thread exposed internal narration at quiet. The verbosity contract requires suppression at emission seams without hiding outcomes people need.
Where to look
Feedback wanted: Please judge the quiet/actionable boundary for queued work and whether the durable hosted-row verbosity is the right restart authority.
Risk: 429 changed lines span Slack and core dispatch. A mistake can hide needed outcomes or leak narration; revert the commit to roll back. Splitting transport and core was rejected because one verbosity contract and matrix cover both.
Verified: Focused 106 tests, root tsc, changed-file Prettier, hygiene and specs passed; CI typecheck, checks and most suites are green, with four jobs still pending.
Decisions (2)
Validation (7 criteria)
For agents
Exact pushed head: 9816034. Existing branch was amended into one coherent commit and rebased onto origin/main (438f898). Red run: 5 failures across resume, queue, and production recording assertions before implementation. Repro: npx vitest run src/core/resumeLaunch.test.ts src/core/dispatch/admission.test.ts src/core/dispatch/ship.test.ts.
Requested by @justinhelmer in slack:C0BRRHKFLCB
🤖 Generated with Claude Code