| name | factory-status |
| description | Display the current Factory dashboard for the repository by reading the manifest, memory files, active stop signal, worktrees, and open Factory PRs. Use when checking progress, streaks, coverage movement, or current stop state. |
Factory Status
Display the current status of the Factory for this repository.
Steps
1. Check Manifest
Read factory.manifest.json from the repo root. If it does not exist, tell the user to run factory-bootstrap first.
2. Read Memory Files
Read all memory files from .factory/memory/:
velocity.md -> cycle history
coverage.md -> coverage progression
fixes.md -> successful changes
failures.md -> failed attempts
lessons.md -> accumulated learnings
3. Compute Metrics
From the velocity log, calculate:
- Total cycles: Count of all cycles
- Success rate: Successes / total cycles
- Current streak: Consecutive successes at current level
- Average cycle time: Mean duration across all cycles
- PRs created: Count of successful cycles
- Current difficulty level: From manifest
From the coverage log, calculate:
- Coverage progression: Starting coverage -> current coverage
- Total coverage delta: Sum of all deltas
- Best single improvement: Largest delta from one cycle
From the failures log:
- Most-failed file: File with the most failure entries
- Common failure patterns: Recurring error types
4. Check Active State
- Is the factory currently running? Check for
.factory/STOP file (absence = might be running)
- Are there active worktrees? Check
.factory/worktrees/
- Any open Factory PRs? Run
gh pr list --label factory --state open
5. Display Dashboard
Factory Status — <repo name>
══════════════════════════════
Factory: <RUNNING | STOPPED | IDLE>
Level: <N> — <description>
Streak: <N> consecutive successes
Cycles: <total> total (<successes> success, <failures> failed)
Success Rate: <X>%
PRs Created: <N> (<open> open, <merged> merged)
Coverage: <start>% -> <current>% (+<delta>%)
Best Cycle: +<N>% on <file>
Avg Time: <N>s per cycle
Top Coverage Gaps Remaining:
1. <file> — <X>% coverage
2. <file> — <X>% coverage
3. <file> — <X>% coverage
Recent Cycles:
<timestamp> — <file> — <SUCCESS|FAILURE> — <PR URL or reason>
<timestamp> — <file> — <SUCCESS|FAILURE> — <PR URL or reason>
<timestamp> — <file> — <SUCCESS|FAILURE> — <PR URL or reason>
Most-Failed: <file> (<N> attempts)
If any memory files do not exist, show No data yet — run factory to start.