Skip to content

feat(unic-archon-dlc): port /pr-review to a generic fan-out Archon workflow (redesign step 09)#269

Merged
orioltf merged 4 commits into
developfrom
feature/unic-archon-dlc-pr-review
Jul 3, 2026
Merged

feat(unic-archon-dlc): port /pr-review to a generic fan-out Archon workflow (redesign step 09)#269
orioltf merged 4 commits into
developfrom
feature/unic-archon-dlc-pr-review

Conversation

@orioltf

@orioltf orioltf commented Jul 3, 2026

Copy link
Copy Markdown
Member

What

Redesign step 09 — ports the shipped unic-dlc-review box into /pr-review, a new generic, self-contained fan-out Archon workflow on the key-discriminated node schema (ADR-0011).

Node graph: bootstrap → guard → prep → {code-quality · tests · silent-failure · type-design · comment-rot · simplifier · intent-check} → synthesize → reconcile → review-gate → post

Why

The shipped unic-dlc-review.yaml ran the inert type:-style schema — a single monolithic prompt that posted one sentinel comment, read a flat .archon/unic-dlc.config.json, used stale docs/workflow/<slug>/ paths, and its command stub referenced the dissolved lib/tracker-adapter.mjs. It needed the same behavioural migration /build (step 06) and /qa (step 08) got, and the step called for harvesting unic-pr-review's review learnings.

Key decisions (grilled with maintainer)

  • Self-contained — harvests unic-pr-review's learnings (confidence→severity rubric, structured summary, hidden-marker idempotency, conditional spawn table, summary+inline two-surface model) with no ADO code and no runtime dependency (ADR-0016/0017). unic-pr-review's fate stays deferred.
  • 7 aspects, fanned out as parallel fresh nodes (adds comment-rot, simplifier, intent/AC-coverage to the original 4).
  • Intent composed once in prep, injected into every aspect — from linked work items + Confluence/MD docs + the PR description + PRD.md; cross-source contradictions are surfaced, not silently resolved. This is the primary quality lever.
  • First-class re-review — a dedicated reconcile node keyed on the <!-- unic-dlc-pr-review:iteration=N --> marker (never author identity) classifies findings new / still-present / fixed / regressed.
  • Two write surfaces — summary comment + inline comments via the configured tracker (MCP-first, CLI-fallback); jira/local-markdown degrade to summary-only.
  • HITL confirm-before-post gate on gates.pr-review; posting is advisory (the real merge gate is /qa).

Changes

  • Rename unic-dlc-reviewunic-dlc-pr-review (workflow YAML + command stub, rewritten).
  • New ADR-0026 + index row.
  • pr-review config block (confidence_threshold: 60, inline_comments: true) in config-schema.mjs; mergeConfig back-fills; tests added.
  • CONTEXT.md vocabulary + AGENTS.md doctrine bullet; plugin/marketplace descriptions refreshed (added pr-review, dropped retired plan).
  • Version 0.8.0 + CHANGELOG; redesign progress table row 09 → ✅.

Verification

  • typecheck clean · test 109/109 · ci:check exit 0 (Biome + Prettier) · verify:changelog → 0.8.0 ok
  • archon v0.5.0 structural discovery of the new workflow: errorCount: 0, loads with no dag_structure_invalid.
  • Known item (per ADR-0026): full behavioural validation (gate pauses in HITL, AFK skips-and-posts, marker updates summary + inline in place, a 2nd run increments the iteration + classifies findings) needs a real Archon run against a Consumer PR — logged as a manual follow-up, not a CI assertion. Repo-root .archon/ dogfood copy left out of scope (same as step 08).

🤖 Generated with Claude Code

orioltf and others added 3 commits July 3, 2026 11:13
…rkflow (redesign step 09)

Why: the shipped unic-dlc-review workflow ran the inert type:-style schema — a
single monolithic prompt posting one sentinel comment, reading flat config.json,
and referencing the dissolved lib/tracker-adapter.mjs. Step 09 ports it to the
key-discriminated schema and makes it a first-class review box.

- Rename unic-dlc-review -> unic-dlc-pr-review (workflow + command stub).
- Fan-out DAG: bootstrap -> guard -> prep -> {7 aspect nodes} -> synthesize ->
  reconcile -> review-gate -> post. Aspects: code-quality, tests, silent-failure,
  type-design, comment-rot, simplifier, intent/AC-coverage.
- Intent composed once in prep (linked work items + Confluence/MD docs + PR
  description + PRD.md) and injected into every aspect; cross-source
  contradictions surfaced, not silently resolved.
