Private
Public Access
0
0
Files
manual_slop/docs/superpowers/plans/2026-06-02-agent-config-refresh.md
T

459 lines
20 KiB
Markdown

# Agent Config Refresh Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Apply the explicit divergence model to `AGENTS.md`, `CLAUDE.md`, and `GEMINI.md`. `AGENTS.md` becomes a thin pointer document (~1K). `CLAUDE.md` becomes a 1-line deprecation stub. `GEMINI.md` is lightly refreshed to remove any content that should have moved to `AGENTS.md`. Light verification pass (not rewrites) on the skill files in `.agents/`, `.gemini/`, and the legacy `.claude/commands/`.
**Architecture:** Single-agent sequential execution. Each top-level file is its own task. Skill file verification is a separate task that touches many files but only makes surgical edits where drift is found.
**Tech Stack:** Manual Slop's MCP research tools. Git for version control.
**Spec:** `docs/superpowers/specs/2026-06-02-comprehensive-documentation-refresh-design.md` §6 (Sub-Track 3).
**Depends on:** Sub-Track 1 (`docs_layer_refresh_20260602`) must complete first. The human-facing docs are the source of truth that the agent config files point to.
---
## Execution Constraints
These apply to every task in this plan:
- **No subagents.** Execute as a single agent.
- **Pre-edit checkpoint:** Before any file edit, run `git add .`.
- **Per-file atomic commits:** One file = one commit. The skill file verification task may have many commits (one per file) since there are many files, but each is still atomic.
- **Commit message format:** `docs(<scope>): <imperative description>`.
- **Git note format:** Attach a 3-8 line rationale to each commit.
- **The "no content duplication" rule:** After this plan completes, a section header that appears in 2+ of `AGENTS.md`/`CLAUDE.md`/`GEMINI.md` must be either (a) a short pointer (≤3 lines) to the canonical home, or (b) a violation to fix.
---
## Task 1: Rewrite `AGENTS.md` to a Thin Pointer
**Files:**
- Modify: `AGENTS.md` (current size ~5.4K)
**Target structure:** A thin orientation document of ~1K that:
- Describes what Manual Slop is (1-2 sentences)
- States the conductor convention (1 paragraph)
- Lists the canonical locations for agent guidance (with file links)
- Lists the 5-6 most critical project-wide anti-patterns
- Points to `docs/Readme.md` for human-facing docs
**Specific target content (use as a starting template, adapt to current state):**
```markdown
# AGENTS.md
## What This Is
Manual Slop is a local GUI orchestrator for LLM-driven coding sessions. It bridges high-latency AI reasoning with a low-latency ImGui render loop via a thread-safe async pipeline; every AI-generated payload passes through a human-auditable gate before execution.
## The Conductor Convention
All AI agents consuming this project must read `./conductor/workflow.md` and treat `./conductor/tracks.md` as the task registry. Track implementation follows the TDD protocol documented in `conductor/workflow.md` with per-file atomic commits and git notes.
## Guidance for AI Agents
Detailed agent guidance lives in the following locations — read these directly, do not duplicate content here:
- **Operational workflow:** `conductor/workflow.md`
- **Code style and process:** `conductor/product-guidelines.md`
- **Tech stack and constraints:** `conductor/tech-stack.md`
- **Product context:** `conductor/product.md`
- **MMA orchestrator role:** `mma-orchestrator/SKILL.md`
- **Tier 1 (Orchestrator):** `.agents/skills/mma-tier1-orchestrator/SKILL.md`
- **Tier 2 (Tech Lead):** `.agents/skills/mma-tier2-tech-lead/SKILL.md`
- **Tier 3 (Worker):** `.agents/skills/mma-tier3-worker/SKILL.md`
- **Tier 4 (QA):** `.agents/skills/mma-tier4-qa/SKILL.md`
## Human-Facing Documentation
For understanding, using, and maintaining the tool, see `docs/Readme.md` and the guides it indexes.
## Critical Anti-Patterns
- Do not read full files >50 lines without first using `py_get_skeleton` or `get_file_summary`
- Do not modify the tech stack without updating `conductor/tech-stack.md` first
- Do not implement code directly as Tier 2 — delegate to Tier 3 workers (or in the case of this docs track, do it yourself as a single agent)
- Do not skip TDD — write failing tests before implementation
- Do not batch commits — commit per-task for atomic rollback
- Do not add comments to source code; documentation lives in `/docs`
```
- [ ] **Step 1.1: Pre-edit checkpoint**
```powershell
git -C C:\projects\manual_slop add .
```
- [ ] **Step 1.2: Read the current `AGENTS.md`**
Use `manual-slop_read_file` (the file is small enough to read in full).
- [ ] **Step 1.3: Inventory what content currently lives in `AGENTS.md`**
For each major section in the current file, note:
- **Keep here:** Project-level orientation, anti-patterns, the conductor convention
- **Move to `conductor/workflow.md`:** Workflow details
- **Move to `conductor/product-guidelines.md`:** Style rules
- **Move to `conductor/tech-stack.md`:** Tech stack details
- **Move to `conductor/product.md`:** Feature descriptions
- **Move to `mma-orchestrator/SKILL.md`:** MMA role details
- **Move to the relevant `.agents/skills/*/SKILL.md`:** Tier-specific guidance
- **Move to `docs/Readme.md`:** Anything that documents the tool for humans (not agents)
- [ ] **Step 1.4: Verify the target skill files exist and have the content**
Before writing `AGENTS.md`, confirm:
- `mma-orchestrator/SKILL.md` exists
- `.agents/skills/mma-tier1-orchestrator/SKILL.md` exists
- `.agents/skills/mma-tier2-tech-lead/SKILL.md` exists
- `.agents/skills/mma-tier3-worker/SKILL.md` exists
- `.agents/skills/mma-tier4-qa/SKILL.md` exists
- `conductor/workflow.md` exists
- `conductor/product-guidelines.md` exists
- `conductor/tech-stack.md` exists
- `conductor/product.md` exists
- `docs/Readme.md` exists (and is updated per Sub-Track 1)
If any are missing, do NOT write `AGENTS.md` until they exist. (They should exist by the time Sub-Track 3 runs, since Sub-Track 1 has completed.)
- [ ] **Step 1.5: Write the new `AGENTS.md`**
Use the target structure above as a starting template. Adapt the language to match the project's style. Keep the file under 1.5K.
- [ ] **Step 1.6: Validate all cross-doc links in the new file**
For every `[text](./relative/path)` or file mention:
- Use `manual-slop_search_files` to confirm the target exists
- If broken, fix the link or remove the mention
- [ ] **Step 1.7: Confirm size is reasonable**
```powershell
(Get-Item C:\projects\manual_slop\AGENTS.md).Length
```
Should be ≤ 1500 bytes. If larger, trim.
- [ ] **Step 1.8: Commit**
```powershell
git -C C:\projects\manual_slop add AGENTS.md
git -C C:\projects\manual_slop commit -m "docs(agents): rewrite as thin pointer document; defer to skill files and conductor docs"
git -C C:\projects\manual_slop log -1 --format="%H" | ForEach-Object { git -C C:\projects\manual_slop notes add -m "Reduced from [N]K to ~1K. Content relocated to: [list canonical homes]. Anti-patterns compressed to 6 most critical." $_ }
```
---
## Task 2: Replace `CLAUDE.md` with a 1-Line Stub
**Files:**
- Modify: `CLAUDE.md` (current size ~6.7K)
**Target content:** A 1-line deprecation stub that preserves the file's existence for any external tooling that may reference it.
- [ ] **Step 2.1: Pre-edit checkpoint**
```powershell
git -C C:\projects\manual_slop add .
```
- [ ] **Step 2.2: Read the current `CLAUDE.md`**
- [ ] **Step 2.3: Verify no external scripts reference the CLAUDE.md content**
Use `manual-slop_py_find_usages` to grep for any code that reads CLAUDE.md's specific sections. If anything does, the stub approach still works (the script will get a 1-line file instead of the rich content, but it's a graceful failure).
If critical tooling depends on the rich content, flag this to the user before continuing.
- [ ] **Step 2.4: Write the stub**
```markdown
# CLAUDE.md
This project is no longer actively used with Claude Code. For project context, see `AGENTS.md`. The conductor system in `./conductor/` is the cross-tool abstraction and works with any agent toolchain.
```
- [ ] **Step 2.5: Confirm size is small**
```powershell
(Get-Item C:\projects\manual_slop\CLAUDE.md).Length
```
Should be ≤ 500 bytes.
- [ ] **Step 2.6: Commit**
```powershell
git -C C:\projects\manual_slop add CLAUDE.md
git -C C:\projects\manual_slop commit -m "docs(claude): replace with deprecation stub; project no longer uses Claude Code"
git -C C:\projects\manual_slop log -1 --format="%H" | ForEach-Object { git -C C:\projects\manual_slop notes add -m "Reduced from [N]K to stub. Preserves file existence for any legacy tooling. Project migrated to Gemini CLI + OpenCode." $_ }
```
---
## Task 3: Refresh `GEMINI.md`
**Files:**
- Modify: `GEMINI.md` (current size ~3.8K)
- Reference: `conductor/product.md` (now updated per Sub-Track 2), `conductor/tech-stack.md`, `src/gemini_cli_adapter.py`
**Scope:** This file should contain ONLY Gemini-CLI-specific content. Any content that was previously shared with `AGENTS.md` and has been relocated should now point to `AGENTS.md` instead.
- [ ] **Step 3.1: Pre-edit checkpoint**
```powershell
git -C C:\projects\manual_slop add .
```
- [ ] **Step 3.2: Read the current `GEMINI.md`**
- [ ] **Step 3.3: Identify any content in `GEMINI.md` that is not Gemini-specific**
For each section, ask: "Would this content be useful to an agent that is NOT using Gemini CLI?" If yes, it should be in `AGENTS.md` or a conductor doc, not here.
Likely candidates to move out (or point to canonical home):
- General MMA tier descriptions (should be in `AGENTS.md` or `mma-orchestrator/SKILL.md`)
- General session startup checklist (should be in `AGENTS.md`)
- General anti-patterns (should be in `AGENTS.md` or `conductor/product-guidelines.md`)
Content that should stay (Gemini-CLI-specific):
- Gemini model routing per MMA tier
- `activate_skill` usage for MMA roles
- Gemini CLI bridge architecture (`gemini_cli_adapter.py`, `GEMINI_CLI_HOOK_CONTEXT`, synchronous HITL approval)
- Gemini-specific caching/TTL behavior
- Provider-specific quirks (cache rebuilding at 90% TTL, server-side context cache)
- `gemini-3.1-pro-preview` / `gemini-3-flash-preview` / `gemini-2.5-flash-lite` model names
- [ ] **Step 3.4: Rewrite `GEMINI.md` to contain only Gemini-CLI-specific content**
For each non-Gemini-specific section, replace with a short pointer to the canonical home (e.g., "See `AGENTS.md` for the MMA tier overview. This document covers Gemini-CLI-specific implementation only.").
- [ ] **Step 3.5: Verify Gemini-specific content is accurate**
For each Gemini-specific claim:
- Verify model names match `conductor/tech-stack.md`
- Verify TTL/cache behavior matches `src/ai_client.py` and `src/gemini_cli_adapter.py`
- Verify the bridge architecture description matches the actual code
- [ ] **Step 3.6: Validate all cross-doc links**
- [ ] **Step 3.7: Commit**
```powershell
git -C C:\projects\manual_slop add GEMINI.md
git -C C:\projects\manual_slop commit -m "docs(gemini): refresh and reduce to Gemini-CLI-specific content"
git -C C:\projects\manual_slop log -1 --format="%H" | ForEach-Object { git -C C:\projects\manual_slop notes add -m "Replaced [N] sections with pointers to AGENTS.md. Kept [list of Gemini-specific sections]." $_ }
```
---
## Task 4: Light Verification of `.agents/skills/*/SKILL.md` and `mma-orchestrator/SKILL.md`
**Files:**
- Read: `mma-orchestrator/SKILL.md` (~9.3K)
- Read: `.agents/skills/mma-tier1-orchestrator/SKILL.md` (~2.4K)
- Read: `.agents/skills/mma-tier2-tech-lead/SKILL.md` (~3.8K)
- Read: `.agents/skills/mma-tier3-worker/SKILL.md`
- Read: `.agents/skills/mma-tier4-qa/SKILL.md` (~813 bytes)
- Read: `.agents/skills/mma-orchestrator/SKILL.md` (~9.7K)
**Scope:** This is a LIGHT verification pass. For each file:
1. Read it
2. Confirm it covers the role accurately (cross-reference with the orchestrator skill's role description)
3. If drift is found, make a surgical fix
4. If the file is fundamentally outdated, FLAG for a separate track — do NOT rewrite wholesale here
- [ ] **Step 4.1: Pre-edit checkpoint**
```powershell
git -C C:\projects\manual_slop add .
```
- [ ] **Step 4.2: Read the canonical orchestrator skill**
Use `manual-slop_read_file` on `mma-orchestrator/SKILL.md`. This is the source of truth for the MMA architecture.
- [ ] **Step 4.3: For each tier skill (1-4), verify role accuracy**
For each `.agents/skills/mma-tierN-*/SKILL.md`:
- Read it (use `manual-slop_read_file`)
- Cross-reference with the orchestrator skill's description of the tier
- Note any drift: missing responsibilities, stale model names, wrong tool references
- [ ] **Step 4.4: For each drift found, make a surgical fix**
If the drift is small (a model name, a tool name, a single responsibility statement):
- Make the fix in place
- Commit per file
If the drift is large (the whole role description is outdated):
- DO NOT rewrite in this plan
- Note it in the commit message
- Add a task to a SEPARATE follow-up track (do not create new tasks in this plan)
- [ ] **Step 4.5: For each file with a surgical fix, commit**
```powershell
git -C C:\projects\manual_slop add .agents/skills/mma-tierN-*/SKILL.md
git -C C:\projects\manual_slop commit -m "docs(skills): fix drift in [tierN] skill - [specific fix]"
git -C C:\projects\manual_slop log -1 --format="%H" | ForEach-Object { git -C C:\projects\manual_slop notes add -m "Found drift: [description]. Surgical fix applied: [what changed]. Larger rewrites deferred to [reason]." $_ }
```
- [ ] **Step 4.6: If no drift is found, commit an empty verification log**
```powershell
git -C C:\projects\manual_slop commit --allow-empty -m "docs(skills): verify all 5 skill files are coherent with orchestrator SKILL.md"
git -C C:\projects\manual_slop log -1 --format="%H" | ForEach-Object { git -C C:\projects\manual_slop notes add -m "Read all 5 skill files. Cross-referenced with orchestrator SKILL.md. No drift found." $_ }
```
---
## Task 5: Light Verification of `.gemini/...` Mirrors
**Files:**
- Read: `.gemini/skills/mma-orchestrator/SKILL.md`
- Read: `.gemini/skills/mma-tier1-orchestrator/SKILL.md`
- Read: `.gemini/skills/mma-tier2-tech-lead/SKILL.md`
- Read: `.gemini/skills/mma-tier3-worker/SKILL.md`
- Read: `.gemini/skills/mma-tier4-qa/SKILL.md`
- Read: `.gemini/agents/tier1-orchestrator.md`
- Read: `.gemini/agents/tier2-tech-lead.md`
- Read: `.gemini/agents/tier3-worker.md`
- Read: `.gemini/agents/tier4-qa.md`
**Scope:** Compare the `.gemini/` mirror files against their canonical counterparts (`.agents/...`). If drift is found, fix it. This is the same LIGHT verification as Task 4 but for the Gemini-specific mirrors.
- [ ] **Step 5.1: Pre-edit checkpoint**
```powershell
git -C C:\projects\manual_slop add .
```
- [ ] **Step 5.2: For each `.gemini/...` file, compare to its canonical counterpart**
For each file:
- Read both the mirror and the canonical
- Diff them
- If different, determine which is the source of truth
- If the mirror is stale, fix it to match the canonical (or vice versa, depending on the file's role)
- [ ] **Step 5.3: For each drift found, commit per file**
```powershell
git -C C:\projects\manual_slop add .gemini/[path]
git -C C:\projects\manual_slop commit -m "docs(gemini-mirror): sync [file] with [canonical source]"
git -C C:\projects\manual_slop log -1 --format="%H" | ForEach-Object { git -C C:\projects\manual_slop notes add -m "Mirror was out of sync. Updated to match canonical [path]." $_ }
```
---
## Task 6: Light Verification of `.claude/commands/*.md` (Legacy)
**Files:**
- Read: every file in `.claude/commands/` (9 files per the directory listing)
**Scope:** These are legacy files for backward compatibility. Lightly verify they still work and don't reference removed features. Do NOT rewrite — they are legacy.
- [ ] **Step 6.1: Pre-edit checkpoint**
```powershell
git -C C:\projects\manual_slop add .
```
- [ ] **Step 6.2: Read each file and check for broken references**
For each `.claude/commands/*.md`:
- Use `manual-slop_read_file` (they're small)
- Check for references to removed features (e.g., `gui_legacy.py`, `tkinter`, removed modules)
- Check for links that no longer resolve
- [ ] **Step 6.3: For each broken reference, decide**
Options:
- (a) Fix the broken reference (small edit)
- (b) Add a "(DEPRECATED)" notice to the file
- (c) Leave alone (legacy)
Default: (a) if it's a trivial fix (e.g., a link to a renamed file). (b) if the whole file is suspect. (c) if it's working and just old.
- [ ] **Step 6.4: For each file with a fix, commit per file**
```powershell
git -C C:\projects\manual_slop add .claude/commands/[file]
git -C C:\projects\manual_slop commit -m "docs(claude-commands): fix broken reference in [file]"
git -C C:\projects\manual_slop log -1 --format="%H" | ForEach-Object { git -C C:\projects\manual_slop notes add -m "Found broken reference to [X]. Fixed by [what]." $_ }
```
---
## Task 7: Sub-Track 3 Verification (Drift Check)
- [ ] **Step 7.1: Section header drift audit**
For the section headers that should have been relocated, confirm each appears in at most one of `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`:
```powershell
$headers = @("Session Startup", "Conductor System", "MMA 4-Tier", "Anti-Patterns", "Development Workflow", "Code Style", "MCP Tool")
foreach ($h in $headers) {
$inAgents = Select-String -Path C:\projects\manual_slop\AGENTS.md -Pattern $h -SimpleMatch -Quiet
$inClaude = Select-String -Path C:\projects\manual_slop\CLAUDE.md -Pattern $h -SimpleMatch -Quiet
$inGemini = Select-String -Path C:\projects\manual_slop\GEMINI.md -Pattern $h -SimpleMatch -Quiet
$count = @($inAgents, $inClaude, $inGemini) | Where-Object { $_ } | Measure-Object | Select-Object -ExpandProperty Count
if ($count -gt 1) { Write-Host "DRIFT: '$h' appears in $count files" }
}
```
If any header appears in 2+ files, the divergence model is violated. Either:
- (a) The duplicate is a short pointer (≤3 lines) → OK
- (b) The duplicate is full content → Fix by relocating
- [ ] **Step 7.2: Size sanity check**
```powershell
(Get-Item C:\projects\manual_slop\AGENTS.md).Length
(Get-Item C:\projects\manual_slop\CLAUDE.md).Length
(Get-Item C:\projects\manual_slop\GEMINI.md).Length
```
- AGENTS.md should be ≤ 1.5K
- CLAUDE.md should be ≤ 500 bytes
- GEMINI.md can be larger (Gemini-specific content is allowed) but should not contain duplicated agent-orientation content
- [ ] **Step 7.3: Link validation**
For every `[text](./relative/path)` in each of the 3 files, verify the target exists.
- [ ] **Step 7.4: Per-file commit verification**
```powershell
git -C C:\projects\manual_slop log --oneline -- AGENTS.md CLAUDE.md GEMINI.md .agents/ .gemini/ .claude/ | head -30
```
Confirm every file has its own commit history (not batched).
- [ ] **Step 7.5: Git note verification**
```powershell
git -C C:\projects\manual_slop log --format="%H" -- AGENTS.md CLAUDE.md GEMINI.md .agents/ .gemini/ .claude/ | Select-Object -First 20 | ForEach-Object { $note = git -C C:\projects\manual_slop notes show $_ 2>$null; if (-not $note) { Write-Host "MISSING NOTE: $_" } }
```
- [ ] **Step 7.6: Phase completion checkpoint**
Per the project's Phase Completion Verification protocol in `conductor/workflow.md`:
- Run the automated test suite
- Present the verification report to the user
- Get user sign-off
- Create the checkpoint commit: `conductor(checkpoint): Sub-Track 3 (agent config refresh) complete`
- Attach the verification report as a git note
---
## Self-Review (after writing this plan)
1. **Spec coverage:** Spec §6 has 6 phases (3.1-3.6). Tasks 1-3 cover 3.1-3.3. Tasks 4-6 cover 3.4-3.5 (skills, mirrors, legacy commands). Task 7 covers 3.6 (verification). ✓ All phases covered.
2. **Placeholder scan:** No "TBD" / "TODO" markers. The "If drift is found, fix it; if fundamentally outdated, flag for separate track" decision rule is explicit in Task 4.4. ✓
3. **Type/symbol consistency:** File paths, section header names, and the drift audit script are all consistent. ✓
4. **Risk check:** The stub approach for CLAUDE.md preserves compatibility. The "light verification, flag for separate track" pattern prevents scope creep. The drift audit script in Step 7.1 is concrete and runnable. ✓