feat(unic-archon-dlc): port /pr-review to a generic fan-out Archon workflow (redesign step 09)#269
Merged
Merged
Conversation
…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>
Contributor
There was a problem hiding this comment.
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-reviewArchon workflow (fan-out aspects → synthesize → reconcile → gate → post) and removes the old inertunic-dlc-reviewworkflow/command. - Adds a new
pr-reviewconfig block todefaultConfig()and extendsmergeConfigtest coverage to ensure back-filling for older configs. - Updates documentation (ADR index, redesign progress, CONTEXT/AGENTS vocabulary), and bumps plugin version to
0.8.0with 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.
… (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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Redesign step 09 — ports the shipped
unic-dlc-reviewbox 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 → postWhy
The shipped
unic-dlc-review.yamlran the inerttype:-style schema — a single monolithic prompt that posted one sentinel comment, read a flat.archon/unic-dlc.config.json, used staledocs/workflow/<slug>/paths, and its command stub referenced the dissolvedlib/tracker-adapter.mjs. It needed the same behavioural migration/build(step 06) and/qa(step 08) got, and the step called for harvestingunic-pr-review's review learnings.Key decisions (grilled with maintainer)
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.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.reconcilenode keyed on the<!-- unic-dlc-pr-review:iteration=N -->marker (never author identity) classifies findings new / still-present / fixed / regressed.gates.pr-review; posting is advisory (the real merge gate is/qa).Changes
unic-dlc-review→unic-dlc-pr-review(workflow YAML + command stub, rewritten).pr-reviewconfig block (confidence_threshold: 60,inline_comments: true) inconfig-schema.mjs;mergeConfigback-fills; tests added.CONTEXT.mdvocabulary +AGENTS.mddoctrine bullet; plugin/marketplace descriptions refreshed (addedpr-review, dropped retiredplan).Verification
typecheckclean ·test109/109 ·ci:checkexit 0 (Biome + Prettier) ·verify:changelog→ 0.8.0 okarchonv0.5.0 structural discovery of the new workflow:errorCount: 0, loads with nodag_structure_invalid..archon/dogfood copy left out of scope (same as step 08).🤖 Generated with Claude Code