- Confidence->severity rubric + conditional spawn gates (harvested SPAWN_TABLE).
- First-class re-review: dedicated reconcile node keyed on the
  <!-- unic-dlc-pr-review:iteration=N --> marker (never author identity),
  classifying findings new/still-present/fixed/regressed.
- Two write surfaces: summary comment + inline comments, via the configured
  tracker (MCP-first, CLI-fallback). Self-contained — harvests unic-pr-review's
  learnings with no ADO code and no runtime dependency (ADR-0016/0017).
- HITL confirm-before-post gate on gates.pr-review; posting is advisory (the real
  merge gate is /qa).
- pr-review config block (confidence_threshold, inline_comments) + tests;
  mergeConfig back-fills. New ADR-0026 + index row; CONTEXT/AGENTS updates;
  plugin/marketplace descriptions refreshed; version 0.8.0 + CHANGELOG.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
#269 edit

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Ports the legacy unic-dlc-review workflow to a new, generic /pr-review Archon workflow that uses the key‑discriminated node schema and a fan‑out design, while documenting the redesign step via ADR-0026 and updating the plugin’s config defaults + versioning.

Changes:

  • Introduces the new unic-dlc-pr-review Archon workflow (fan-out aspects → synthesize → reconcile → gate → post) and removes the old inert unic-dlc-review workflow/command.
  • Adds a new pr-review config block to defaultConfig() and extends mergeConfig test coverage to ensure back-filling for older configs.
  • Updates documentation (ADR index, redesign progress, CONTEXT/AGENTS vocabulary), and bumps plugin version to 0.8.0 with a corresponding changelog entry.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
apps/claude-code/unic-archon-dlc/test/config-schema.test.mjs Adds tests for pr-review default config + mergeConfig back-fill behavior.
apps/claude-code/unic-archon-dlc/package.json Bumps package version to 0.8.0.
apps/claude-code/unic-archon-dlc/lib/config-schema.mjs Adds pr-review defaults to defaultConfig().
apps/claude-code/unic-archon-dlc/docs/redesign/README.md Marks redesign step 09 as complete and updates the step’s description.
apps/claude-code/unic-archon-dlc/docs/adr/README.md Adds ADR-0026 to the ADR index table.
apps/claude-code/unic-archon-dlc/docs/adr/0026-pr-review-generic-archon-harvest.md New ADR capturing the /pr-review redesign decisions and rationale.
apps/claude-code/unic-archon-dlc/CONTEXT.md Adds shared vocabulary definitions for /pr-review artifacts and concepts.
apps/claude-code/unic-archon-dlc/CHANGELOG.md Adds the 0.8.0 release entry describing the workflow port and config changes.
apps/claude-code/unic-archon-dlc/AGENTS.md Adds a load-bearing invariant describing the new /pr-review workflow design.
apps/claude-code/unic-archon-dlc/.claude-plugin/plugin.json Bumps plugin version + refreshes plugin description to include pr-review and updated box list.
apps/claude-code/unic-archon-dlc/.claude-plugin/marketplace.json Bumps marketplace metadata version + updates marketplace description.
apps/claude-code/unic-archon-dlc/.archon/workflows/unic-dlc-review.yaml Removes the legacy monolithic inert-schema review workflow.
apps/claude-code/unic-archon-dlc/.archon/workflows/unic-dlc-pr-review.yaml Adds the new fan-out, intent-grounded, iteration-aware /pr-review workflow.
apps/claude-code/unic-archon-dlc/.archon/commands/unic-dlc-review.md Removes the legacy command docs for the old workflow.
apps/claude-code/unic-archon-dlc/.archon/commands/unic-dlc-pr-review.md Adds command docs for running the new /unic-dlc-pr-review <slug> workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/claude-code/unic-archon-dlc/.archon/workflows/unic-dlc-pr-review.yaml Outdated
Comment thread apps/claude-code/unic-archon-dlc/.archon/workflows/unic-dlc-pr-review.yaml Outdated
… (Copilot review)

bootstrap now requires `branching` (already always emitted). prep now requires
`pr_title`, `contradictions`, and `prior_findings` — reconcile reads pr_title and
prep.json's prior_findings, so a node that validated while omitting them could break
reconcile. Prompt tightened to emit safe defaults (pr_id/pr_title "" when no PR;
contradictions/prior_findings always arrays).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@orioltf
orioltf merged commit e51070f into develop Jul 3, 2026
9 checks passed
@orioltf
orioltf deleted the feature/unic-archon-dlc-pr-review branch July 3, 2026 09:26
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