# ARS v3.9.2 — 38-Agent Phase Classification Table

**Date:** 2026-05-18
**Spec:** Phase 0.2 of v3.9.2 hot-fix per `2026-05-18-ars-v3.9.2-phase-boundary-spec.md`
**Issue:** #133 (phase scope inflation hot-fix); v3.10 (#134) deferred items noted
**Purpose:** Canonical agent → phase classification used to drive Phase 1 prompt fence sweep. Per v4 design opus HIGH-1: 4-bucket model + per-agent out-of-scope inflation risk column.

## 4-Bucket schema

| Bucket | Definition | v3.9.2 treatment |
|---|---|---|
| **A — Single-phase** | Operates at exactly one numbered pipeline phase per invocation | Hard fence prompt block added |
| **B — Multi-phase** | Operates at 2+ numbered phases across invocations | NO fence added (honest framing — placebo prose creates false-enforcement illusion); recurrence acknowledged, v3.10 envelope is the fix |
| **C — Phase-orthogonal** | Operates outside numbered phase axis (Socratic Layers, Stage gates, cross-skill, advisory) | NO fence added; classification doc notes latent inflation risk class |
| **D — Cross-phase / meta** | Legitimate cross-phase role by design (orchestrator, intake, observer) | NO fence added (legitimate by design) |

## Classification table (38 rows)

### deep-research/agents/ (14)

