v0.8.0 — Editable roster in the knob panel
Completes the deferred half of the C5 knob GUI: the tanglebrain-gui roster card is now editable, comment-preserving, with zero new runtime dependencies.
Added
- Editable roster in the knob panel (plan §5/§9.2). A focused set of per-entry scalar fields is editable from the panel —
enabled,can_orchestrate,budget_usd_month,good_at— each row with its own Save.- Comment-preserving, no new deps: a new
tanglebrain/roster_edit.pyedits the targeted value on the targeted line in place, so every inline comment, blank line, the nestedinvokeblock, and the commented paid-API example survive byte-for-byte — no YAML round-trip library. Adding/removing/reordering entries and editing theinvokeblock stay hand-edits. - Write-safety mirrors the pricing editor: edits are validated and the candidate is re-parsed with the real loader before any write (a surgical slip can never land a malformed roster), the prior file is backed up to
<state_dir>/backups/roster-<ts>.yaml, and the write is atomic. The panel sends only changed fields and confirms before overwriting the trackedconfig/roster.yaml. - New
views.save_roster_view()+POST /api/roster.
- Comment-preserving, no new deps: a new
Notes
- 295 hermetic tests pass; independent Critic review found no blockers.
- With this, the planned build (C0→C7 plus the deferred GUI roster-editing item) is complete.
Full Changelog: v0.7.1...v0.8.0