-
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 🌍 — 🇬🇧 EN, 🇷🇺 RU, 🇪🇪 ET, 🫡 ДED, 🇯🇵 JA, 🇺🇦 UK, 🇩🇪 DE, 🇫🇷 FR, 🇪🇸 ES, 🇮🇹 IT, 🇵🇹 PT, 🇳🇱 NL, 🇵🇱 PL, 🇸🇪 SV, 🇩🇰 DA, 🇫🇮 FI, 🇳🇴 NO, 🇨🇳 ZH, 🇰🇷 KO, 🇹🇭 TH, 🇻🇳 VI, 🌍 AR, 🇮🇱 HE, 🇹🇷 TR, 🇮🇳 HI, 🇮🇩 ID, 🇬🇷 EL, 🇨🇿 CS, 🇷🇴 RO, 🇭🇺 HU, 🇧🇬 BG, 🇸🇰 SK, 🇭🇷 HR. 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