Skip to content

[codex] Guard normal dispatch against machine-only tracker descriptions#35

Merged
yvette-carlisle merged 7 commits intomainfrom
fix/maestro-dispatch-briefing-guard
Apr 1, 2026
Merged

[codex] Guard normal dispatch against machine-only tracker descriptions#35
yvette-carlisle merged 7 commits intomainfrom
fix/maestro-dispatch-briefing-guard

Conversation

@yvette-carlisle
Copy link
Copy Markdown
Member

What changed

  • reject normal dispatch when the routed Linear issue description is only a fenced machine-readable block with no generic briefing text
  • redact machine-only tracker descriptions from the prompt instead of feeding raw tracker JSON to the coding agent
  • document the generic briefing requirement in the Maestro runtime spec
  • add targeted tests for dispatch eligibility and prompt redaction

Why

The plan plugin currently wants to use the routed Linear issue body as a machine-only authority surface, while Maestro normal dispatch still treats the issue description as a generic execution brief. That is an overloaded surface.

This PR hardens Maestro so it stays plan-agnostic:

  • Maestro does not parse plan-private schema
  • Maestro requires a generic briefing surface for normal dispatch
  • machine-only tracker descriptions fail closed instead of being injected into the agent prompt

Impact

  • normal dispatch now rejects issue descriptions that are only fenced machine-readable blocks
  • existing issues that still carry prose plus a fenced block continue to dispatch normally
  • plugin-side follow-up now has a clean boundary to target: XY-201

Validation

  • cargo test machine_only_fenced_block_description_fails_normal_dispatch_policy
  • cargo test prose_plus_fenced_block_description_still_passes_normal_dispatch_policy
  • cargo test prompts_redact_machine_only_tracker_description
  • cargo make lint
  • cargo make test
  • git diff --check

Follow-up

  • Linear: XY-201 Retire issue-body plan-authority and decouple plan authority surface from Maestro dispatch briefing

…ary":"guard normal dispatch against machine-only tracker descriptions","intent":"keep Maestro plan-agnostic by requiring a generic issue briefing surface and redacting machine-only descriptions from prompts","impact":"normal dispatch now rejects issue descriptions that are only fenced machine-readable blocks and prompt construction no longer feeds raw machine-only tracker JSON to the agent","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[]}
@aurexav aurexav marked this pull request as ready for review April 1, 2026 02:11
Copy link
Copy Markdown

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

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: 3a8eae6093

ℹ️ 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".

…ry":"treat all fenced-only descriptions as machine-only","intent":"close the review gap so multi-block machine-only tracker payloads also fail closed during normal dispatch and prompt rendering","impact":"the machine-only description guard now detects descriptions whose non-whitespace content is entirely fenced, including multiple fenced blocks, and the prompt redaction path covers the same cases","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[]}
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

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

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: d35e6ca4ea

ℹ️ 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".

…ry":"treat only structured fenced payloads as machine-only","intent":"narrow the machine-only description guard so it still fail-closes structured JSON tracker payloads without rejecting human briefings that happen to use fenced text","impact":"normal dispatch and prompt redaction now require fenced-only descriptions to contain structured JSON payloads, while fenced text briefings continue to pass through unchanged","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[]}
…ry":"treat only structured fenced payloads as machine-only","intent":"narrow the machine-only description guard so it still fail-closes structured JSON tracker payloads without rejecting human briefings that happen to use fenced text","impact":"normal dispatch and prompt redaction now require fenced-only descriptions to contain structured JSON payloads, while fenced text briefings continue to pass through unchanged","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[]}
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

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

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: fb232eb68b

ℹ️ 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".

…ry":"parse full backtick fence runs in machine-only guard","intent":"close the remaining bypass where four-backtick fenced machine payloads were treated as generic briefings by tracking the full opening fence length and matching closing fences accordingly","impact":"normal dispatch and prompt redaction now fail closed for structured JSON payloads fenced with three or more backticks while still allowing human-readable fenced text briefings","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[]}
Copy link
Copy Markdown
Member Author

@codex review

Copy link
Copy Markdown

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

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: 77fccd7d75

ℹ️ 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".

…ry":"support tilde fences in machine-only guard","intent":"close the remaining bypass where machine-only tracker payloads wrapped in tilde code fences still passed normal dispatch and prompt rendering by generalizing the parser to both markdown fence markers while preserving matching open-close semantics","impact":"structured JSON payloads fenced with backticks or tildes now fail closed for dispatch and prompt redaction, while existing human-readable fenced briefings still pass","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[]}
…authenticate vibe-style download in rust checks","intent":"replace the anonymous release download path that intermittently returned 403 in GitHub Actions with a token-backed gh release download so Rust checks can install vibe-style reliably","impact":"the Rust checks workflow now resolves the latest vibe-style release and downloads its Linux asset through gh with github.token before running lint, rustfmt, and tests","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[]}
Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

ℹ️ 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".

@yvette-carlisle yvette-carlisle added this pull request to the merge queue Apr 1, 2026
Merged via the queue into main with commit 7ea659c Apr 1, 2026
7 checks passed
@yvette-carlisle yvette-carlisle deleted the fix/maestro-dispatch-briefing-guard branch April 1, 2026 04:10
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.

1 participant