| Agent | Bucket | Phase(s) declared | v3.9.2 fence | Out-of-scope inflation risk | Source citation |
|---|---|---|---|---|---|
| `research_question_agent` | A | Phase 1 (+ Socratic Layer 1) | hard-fence | (Socratic Layer 1 not covered; outside #133 class) | deep-research/SKILL.md row 1 |
| `research_architect_agent` | A | Phase 1 | hard-fence | none specific | deep-research/SKILL.md row 2 |
| `bibliography_agent` | A | Phase 2 | hard-fence | (this is #133's case agent — main target) | deep-research/SKILL.md row 3 |
| `source_verification_agent` | A | Phase 2 | hard-fence | none specific (codex P2 corrected: NOT Phase 5 reviewer) | deep-research/SKILL.md row 4 |
| `timeline_extraction_agent` | A | Phase 2 | hard-fence (v3.9.4) | none specific (temporal facts + citation provenance; sibling to source_verification) | deep-research/SKILL.md row 4b (v3.9.4) |
| `synthesis_agent` | A | Phase 3 | hard-fence (audit existing v3.6.7 PATTERN PROTECTION) | none specific | deep-research/SKILL.md row 5 |
| `report_compiler_agent` | B | Phase 4, 6 | none-unmitigated | scope inflation across Phase 4↔6 invocations; v3.10 envelope is fix | deep-research/SKILL.md row 6 |
| `editor_in_chief_agent` | A | Phase 5 | hard-fence | none specific | deep-research/SKILL.md row 7 |
| `devils_advocate_agent` | B | Phase 1, 3, 5, Socratic Layer 2, 4 | none-unmitigated | scope inflation across invocations; v3.10 envelope is fix | deep-research/SKILL.md row 8 |
| `ethics_review_agent` | A | Phase 5 | hard-fence | none specific | deep-research/SKILL.md row 9 |
| `socratic_mentor_agent` | C | Socratic Mode Layer 1-5 (phase-orthogonal) | not-applicable | latent: direct-conclusion inflation (different class, not covered in v3.9.2) | deep-research/SKILL.md row 10 |
| `risk_of_bias_agent` | A | Systematic Review Phase 2 | hard-fence | none specific | deep-research/SKILL.md row 11 |
| `meta_analysis_agent` | A | Systematic Review Phase 3 | hard-fence | none specific | deep-research/SKILL.md row 12 |
| `monitoring_agent` | C | Post-pipeline optional (phase-orthogonal) | not-applicable | low (advisory mode by design) | deep-research/SKILL.md row 13 |

### academic-paper/agents/ (12)

| Agent | Bucket | Phase(s) declared | v3.9.2 fence | Out-of-scope inflation risk | Source citation |
|---|---|---|---|---|---|
| `intake_agent` | D | Phase 0 (configuration interview, cross-phase by design) | none (meta) | low | academic-paper/SKILL.md row 1 |
| `literature_strategist_agent` | A | Phase 1 (academic-paper, ≈ deep-research Phase 2 work) | hard-fence (audit existing v3.6.5 partial language) | none specific | academic-paper/SKILL.md row 2 |
| `structure_architect_agent` | A | Phase 2 | hard-fence | none specific | academic-paper/SKILL.md row 3 |
| `argument_builder_agent` | B | Phase 3 + Plan Step 3 | none-unmitigated | scope inflation Phase 3↔Plan Step; v3.10 envelope is fix | academic-paper/SKILL.md row 4 |
| `draft_writer_agent` | A | Phase 4 | hard-fence (audit existing v3.6.6/v3.6.7 partial language) | none specific | academic-paper/SKILL.md row 5 |
| `citation_compliance_agent` | A | Phase 5a | hard-fence | none specific | academic-paper/SKILL.md row 6 |
| `abstract_bilingual_agent` | A | Phase 5b | hard-fence | none specific | academic-paper/SKILL.md row 7 |
| `peer_reviewer_agent` | A | Phase 6 | hard-fence | none specific | academic-paper/SKILL.md row 8 |
| `formatter_agent` | A | Phase 7 | hard-fence | none specific | academic-paper/SKILL.md row 9 |
| `socratic_mentor_agent` | C | Plan Step 0-3 (phase-orthogonal — Plan mode, not numbered pipeline) | not-applicable | latent: direct-conclusion inflation; same class as deep-research socratic_mentor (different prompt body) | academic-paper/SKILL.md row 10 |
| `visualization_agent` | B | Phase 4 + Phase 7 | none-unmitigated | scope inflation Phase 4↔7; v3.10 envelope is fix | academic-paper/SKILL.md row 11 |
| `revision_coach_agent` | C | Revision-Coach mode (standalone, phase-orthogonal) | not-applicable | low (standalone mode by design) | academic-paper/SKILL.md row 12 |

### academic-paper-reviewer/agents/ (7)

All 5 reviewers (eic, methodology, domain, perspective, devils_advocate_reviewer) operate at this skill's **Phase 1**. The skill itself sits inside academic-pipeline's Phase 5 in the full pipeline, but each agent within the reviewer skill is single-phase relative to the skill's own phase numbering.

| Agent | Bucket | Phase(s) declared | v3.9.2 fence | Out-of-scope inflation risk | Source citation |
|---|---|---|---|---|---|
| `field_analyst_agent` | D | Phase 0 (configures reviewers, meta) | none (meta) | low | academic-paper-reviewer/SKILL.md row 1 |
| `eic_agent` | A | Phase 1 (reviewer skill) | hard-fence | none specific | academic-paper-reviewer/SKILL.md row 2 |
| `methodology_reviewer_agent` | A | Phase 1 (reviewer skill) | hard-fence | none specific | academic-paper-reviewer/SKILL.md row 3 |
| `domain_reviewer_agent` | A | Phase 1 (reviewer skill) | hard-fence | none specific | academic-paper-reviewer/SKILL.md row 4 |
| `perspective_reviewer_agent` | A | Phase 1 (reviewer skill) | hard-fence | none specific | academic-paper-reviewer/SKILL.md row 5 |
| `devils_advocate_reviewer_agent` | A | Phase 1 (reviewer skill — NOT same as deep-research devils_advocate_agent) | hard-fence | none specific | academic-paper-reviewer/SKILL.md row 6 |
| `editorial_synthesizer_agent` | A | Phase 2 (reviewer skill) | hard-fence | none specific | academic-paper-reviewer/SKILL.md row 7 |

### academic-pipeline/agents/ (5)

All cross-phase / meta by design.

| Agent | Bucket | Phase(s) declared | v3.9.2 fence | Out-of-scope inflation risk | Source citation |
|---|---|---|---|---|---|
| `pipeline_orchestrator_agent` | D | All phases (orchestrator) | none (meta) | low (high-trust by design) | academic-pipeline/SKILL.md row 1 |
| `state_tracker_agent` | D | All phases (state tracking) | none (meta) | low | academic-pipeline/SKILL.md row 2 |
| `integrity_verification_agent` | C | Stage 2.5 / 4.5 integrity gates (phase-orthogonal) | not-applicable | low | academic-pipeline/SKILL.md row 3 |
| `collaboration_depth_agent` | C | FULL/SLIM checkpoints + pipeline completion (phase-orthogonal; advisory only) | not-applicable | low (advisory by design) | academic-pipeline/SKILL.md row 4 |
| `claim_ref_alignment_audit_agent` | C | Opt-in claim audit (phase-orthogonal) | not-applicable | low (opt-in by design) | academic-pipeline/SKILL.md row 5 |

### shared/agents/ (1)

| Agent | Bucket | Phase(s) declared | v3.9.2 fence | Out-of-scope inflation risk | Source citation |
|---|---|---|---|---|---|
| `compliance_agent` | C | Stage 2.5 / 4.5 gates, cross-skill | not-applicable | latent: high write-authority (writes compliance_report to passport); low probability misclassification | shared/agents/compliance_agent.md frontmatter `invoked_by: [academic-pipeline, deep-research, academic-paper]` |

## Bucket totals

| Bucket | Count | Agents |
|---|---|---|
| A (single-phase, get hard fence) | **23** | research_question, research_architect, bibliography, source_verification, synthesis, timeline_extraction (v3.9.4), editor_in_chief, ethics_review, risk_of_bias, meta_analysis (10 deep-research) + literature_strategist, structure_architect, draft_writer, citation_compliance, abstract_bilingual, peer_reviewer, formatter (7 academic-paper) + eic, methodology_reviewer, domain_reviewer, perspective_reviewer, devils_advocate_reviewer, editorial_synthesizer (6 reviewer); audit-flag for harmonization (within Bucket A, not separate count): synthesis, literature_strategist, draft_writer |
| B (multi-phase, no fence) | **4** | report_compiler, devils_advocate (deep-research), argument_builder, visualization |
| C (phase-orthogonal, no fence) | **8** | socratic_mentor × 2 (deep-research + academic-paper), monitoring, revision_coach, integrity_verification, collaboration_depth, claim_ref_alignment_audit, compliance |
| D (cross-phase / meta) | **3** | intake, pipeline_orchestrator, state_tracker, field_analyst |
| **Total** | **38** | (D = 4 actually; recount below) |

**Recount D:** intake_agent (1) + pipeline_orchestrator_agent (2) + state_tracker_agent (3) + field_analyst_agent (4) = 4 agents.

**Final totals:** A=23 + B=4 + C=8 (incl. 2 × socratic_mentor) + D=4 = **39 records** total / **38 unique frontmatter `name`** values (socratic_mentor counted once at name-level; counted twice at file-level).

For Phase 1 sweep purposes (file-level), the operative count is: **23 files get hard fence**, **16 files get no fence**.

(v3.9.4 added `timeline_extraction_agent.md` to Bucket A, raising the count from 22 to 23. The agent uses `## Phase Boundary (v3.9.4)` and `Enforcement (v3.9.4)` markers; the lint accepts both v3.9.2 and v3.9.4 variants.)

## v3.9.2 fence coverage summary

- **Files modified in Phase 1:** 23 (Bucket A only; includes v3.9.4 timeline_extraction_agent)
- **Files documented in this table but unchanged:** 16
- **Already-has-language audits (within Bucket A):** 3 (synthesis, literature_strategist, draft_writer)

## Out-of-scope inflation risk acknowledged

Per opus HIGH-1 column, the following risk classes are **explicitly NOT covered** by v3.9.2:

1. **Multi-phase scope inflation** (Bucket B, 4 agents): report_compiler, devils_advocate (deep-research), argument_builder, visualization — recurrence expected; v3.10 envelope is fix
2. **Socratic direct-conclusion inflation** (socratic_mentor × 2): different failure class from #133 (not silent scope expansion but Socratic discipline failure)
3. **Compliance write-authority misclassification** (compliance_agent): low-probability latent risk; v3.10 envelope makes this structurally impossible
4. **Phase 5a / 5b / 7 academic-paper sub-phases**: in scope (treated as distinct single-phase numbers in this classification)

## Migration notes

**For users:** if you see one of the 4 Bucket B multi-phase agents producing out-of-scope content (e.g., `devils_advocate_agent` producing draft text instead of devil's-advocate critique), this is a known v3.9.2 limitation. Remediation:
- Switch to Mode A orchestrator-driven invocation (`/ars-full` or via `pipeline_orchestrator_agent`)
- Report the case to issue #134 with transcript excerpt

## v3.10 carry-over (logged for #134)

The 4-bucket model + per-agent column documents **what v3.10 conductor + envelope schema must handle**:

- Multi-phase agents need `ars_phase_writes: [list]` + `ars_phase_reads: [list]` envelope declarations
- Phase-orthogonal agents need separate axis (e.g., `socratic_layer: [list]` or `stage_gate: [list]`)
- Meta agents need explicit cross-phase permission grant (e.g., `phase_grants: all`)
- Cross-file `socratic_mentor_agent` deduplication question: should they merge to single definition or remain skill-scoped? (v3.10 decision)
