Skip to content

v0.2.0 - structured errors + DEVELOPMENT.md

Choose a tag to compare

@franzenzenhofer franzenzenhofer released this 23 May 21:15

First minor release on the road to v1.0.0.

Highlights

Structured errors (#65)
Every error path now carries a stable machine-readable code, derived category, message, optional origin, free-form context map, and optional hint. All 109 throw sites across 11 source files migrated to explicit ErrorCodes.* values - no silent fallbacks.

New --json envelope on error:
```json
{"ok":false,"error":{
"code":"BGBG_USER_INPUT_NOT_FOUND",
"category":"user",
"exit":1,
"message":"input not found: /tmp/photo.jpg",
"where":"/tmp/photo.jpg",
"context":{"path":"/tmp/photo.jpg"}
}}
```

Default stderr is the same payload in multi-line human form (`--quiet` collapses to single-line message). HTTP `/v1.0/bgbgone` mirrors the same JSON envelope with httpStatus-derived status codes (parser/user/no_result -> 400, framework -> 500).

DEVELOPMENT.md (#64)
Single working-agreement file at repo root documenting the 13 hard rules (no fallbacks, hardcore TDD, every commit on main green, no legacy, push per unit, make release before push, README regen on visible-output change, 100% UNIX style, 100% local at runtime, no perf regression, docs in same commit as code, clean code <=150 lines per file, industry-standard deps OK), the TDD red->green->refactor procedure, the per-feature UNIX checklist, the performance budget, the dependency policy, commit message conventions, and the release gate.

Test status

  • 191/191 unit tests green
  • 144 integration tests green (65 RED tests for the upcoming `--filter` chain epic intentionally land in this release - they convert to GREEN as filter tickets ship in v0.3.0 onwards)

Coming next (v0.3.0)

  • `--filter` chain foundation (T0..T4)
  • First seven filters powering a new README `## Filter showcase` section: T5 grayscale, T20 blur, T39 outline, T41 shadow, T8 sepia, T35 vignette, T9 adjust
  • The first deep-dive entries in a new `/docs/filters/` tree

See DEVELOPMENT.md for the working agreement and the implementation plan for the full v1.0.0 roadmap.