mirror of
https://github.com/razzant/ouroboros.git
synced 2026-08-25 19:11:44 +00:00
`inspect_thread_worktree` capped `dirty_files` at 200 and recorded no total, so `_removal_message` — the sentence an owner reads immediately before agreeing to destroy a checkout — said "200 uncommitted file changes" when there were 800. The safety gate itself held (the qualitative claim stayed true and destruction still needs explicit acknowledgement); only the magnitude lied, by a factor of four, at the worst possible moment. `dirty_files_total` carries the real length beside the bounded listing, and every surface that states a number states that one: the removal refusal, the delete refusal and confirm copies (through `omitted_files`), the client's own `removalPrompt` — which held the identical false sentence, so a server-only fix would have been half a fix — and `successText`, so success and refusal cannot disagree about the same checkout. Pluralisation fixed with it: "1 uncommitted file change", not "changes". Contract, JS mirror and field-level parity in this commit, per the plan's rule that a frozen-contract change is coordinated and never incidental. Additive and optional; a legacy inspection without the field reads as "the listing is the set". Found by the paid gate; the client half and the plural were found while fixing it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| modules | ||
| providers | ||
| tests | ||
| __init__.py | ||
| app.js | ||
| chart.umd.min.js | ||
| favicon.png | ||
| index.html | ||
| logo.jpg | ||
| marked.min.js | ||
| onboarding.css | ||
| onboarding_template.html | ||
| package.json | ||
| purify.min.js | ||
| settings.css | ||
| style.css | ||