fix(start,#980-bug3): don't lie about seed success after seed failure#989
Merged
Conversation
M1 Carl-validator pass (issue #980, Bug 3) caught a silent-success-is- failure violation in `parallel-start.sh` Phase 5.5: [Seed] ⏳ Waiting for JTAG system to be ready... [Seed] TS server ready but Rust worker not responding... (× 15+) [Seed] ❌ JTAG system did not become ready after 480 seconds [Seed] ❌ SEEDING FAILED: ❌ JTAG system not ready - commands not registered yet ✅ Seed complete ← LIES 🎉 System is UP! Total startup time: 549s ← ALSO LIES Carl saw the success banner, opened the UI, typed "hello", got nothing back — because no personas existed. The script announced success after explicit failure. Root cause: the pipe `npm run data:seed | sed` discards the seed script's exit code (sed always succeeds → pipeline returns 0). Same shape Joel's been correcting elsewhere. Already a fix pattern in this file — TS build at line 278 uses `${PIPESTATUS[0]}`. Fix: capture `${PIPESTATUS[0]}` post-pipe; on non-zero, print the actual failure with diagnostic log paths, set SEED_OK=false. The final "System is UP" banner now branches on SEED_OK and prints "⚠️ DEGRADED mode" when seed failed, telling the truth. System still starts (intentional — partial usability + retry possible via re-running `npm run data:seed`). The change is purely about not lying when the seed failed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
`parallel-start.sh` Phase 5.5 used to print `✅ Seed complete` + `🎉 System is UP!` even when `npm run data:seed` failed, because the pipe to `sed` discarded the seed script's exit code. Capture the exit via `${PIPESTATUS[0]}` (same pattern as line 278's TS build) and tell the truth.
Repro from #980 Bug 3
Carl saw the success banner, opened the UI, typed "hello", got nothing back — because no personas existed.
Fix
System still starts on seed failure (intentional — partial usability + retry possible via `npm run data:seed`). The change is purely about not lying when seed failed.
Test
Series context
#980 follow-up series, alongside #987 (Bug 1 cmake) + #988 (other-mac, Bug 5 isConfigured). Joel: "continue getting our carl case up to speed."
🤖 Generated with Claude Code