From bb6db5083904602c458d2bc28fbea4a8de53952c Mon Sep 17 00:00:00 2001 From: Simon Heimlicher Date: Fri, 14 Aug 2026 20:58:13 +0200 Subject: [PATCH] Name status-line counters in the fixture redaction step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Step 7 listed paths, repositories, account identifiers, and session text. A custom status line reports session cost, token totals, quota percentages, and elapsed time on one row, and the 2.1.223 composer fixture already carries that row with its counters masked by hand — so the practice existed and the step did not describe it. The generator masks dollar amounts and nothing else on that row, which reads as coverage when it is one counter of several. Say so, and say that the digit-for-digit mask keeps the order of magnitude, since no width-preserving mask can do otherwise. Claude-Session: https://claude.ai/code/session_016nZtKz6DRhYMsLJDD2vWUN --- .../Fixtures/AgentScreenDetection/README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/supacodeTests/Fixtures/AgentScreenDetection/README.md b/supacodeTests/Fixtures/AgentScreenDetection/README.md index ffa83b62..230eb6cd 100644 --- a/supacodeTests/Fixtures/AgentScreenDetection/README.md +++ b/supacodeTests/Fixtures/AgentScreenDetection/README.md @@ -35,10 +35,12 @@ derived from `idle + unseen` and is never a fixture state. 6. Reduce the capture with the production `agentDetectionRecentText` helper: start at the 24th non-empty line from the bottom when at least 24 exist; otherwise retain the whole screen. Keep blank lines and trailing screen rows inside that window. -7. Redact paths, repositories, account identifiers, and all real-session prompts/model - output without changing runtime chrome, line ordering, markers, wrapping, or blank-line - boundaries. Deliberately scripted probe interactions from disposable workspaces may - remain verbatim and are preferred for conversational fixtures. +7. Redact paths, repositories, account identifiers, all real-session prompts/model output, + and the counters a custom status line reports for the session — cost, token totals, + quota percentages, elapsed time — without changing runtime chrome, line ordering, + markers, wrapping, or blank-line boundaries. The generator masks dollar amounts only; + the other counters are yours to replace. Deliberately scripted probe interactions from + disposable workspaces may remain verbatim and are preferred for conversational fixtures. 8. Run `AgentScreenFixtureCorpusTests` before committing. Steps 3, 6, and 7 are mechanical, and doing them by hand is where fixtures go wrong: a @@ -66,7 +68,9 @@ than the three-column one `len()` would report. A replacement whose width no ter agrees on — a ZWJ sequence, or a variation selector that flips a character between text and emoji presentation — is refused rather than guessed at. Dollar amounts are masked digit for digit (`$123.45` becomes `$XXX.XX`), so the mask is the width of the amount at -any magnitude; pass `--keep-money` to retain them. +any magnitude; pass `--keep-money` to retain them. The digit count survives, and therefore +so does the order of magnitude: a mask that hid it would occupy different columns, and +holding the columns is what the fixture is for. `make test-scripts` exercises these guarantees. The corpus tests validate committed fixtures and never run the generator, so without it nothing holds the script to the -- 2.51.2