docs: the owner drove three captures, and one of them falsified a field - #299
Merged
Conversation
The owner drove three captures on 2026-08-17. This records all three. The cursor statusline capture is PAID. A live interactive session at cursor-agent 2026.08.11-e8db854 rendered `ctx 12.7%` after its first reply. So `used_percentage` populates, at one-decimal precision, and the synthesized fixture's assumed shape was correct. That capture ran one build ahead of the section's own pin, and the amendment states it. The agy statusline payload is RE-CAPTURED at 1.1.13, and the pin moves off 1.1.9. Fifteen live payloads confirm FOUR quota buckets rather than two, and the ids are observed rather than inferred from the slash command's human labels. Each of the four carries remaining_fraction, reset_time and reset_in_seconds. `agent_state` is observed live, and it reported one value the documented vocabulary omits. The payload has grown to carry the same context block Claude's payload carries. The same capture FALSIFIED `transcript_path`. The payload drops the `-cli` segment, so it names a directory that exists and is empty while the real transcript sits elsewhere. The refusal to display that field is now a measurement rather than caution. No code follows the path, which was re-checked across the repository, so nothing is broken and nothing is fixed. Nothing new is wired to a renderer or a relay. The composer one-row sighting DOES NOT REPRODUCE. A three-line brief in a live 5-of-5 room at a recorded 170x54 drew three rows, which agrees with the 588-geometry sweep. The sighting is recorded as a probable observation error. The amendment names the limit: 170x54 is a generous geometry and says nothing about the cells near the floor. Two findings go beyond the three captures. A live cursor-agent CLI session draws no HUD row BY DESIGN, because the adapter reads the IDE store and the CLI keeps its own; the ghost-mode hypothesis is therefore recorded as an open measurement about the IDE store instead of as the explanation. And agy sends every context number on the last fire only, with a literal zero before them, which is a zero-versus-absent collapse in the vendor's own serializer. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The owner drove three captures on 2026-08-17. This writes all three into the
record. No fixture, renderer or relay gains a field — one of the three captures
falsified a vendor value, and the correct response to it was to keep the code
exactly as it is and upgrade a refusal from caution to measurement.
1. The cursor
context_windowcapture is PAID (§7.16, §2.2)§7.16's hand-back asked for a human at a real TTY. A live interactive session at
cursor-agent
2026.08.11-e8db854, in Windows Terminal from a PowerShell parent,rendered
Composer 2.5 Fast │ ctx 12.7% │ telltaleafter its first reply.used_percentagepopulates on a real session — a live magnitude, not a null.assumed, so the fixture shape did not move.
Stated rather than smoothed: that capture ran at a build one ahead of the
section's own pin (
2026.08.04-aaa8809), so the populated shape is confirmed atthe newer build and the derived-field ruling stays measured at the older one.
The capture also cannot re-measure the two REFUSED derived fields, because §2.2
keeps them out of the structs and the line renders neither.
2. The agy statusline payload is RE-CAPTURED at 1.1.13 (§2.1, §3.8,
stdin.go)Fifteen live payloads from one interactive turn. The pin moves off 1.1.9 and the
six-payload record is superseded, not deleted.
3p-5h,3p-weekly,gemini-5h,gemini-weekly. All four carryremaining_fraction,reset_timeAND
reset_in_seconds. The renderer needed no change, which is what theverbatim-id rule was built to buy, and the
weekfixture already held all fournames.
agent_stateobserved live, and the documented vocabulary is incomplete: theturn reported
authenticating, which is not on the list. Unknown states alreadydraw verbatim in dim, so this costs nothing and is recorded as a measurement.
context_windowblock plusconversation_id(equal tosession_idon all fifteen fires),exceeds_200k_tokens,sandbox.enabled,terminal_width,model.effort.transcript_pathis FALSIFIED. The payload roots the path at~\.gemini\antigravity\brain\<id>\…while the real transcript for that samesession exists only under
~\.gemini\antigravity-cli\brain\<id>\…— it drops the-clisegment. Both roots exist at 1.1.13, and the advertised one is present andEMPTY, so a reader that trusted the value would open nothing and could not tell a
missing file from a missing session. §2.1 declined this field because it was
unverified; it is now verified WRONG.
Every use of
transcript_path/TranscriptPathin the repository was read. Nonon-test code dereferences it — it is parsed and held, never opened, stated or
rendered, and
TestTranscriptPathIsHeldButNeverAPathalready pins that. Sonothing is fixed because nothing is broken, and the field stays parsed-and-unused
on purpose: deleting it would delete the evidence.
The parser check was field by field: fourteen of sixteen top-level keys are
modelled,
emailis excluded deliberately and tested, andexceeds_200k_tokenswas the one field unmodelled by silence rather than bydecision —
stdin.gonow carries an agy-side reason instead of inheriting aruling made about Claude's payload. Nothing new is wired to a renderer or a
relay; §7.16's display hold binds this seam.
3. The composer one-row sighting DOES NOT REPRODUCE (§9.38)
§9.38 named the decisive measurement. A three-line brief went into a live 5-of-5
room in Windows Terminal at a recorded 170 columns x 54 rows, and the composer
drew three rows — agreeing with #253's 588-geometry sweep. The render is now
verified by two instruments and the wire was never in doubt; against that stands
one unrepeated eyeball reading, recorded as a probable observation error via
the row-break ambiguity this section already documents.
The limit is named rather than rounded up: 170x54 is inside the swept band on
width and above it on height, which is the generous direction. It is nowhere
near the 60x10 floor, and at that geometry the pre-marker and marker code draw
identically — so the run closes the reported defect and is not evidence about
either code path near the floor.
Beyond the brief — two findings
A live
cursor-agentCLI session draws no HUD row, and that is the DESIGN. Theoperator observed this during capture 1.
internal/adapter/cursorreads exactlyone store — the IDE's
globalStorage/state.vscdb— and the CLI keeps its own,which §7.16's excluded-fields block already records. A CLI session was never a row
this adapter could draw, so the observation confirms an existing claim rather than
opening a question. Recorded so it is not re-investigated in six months.
The
ghostMode: true/privacyMode: 2hypothesis therefore does not explainthat observation, and it is filed as an open measurement about a different and
live question: whether those settings suppress writes to the IDE store the adapter
does read. If they do, every Cursor row is conditional on an unmeasured privacy
setting — a zero-versus-absent failure one layer below the renderer. Untested, and
written as a hypothesis with its reason attached, not as a finding.
agy's serializer collapses zero and absent upstream of the gauge. Through
fourteen of fifteen fires the vendor sent
used_percentage: 0with the countersat
0; every real number arrived at once on the final fire. On the first fire itsent
used_percentage: 0besidecontext_window_size: 0— a placeholder nopointer type can separate from a measured zero, because the vendor writes a
literal
0instead of omitting the key. The statusline honestly drawsctx 0%for the length of a turn and then jumps. Recorded, deliberately not compensated
for: inferring "not yet known" from a zero the vendor stated is the invention
§4a.1 forbids.
STATE.md
The composer gap closes, beat 3's render caveat retires (wire and render both
verified), and the residues bullet drops the two capture debts paid here. #285's
outcome (capabilities parsed, gating nothing;
subagentStatusLinerefused,FieldSubagentsstaysCapDerived) and #286's (the sink's reader as its ownforeground mode) are folded in. One further line was corrected: the arena bullet
still claimed a pasted multi-line draft had never been sent with enter, which
§9.38 recorded paid on 2026-08-15/16 — it is now flatly contradicted by the beat
above it, so it was fixed rather than left false.
No PR history was added to STATE.md — outcomes and open items only.
Verification
go vet ./...clean.go testgreen oninternal/antigravity,internal/statusline, all ofinternal/adapter/...(the canary doc guards thatsubstring-match design.md pins),
internal/doctor,internal/cursorstatus,internal/claudeandinternal/hud.internal/councilwas skipped perCLAUDE.md's timeout note; nothing here touches it.
ci.ymluntouched.The captures were read locally and nothing real entered this repository — no
session ids, no email, no plan tier, no real workspace paths. Every example is
synthesized to the observed shape.
🤖 Generated with Claude Code