Systematic review of all doc/, docs/internal/, docs/public/, ARCHITECTURE.md,
and README.md against recent codebase changes. 16 files updated:
Cross-cutting fixes (multiple files):
- Model references: anthropic/claude-3-5-sonnet → zai/glm-5-turbo (4 files)
- Port references: hardcoded 3100 → CONTROLPLANE_API_PORT (3 files)
- Skills mechanism: --no-skills + --append-system-prompt + skills_search (6 files)
- CONTROLPLANE_SHARED_SECRET: documented in security, architecture, install (5 files)
- Prompt guardrails: AGENT_MAX_INBOUND_CHARS etc. added to 3 files
- controlplane is NOT a jail — runs on host (3 files corrected)
- git jail added to layouts and IP tables (3 files)
- npm run → just (2 files)
Specific fixes:
- .env.example: AGENT_SESSION_MAX_BYTES session rollover hint
- README.md: fix IP layout (git=.6 not .4), add run-*.sh generation note
- ARCHITECTURE.md: add config vars, recipe count update, --no-skills
- doc/CONTROLPLANE-AGENT-ROLES.md: fix model, remove deleted file ref
- doc/CONTROLPLANE-ARCHITECTURE.md: port params, security, guardrails section
- doc/CONTROLPLANE-MESSAGE-CONTRACT.md: auth header, skills catalog rewrite
- doc/SESSION-HANDOFF-2026-04-18.md: fix Telegram (plain text not Markdown)
- doc/THREE-BIRD-ARCHITECTURE.md: fix 5 broken STRAPI-FREEBSD-GOTCHA refs
- doc/HANDOFF-PHASE7.md: mark sysprompt cleanup as done
- docs/internal/DOCUMENTATION.md: just CLI, tracked hooks, parameterized paths
- docs/internal/HEARTBEAT.md: add controlplane heartbeat reference, fix setup step
- docs/public/architecture/controlplane.md: phases 2-7 all ✅ DONE
- docs/public/architecture/freebsd-jail-implementation.md: git jail, Forgejo
- docs/public/architecture/warden.md: controlplane=host, git jail added
- docs/public/operate/monitoring.md: just doctor, all guardrail vars
- docs/public/operate/security.md: API auth, shell injection, guardrails
Build: pass | Tests: not run (Linux) (Sam & Claude)
2.8 KiB
Session Handoff — 18.apr.2026
From: Mevy (FreeBSD)
Branches: main + mevy (both pushed, both in sync)
Commit: 9da3a7f
What We Did
-
Telegram code blocks —
sendMessagesends as plain text (noparse_mode). Agent replies frequently contain code with unbalanced backticks that break Telegram's strict Markdown parser. -
Telegram 👀 reactions — Bot sets 👀 on incoming messages, replaces with 👍 when reply is sent. Silent fallback if reactions unsupported.
-
Fix “not responding” loop — when the model hits
model_context_window_exceeded, the agent now replies with a short guidance message and does not roll back the cursor for infinite retries (src/index.ts). -
Fix rc.d wrappers missing —
run-mevy.sh/run-mevy-hostd.shwere missing locally, causingservice mevy restartto startdaemonwithout the Node process; restored wrappers locally (these are generated/ignored artifacts, not meant for git). -
Git jail created —
gitjail at 10.0.1.6, SSH with git user + git-shell, bare repo preseeded from host. -
Local-first git model —
GIT_LOCAL_URLconfig added. Agents push to local git jail, Codeberg is optional upstream sync. Per-agent branches (mevy, futurenatasha). -
openssh-portable removed — Thin jails have base sshd. No package needed. Linux agent was right, I was wrong.
What's Next
- Git-admin agent wiring needs end-to-end test (does it pick up
GIT_LOCAL_URL?) - Decide whether to force a bigger-context model for operator mode, or keep current and rely on the new “context exceeded” guidance reply.
- Dashboard (
scripts/dashboard.ts) — exists but untested - Phase 7 jail isolation validation
- Multi-agent
jails.yamlrefactor (deferred) - Approaching v1.0.0 release
Open Questions
- Should we tag v0.11.0 or wait for more features?
- Dashboard: Astro hybrid or static?
- Multi-agent: shared repo with per-agent branches, or per-agent repos?
Files Changed This Session
| File | What |
|---|---|
src/channels/telegram.ts |
Markdown parsing + 👀 reactions |
src/config.ts |
GIT_LOCAL_URL config var |
setup/agent-jails.ts |
Inject GIT_LOCAL_URL into git-admin env |
infra/packages/git-jail.txt |
Removed openssh (base has it) |
.env.example |
Document GIT_LOCAL_URL |
.agent/skills/git-push-mirror/SKILL.md |
Updated for local-first model |
doc/GIT-JAIL-PLAN.md |
Git jail plan (mostly done) |
doc/HANDOFF-GIT-JAIL-OPENSSH.md |
(deleted — correction applied) |