Skip to content

feat: dialectic debate narrative in PR review output#9

Merged
rxolve merged 2 commits intomainfrom
dev
Mar 1, 2026
Merged

feat: dialectic debate narrative in PR review output#9
rxolve merged 2 commits intomainfrom
dev

Conversation

@rxolve
Copy link
Copy Markdown
Collaborator

@rxolve rxolve commented Mar 1, 2026

Summary

  • Rewrite consensus prompt to produce 3-step markdown (HAWK analysis → OWL challenge → Final Consensus) instead of JSON-only, exposing the full dialectic reasoning process in GitHub PR comments
  • Update parser to extract the last JSON block and treat preceding text as debate narrative
  • Redesign review-engine output with metrics table, verdict summary, and collapsible metadata

Test plan

  • npm run build:all — compiles cleanly
  • npm test — all 104 tests pass (additive changes, backward compatible)
  • npm run lint — 0 errors
  • Run on a real longblack-api PR to verify output format

🤖 Generated with Claude Code

rxolve and others added 2 commits March 2, 2026 08:29
Rewrite consensus prompt to produce 3-step markdown (HAWK analysis →
OWL challenge → Final Consensus) instead of JSON-only, so the full
reasoning process is visible in GitHub comments. Update parser to
extract the last JSON block and treat everything before it as the
debate narrative. Redesign review-engine output format with metrics
table, verdict summary, and collapsible metadata.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 1, 2026

🤖 Dialectic PR Review

Framework: vanilla
Strategy: small
Files Reviewed: 3

Summary

Well-structured enhancement with comprehensive error handling. One minor type safety issue should be addressed.

Issues

🐛 Missing type validation for debateNarrative field

File: src/core/consensus-engine.ts (Line 226)
Type: bug
Confidence: medium

The parsed.debateNarrative is assigned without type checking. If the AI response contains an unexpected type for this field, it could cause runtime type errors in downstream code that expects a string.

Suggestion:

Add type validation: debateNarrative: typeof parsed.debateNarrative === 'string' ? parsed.debateNarrative : undefined


Metadata

  • Tokens Used: 7,416
  • Duration: 35.84s

Powered by Dialectic PR Review

@rxolve rxolve merged commit e709c5f into main Mar 1, 2026
1 check passed
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