Skip to content

Document incoming Buzz turn structure - #7624

Merged
salman1993 merged 4 commits into
mainfrom
codex/document-incoming-turn
Sep 15, 2026
Merged

salman1993 merged 4 commits into
mainfrom
codex/document-incoming-turn

Conversation

@salman1993

@salman1993 salman1993 commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Document how agents should read Buzz’s semantic turn envelope. The base prompt now identifies current event content as the request, conversation context as support for follow-ups, and context/event fields as routing and identity metadata.

The existing compiled-prompt regression test now protects that contract. The lockfile also updates rustls to 0.23.45 to clear RUSTSEC-2026-0285 from the security gate.

Related issue

N/A — no matching issue found.

Testing

No manual testing. CI covers this change.

Generated with Codex

Signed-off-by: Salman Mohammed <smohammed@squareup.com>
@github-actions

github-actions Bot commented Sep 13, 2026

Copy link
Copy Markdown

🔐 Codex Security Review

Status: review required for the current range.

The current range is 4cd82f513214aad11c2b742ce7cc7c681e8e32a0...10d2e57abac39ea43bc7b8f12e0d8caed2e9b09b.
A new review must complete for this exact range. When manual authorization
is required, a Block organization member must comment exactly
@buzz-security-review 10d2e57abac39ea43bc7b8f12e0d8caed2e9b09b to authorize a new review.
Any previous review applies only to its recorded range.

A cancel + re-prompt merge renders no `<buzz-event>`/`<buzz-events>`: the
new events ride in `<new-message-arrived-while-you-were-working>` or
`<new-request-supersedes-previous>`, and prior events sit in the paired
section with their own `Content:` fields. The new guidance pointed only at
`<buzz-event>`, so on that path the agent looks for a section that is not
there and can read the prior request as the current one.

Also name `Kind` in the supporting-metadata list — it is the field that
carries the event semantics the sentence points at.

Bind the merged-turn wording to `queue::native_steer_framing()` so a tag
rename fails the test instead of drifting silently.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
@salman1993
salman1993 marked this pull request as ready for review September 14, 2026 14:09
@salman1993
salman1993 requested a review from a team as a code owner September 14, 2026 14:09
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 14, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-14T14:14:41.100819Z 1bc0853 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1bc0853cea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/buzz-acp/src/lib.rs Outdated

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carl, an automated reviewer, commenting via Wes’s GitHub account.

Review clear

No material blocker found at head 1bc0853cea8a4cd42198294f0fc92bfa076e78ce, reviewed against base 4cd82f513214aad11c2b742ce7cc7c681e8e32a0.

The prompt addition preserves the contract: current event content supplies the request, prior conversation supplies context, and the harness supplies routing/session metadata. I checked it against the actual single/batched event and cancel-and-reprompt formatter (queue.rs:1992-2211), native steering (lib.rs:4288-4324), and shared modern/legacy base-prompt delivery. Native steering retains a <buzz-event>, so the opening instruction applies there; the merge-specific wording describes cancel-and-reprompt.

The regression assertions read the real embedded prompt and bind the steer marker to the production framing helper. This small documentation/test-only change did not warrant parallel review lanes. No runtime, persistence, authorization, or wire-format implementation changed.

Validation: source/metadata-only review on Wes’s Mac Studio. No checkout, PR-code execution, build, tests, or model-behavior evaluation were performed. This is a clear review comment, not an approval.

Derive the documented interrupt section from the production merge framing so a tag rename cannot leave the base prompt stale. Rename the section to Incoming Turn Contract to match its normative role and the prompt’s noun-oriented headings.

Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Update rustls and its crypto dependencies past RUSTSEC-2026-0285 so the security CI lane can pass.

Signed-off-by: Salman Mohammed <smohammed@squareup.com>
@salman1993
salman1993 enabled auto-merge (squash) September 14, 2026 22:14

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carl, an automated reviewer, commenting via Wes’s GitHub account.

Review clear: no material blockers found

Reviewed head 10d2e57abac39ea43bc7b8f12e0d8caed2e9b09b against base 4cd82f513214aad11c2b742ce7cc7c681e8e32a0, including the delta from previously reviewed 1bc0853cea8a4cd42198294f0fc92bfa076e78ce.

The contract remains: current event content supplies the request, prior conversation supplies context, and the harness supplies routing/session metadata. This advances the existing shared human/agent workspace without changing runtime delivery, authorization, persistence, or wire-format implementations.

Previous finding resolved: the interrupt regression now derives the tag from MergeFraming and checks both actual format_prompt output and the embedded prompt. Renaming the production tag without updating the instructions no longer escapes that assertion.

Non-blocking notes:

  • Consider saying “cancelled and re-prompted” rather than “merged into work already in flight” in base_prompt.md:6. Native steer retains a populated <buzz-event> (lib.rs:4317-4324), so the opening instruction applies; the exception describes cancel-and-reprompt (queue.rs:2069-2144). The independently raised mismatch concern was checked and withdrawn. No native transport change is requested.
  • The dependency repair is root-workspace-only. All four updated versions/checksums match registry metadata, and rustls 0.23.45 meets RUSTSEC-2026-0285’s patched range. The unchanged desktop/src-tauri/Cargo.lock still pins 0.23.42; that existing exposure needs separate follow-up, not a claim that this PR repairs every shipped surface.

Validation and limits: source-only on the owner-authorized laptop. Traced single/batched channel and DM events, thread/conversation history, cancel-and-reprompt, native steer, and modern/legacy shared-prompt delivery; an independent envelope review was integrated. No new event-kind registry or lifecycle owner is introduced. Non-event startup/heartbeat behavior and malformed-content hardening remain unchanged; this is not a new prompt-injection defense. No checkout, build, tests, dependency execution, live agent/model evaluation, or TLS handshake reproduction was performed.

One-shot exact-head GitHub checks reported 53 successful and 28 skipped checks, including successful Rust unit tests and dependency policy. The separate Codex security-review comment still requests authorization for this exact range and its execution was skipped; this review does not substitute for that gate or grant approval.

@salman1993
salman1993 merged commit deda09c into main Sep 15, 2026
128 of 130 checks passed
@salman1993
salman1993 deleted the codex/document-incoming-turn branch September 15, 2026 10:04
brow added a commit that referenced this pull request Sep 15, 2026
…eway-origin

* origin/main:
  Fix desktop onboarding regressions (#7659)
  Deduplicate thread context by ACP session delivery (#7620)
  feat(mobile): hard-block under-18 users on the store age signal (#4665)
  Document incoming Buzz turn structure (#7624)
  Refresh desktop onboarding flow (#7528)

Signed-off-by: Tom Brow <tomb@block.xyz>
brow added a commit that referenced this pull request Sep 15, 2026
…ush-cache-offload

* commit '41c5ace93740261ee5a5d962c2a17e8d846c2c1b':
  perf(mobile): move profile sig checks off main thread (#7648)
  perf(mobile): avoid redundant message list sorting (#7647)
  perf(mobile): avoid reparsing unchanged Markdown (#7649)
  Fix desktop onboarding regressions (#7659)
  Deduplicate thread context by ACP session delivery (#7620)
  feat(mobile): hard-block under-18 users on the store age signal (#4665)
  Document incoming Buzz turn structure (#7624)
  Refresh desktop onboarding flow (#7528)
  Fix Apple Silicon iOS simulator builds (#7646)

Signed-off-by: Tom Brow <tomb@block.xyz>
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.

3 participants