Skip to content

fix: keep -p stdout as the answer, not turn-pulse chrome - #657

Closed
justrach wants to merge 1 commit into
mainfrom
cursor/oneshot-answer-stdout-4ffc
Closed

fix: keep -p stdout as the answer, not turn-pulse chrome#657
justrach wants to merge 1 commit into
mainfrom
cursor/oneshot-answer-stdout-4ffc

Conversation

@justrach

Copy link
Copy Markdown
Owner

Rematch trajectories (280 + catalog rebuild, SuperGrok, grok-4.6) said the next win was not another catalog bug.

What the traces showed

Shared tasks stayed 21/22 vs 21/22. Graff is still faster and cheaper. The leftover miss and the leftover waste were both on stdout / “schema” wording, not on tools.

finding evidence do now?
Pulse chrome on -p stdout Every multi-call answer started with · turn still going ·. schema-output wrote {"distinct_skus":4,"top_sku":"SKU-B"} then json.load failed because four pulse lines sat in front. runOneshotPrompt already promised “stdout carries only the answer”; emitNotice still wrote to g_out. yes
“Fill the schema” → .graff/ Agentic phase: codedb list_dir + head inventory.txt (enough), then find . / head .graff/sessions/… looking for a schema file. Two extra bash/API rounds. Prefix already mentions .graff/traces. yes (user-message hint only; schema grammar stays off this turn — ADR 0001)
~8k first-call context on every task exact-reply (“pong”) is 8013 in. Stable across the 22 tasks. Catalog + system prompt, not the fixture. later
Cold prefix on every eval sandbox projectRootId is cwd-derived. Sibling sandboxes never share the first-call cache. Grok’s first call often arrives already warm (11k–43k cached). later (ADR 0011)
label-sort both miss Held-out _natural_first("+2","2"). Same fail on grok. not a harness win
cookie-store SIGABRT under -j 6 Exit -6 / 64M RSS after a failed edit; serial retry passed. separate flake

This PR

  • tool_pulse.emitNotice drops chrome when unattended (-p) the same way it already drops --json. Hosted TUI/ACP still get the pulse via hostedSink.
  • --output-schema oneshots get one agentic-phase line: a later step applies the schema; do not search for a file and do not open .graff/. The formatting turn is unchanged.

Not in this PR

Slimming the 8k prefix, sharing a cache key across eval cwds, or the cookie-store abort. Those need their own A/B.

Open in Web Open in Cursor 

Rematch schema-output wrote the right object but json.load failed because
`· turn still going ·` rode g_out. emitNotice already dropped --json; -p
sets unattended and promised stdout was only the answer. Also tell the
agentic --output-schema turn not to hunt .graff for a schema file (ADR 0001
still keeps the grammar off that turn).
@justrach
justrach marked this pull request as ready for review August 28, 2026 05:35
@justrach

Copy link
Copy Markdown
Owner Author

Already on main (tool_pulse keeps -p stdout as the answer). Closing as superseded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants