-
Notifications
You must be signed in to change notification settings - Fork 0
SubSaipen
Delegatable read-only agent roles for parallel work. Any sai* bare word auto-spawns sub-agent with full read-only isolation.
-
Auto-spawn: Type
sai*name (e.g.saihunt). Not exist → created automatically. -
Read-only: Read project files. MUST NOT write main tree. Findings → own
kitchen/OUTBOX.md. -
Isolation: Each subSaipen has own STATE.md, BOARD.md, LOG.md, kitchen/ at
.saipen/extensions/subs/<name>/. -
Collection: Main agent runs
collect→ reads OUTBOXes → acts on findings. - Crew mode: 3 subSaipen run simultaneously in split-window layout.
Role: Wiki + content maintenance.
Workflow:
- Adopt → read top TODO on board
- Draft wiki pages from main project (read-only)
- Write page-ready content to
kitchen/OUTBOX.md - Never writes main tree
Shipped: WIKI-001 (locale audit), WIKI-002 (badge-drift maintenance), WIKI-003 (wiki injection)
DED: Wiki outdated? Docs wrong? Grandpa yells "READ THE WIKI". Wiki lies. saiwiki fixes. Grandpa stops yelling.
Role: Autonomous bug/code-quality sweep runner.
Workflow:
- Adopt → read top HUNT ticket on board
- Run 6-category sweep against HEAD
- Write findings to
kitchen/OUTBOX.mdwith severity (critical: true|false) - Never writes main tree
6 categories:
- Failing tests
- Unverified commits in LOG
- Stale TODO/FIXME/HACK markers
- Silent failures (empty catches, ignored returns)
- Symmetry gaps (missing counterpart)
- Dead code + orphans
Auto-cleanup: Up to 5 "obvious junk" files per sweep auto-deleted (no ticket).
DED: Manual bug hunt. Grandpa clicks around. Misses half. saihunt runs 6 categories. No mercy. Bugs found. Grandpa retires.
Role: Translation locale structure validation + maintenance.
Workflow:
- Adopt → validate translation kitchen structure
- Check 32 locales have 5 required files, valid UTF-8
- Verify version badges match current VERSION
- Report drift to
kitchen/OUTBOX.md - Never writes main tree
Coverage: 32 locales, 5 files per locale (README, SECURITY, CONTRIBUTING, SPEC, CODE_OF_CONDUCT)
DED: Grandpa wants French. Agent gives "oui oui baguette". 32 locales? "Not my job". saitranslate validates all. Grandpa impressed.
Role: Python-specific code analysis + maintenance.
Workflow:
- Adopt → read top TODO on board
- Analyze Python code: type hints, imports, patterns
- Write analysis to
kitchen/OUTBOX.md
Shipped: pen/ scratch dir in kitchen for Python scratch work.
DED: Python code messy. Grandpa sees type hints missing. "Amateur hour". saipython analyzes. Grandpa nods.
Spawn:
saipen sub spawn <name>Or auto-spawn by typing bare sai* name. Gets TEMPLATE-based STATE.md, empty BOARD/LOG, kitchen/.
.saipen/extensions/subs/<name>/
STATE.md # phase, task, next_action, mode: read-only
BOARD.md # ticket tracking
LOG.md # events
kitchen/OUTBOX.md # findings
-
_shared/inbox.md— cross-subSaipen message board -
MANIFEST.md— registry of all spawned subSaipen with activity timestamps -
PROTOCOL.md— formal subSaipen protocol (read-only, adoption, collection rules) -
crew.md— crew mode protocol for 3 concurrent subSaipen -
TEMPLATE/— blank templates forsaipen sub spawn
Main agent collects subSaipen output:
collectReads all OUTBOX.md files, acts on findings, marks collected. Findings range info-level (structure OK) to critical (security bug).
SAIPEN v7.158.0 — One command. Zero dependencies. Zero amnesia. — MIT