Skip to content

fix(orchestra): detect phantom PRs — 3-layer defense against hallucin…#183

Merged
PetrAnto merged 1 commit intomainfrom
claude/review-model-sync-gVjuw
Feb 25, 2026
Merged

fix(orchestra): detect phantom PRs — 3-layer defense against hallucin…#183
PetrAnto merged 1 commit intomainfrom
claude/review-model-sync-gVjuw

Conversation

@PetrAnto
Copy link
Owner

…ated PR claims

Models (especially Grok) can claim "PR #3 created successfully" when github_create_pr actually failed with guardrail violations. This adds three layers of protection:

Fix 2: Tag github_create_pr errors with unmistakable ❌ PR NOT CREATED banner + "Do NOT claim a PR was created" instruction in tool result.

Fix 3: validateOrchestraResult() cross-references parsed ORCHESTRA_RESULT against all tool outputs — if failure patterns found (Destructive update blocked, INCOMPLETE REFACTOR, DATA FABRICATION, etc.) with no matching success evidence, flags as phantom PR and clears the URL.

Fix 1: Post-execution PR verification via GitHub API — after all parsing, if a PR URL survives, verify it actually exists (GET /repos/.../pulls/N). Non-fatal on network errors, but catches any edge case the other layers miss.

https://claude.ai/code/session_01K2mQTABDGY7DnnposPdDjw

…ated PR claims

Models (especially Grok) can claim "PR #3 created successfully" when
github_create_pr actually failed with guardrail violations. This adds
three layers of protection:

Fix 2: Tag github_create_pr errors with unmistakable ❌ PR NOT CREATED
banner + "Do NOT claim a PR was created" instruction in tool result.

Fix 3: validateOrchestraResult() cross-references parsed ORCHESTRA_RESULT
against all tool outputs — if failure patterns found (Destructive update
blocked, INCOMPLETE REFACTOR, DATA FABRICATION, etc.) with no matching
success evidence, flags as phantom PR and clears the URL.

Fix 1: Post-execution PR verification via GitHub API — after all parsing,
if a PR URL survives, verify it actually exists (GET /repos/.../pulls/N).
Non-fatal on network errors, but catches any edge case the other layers miss.

https://claude.ai/code/session_01K2mQTABDGY7DnnposPdDjw
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@PetrAnto PetrAnto merged commit b916d7b into main Feb 25, 2026
0 of 5 checks passed
@github-actions
Copy link

E2E Test Recording (workers-ai)

❌ Tests failed

E2E Test Video

@github-actions
Copy link

E2E Test Recording (discord)

❌ Tests failed

E2E Test Video

@github-actions
Copy link

E2E Test Recording (base)

❌ Tests failed

E2E Test Video

@github-actions
Copy link

E2E Test Recording (telegram)

❌ Tests failed

E2E Test Video

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