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.
| 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) |
| 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 |
| 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 |
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 |
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 |
| 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 | 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.)
Per opus HIGH-1 column, the following risk classes are explicitly NOT covered by v3.9.2:
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
The 4-bucket model + per-agent column documents what v3.10 conductor + envelope schema must handle:
ars_phase_writes: [list] + ars_phase_reads: [list] envelope declarationssocratic_layer: [list] or stage_gate: [list])phase_grants: all)socratic_mentor_agent deduplication question: should they merge to single definition or remain skill-scoped? (v3.10 decision)