Commit Graph

1 Commits

Author SHA1 Message Date
agra
3c9a15ec80 P3.4b: loud machine-readable publish failure paths
Every abort site writes a CliFailure (stable dotted code + human message
naming the offending input); under --json the CLI emits a single
{"status":"error","error":{code,message}} object on stdout and exits 1 —
distinct from the parser's EX_USAGE 64. All aborts happen before db.save
and the repo transaction rolls back, so a failed publish never changes
db.json. Pinned test drives all five failure classes plus the
non-empty-store no-partial-state crux.
2026-06-12 00:20:41 +03:00