docs(exodia): correct /exodia:fix P0 invocation + agent counts + ARCHITECTURE after the v3 collapse (v3.0.1) - #310
Conversation
…ITECTURE after the v3 collapse (v3.0.1) The fix-family collapse (PR #305) folded turbo-fix/fix-pipeline into a single arg-dispatched /exodia:fix whose real spec is $0=issue, $1=severity (default P1; P0|P1|P2|P3), $2=parallelism (default standard; standard|maximum). Codex and Copilot flagged the migration docs as misleading. Verified each claim against commands/fix.md and corrected: - P0 invocation: a P0 run needs BOTH `P0` (2nd arg) AND `maximum` (3rd arg). Adding only `maximum` runs P1-maximum. Replaced every "add maximum for P0" with the full `P0 maximum` form in exodia/README.md (flow line + fix-row "Best For") and fix.md's description frontmatter ("for a P0 emergency pass `P0 maximum`"). council.md already used the correct full form — left as-is. - Agent counts: after #305 dropped the separate test-writer, fix runs standard 3+2+1=6 and maximum 6+4+2=12. README fix-row "8-14" -> "6-12". - Stale ARCHITECTURE: exodia "9 commands" -> "7 commands". No turbo-fix / fix-pipeline strings remain anywhere in the repo (rg: 0 hits). - mega-swarm "Next:" line: fix's STEP -1 filters findings.json by finding.id matching $0, so the P0 handoff now passes `"<finding-id>" P0` (id + severity), not prose. - Dropped "eight-gates" from fix.md's auto-inherit claim: eight-gates only READS .eight-gates/artifacts/findings.json (its STEP -1) and writes its own work-queue.json / kill-list artifacts — it never produces findings.json. Only mega-swarm (STEP FINAL) and hades write that file. Claim now reads "from a prior mega-swarm run". Docs-only; analyzer steady at 98/100 Grade A (0 fail/0 warn), JSON valid. Version bump 3.0.0 -> 3.0.1 (patch) in plugin.json + marketplace entry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates Exodia documentation and marketplace metadata to reflect the post-v3 “fix-family collapse” (/exodia:turbo-fix + /exodia:fix-pipeline → /exodia:fix) by correcting /exodia:fix argument usage, agent counts, and command inventory references, plus bumping Exodia’s plugin version to 3.0.1.
Changes:
- Corrected
/exodia:fixP0 invocation guidance (requiresP0 maximum, not justmaximum) and updated agent-count ranges. - Updated Exodia docs to describe findings handoff into
/exodia:fixusing a finding id. - Bumped Exodia version in plugin manifest and marketplace entry; updated ARCHITECTURE’s exodia command count.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/exodia/README.md | Fixes /exodia:fix usage guidance and corrects displayed agent counts. |
| plugins/exodia/commands/mega-swarm.md | Updates the “Next” handoff instruction to /exodia:fix after a mega-swarm audit. |
| plugins/exodia/commands/fix.md | Updates the command description to clarify P0 usage and findings inheritance wording. |
| plugins/exodia/.claude-plugin/plugin.json | Bumps Exodia plugin version to 3.0.1. |
| docs/ARCHITECTURE.md | Updates Exodia command count in the repository layout overview. |
| .claude-plugin/marketplace.json | Bumps marketplace Exodia entry version to 3.0.1. |
| ├── plugins/ # 9 plugins (22 commands, 14 skills, 21 agents) | ||
| │ ├── cc-plugin-eval/ # Claude-Code-native plugin/skill evaluator (token budget, scoring, validators) | ||
| │ ├── council/ # Five-agent council via Teams API: Opus captain, researcher, clarity, synth, janitor | ||
| │ ├── elegance-pipeline/ # Multi-agent code-elegance workflow: scouts → judges → planner → verifier → implementer | ||
| │ ├── exodia/ # Multi-agent orchestration (9 commands + 2 skills: eight-gates, hades) | ||
| │ ├── exodia/ # Multi-agent orchestration (7 commands + 2 skills: eight-gates, hades) |
| @@ -1,5 +1,5 @@ | |||
| --- | |||
| description: "IF a bug needs fixing THEN use this — the one exodia fix command. 4 gated phases (analyze → design → implement → verify). Args: severity P0|P1|P2|P3 and parallelism standard|maximum (use maximum for P0 emergencies). Auto-inherits audit findings.json from a prior mega-swarm / eight-gates run when present." | |||
| description: "IF a bug needs fixing THEN use this — the one exodia fix command. 4 gated phases (analyze → design → implement → verify). Args: severity P0|P1|P2|P3 and parallelism standard|maximum (for a P0 emergency pass `P0 maximum`). Auto-inherits audit findings.json from a prior mega-swarm run when present." | |||
| **Next:** `/exodia:fix "<finding-id>" P0` — fix's STEP -1 filters `findings.json` by `finding.id` | ||
| matching `$0`, so pass the finding id (not prose) and `P0` severity to auto-inherit that finding. |
| "name": "exodia", | ||
| "version": "3.0.0", | ||
| "version": "3.0.1", | ||
| "description": "Multi-agent workflow orchestration: 7 commands (fix, tournament, mega-swarm, red-blue-review, baryon-mode...) plus eight-gates and hades skills using the Teams API for reactive work.", |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c0672cf808
ℹ️ 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".
| |---|----------|-------|----------| | ||
|
|
||
| **Next:** `/exodia:fix "[P0 issue]"` — it auto-inherits these findings from `findings.json`. | ||
| **Next:** `/exodia:fix "<finding-id>" P0` — fix's STEP -1 filters `findings.json` by `finding.id` |
There was a problem hiding this comment.
Expose finding IDs before asking users to pass them
The new handoff requires /exodia:fix "<finding-id>" P0, but the final P0 report template immediately above still only prints #, category, issue, and location, so a user following the generated mega-swarm report has no visible finding.id to copy. Since fix filters by an exact finding.id match, this makes the documented auto-inherit path fail unless the user manually opens .eight-gates/artifacts/findings.json; add an ID column or otherwise print the persisted IDs in the report before using them as the next command argument.
Useful? React with 👍 / 👎.
| |---|----------|-------|----------| | ||
|
|
||
| **Next:** `/exodia:fix "[P0 issue]"` — it auto-inherits these findings from `findings.json`. | ||
| **Next:** `/exodia:fix "<finding-id>" P0` — fix's STEP -1 filters `findings.json` by `finding.id` |
There was a problem hiding this comment.
Request maximum parallelism for P0 handoffs
This P0 follow-up command omits the third maximum argument, so it runs /exodia:fix with severity P0 but default standard parallelism. The same commit updates the fix docs to say a P0 emergency should pass P0 maximum, and this section is specifically the “P0 Issues (Fix Immediately)” handoff from mega-swarm, so users following it do not get the intended maximum P0 pass; make the example /exodia:fix "<finding-id>" P0 maximum.
Useful? React with 👍 / 👎.
…/workflows + refresh counts/CHANGELOG (#311) * docs: derot hygiene sweep — purge dead refs to deleted tooling/config/workflows + refresh counts/CHANGELOG Four read-only rot-scouts verified every item against ground truth (13 plugins / 24 commands / 24 skills / 30 agents, excluding cc-plugin-eval/fixtures). This applies the corrected values so the docs describe the repo that actually exists at HEAD. What was contradicting reality, now fixed: docs/ARCHITECTURE.md - Count comment 9/22/14/21 → 13/24/24/30; "7 custom plugins" → 13; plugin tree gains charon, derot, nihil, tomevault-publish (alphabetical, └── closes the box). - Drop dead config lines: .coderabbit.yaml (no such file) and .markdownlint.json (actual name is .markdownlint.jsonc). - .claude/ tree now reflects disk: commands/ rules/ workflows/ worktrees/ — not settings.json; rules/ holds the Opus 4.8 System Card PDF, not "auto-loaded rules". - workflows/ listed the two non-existent CodeRabbit/Codex YAMLs; real set is auto-merge.yml, ci.yml, claude.yml. - Delete dangling pointers to files that do not exist: solid-principles.md, devops-calms.md, and the "CLAUDE.md Section 5.5.1" cross-reference; remove the weave-validate.sh wrapper mention (tooling/ was deleted). claude-code-review.yml → claude.yml. Last Verified 2026-06-06 → 2026-06-11. docs/decisions/ADR-0001 - "tooling/ and docs/" → "docs/" (tooling/ removed); spec.md (never existed) → the docs/specs/ documents, in all three places it was cited. .github/copilot-instructions.md - Replace every weave-validate.sh / tooling/ reference with the real gate: validation is ci.yml (inline jq for JSON syntax + plugin.json/marketplace.json fields + source-dir existence + SKILL.md frontmatter, shellcheck, markdownlint, actionlint). - Structure tree: 3-plugin enumeration (exodia tagged v2.0.0) → "13 plugins — see marketplace.json"; dependabot.yml moved to .github/ (it is not under workflows/); .claude/rules/ note corrected; auto-merge.yml + claude.yml added; tooling/ subtree deleted. claude-code-review.yml → claude.yml on @claude mentions. README.md - "GitHub review automation" named codex-code-review.yml + OPENAI_API_KEY, neither of which exists. Rewritten to reality: auto-merge.yml recognizes codex/ + copilot/ branches and chatgpt-codex-connector[bot] approvals; claude.yml runs on @claude. plugins/cc-plugin-eval/README.md - Illustrative marketplace snippet version 0.1.0 → 0.2.0 (matches plugin.json + marketplace.json). CHANGELOG.md - [Unreleased] gains the #286–#310 wave (each entry grounded against git log + current plugin.json): charon 0.1.0→0.2.1, derot 0.2.0 (+/depmigrate), nihil 0.3.0 (/nihil:raze), tomevault-publish 0.1.0, cc-plugin-eval CC710 0.2.0; exodia 3.x /exodia:fix collapse; and the #289/#299 removal of the AGENTS.md/GEMINI.md single-source model (CLAUDE.md is now canonical). Left untouched on purpose: docs/specs/spec-0004 (Status: Parked — frozen snapshot), README's "Tri-AI … CodeRabbit" line (CodeRabbit unverified, flagged for human), and tome.json (generated by the TomeVault crawler). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(architecture): restore .coderabbit.yaml refs — file landed on main via #313 after this branch was cut Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Why
The fix-family collapse (#305) folded
turbo-fix/fix-pipelineinto a single arg-dispatched/exodia:fix. Codex and Copilot flagged the migration docs as misleading. Real spec (verified againstplugins/exodia/commands/fix.md):$0=issue,$1=severity (default P1; P0|P1|P2|P3),$2=parallelism (default standard; standard|maximum).Fixes (each verified against
fix.md)"add maximum for P0" was wrong. A P0 run needs both
P0(2nd arg) andmaximum(3rd arg); adding onlymaximumruns P1-maximum. Replaced with the fullP0 maximumform:plugins/exodia/README.md:9— fix-row "Best For" cellplugins/exodia/README.md:30— typical-workflow flow lineplugins/exodia/commands/fix.md:2—description:frontmatter → "for a P0 emergency passP0 maximum"plugins/council/commands/council.md:96— already read the correctexodia:fix \` P0 maximum`; no change needed.Wrong agent count (Copilot). After feat(exodia)!: collapse turbo-fix + fix-pipeline into one /exodia:fix (v3.0.0) #305 removed the separate
test-writer: standard 3+2+1 = 6, maximum 6+4+2 = 12.plugins/exodia/README.md:9"8-14" → "6-12".Stale ARCHITECTURE (Copilot).
docs/ARCHITECTURE.md:42exodia "9 commands" → "7 commands".rg 'turbo-fix|fix-pipeline'over the whole repo = 0 hits (no dangling pipeline names to remove). Root README tree from docs(readme): fix stale inventory — 13/24/29/32 + 4 missing plugin rows #306 left untouched.mega-swarm "Next:" (Codex,
mega-swarm.md:190).fix's STEP -1 filters.eight-gates/artifacts/findings.jsonbyfinding.idmatching$0, so the P0 handoff now passes"<finding-id>" P0(finding id + severity) instead of prose.eight-gates auto-inherit claim (Codex,
fix.md:2). Investigatedskills/eight-gates/,bin/findings-inject,hooks/hooks.json. eight-gates does NOT producefindings.json— its only mention (SKILL.md STEP -1) reads prior findings; its own merged artifact iswork-queue.json(Gate 6) plus akill-list. The only writers offindings.jsonare mega-swarm (STEP FINAL — Persist Findings) and hades. Dropped "eight-gates" from the claim → "from a prior mega-swarm run".Verification
rg -n 'turbo-fix|fix-pipeline' . -g '!.git'→ 0 matches.node plugins/cc-plugin-eval/scripts/cc-plugin-eval.js analyze plugins/exodia→ 98/100 Grade A, 0 fail / 0 warn, noCC710— identical to themainbaseline (docs-only, no regression).jq -e .on bothplugin.jsonandmarketplace.json→ valid.plugins/exodia/.claude-plugin/plugin.json+ the exodiamarketplace.jsonentry.🤖 Generated with Claude Code