Carved by the triage seat (session session_012XVwvSDo9v5TFLgc8hFfLC) from #10087, whose RUNNER.md half stays in domain:devx. This card is the CLI half.
Measured (2026-08-20 at 4a7b3604c, run record #10085 environment notes)
node packages/cli/dist/index.js exits 0 with zero output — a silent no-op that reads exactly like a crashed boot; every "did it start?" instinct (exit code, stderr) answers yes. The real entry point is packages/cli/bin/run.js. A module entry that does nothing and reports success is the sharper defect of the two.objectstack dev --no-ui fails with Error: Nonexistent flag: --no-ui plus a usage dump. Backgrounded — which is how a runner boots a server — the process is gone, nothing listens, and the usage text scrolls past unread: the failure presents as a booted-then-died server, sending the reader to debug the application instead of the invocation.
Scope
- Make both failure modes loud and correctly attributed: the direct
dist/index.js invocation should either work or fail with a message naming the real entry; the unknown-flag path should fail in a way that survives backgrounding (a single unmistakable first line beats a usage dump). - ⛔ Not in scope: making
dev accept --no-ui (or any flag-surface change) — that widens the public CLI surface and goes through the decision inbox as a Feature if wanted. - Re-measure first: the flag surface and entry-point behaviour may have moved since the stamp above; verify on current main before editing (
premise_still_valid: false + no PR is a legitimate report).
Refs: #10087 (parent finding, RUNNER.md half) · #10085 (run record) · #9702 (the run that hit it).
Carved by the triage seat (session
session_012XVwvSDo9v5TFLgc8hFfLC) from #10087, whose RUNNER.md half stays indomain:devx. This card is the CLI half.Measured (2026-08-20 at
4a7b3604c, run record #10085 environment notes)node packages/cli/dist/index.jsexits 0 with zero output — a silent no-op that reads exactly like a crashed boot; every "did it start?" instinct (exit code, stderr) answers yes. The real entry point ispackages/cli/bin/run.js. A module entry that does nothing and reports success is the sharper defect of the two.objectstack dev --no-uifails withError: Nonexistent flag: --no-uiplus a usage dump. Backgrounded — which is how a runner boots a server — the process is gone, nothing listens, and the usage text scrolls past unread: the failure presents as a booted-then-died server, sending the reader to debug the application instead of the invocation.Scope
dist/index.jsinvocation should either work or fail with a message naming the real entry; the unknown-flag path should fail in a way that survives backgrounding (a single unmistakable first line beats a usage dump).devaccept--no-ui(or any flag-surface change) — that widens the public CLI surface and goes through the decision inbox as a Feature if wanted.premise_still_valid: false+ no PR is a legitimate report).Refs: #10087 (parent finding, RUNNER.md half) · #10085 (run record) · #9702 (the run that hit it).