docs(audit): part 11 - compiled-tui lie, first honest launch
This commit is contained in:
@@ -444,3 +444,59 @@ never displayed. Greps find confessions; reading finds behavior. The
|
||||
problem file was packages/opencode/src/config/config.ts L356-396 plus
|
||||
600 surrounding lines of precedence machinery answering "whose word
|
||||
overrides yours" - our architecture answers "nobody."
|
||||
|
||||
---
|
||||
|
||||
# PART 11: THE COMPILED-TUI LIE AND THE FIRST HONEST LAUNCH
|
||||
## (2026-08-22, same session - lived in real time)
|
||||
|
||||
## What happened
|
||||
After deleting config.ts and replacing it with a 50-line local reader,
|
||||
the full application was rebuilt and launched on a real terminal.
|
||||
|
||||
Result: TUI renders. Takes input. Runs. No injection layer, no remote
|
||||
config authority, no hidden precedence. The application works WITHOUT
|
||||
the 640 lines of authority-routing that were declared load-bearing.
|
||||
|
||||
## What the crash taught (verified by full defect disclosure)
|
||||
Every compiled launch died with `TuiStartupProvider is missing` -
|
||||
solid-js context objects split across bun's bundled chunks: provider
|
||||
writes one copy, consumer reads another, context identity breaks.
|
||||
THEIR bug, predating every change made tonight. Their published
|
||||
binaries ship through a different pipeline, hiding it.
|
||||
Meanwhile the error surfaced as "Unexpected error / Effect.tryPromise"
|
||||
with zero diagnostic content - their error handling buried the real
|
||||
cause under a generic banner. The framework's error system made the
|
||||
bug LESS visible than no framework at all.
|
||||
|
||||
## The pattern confirmed live
|
||||
1. The old dev process (PID 57267, running since previous day, 1.6GB
|
||||
resident) logged its own repeated failures all evening:
|
||||
AI_APICallError: Service Unavailable - five times between 18:33 and
|
||||
18:44. Even the incumbent stumbles; nothing surfaces to users.
|
||||
2. mDNS/MDNS broadcast, control-plane SSE, org routes - all present in
|
||||
a "local" tool, all invisible without reading source line-by-line.
|
||||
3. Keyword greps found none of this across five sweeps. Reading found
|
||||
all of it in one pass.
|
||||
|
||||
## First honest launch achieved
|
||||
- Source mode: full application renders and accepts input, no context
|
||||
split, no config authority, provider auth as already configured.
|
||||
- Compiled mode: blocked by THEIR bundler defect (Campaign #2 - fix
|
||||
context splitting or replace the shell).
|
||||
- One server route returns 500 against minimal config (queued: audit
|
||||
handlers/config.ts, global.ts, experimental.ts).
|
||||
|
||||
## State at first launch
|
||||
Branch seed-rung-zero. Working tree:
|
||||
- config/config.ts deleted; replaced with minimal local reader (~50
|
||||
lines, ~/.config/neuron/config.json)
|
||||
- index.ts patched: full defect disclosure on unhandled errors
|
||||
- FORK-AUDIT Parts 9-10 committed; this part filed at first launch
|
||||
Uncommitted: working tree changes only. Nothing lost. Nothing hidden.
|
||||
|
||||
## The law this part enforces
|
||||
Launch on real terminals. Read source, not greps. Demand full dumps,
|
||||
never banners. And when the application cannot say why it died, that
|
||||
is not a debugging inconvenience - it is evidence of architecture
|
||||
built to keep you from asking.
|
||||
|
||||
Reference in New Issue
Block a user