-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Continuation protocol for AI coding agents. Project memory in plain markdown. Cold agent with zero history runs /saipen continue, reads STATE->BOARD->LOG tail, executes next_action, resumes in under a minute. Any vendor, any day.
User -> /saipen continue
Agent -> reads STATE.md (phase, task, next_action, mode, human_note)
Agent -> reads BOARD.md (DOING / TODO / DONE / BLOCKED tickets)
Agent -> reads active LOG.md tail (recent events)
Agent -> executes next_action immediately
Agent -> loads phase doc only when rules needed
Agent -> Works.
| Command | Effect |
|---|---|
saipen set / saipen init
|
Bootstrap .saipen/ |
saipen continue / bare saipen
|
Resume from STATE |
saipen goal <text> |
Pivot to objective, run to completion |
saipen plan |
Enter PLAN phase |
saipen clean |
Deep repo scrub |
saipen translate |
Isolated translation build |
saipen markhunt |
Dry exhaustive audit (record only) |
saipen prepare |
Package work for handoff |
saipen ship |
Version bump, tag, push |
saipen validate |
Run conformance checker |
saipen status |
Read-only board report |
saipen stop |
Checkpoint + halt |
| Layer | Required | Purpose |
|---|---|---|
| Core | ✅ | Continue work safely |
| Maintenance | On top of Core | Evolve software with no tasking |
Core state machine: INIT -> PLAN -> SCOUT -> BUILD -> VERIFY -> REVIEW -> SHIP -> DONE | BLOCKED
Autonomous evolution: Empty board at DONE -> auto HUNT -> ADD -> HUNT... until mature or capped (3 waves / 20 tickets).
Goal mode: saipen goal <objective> - autonomous run with safety valve. Auto-pivots, auto-ships, auto-hunts. Stops at maturity or caps.
-
WAIT categories (v7.93.0): Closed 7-word vocabulary —
manual-verify,destructive-op,first-publish,user brake,blocked,safety valve,init. Makes stopping mechanically distinguishable. -
Cross-document drift detector (v7.93.0):
tools/validate.pyparses 6 sets from RFC, FAILs on schema/validator/BOOT/CONFORMANCE disagreement. -
Portable floor (v7.94.0-97.0):
validate.sh+validate.ps1probe all 9 RFC SS1.2 fields, frozen against new checks. Audited bytools/audit_floor.py— 20 mutations, both halves proven red (v7.100.0). - SubSaipen protocol (v7.91.0): OUTBOX validated (status/summary/critical), patch-with-evidence format, read-only workers. Sub liveness now machine-checked: never-run instances WARN, unreviewed findings WARN (v7.99.0).
- Determinism invariants (v7.86.0-92.0): fixed action priority, RECOVER/FINISH/START hierarchy, one-ticket-at-a-time.
- CI gates pushes (v7.98.0): validate.yml fires on push to main/master and pull_request, with concurrency group. Pre-commit hook remains the opt-in per-machine gate.
- Drift hunt validation (v7.98.0): validate.py expanded to subSaipen next_action, self-transition enum, adapter paths. Plus (v7.102.0): all 9 adapters now name BOOT.md — no cold agent pays 25x the necessary read.
- SubSaipen production ready (v7.98.0): 4 live instances running since v7.84.0.
- Validator linted (v7.99.0): 9 cp1251-mangled section signs found inside its own FAIL messages — valid UTF-8, invisible to its own U+FFFD check. Repaired; CI runs ruff. Push claims now verified against git — a next_action claiming "pushed" with local-only commits FAILs.
- Doc inventory (v7.100.0): 184 shipped documents accounted for. Every one under a check or exempt with a stated reason. No more orphan files at phantom paths.
- Citation resolution (v7.101.0): every SS N.N and phases/.md reference in a shipped doc must name something that exists. 103 docs scanned, zero dangling.
- KNOWLEDGE/ under checks (v7.101.0): traps.md and decisions.md both taught a WAIT-at-DONE rule superseded 9 releases earlier. No more blanketed exemptions for project data.
- Mojibake lint (v7.103.0): 5 cp1251 corruption sequences detected across every shipped doc, not a curated 4. Found a mangled arrow in traps.md — the very file documenting the corruption.
99 behavioral conformance scenarios (v7.103.0) — each tests a specific SAIPEN invariant. 9 executable, 90 behavioral.
git clone https://github.com/vacterro/saipen
cd saipen
powershell -ExecutionPolicy Bypass -File .\bootstrap\inject.ps1 # Windows
bash bootstrap/inject.sh # macOS / LinuxPaste to any agent: Read <clone>/saipen/BOOT.md first (cold-start kernel), then <clone>/saipen/RFC.md + <clone>/saipen/STYLE.md
Windows users: inject.sh now converts paths via
cygpath -wunder git bash / MSYS / Cygwin — no more dead paths in CLAUDE.md that no Windows agent can open (v7.100.0).
"Без SAIPEN: открываешь проект через неделю — 'кто тут? что за код? где я остановился?' С SAIPEN: 'привет, продолжай, T-42 в DOING, verify не было, чини.' Один чтение — и работаешь. Никакого 'расскажи что ты делал'. Никакого 'дай контекст'. Просто STATE.md открыл — и всё понял."
SAIPEN v7.158.0 — One command. Zero dependencies. Zero amnesia. — MIT