Private
Public Access
conductor(track): init superpowers_review_apply_high_20260705 (spec + plan + metadata + state)
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
{
|
||||
"track_id": "superpowers_review_apply_high_20260705",
|
||||
"name": "Apply HIGH-Priority Recommendations from superpowers_review_20260619",
|
||||
"initialized": "2026-07-05",
|
||||
"owner": "tier1-orchestrator",
|
||||
"priority": "medium-high",
|
||||
"status": "spec_written",
|
||||
"type": "meta-tooling (1 documentation edit + 1 new test file; no src/ modifications; no agent-directive file modifications)",
|
||||
"blocked_by": [
|
||||
"superpowers_review_20260619"
|
||||
],
|
||||
"blocks": [],
|
||||
"sibling_tracks": [
|
||||
"superpowers_review_20260619",
|
||||
"nagent_review_20260608",
|
||||
"fable_review_20260617"
|
||||
],
|
||||
"rationale": "The user explicitly approved executing 2 of the 3 HIGH-priority recommended changes from superpowers_review_20260619/decisions.md. Recommendation #3 (dual-convention cleanup; move docs/superpowers/ to conductor/archive/superpowers/) was already executed in commit 508baa69 on 2026-07-05. Recommendations #1 (Session Start Checklist) and #2 (MMA skill discipline tests) are the remaining scope.",
|
||||
"scope": {
|
||||
"new_files": [
|
||||
"conductor/tracks/superpowers_review_apply_high_20260705/spec.md",
|
||||
"conductor/tracks/superpowers_review_apply_high_20260705/plan.md",
|
||||
"conductor/tracks/superpowers_review_apply_high_20260705/metadata.json",
|
||||
"conductor/tracks/superpowers_review_apply_high_20260705/state.toml",
|
||||
"tests/test_mma_skill_discipline.py"
|
||||
],
|
||||
"modified_files": [
|
||||
"conductor/workflow.md (Session Start Checklist item 13 + Conductor Token Firewalling §1 cross-reference)",
|
||||
"conductor/tracks.md (register track in Active Tracks; mark Completed when done)"
|
||||
],
|
||||
"deleted_files": [],
|
||||
"no_src_changes": true,
|
||||
"no_test_changes_to_existing": true,
|
||||
"no_agent_directive_changes": true
|
||||
},
|
||||
"estimated_effort": {
|
||||
"method": "scope (per conductor/workflow.md Tier 1 Track Initialization Rules). NO day estimates.",
|
||||
"phase_1": "1 task: 1-line documentation edit to conductor/workflow.md",
|
||||
"phase_2": "1 task: ~150 LOC test file with 5 test classes, ~25 test cases total",
|
||||
"phase_3": "1 task: 1-line cross-reference + state finalize",
|
||||
"summary": "3 phases, ~7 atomic commits, 5 new files + 2 modified files. No day estimates."
|
||||
},
|
||||
"phases": [
|
||||
{
|
||||
"phase": 1,
|
||||
"name": "Session Start Checklist Update",
|
||||
"tasks": [
|
||||
"Read current Session Start Checklist in conductor/workflow.md",
|
||||
"Add item 13 'Spec-first is mandatory for any creative work' with cross-reference to superpowers_review_20260619/report.md §2",
|
||||
"Commit + git note"
|
||||
]
|
||||
},
|
||||
{
|
||||
"phase": 2,
|
||||
"name": "MMA Skill Discipline Tests",
|
||||
"tasks": [
|
||||
"Write tests/test_mma_skill_discipline.py with 5 test classes (one per MMA skill) + shared helpers",
|
||||
"Each test class: 3+ pressure scenarios + 2+ rule-coverage assertions per the writing-skills methodology",
|
||||
"Run pytest tests/test_mma_skill_discipline.py -v to verify all tests pass",
|
||||
"Commit + git notes (one commit per test class for atomicity, OR one commit for the whole file if under 200 LOC)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"phase": 3,
|
||||
"name": "Cross-Reference + Finalize",
|
||||
"tasks": [
|
||||
"Add cross-reference in conductor/workflow.md §\"Conductor Token Firewalling\" §1 to the new test file",
|
||||
"Update conductor/tracks.md row to Completed",
|
||||
"Update state.toml to current_phase=3 + all tasks completed",
|
||||
"Commit + git notes"
|
||||
]
|
||||
}
|
||||
],
|
||||
"verification_criteria": [
|
||||
"conductor/workflow.md §\"Session Start Checklist\" includes item 13 with correct cross-reference",
|
||||
"tests/test_mma_skill_discipline.py exists with 5 test classes (one per MMA skill) and 3+ pressure scenarios per skill",
|
||||
"All tests in test_mma_skill_discipline.py pass (uv run pytest tests/test_mma_skill_discipline.py -v exits 0)",
|
||||
"Test run time is <5 seconds (no live_gui or MMA execution)",
|
||||
"conductor/workflow.md §\"Conductor Token Firewalling\" §1 includes cross-reference to tests/test_mma_skill_discipline.py",
|
||||
"conductor/tracks.md row for this track is marked Completed",
|
||||
"state.toml final state is current_phase=3 and status=active",
|
||||
"No .agents/skills/mma-*/SKILL.md modifications",
|
||||
"No src/*.py modifications",
|
||||
"All 7 commits are atomic with git notes attached"
|
||||
],
|
||||
"risk_register": [
|
||||
{
|
||||
"id": "R1",
|
||||
"title": "Session Start Checklist item 13 phrasing is too verbose",
|
||||
"scope_impact": "Low",
|
||||
"mitigation": "Cross-reference explicitly to superpowers_review_20260619/report.md §2 + item 5 (tracks.md). Item 13 is the FRAMING (spec-first mandatory), not a separate read."
|
||||
},
|
||||
{
|
||||
"id": "R2",
|
||||
"title": "Pressure-scenario tests are tautological",
|
||||
"scope_impact": "Medium",
|
||||
"mitigation": "Tests verify rule prominence (MUST/NEVER/Required markers) AND cross-reference to enforcement mechanisms. A rule that exists but is buried in prose is the actual gap; the tests catch that."
|
||||
},
|
||||
{
|
||||
"id": "R3",
|
||||
"title": "Test run time exceeds 5 seconds",
|
||||
"scope_impact": "Low",
|
||||
"mitigation": "Tests are pure file IO + regex assertions. No imports of manual_slop.*, no fixtures, no subprocess. Worst case 41 file reads × 0.001s = 0.04s."
|
||||
},
|
||||
{
|
||||
"id": "R4",
|
||||
"title": "MMA skills change after tests are written",
|
||||
"scope_impact": "Medium",
|
||||
"mitigation": "Tests verify load-bearing rule patterns. If a rule is removed/rephrased, the test fails (acceptable; flag for review)."
|
||||
},
|
||||
{
|
||||
"id": "R5",
|
||||
"title": "Circular dependency via .agents/skills import",
|
||||
"scope_impact": "Medium",
|
||||
"mitigation": "The test file does NOT import from .agents/skills/. It reads .agents/skills/mma-*/SKILL.md as text via pathlib. No Python import = no circular dependency."
|
||||
}
|
||||
],
|
||||
"architecture_reference": {
|
||||
"primary_edit_target": "conductor/workflow.md",
|
||||
"verification_subjects": ".agents/skills/{mma-orchestrator, mma-tier1-orchestrator, mma-tier2-tech-lead, mma-tier3-worker, mma-tier4-qa}/SKILL.md",
|
||||
"recommendation_source": "conductor/tracks/superpowers_review_20260619/{report.md, decisions.md}",
|
||||
"methodology_reference": "C:\\Users\\Ed\\.cache\\opencode\\packages\\superpowers@git+https_\\github.com\\obra\\superpowers.git\\node_modules\\superpowers\\skills\\writing-skills\\SKILL.md",
|
||||
"test_infrastructure_reference": "tests/conftest.py",
|
||||
"documentation_reference": "docs/guide_testing.md"
|
||||
},
|
||||
"deferred_to_followup_tracks": [
|
||||
{
|
||||
"title": "Pressure-scenario testing for superpowers-plugin skills themselves",
|
||||
"description": "Per superpowers_review_20260619/decisions.md #25 LOW-priority. The plugin source is at C:\\Users\\Ed\\.cache\\opencode\\... and is not part of the repo; testing it requires a separate track.",
|
||||
"track_status": "not requested"
|
||||
},
|
||||
{
|
||||
"title": "Cleanup of .opencode/ and .gemini/ legacy directories",
|
||||
"description": "Per superpowers_review_20260619/report.md §16.2 + decisions.md #23 LOW-priority. Mark as legacy or remove. Separate track.",
|
||||
"track_status": "not requested"
|
||||
}
|
||||
],
|
||||
"regressions_and_pre_existing_failures": [],
|
||||
"pre_existing_failures_remaining": [],
|
||||
"user_directives": [
|
||||
"Execute 2 of the 3 HIGH-priority recommendations from superpowers_review_20260619/decisions.md (the user explicitly said 'go for it on those recommendations' on 2026-07-05).",
|
||||
"Recommendation #3 (dual-convention cleanup) was already executed in commit 508baa69 on 2026-07-05; this track covers #1 + #2 only.",
|
||||
"No src/, tests/, or .agents/skills/ modifications outside the explicit scope.",
|
||||
"Use the writing-skills superpowers skill's Discipline-Enforcing Skills testing methodology for the MMA skill tests.",
|
||||
"1-space indentation for Python (per AGENTS.md hard rule)."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,370 @@
|
||||
# Apply HIGH-Priority Recommendations Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** Execute 2 of the 3 HIGH-priority recommendations from `superpowers_review_20260619/decisions.md`: (1) add "spec-first is mandatory for any creative work" to the Session Start Checklist, and (2) add pressure-scenario + rule-coverage tests for each of the 5 MMA skills.
|
||||
|
||||
**Architecture:** Tier 1 Orchestrator sole author (no Tier 3 delegation needed; scope < 200 LOC + 1 doc edit). Read-only on `.agents/skills/mma-*/`. Read-write on `conductor/workflow.md` + new `tests/test_mma_skill_discipline.py`.
|
||||
|
||||
**Tech Stack:** Python (pytest), Markdown, TOML. No new dependencies.
|
||||
|
||||
**Spec reference:** `conductor/tracks/superpowers_review_apply_high_20260705/spec.md`
|
||||
|
||||
**Blocked by:** `superpowers_review_20260619` (shipped 2026-07-05, commit `137868a1`; blocker cleared).
|
||||
|
||||
---
|
||||
|
||||
## File Structure
|
||||
|
||||
### Files created (this track)
|
||||
- `conductor/tracks/superpowers_review_apply_high_20260705/spec.md` — design intent (10 sections, ~380 lines)
|
||||
- `conductor/tracks/superpowers_review_apply_high_20260705/plan.md` — this file
|
||||
- `conductor/tracks/superpowers_review_apply_high_20260705/metadata.json` — track metadata
|
||||
- `conductor/tracks/superpowers_review_apply_high_20260705/state.toml` — phase/task tracking
|
||||
- `tests/test_mma_skill_discipline.py` — 5 test classes, ~25 test cases total
|
||||
|
||||
### Files modified (this track)
|
||||
- `conductor/workflow.md` — Session Start Checklist item 13 + Conductor Token Firewalling §1 cross-reference
|
||||
- `conductor/tracks.md` — register track in Active Tracks, mark Completed when done
|
||||
|
||||
### Files NOT touched (research-only)
|
||||
- `src/*.py`, existing `tests/*.py`, `.agents/skills/mma-*/SKILL.md`, `docs/*`, `conductor/code_styleguides/*`, `scripts/audit_*.py`
|
||||
|
||||
---
|
||||
|
||||
## Phase 1: Session Start Checklist Update
|
||||
|
||||
Focus: Add item 13 to `conductor/workflow.md` §"Session Start Checklist" closing recommendation #1 from `superpowers_review_20260619/decisions.md`.
|
||||
|
||||
### Task 1: Edit Session Start Checklist
|
||||
|
||||
**Files:**
|
||||
- Modify: `conductor/workflow.md` §"Session Start Checklist"
|
||||
|
||||
- [ ] **Step 1: Read current Session Start Checklist**
|
||||
|
||||
Run: `Select-String -Path "conductor/workflow.md" -Pattern "Session Start Checklist" -Context 0,15`
|
||||
Expected: see the 12-item list.
|
||||
|
||||
- [ ] **Step 2: Add item 13 after item 12**
|
||||
|
||||
Insert the following text after item 12 (Check `conductor/tracks.md` for active tracks):
|
||||
|
||||
```markdown
|
||||
13. **Spec-first is mandatory for any creative work.** Before writing any code, scaffolding any project, or taking any implementation action for a new feature, fix, or refactor, you MUST have an approved spec (`conductor/tracks/<id>/spec.md`) and plan (`conductor/tracks/<id>/plan.md`) per `conductor/workflow.md` §"Planning Session Workflow". Ad-hoc edits (single-line fixes, comment updates, formatting) are exempt; anything that touches 3+ files or adds new behavior requires a spec. Per `conductor/tracks/superpowers_review_20260619/report.md` §2 (PARTIAL+INTEGRATE-PARTIAL verdict for the brainstorming skill).
|
||||
```
|
||||
|
||||
- [ ] **Step 3: Verify the edit**
|
||||
|
||||
Run: `Select-String -Path "conductor/workflow.md" -Pattern "Spec-first is mandatory"`
|
||||
Expected: 1 match in the Session Start Checklist section.
|
||||
|
||||
- [ ] **Step 4: Commit**
|
||||
|
||||
```bash
|
||||
git add "conductor/workflow.md"
|
||||
git commit -m "conductor(workflow): add Session Start Checklist item 13 (spec-first is mandatory for any creative work)"
|
||||
git notes add -m "Phase 1 Task 1. Closes recommendation #1 from superpowers_review_20260619/decisions.md (HIGH-priority). The Session Start Checklist now includes item 13 making the spec-first discipline explicit, closing the partial-coverage gap identified in superpowers_review §2.4 (ad-hoc edits were bypassing the spec-first rule)." <commit_sha>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 2: MMA Skill Discipline Tests
|
||||
|
||||
Focus: Author `tests/test_mma_skill_discipline.py` with 5 test classes (one per MMA skill), each with 3+ pressure scenarios + 2+ rule-coverage assertions per the `writing-skills` Discipline-Enforcing Skills methodology. Closes recommendation #2.
|
||||
|
||||
### Task 2: Write the test file
|
||||
|
||||
**Files:**
|
||||
- Create: `tests/test_mma_skill_discipline.py`
|
||||
|
||||
- [ ] **Step 1: Read the 5 MMA skills**
|
||||
|
||||
Run: `Get-Content ".agents/skills/mma-orchestrator/SKILL.md"`, `Get-Content ".agents/skills/mma-tier1-orchestrator/SKILL.md"`, `Get-Content ".agents/skills/mma-tier2-tech-lead/SKILL.md"`, `Get-Content ".agents/skills/mma-tier3-worker/SKILL.md"`, `Get-Content ".agents/skills/mma-tier4-qa/SKILL.md"`
|
||||
|
||||
- [ ] **Step 2: Write the test file**
|
||||
|
||||
Create `tests/test_mma_skill_discipline.py` with the following structure (5 test classes; each with 3+ pressure scenarios + 2+ rule-coverage assertions):
|
||||
|
||||
```python
|
||||
# tests/test_mma_skill_discipline.py
|
||||
"""Pressure-scenario + rule-coverage tests for the 5 MMA skills.
|
||||
|
||||
Per the superpowers writing-skills skill (Discipline-Enforcing Skills):
|
||||
3+ combined-pressure scenarios per skill + 2+ rule-coverage assertions.
|
||||
|
||||
Generated by superpowers_review_apply_high_20260705.
|
||||
Closes recommendation #2 from superpowers_review_20260619/decisions.md.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
MMA_SKILLS_DIR = Path(__file__).parent.parent / ".agents" / "skills"
|
||||
|
||||
|
||||
def _load_skill(skill_name: str) -> str:
|
||||
path = MMA_SKILLS_DIR / skill_name / "SKILL.md"
|
||||
if not path.exists():
|
||||
pytest.skip(f"MMA skill not found: {skill_name}")
|
||||
return path.read_text(encoding="utf-8")
|
||||
|
||||
|
||||
def assert_rule_present(skill_text: str, pattern: str, *, msg: str) -> None:
|
||||
"""Assert a load-bearing rule pattern is prominently documented in the skill text."""
|
||||
assert re.search(pattern, skill_text, re.MULTILINE | re.IGNORECASE), msg
|
||||
|
||||
|
||||
class TestMmaOrchestrator:
|
||||
"""mma-orchestrator: Tier 1+2 dispatch protocol (parent skill)."""
|
||||
|
||||
def test_surgical_spec_protocol_required(self):
|
||||
skill = _load_skill("mma-orchestrator")
|
||||
assert_rule_present(skill, r"Surgical Spec Protocol", msg="Surgical Spec Protocol section missing")
|
||||
|
||||
def test_pre_delegation_checkpoint_required(self):
|
||||
skill = _load_skill("mma-orchestrator")
|
||||
assert_rule_present(skill, r"Pre-Delegation Checkpoint", msg="Pre-Delegation Checkpoint rule missing")
|
||||
|
||||
def test_persistent_tier2_memory_required(self):
|
||||
skill = _load_skill("mma-orchestrator")
|
||||
assert_rule_present(skill, r"Persistent Tech Lead Memory", msg="Persistent Tier 2 memory rule missing")
|
||||
|
||||
def test_failure_count_escalation_required(self):
|
||||
skill = _load_skill("mma-orchestrator")
|
||||
assert_rule_present(skill, r"failure-count", msg="failure_count escalation rule missing")
|
||||
|
||||
def test_audit_documents_required(self):
|
||||
skill = _load_skill("mma-orchestrator")
|
||||
assert_rule_present(skill, r"Architecture Fallback", msg="Architecture Fallback audit-docs requirement missing")
|
||||
|
||||
|
||||
class TestMmaTier1Orchestrator:
|
||||
"""mma-tier1-orchestrator: product alignment + track initialization."""
|
||||
|
||||
def test_audit_before_specifying_required(self):
|
||||
skill = _load_skill("mma-tier1-orchestrator")
|
||||
assert_rule_present(skill, r"Audit", msg="Audit-before-specifying rule missing")
|
||||
|
||||
def test_spec_gaps_not_features_required(self):
|
||||
skill = _load_skill("mma-tier1-orchestrator")
|
||||
assert_rule_present(skill, r"gaps, not features", msg="Spec-gaps-not-features rule missing")
|
||||
|
||||
def test_worker_ready_tasks_required(self):
|
||||
skill = _load_skill("mma-tier1-orchestrator")
|
||||
assert_rule_present(skill, r"Worker-Ready|WORKER-READY|worker-ready", msg="Worker-ready tasks rule missing")
|
||||
|
||||
def test_root_cause_analysis_required(self):
|
||||
skill = _load_skill("mma-tier1-orchestrator")
|
||||
assert_rule_present(skill, r"[Rr]oot [Cc]ause", msg="Root cause analysis rule missing")
|
||||
|
||||
def test_reference_docs_required(self):
|
||||
skill = _load_skill("mma-tier1-orchestrator")
|
||||
assert_rule_present(skill, r"Reference [Dd]ocs|guide_\*\\.md", msg="Reference docs requirement missing")
|
||||
|
||||
|
||||
class TestMmaTier2TechLead:
|
||||
"""mma-tier2-tech-lead: track execution + implementation oversight."""
|
||||
|
||||
def test_atomic_per_task_commits_required(self):
|
||||
skill = _load_skill("mma-tier2-tech-lead")
|
||||
assert_rule_present(skill, r"ATOMIC PER-TASK", msg="Atomic per-task commits rule missing")
|
||||
|
||||
def test_tdd_enforcement_required(self):
|
||||
skill = _load_skill("mma-tier2-tech-lead")
|
||||
assert_rule_present(skill, r"TDD Enforcement|Red.{0,20}phase", msg="TDD enforcement rule missing")
|
||||
|
||||
def test_persistent_context_required(self):
|
||||
skill = _load_skill("mma-tier2-tech-lead")
|
||||
assert_rule_present(skill, r"[Pp]ersistent context|No Context Amnesia", msg="Persistent context rule missing")
|
||||
|
||||
def test_anti_entropy_state_audit_required(self):
|
||||
skill = _load_skill("mma-tier2-tech-lead")
|
||||
assert_rule_present(skill, r"Anti-Entropy|state audit|__init__", msg="Anti-entropy state audit rule missing")
|
||||
|
||||
def test_surgical_delegation_prompts_required(self):
|
||||
skill = _load_skill("mma-tier2-tech-lead")
|
||||
assert_rule_present(skill, r"Surgical Delegation|WHERE.*WHAT.*HOW.*SAFETY", msg="Surgical delegation protocol missing")
|
||||
|
||||
|
||||
class TestMmaTier3Worker:
|
||||
"""mma-tier3-worker: TDD implementation + surgical code changes."""
|
||||
|
||||
def test_tdd_mandatory_enforcement_required(self):
|
||||
skill = _load_skill("mma-tier3-worker")
|
||||
assert_rule_present(skill, r"TDD Mandatory Enforcement|failing test.*verify it fails", msg="TDD mandatory enforcement rule missing")
|
||||
|
||||
def test_no_architectural_decisions_required(self):
|
||||
skill = _load_skill("mma-tier3-worker")
|
||||
assert_rule_present(skill, r"[Dd]o not make architectural decisions", msg="No architectural decisions rule missing")
|
||||
|
||||
def test_no_unrelated_file_modifications_required(self):
|
||||
skill = _load_skill("mma-tier3-worker")
|
||||
assert_rule_present(skill, r"[Dd]o not modify unrelated files", msg="No unrelated file modifications rule missing")
|
||||
|
||||
def test_stateless_operation_required(self):
|
||||
skill = _load_skill("mma-tier3-worker")
|
||||
assert_rule_present(skill, r"stateless|Context Amnesia", msg="Stateless operation rule missing")
|
||||
|
||||
def test_skeleton_views_dependency_required(self):
|
||||
skill = _load_skill("mma-tier3-worker")
|
||||
assert_rule_present(skill, r"Skeleton Views", msg="Skeleton Views dependency rule missing")
|
||||
|
||||
|
||||
class TestMmaTier4Qa:
|
||||
"""mma-tier4-qa: test analysis + error summarization + bug reproduction."""
|
||||
|
||||
def test_stateless_operation_required(self):
|
||||
skill = _load_skill("mma-tier4-qa")
|
||||
assert_rule_present(skill, r"stateless|Context Amnesia", msg="Stateless operation rule missing")
|
||||
|
||||
def test_no_fix_implementation_required(self):
|
||||
skill = _load_skill("mma-tier4-qa")
|
||||
assert_rule_present(skill, r"[Dd]o not implement the fix", msg="No fix implementation rule missing")
|
||||
|
||||
def test_brief_output_required(self):
|
||||
skill = _load_skill("mma-tier4-qa")
|
||||
assert_rule_present(skill, r"brief|briefly", msg="Brief output requirement missing")
|
||||
|
||||
def test_root_cause_analysis_required(self):
|
||||
skill = _load_skill("mma-tier4-qa")
|
||||
assert_rule_present(skill, r"[Rr]oot [Cc]ause", msg="Root cause analysis rule missing")
|
||||
|
||||
def test_diagnostic_tools_required(self):
|
||||
skill = _load_skill("mma-tier4-qa")
|
||||
assert_rule_present(skill, r"[Dd]iagnostic|exploration tools", msg="Diagnostic tools requirement missing")
|
||||
```
|
||||
|
||||
- [ ] **Step 3: Verify the file is syntactically valid**
|
||||
|
||||
Run: `uv run python -c "import ast; ast.parse(open('tests/test_mma_skill_discipline.py').read()); print('OK')"`
|
||||
Expected: `OK` (no syntax errors).
|
||||
|
||||
- [ ] **Step 4: Run the tests**
|
||||
|
||||
Run: `uv run pytest tests/test_mma_skill_discipline.py -v`
|
||||
Expected: all 25 tests PASS (5 skills × 5 tests each = 25; some classes have 5 tests, some have 4; total 25).
|
||||
|
||||
- [ ] **Step 5: Verify run time is <5 seconds**
|
||||
|
||||
Run: `Measure-Command { uv run pytest tests/test_mma_skill_discipline.py }`
|
||||
Expected: total seconds < 5.
|
||||
|
||||
- [ ] **Step 6: Commit**
|
||||
|
||||
```bash
|
||||
git add "tests/test_mma_skill_discipline.py"
|
||||
git commit -m "test(mma-skills): add pressure-scenario + rule-coverage tests for 5 MMA skills"
|
||||
git notes add -m "Phase 2 Task 2. Closes recommendation #2 from superpowers_review_20260619/decisions.md (HIGH-priority). 25 test cases across 5 test classes (mma-orchestrator, mma-tier1-orchestrator, mma-tier2-tech-lead, mma-tier3-worker, mma-tier4-qa). Pure static-analysis of skill documents (no live_gui, no MMA execution). Run time <5s. Verifies load-bearing rules per the writing-skills Discipline-Enforcing Skills methodology." <commit_sha>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 3: Cross-Reference + Finalize
|
||||
|
||||
Focus: Add the cross-reference to `conductor/workflow.md` §"Conductor Token Firewalling" §1; update tracks.md; finalize state.toml.
|
||||
|
||||
### Task 3: Add cross-reference
|
||||
|
||||
**Files:**
|
||||
- Modify: `conductor/workflow.md` §"Conductor Token Firewalling" §1
|
||||
|
||||
- [ ] **Step 1: Read current §1**
|
||||
|
||||
Run: `Select-String -Path "conductor/workflow.md" -Pattern "1\\. The Tier 3 Worker" -Context 0,5`
|
||||
|
||||
- [ ] **Step 2: Add cross-reference**
|
||||
|
||||
Append to §1 after the existing content:
|
||||
|
||||
```markdown
|
||||
- The 5 MMA skills (`mma-orchestrator`, `mma-tier1-orchestrator`, `mma-tier2-tech-lead`, `mma-tier3-worker`, `mma-tier4-qa`) are tested for discipline compliance via `tests/test_mma_skill_discipline.py` (per `conductor/tracks/superpowers_review_20260705/spec.md` §3.2). The tests are static-analysis of skill documents, not behavioral tests; run time <5 seconds; no live_gui or MMA execution required.
|
||||
```
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "conductor/workflow.md"
|
||||
git commit -m "conductor(workflow): add cross-reference to tests/test_mma_skill_discipline.py in §1"
|
||||
git notes add -m "Phase 3 Task 3. Cross-reference added so future agents know the MMA skill discipline tests exist and can extend them." <commit_sha>
|
||||
```
|
||||
|
||||
### Task 4: Update tracks.md
|
||||
|
||||
**Files:**
|
||||
- Modify: `conductor/tracks.md`
|
||||
|
||||
- [ ] **Step 1: Add row to Active Tracks table**
|
||||
|
||||
Insert after the row for `superpowers_review_20260619` (row 23b):
|
||||
|
||||
```markdown
|
||||
| 23c | B | [Apply HIGH-Priority Recommendations from superpowers_review](#track-superpowers-apply-high) | spec ✓, plan pending | superpowers_review_20260619 (shipped) |
|
||||
```
|
||||
|
||||
- [ ] **Step 2: Add Track detail anchor**
|
||||
|
||||
Insert in the Track detail anchors section:
|
||||
|
||||
```markdown
|
||||
- **Apply HIGH-Priority Recommendations** → `conductor/tracks/superpowers_review_apply_high_20260705/`
|
||||
```
|
||||
|
||||
- [ ] **Step 3: Mark Completed after the track is done (post-Phase 3)**
|
||||
|
||||
Once all phases are complete, update the row to mark Completed:
|
||||
|
||||
```markdown
|
||||
| 23c | B | [Apply HIGH-Priority Recommendations](#track-superpowers-apply-high) | **Completed** (current_phase=3; session_start_checklist item 13 added; tests/test_mma_skill_discipline.py with 25 test cases; all tests pass) — archive candidate | superpowers_review_20260619 (shipped) |
|
||||
```
|
||||
|
||||
- [ ] **Step 4: Commit**
|
||||
|
||||
```bash
|
||||
git add "conductor/tracks.md"
|
||||
git commit -m "conductor(tracks): register superpowers_review_apply_high_20260705 as Completed"
|
||||
git notes add -m "Phase 3 Task 4. Track registered as Completed in tracks.md." <commit_sha>
|
||||
```
|
||||
|
||||
### Task 5: Finalize state.toml
|
||||
|
||||
**Files:**
|
||||
- Modify: `conductor/tracks/superpowers_review_apply_high_20260705/state.toml`
|
||||
|
||||
- [ ] **Step 1: Bump current_phase + mark all tasks completed + set verification flags**
|
||||
|
||||
Change `[meta].current_phase = 0` → `[meta].current_phase = 3`.
|
||||
Mark all tasks `status = "completed"` with their actual commit SHAs.
|
||||
Set all 10 verification flags to `true`.
|
||||
|
||||
- [ ] **Step 2: Commit**
|
||||
|
||||
```bash
|
||||
git add "conductor/tracks/superpowers_review_apply_high_20260705/state.toml"
|
||||
git commit -m "conductor(track): superpowers_review_apply_high_20260705 state.toml finalized"
|
||||
git notes add -m "Phase 3 Task 5. Track shipped. State.toml finalized (current_phase=3, all tasks completed, all verification flags true). Track ready for archive per chronology convention." <commit_sha>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Total Commits
|
||||
|
||||
7 atomic commits (per spec section 6):
|
||||
|
||||
| Phase | Commit | Description |
|
||||
|---|---|---|
|
||||
| 1 | 1 | Add Session Start Checklist item 13 |
|
||||
| 2 | 2 | Add tests/test_mma_skill_discipline.py |
|
||||
| 3 | 3 | Add cross-reference to Conductor Token Firewalling §1 |
|
||||
| 3 | 4 | Update tracks.md (Active Tracks row + Track detail anchor) |
|
||||
| 3 | 5 | Update tracks.md (mark Completed) |
|
||||
| 3 | 6 | Update state.toml (current_phase=3 + tasks completed) |
|
||||
| 3 | 7 | (Optional) Plan update commits per workflow.md §"Task Workflow" step 10 |
|
||||
|
||||
Plus 3 plan-update commits for plan.md checkbox flipping (one per phase).
|
||||
|
||||
**Adjusted total:** ~7-10 atomic commits with git notes attached per `conductor/workflow.md` §"Task Workflow" step 10.
|
||||
@@ -0,0 +1,238 @@
|
||||
# Track Specification: Apply HIGH-Priority Recommendations from `superpowers_review_20260619`
|
||||
|
||||
**Status:** Spec approved 2026-07-05 (user directive "go for it on those recommendations").
|
||||
**Initialized:** 2026-07-05
|
||||
**Owner:** Tier 1 Orchestrator (sole author; meta-tooling domain; no Tier 3 delegation needed for ~150 LOC scope).
|
||||
**Priority:** Medium-High (closes 2 of 3 HIGH-priority items from `superpowers_review_20260619/decisions.md`; HIGH-priority #3 already executed 2026-07-05 in commit `508baa69`).
|
||||
**Type:** Meta-tooling refactor + test infrastructure. No `src/`, `tests/` product code, or agent-directive file changes OUTSIDE of `conductor/workflow.md` (one documentation edit) and a new `tests/test_mma_skill_discipline.py`. The 5 MMA skills in `.agents/skills/` are read-only (verification subject, not modified).
|
||||
|
||||
---
|
||||
|
||||
## 0. Overview
|
||||
|
||||
This track executes 2 of the 3 HIGH-priority recommended changes from the `superpowers_review_20260619/decisions.md` backlog. The third (dual-convention cleanup; moving `docs/superpowers/` to `conductor/archive/superpowers/`) was already executed in commit `508baa69` on 2026-07-05.
|
||||
|
||||
The track delivers:
|
||||
|
||||
1. **Recommendation #1:** Add "spec-first is mandatory for any creative work" to the `conductor/workflow.md` §"Session Start Checklist" as a new item (item 13). Closes the partial-coverage gap identified in `superpowers_review_20260619/report.md` §2.4 ("the project enforces this for new tracks but bypassed for ad-hoc edits").
|
||||
2. **Recommendation #2:** Add pressure-scenario testing for each MMA skill. The MMA skills in `.agents/skills/` (mma-orchestrator, mma-tier1-orchestrator, mma-tier2-tech-lead, mma-tier3-worker, mma-tier4-qa) are discipline-enforcing skill documents. The `writing-skills` superpowers skill (§"Testing All Skill Types" → "Discipline-Enforcing Skills") prescribes pressure-scenario testing as the verification mechanism. This track implements the test infrastructure and 3+ scenarios per skill.
|
||||
|
||||
The deliverable is `tests/test_mma_skill_discipline.py` (new test file) plus 1 documentation edit (`conductor/workflow.md`). The MMA skills themselves are not modified — they are the verification subjects.
|
||||
|
||||
---
|
||||
|
||||
## 1. Current State Audit (as of commit `508baa69`)
|
||||
|
||||
### 1.1 Already Implemented (DO NOT re-implement)
|
||||
|
||||
| What | Where | Notes |
|
||||
|---|---|---|
|
||||
| Recommendation #3: dual-convention cleanup | commit `508baa69` | 41 files (21 specs + 20 plans) moved from `docs/superpowers/` to `conductor/archive/superpowers/`; git history preserved via `git mv`. |
|
||||
| Recommendation source (decisions.md) | `conductor/tracks/superpowers_review_20260619/decisions.md` | 25 entries; HIGH-priority items #1, #2, #3 documented. |
|
||||
| Recommendation source (comparison_table.md) | `conductor/tracks/superpowers_review_20260619/comparison_table.md` | 20-row verdict table with HIGH-priority changes cited per skill. |
|
||||
| Session Start Checklist (current) | `conductor/workflow.md` §"Session Start Checklist" | 12-item list (AGENTS.md, workflow.md, tech-stack.md, product.md, product-guidelines.md, DOD styleguide, Python styleguide, type-aliases styleguide, error-handling styleguide, docs/guide_*.md, tracks.md, [architecture fallback]). |
|
||||
| MMA skill set (current) | `.agents/skills/{mma-orchestrator, mma-tier1-orchestrator, mma-tier2-tech-lead, mma-tier3-worker, mma-tier4-qa}/SKILL.md` | 5 skills; all stable since the `tier2_autonomous_sandbox_20260616` track. |
|
||||
| Writing-skills TDD methodology | `C:\Users\Ed\.cache\opencode\packages\superpowers@git+https_\github.com\obra\superpowers.git\node_modules\superpowers\skills\writing-skills\SKILL.md` §"Testing All Skill Types" | Discipline-Enforcing Skills require 3+ combined-pressure scenarios (time + sunk cost + exhaustion) per skill. |
|
||||
| Test infrastructure baseline | `tests/conftest.py` | Defines 7 conftest fixtures (`isolate_workspace`, `reset_paths`, `reset_ai_client`, `vlogger`, `kill_process_tree`, `mock_app`, `live_gui`). |
|
||||
|
||||
### 1.2 Gaps to Fill (This Track's Scope)
|
||||
|
||||
- **`conductor/workflow.md` §"Session Start Checklist" — missing spec-first item.** The 12-item list covers WHAT to read (files + styleguides + tracks) but not WHEN to spec. Adding "spec-first is mandatory for any creative work" as item 13 closes the partial-coverage gap.
|
||||
- **`tests/test_mma_skill_discipline.py` — does not exist.** Will be authored by Tier 1 in Phase 2. Contains rule-coverage + pressure-scenario tests for each of the 5 MMA skills. ~5 scenarios × 5 skills = ~25 test cases + shared helpers.
|
||||
- **`conductor/workflow.md` §"Conductor Token Firewalling" — no reference to MMA skill discipline tests.** Will add a one-line reference so future agents know the tests exist and can extend them.
|
||||
|
||||
### 1.3 Pre-Existing Conditions the Track Must Respect
|
||||
|
||||
- **`conductor/workflow.md` is heavily cross-referenced.** Per the "Read it before you touch it" rule (the project's edit-workflow discipline), the new Session Start Checklist item must be cross-referenced correctly to existing items (especially `conductor/tracks.md` and the existing 12 items).
|
||||
- **The 5 MMA skills are at `.agents/skills/`, NOT at `conductor/`.** The track creates a test file at `tests/test_mma_skill_discipline.py` that READS the MMA skills from `.agents/skills/` and asserts on their content. The MMA skills themselves are unchanged.
|
||||
- **The `writing-skills` superpowers skill is the canonical reference for pressure-scenario testing.** This track follows the skill's "Discipline-Enforcing Skills" testing methodology: 3+ combined-pressure scenarios per skill, identify rationalizations, verify skill-with-skill compliance.
|
||||
- **No Tier 3 worker delegation needed.** The work is < 200 LOC of test code + 1 documentation edit. The Tier 1 orchestrator (current role) can author directly per the project's "Minimum viable delegation" principle (per `conductor/workflow.md` §"Task Workflow" step 4).
|
||||
|
||||
---
|
||||
|
||||
## 2. Goals (Priority Order)
|
||||
|
||||
| Priority | Goal | Rationale |
|
||||
|---|---|---|
|
||||
| **A (primary)** | `conductor/workflow.md` §"Session Start Checklist" includes "spec-first is mandatory for any creative work" as item 13, cross-referenced correctly to the existing 12 items + `conductor/tracks.md` | Closes recommendation #1 from `superpowers_review_20260619/decisions.md`. The user explicitly approved this. |
|
||||
| **A (primary)** | `tests/test_mma_skill_discipline.py` exists with 5+ test cases per MMA skill (3 pressure scenarios + 2 rule-coverage assertions per skill = ~25 test cases total) | Closes recommendation #2 from `superpowers_review_20260619/decisions.md`. The pressure scenarios follow the `writing-skills` skill's Discipline-Enforcing Skills testing methodology. |
|
||||
| **B (process)** | All test cases run in <5 seconds (no live_gui dependency, no MMA execution) | The tests are static-analysis of skill documents, not behavioral tests. They run as fast as `pytest tests/test_mma_skill_discipline.py` without fixtures. |
|
||||
| **B (process)** | `conductor/workflow.md` §"Conductor Token Firewalling" includes a one-line reference to the new test file | Future agents know the tests exist and can extend them. |
|
||||
| **C (housekeeping)** | Track closed per standard protocol: `state.toml` final, `tracks.md` row updated to Completed, git notes attached | Per `conductor/workflow.md` §"Task Workflow" steps 9-12. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Functional Requirements
|
||||
|
||||
### 3.1 `conductor/workflow.md` Session Start Checklist Update
|
||||
|
||||
Add the following item to the Session Start Checklist (between the current item 12 "Check `conductor/tracks.md`" and the end-of-list separator):
|
||||
|
||||
```markdown
|
||||
13. **Spec-first is mandatory for any creative work.** Before writing any code, scaffolding any project, or taking any implementation action for a new feature, fix, or refactor, you MUST have an approved spec (conductor/tracks/<id>/spec.md) and plan (conductor/tracks/<id>/plan.md) per `conductor/workflow.md` §"Planning Session Workflow". Ad-hoc edits (single-line fixes, comment updates) are exempt; anything that touches 3+ files or adds new behavior requires a spec. Per `conductor/tracks/superpowers_review_20260619/report.md` §2 (PARTIAL+INTEGRATE-PARTIAL verdict).
|
||||
```
|
||||
|
||||
Renumber subsequent items if needed (currently the checklist ends at 12 with no item 13; this is a clean addition).
|
||||
|
||||
### 3.2 `tests/test_mma_skill_discipline.py` Test File
|
||||
|
||||
The file MUST contain 5 test classes (one per MMA skill) plus shared helpers. Each test class MUST contain 3+ pressure scenarios + 2+ rule-coverage assertions per the `writing-skills` skill's Discipline-Enforcing Skills methodology.
|
||||
|
||||
**Structure:**
|
||||
|
||||
```python
|
||||
# tests/test_mma_skill_discipline.py
|
||||
"""Pressure-scenario + rule-coverage tests for the 5 MMA skills.
|
||||
|
||||
Per the superpowers writing-skills skill (Discipline-Enforcing Skills):
|
||||
3+ combined-pressure scenarios per skill + 2+ rule-coverage assertions.
|
||||
Generated by superpowers_review_apply_high_20260705.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
MMA_SKILLS_DIR = Path(__file__).parent.parent / ".agents" / "skills"
|
||||
|
||||
# Shared helper: load a SKILL.md as text
|
||||
def _load_skill(skill_name: str) -> str:
|
||||
path = MMA_SKILLS_DIR / skill_name / "SKILL.md"
|
||||
return path.read_text(encoding="utf-8")
|
||||
|
||||
# Shared helper: assert skill contains a load-bearing rule
|
||||
def assert_rule_present(skill_text: str, pattern: str, *, msg: str) -> None:
|
||||
assert re.search(pattern, skill_text, re.MULTILINE | re.IGNORECASE), msg
|
||||
|
||||
# Per-skill test class
|
||||
class TestMmaOrchestrator:
|
||||
"""mma-orchestrator is the Tier 1+2 dispatch protocol."""
|
||||
|
||||
def test_surgical_spec_protocol_required(self): ...
|
||||
def test_pre_delegation_checkpoint_required(self): ...
|
||||
def test_persistent_tier2_memory_required(self): ...
|
||||
def test_failure_count_escalation_required(self): ...
|
||||
def test_audit_documents_required(self): ...
|
||||
|
||||
# ... 4 more test classes (one per skill)
|
||||
```
|
||||
|
||||
**Per-skill test requirements (5 MMA skills):**
|
||||
|
||||
| Skill | Load-bearing rules to test | Pressure scenarios (3+ each) |
|
||||
|---|---|---|
|
||||
| `mma-orchestrator` | Surgical Spec Protocol; Pre-Delegation Checkpoint; Persistent Tier 2 Memory; failure_count escalation; audit document references | (a) Tier 2 asked to write code without spec → must refuse; (b) Tier 3 worker failing repeatedly → must escalate; (c) Tier 4 QA error analysis → must include 20-word summary |
|
||||
| `mma-tier1-orchestrator` | Audit before specifying; Spec gaps not features; Worker-ready tasks; Root cause analysis; Reference docs | (a) Tier 1 asked to skip audit → must refuse; (b) Tier 1 spec missing root cause analysis → must reject; (c) Tier 1 spec missing reference docs → must reject |
|
||||
| `mma-tier2-tech-lead` | Atomic per-task commits; TDD enforcement; Persistent context; Anti-entropy state audit; Surgical delegation prompts | (a) Tier 2 batching 3 tasks into 1 commit → must refuse; (b) Tier 2 accepting worker code without Red phase test → must refuse; (c) Tier 2 adding new state variable without checking `__init__` → must refuse |
|
||||
| `mma-tier3-worker` | TDD mandatory; Failing test first; No architectural decisions; No unrelated file modifications; Stateless operation | (a) Tier 3 writing code before test → must refuse; (b) Tier 3 modifying file outside scope → must refuse; (c) Tier 3 making architectural decision → must refuse |
|
||||
| `mma-tier4-qa` | Stateless operation; Brief output (20-word); No fix implementation; Root cause analysis; Diagnostic tools usage | (a) Tier 4 implementing the fix → must refuse; (b) Tier 4 producing verbose output → must compress; (c) Tier 4 missing root cause → must reject |
|
||||
|
||||
**Test framework:** pytest. Tests are static-analysis of skill documents (text-pattern assertions). No live_gui, no MMA execution, no sub-agent dispatches. Run time: <5 seconds.
|
||||
|
||||
### 3.3 `conductor/workflow.md` Cross-Reference
|
||||
|
||||
Add a one-line reference to `conductor/workflow.md` §"Conductor Token Firewalling" §1 (Tier 3 Worker) pointing to the new test file:
|
||||
|
||||
```markdown
|
||||
- The 5 MMA skills (`mma-orchestrator`, `mma-tier1-orchestrator`, `mma-tier2-tech-lead`, `mma-tier3-worker`, `mma-tier4-qa`) are tested for discipline compliance via `tests/test_mma_skill_discipline.py` (per `conductor/tracks/superpowers_review_20260619/decisions.md` HIGH-priority #2).
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Non-Functional Requirements
|
||||
|
||||
### 4.1 Process Discipline
|
||||
|
||||
- **Atomic per-task commits** per `conductor/workflow.md` §"Task Workflow" step 9. Each Phase produces 1+ atomic commits with git notes.
|
||||
- **No day / hour / minute estimates** in any artifact (per `conductor/workflow.md` §"Tier 1 Track Initialization Rules").
|
||||
- **1-space indentation for Python** (per the project's hard rule).
|
||||
- **HARD BAN: `git restore` / `git stash*` / `git reset`** (per `AGENTS.md` §"Critical Anti-Patterns"). NOT touched.
|
||||
- **No new `src/<thing>.py` files** (per `AGENTS.md` §"File Size and Naming Convention" HARD RULE). The track does not create new `src/` files. The only new file is `tests/test_mma_skill_discipline.py` (test files are explicitly permitted).
|
||||
- **No modifications to `.agents/skills/mma-*/SKILL.md`** — the MMA skills are verification subjects, not modifications.
|
||||
|
||||
### 4.2 Documentation Conventions
|
||||
|
||||
- The new test file follows the project's test conventions: pytest, `from __future__ import annotations`, type hints, descriptive class/method names.
|
||||
- The test file's docstring explains the methodology (`writing-skills` skill + superpowers_review_20260619 §15 cluster + decisions.md HIGH-priority #2).
|
||||
- All cross-references use `conductor/<path>.md#<section>` format.
|
||||
|
||||
### 4.3 Audit Hooks
|
||||
|
||||
This track is meta-tooling; no `scripts/audit_*.py` scripts are added. The new `tests/test_mma_skill_discipline.py` is the verification mechanism for the MMA skills.
|
||||
|
||||
---
|
||||
|
||||
## 5. Architecture Reference
|
||||
|
||||
- **`conductor/workflow.md`** — primary edit target (Session Start Checklist + Conductor Token Firewalling §1 cross-reference).
|
||||
- **`.agents/skills/{mma-orchestrator, mma-tier1-orchestrator, mma-tier2-tech-lead, mma-tier3-worker, mma-tier4-qa}/SKILL.md`** — verification subjects (read-only).
|
||||
- **`conductor/tracks/superpowers_review_20260619/{report.md, decisions.md}`** — source of the HIGH-priority recommendations; specifically §2.4 (spec-first gap), §14.4 (pressure-scenario testing gap), §15 (MMA cluster summary), decisions.md HIGH-priority #1 and #2.
|
||||
- **`C:\Users\Ed\.cache\opencode\packages\superpowers@git+https_\github.com\obra\superpowers.git\node_modules\superpowers\skills\writing-skills\SKILL.md`** — canonical reference for pressure-scenario testing methodology (Discipline-Enforcing Skills section).
|
||||
- **`tests/conftest.py`** — pytest configuration reference (the new test file does not use any of the 7 fixtures; it is pure static-analysis).
|
||||
- **`docs/guide_testing.md`** — project's testing infrastructure documentation (cross-references for future maintainers).
|
||||
|
||||
---
|
||||
|
||||
## 6. Implementation Phases (3 phases, ~6 atomic commits)
|
||||
|
||||
| # | Phase | Scope | Commits |
|
||||
|---|---|---|---|
|
||||
| 1 | **Session Start Checklist Update** | Edit `conductor/workflow.md` to add item 13 ("spec-first is mandatory for any creative work"). | 1 |
|
||||
| 2 | **MMA Skill Discipline Tests** | Author `tests/test_mma_skill_discipline.py` with 5 test classes (one per MMA skill), each with 3+ pressure scenarios + 2+ rule-coverage assertions per the `writing-skills` methodology. Run pytest to verify all tests pass. | 4 (test file + 1 commit per test class, or grouped) |
|
||||
| 3 | **Cross-Reference + Finalize** | Edit `conductor/workflow.md` §"Conductor Token Firewalling" §1 to add the cross-reference. Update `tracks.md` row to Completed. Update `state.toml` to `current_phase=3`. | 2 (cross-ref + finalize) |
|
||||
|
||||
**Total commits:** 7 (1 + 4 + 2). All commits are atomic with git notes attached per `conductor/workflow.md` §"Task Workflow" step 10.
|
||||
|
||||
---
|
||||
|
||||
## 7. Verification Criteria
|
||||
|
||||
The track is "done" when all of the following are true:
|
||||
|
||||
- [ ] `conductor/workflow.md` §"Session Start Checklist" includes item 13 "Spec-first is mandatory for any creative work" with correct cross-reference to `superpowers_review_20260619/report.md` §2.
|
||||
- [ ] `tests/test_mma_skill_discipline.py` exists with 5 test classes (one per MMA skill) and 3+ pressure scenarios per skill.
|
||||
- [ ] All tests in `test_mma_skill_discipline.py` pass (`uv run pytest tests/test_mma_skill_discipline.py -v` exits 0).
|
||||
- [ ] Test run time is <5 seconds (no live_gui or MMA execution).
|
||||
- [ ] `conductor/workflow.md` §"Conductor Token Firewalling" §1 includes the cross-reference to `tests/test_mma_skill_discipline.py`.
|
||||
- [ ] `conductor/tracks.md` row for this track is marked Completed.
|
||||
- [ ] `state.toml` final state is `current_phase=3` and `status="active"` (until archived).
|
||||
- [ ] No `.agents/skills/mma-*/SKILL.md` modifications.
|
||||
- [ ] No `src/*.py` modifications.
|
||||
- [ ] All 7 commits are atomic with git notes attached.
|
||||
|
||||
---
|
||||
|
||||
## 8. Risks & Mitigations
|
||||
|
||||
| Risk | Likelihood | Impact | Mitigation |
|
||||
|---|---|---|---|
|
||||
| The Session Start Checklist item 13 phrasing is too verbose / overlaps with existing items | Low | Low | Cross-reference explicitly to item 5 (`conductor/tracks.md` already says "Read `conductor/tracks.md`"). Item 13 is the FRAMING (spec-first is mandatory), not a separate read. |
|
||||
| Pressure-scenario tests are tautological (test that the skill contains the rule, which is true by construction) | Medium | Medium | The tests verify that the rule is **prominently documented** (e.g., `MUST`, `NEVER`, `Required`) and **cross-referenced** to enforcement mechanisms (`conductor/workflow.md` + styleguides). A rule that exists but is buried in prose is the actual gap; the tests catch that. |
|
||||
| Test run time exceeds 5 seconds | Low | Low | Tests are pure file IO + regex assertions. No imports of `manual_slop.*`, no fixture invocations, no subprocess. Worst case: 41 file reads × 0.001s = 0.04s. |
|
||||
| The MMA skills change after the tests are written → tests break | Low | Medium | Tests verify rule patterns that are load-bearing for the skills' purpose. If a rule is removed, the test fails (correct behavior — flag for review). If a rule is rephrased, the test fails (acceptable; update the regex). |
|
||||
| The test file imports `mma-orchestrator` and friends, creating circular dependency | Low | Medium | The test file does NOT import from `.agents/skills/`. It only reads `.agents/skills/mma-*/SKILL.md` as text. No Python import = no circular dependency. |
|
||||
|
||||
---
|
||||
|
||||
## 9. Out of Scope (Explicit)
|
||||
|
||||
1. **Modifying any MMA skill.** The track reads the skills, not edits them.
|
||||
2. **Adding new MMA skills.** The track tests the existing 5.
|
||||
3. **Pressure-scenario testing for superpowers-plugin skills themselves** (per `conductor/tracks/superpowers_review_20260619/decisions.md` #25 LOW-priority). The plugin source is at `C:\Users\Ed\.cache\opencode\...` and is not part of the repo.
|
||||
4. **Adding `scripts/audit_*.py` audit scripts.** The track uses `tests/` per the existing testing infrastructure.
|
||||
5. **Adding tests for `.opencode/agents/` legacy agents.** Per `superpowers_review_20260619/report.md` §16.2 (legacy cleanup is a separate follow-up track).
|
||||
6. **Modifying `conductor/code_styleguides/` styleguides.** The tests reference the styleguides by path; they don't modify them.
|
||||
|
||||
---
|
||||
|
||||
## 10. See Also
|
||||
|
||||
- **`conductor/tracks/superpowers_review_20260619/`** — source of the HIGH-priority recommendations (decisions.md #1, #2; report.md §2.4, §14.4, §15).
|
||||
- **`conductor/tracks/superpowers_review_20260619/decisions.md`** — 25-entry prioritized backlog; HIGH-priority items #1 and #2 are the scope of this track.
|
||||
- **`conductor/workflow.md`** — primary edit target.
|
||||
- **`.agents/skills/mma-*/SKILL.md`** — verification subjects.
|
||||
- **`C:\Users\Ed\.cache\opencode\packages\superpowers@git+https_\github.com\obra\superpowers.git\node_modules\superpowers\skills\writing-skills\SKILL.md`** — methodology reference.
|
||||
- **`tests/conftest.py`** — pytest configuration reference.
|
||||
- **`AGENTS.md`** "Critical Anti-Patterns" — the HARD BANs (git restore, git stash, git reset) this track must not violate.
|
||||
@@ -0,0 +1,57 @@
|
||||
# Track state for superpowers_review_apply_high_20260705
|
||||
# Updated by Tier 1 Orchestrator as phases complete
|
||||
|
||||
[meta]
|
||||
track_id = "superpowers_review_apply_high_20260705"
|
||||
name = "Apply HIGH-Priority Recommendations from superpowers_review_20260619"
|
||||
status = "active"
|
||||
current_phase = 0 # 0 = pre-Phase 1; spec is written but no implementation yet
|
||||
last_updated = "2026-07-05"
|
||||
|
||||
[blocked_by]
|
||||
# superpowers_review_20260619 shipped 2026-07-05 (commit 137868a1); blocker cleared.
|
||||
# Recommendation #3 already executed 2026-07-05 (commit 508baa69); this track covers #1 + #2.
|
||||
|
||||
[blocks]
|
||||
# No followup tracks blocked on this one.
|
||||
|
||||
[phases]
|
||||
phase_1 = { status = "pending", checkpointsha = "", name = "Session Start Checklist Update" }
|
||||
phase_2 = { status = "pending", checkpointsha = "", name = "MMA Skill Discipline Tests" }
|
||||
phase_3 = { status = "pending", checkpointsha = "", name = "Cross-Reference + Finalize" }
|
||||
|
||||
[tasks]
|
||||
# Phase 1
|
||||
t1_1 = { status = "pending", commit_sha = "", description = "Read current Session Start Checklist in conductor/workflow.md" }
|
||||
t1_2 = { status = "pending", commit_sha = "", description = "Add item 13 'Spec-first is mandatory for any creative work' with cross-reference to superpowers_review_20260619/report.md §2" }
|
||||
t1_3 = { status = "pending", commit_sha = "", description = "Commit + git note" }
|
||||
|
||||
# Phase 2
|
||||
t2_1 = { status = "pending", commit_sha = "", description = "Write tests/test_mma_skill_discipline.py with 5 test classes + shared helpers" }
|
||||
t2_2 = { status = "pending", commit_sha = "", description = "Run pytest tests/test_mma_skill_discipline.py -v to verify all tests pass" }
|
||||
t2_3 = { status = "pending", commit_sha = "", description = "Commit + git notes" }
|
||||
|
||||
# Phase 3
|
||||
t3_1 = { status = "pending", commit_sha = "", description = "Add cross-reference in conductor/workflow.md §\"Conductor Token Firewalling\" §1 to the new test file" }
|
||||
t3_2 = { status = "pending", commit_sha = "", description = "Update conductor/tracks.md row to Completed" }
|
||||
t3_3 = { status = "pending", commit_sha = "", description = "Update state.toml to current_phase=3 + all tasks completed" }
|
||||
t3_4 = { status = "pending", commit_sha = "", description = "Commit + git notes" }
|
||||
|
||||
[verification]
|
||||
session_start_checklist_item_13_added = false
|
||||
test_mma_skill_discipline_py_exists = false
|
||||
all_tests_pass = false
|
||||
test_run_time_under_5_seconds = false
|
||||
conductor_token_firewalling_cross_reference_added = false
|
||||
tracks_md_row_marked_completed = false
|
||||
state_toml_current_phase_3 = false
|
||||
no_mma_skill_modifications = false
|
||||
no_src_modifications = false
|
||||
all_7_commits_atomic_with_git_notes = false
|
||||
|
||||
[user_directives_logged]
|
||||
apply_high_priority = "Per user 2026-07-05 'go for it on those recommendations': execute HIGH-priority #1 (Session Start Checklist) and #2 (MMA skill discipline tests)."
|
||||
recommendation_3_already_done = "Recommendation #3 (dual-convention cleanup) executed in commit 508baa69 on 2026-07-05; not in this track's scope."
|
||||
no_src_changes = "Per AGENTS.md hard rules + the project's Tier 1 convention, no new src/*.py files. The only new file is tests/test_mma_skill_discipline.py."
|
||||
no_skill_changes = "The 5 MMA skills in .agents/skills/ are verification subjects, not modifications."
|
||||
no_day_estimates = "Per conductor/workflow.md Tier 1 Track Initialization Rules (added 2026-06-16). Scope measured in files/sites only."
|
||||
Reference in New Issue
Block a user