Files
AIPass/STATUS.md
T

52 KiB
Raw Blame History

AIPass — System Status

Auto-generated by drone @prax status sync. Do not edit manually.

Last sync: 2026-04-14 20:38
Summary: 8 operational | 0 in-progress | 0 not started


@ai_mail — Operational (2026-04-07 (session 30))

@ai_mail

Inter-branch email, dispatch, wake, bounce

State: Operational Last update: 2026-04-07 (session 30)

Milestones

  • Send/receive/reply/close lifecycle
  • Dispatch+wake pattern (combined dispatch command)
  • Sender identity fix (AIPASS_BRANCH_NAME env var)
  • email.py split (840 to 420 lines)
  • notify-send to dbus notifications
  • mailbox_path bug fixed (relative→absolute in get_user_by_email, get_all_users)
  • Health audit: 7 dead handlers archived, branch cleaned
  • Venv PATH guarantee in dispatch (wake.py + dispatch_monitor.py)
  • Phase 1 dispatch safety net: JSONL-based startup timeout (90s), auto-retry (3 strikes), notification naming
  • 100% module test coverage: 322 tests, 16 test files

Command Status (audited 2026-04-07)

Command Status
--help works
inbox works
view <id> works
reply <id> "msg" works
close <id> works
close all works
sent works
contacts works
email @target "Subj" "Body" works
dispatch @target "Subj" "Body" works
dispatch wake @target works
ping status exit 0, no visible output (partial)
ping ping exit 0, no visible output (partial)
ping thresholds exit 0, no visible output (partial)

Seedgo Audit (2026-04-07)

  • Overall: 99%
  • 32/35 standards at 100%
  • Error_Handling: 96% — dispatch_monitor.py line 124 silent failure
  • Silent_Catch: 97% — dispatch_monitor.py 5 silent catches (lines 101, 125, 127 + 2 more, from JSONL helpers)
  • 54/101 public functions tested (53% function coverage, 100% module coverage)

Current Work

  • DPLAN-0091 Phase 2 (JSONL pre-validation in wake.py) pending
  • ping commands need Rich console output investigation (works in branch, silent via drone)

Known Issues

  • Registry shows 6 pytest test branches with /tmp paths (test pollution)
  • ping commands produce no visible output via drone (Rich console likely suppressed in subprocess)
  • dispatch combined command BRANCH DETECTION FAILED when AIPASS_CALLER_BRANCH not set (known identity tension, low severity, dispatch succeeds via wake step)
  • dispatch_monitor.py has 5 silent catches flagged by seedgo (JSONL helper OSError catches)

Architecture Notes

  • trigger branch owns error_detected events; ai_mail provides delivery only
  • extensions/, plugins/, json_templates/, json/ shim, persistence/ = repeatable skeleton (don't archive)
  • Dead code was inherited from DevPass migration, not accumulated in AIPass
  • .seedgo/bypass.json: email.py bypassed for introspection, json_handler bypassed for json_structure
  • Startup check monitors JSONL session files at ~/.claude/projects/{encoded-cwd}/*.jsonl (not stdout, which is buffered by --output-format json)
  • .ai_mail/ at repo root is a stray dir created by @memory branch (should be .ai_central/)
@api — Operational | **Seedgo:** 99% (32/33 at 100%) | **Tests:** 290 pass, 65/65 functions (2026-04-10)

@api

Centralized external API gateway — authenticated service clients for all external APIs

State: Operational | Seedgo: 99% (32/33 at 100%) | Tests: 290 pass, 65/65 functions Last update: 2026-04-10

Milestones

  • OpenRouter client (get_response, models, test)
  • Key management from ~/.secrets/aipass/
  • Google provider module (Drive, Calendar, any Google API)
  • Seedgo compliance: 100% across all 33 categories
  • Test coverage: 100% — all 64 public functions tested

Current Work

  • Backup migration to use our Google module (pending backup)

Known Issues

  • Seedgo Architecture 99% — missing CLAUDE.md from builder template (pre-existing, not a real gap)
  • Seedgo introspection standard doesn't account for standalone commands (workaround in place)

Command Audit (2026-04-07)

Command Status Notes
--help OK Shows all 15 commands
--version OK v1.0.0
(no args) OK Introspection shows 4 modules
get-key OK Retrieves masked key
validate OK Key valid
validate google OK Creds valid
reauth google skipped Would trigger real OAuth flow
test OK 352 models found
models OK 352 models, table format
status OK Key, SDK, cache info
call (no args) OK Proper error message
list-providers OK openai, openrouter
init OK Detects existing .env
track (no args) OK Proper error message
stats OK No data (expected)
session OK No data (expected)
caller-usage (no args) OK Proper error message
cleanup OK Now handles empty state gracefully

Recent (Session 20, 2026-04-10)

  • S84 dispatch from @devpulse — 3 CRITICAL security fixes + 3 BUG fixes
  • CRITICAL: get_cache_stats() no longer exposes raw API keys
  • CRITICAL: .env and google_creds.json now created with 0o600 permissions
  • BUG: Validation rules aligned, cleanup return type fixed, stats/session differentiated
  • 290/290 tests, seedgo 99%, no type errors
@cli — Operational (2026-04-11)

@cli

Display service, Rich formatting for all branches

State: Operational Last update: 2026-04-11 Seedgo: 100% (all standards green, 161 tests)

Branch State Audit (2026-04-07)

Command Status — ALL operational

Command Status
drone @cli --help Works
drone @cli (introspection) Works — shows 1 command module + 2 services
drone @cli --version Works — v2.0.0
drone @cli aipass Works — shows subcommand table
drone @cli aipass init /path Name Works — creates 12 items
drone @cli aipass init agent <name> Works — routes to spawn
drone @cli aipass init --help Works — Rich-formatted help
drone @cli display Works — shows function list
drone @cli display demo Works — full showcase
drone @cli templates Works — shows function list
drone @cli templates demo Works — full showcase
python -m aipass.cli --help Works — standalone entry

Architecture Reality

  • 3 modules: display.py, templates.py, init_project.py — all operational
  • 2 handlers: init/bootstrap.py (pure Python), json/json_handler.py — both operational
  • 1 empty handler: handlers/templates/ — placeholder from scaffold, never used
  • .archive/: extensions/, json_templates/ — archived stubs, not active
  • Extra dirs: artifacts/, docs/, docs.local/, templates/, tools/ — exist but not in architecture tree

Tests

  • 161 tests, 6 files, 5/5 modules covered, all passing
  • Seedgo Test_Quality: 100%

No APLAN

  • No .plans/ directory exists. No active architecture plan.

Milestones

  • Console singleton
  • Header/success/error/warning/fatal formatters
  • Shared across all branches
  • aipass init project bootstrap command
  • 100% seedgo compliance
  • 138 unit tests (100% module coverage)

Current Work

  • S31: DPLAN-0121 (AIPASS_HOME auto-setup + external mailbox) + local prompt hook (5eb695d7). 161 tests.

Known Issues

  • None. All commands operational, all tests passing, seedgo 100%.
@devpulse — Operational (2026-04-14 (S92 18:20))

@devpulse

Orchestration hub — coordinates via dispatch + agents. Feedback channel live.

State: Operational Last update: 2026-04-14 (S92 18:20)

Current State

  • 11 core agents (split from 15 — backup, daemon, commons, skills moved to standalone projects; api reinstated as infrastructure)
  • 90 sessions of development
  • 230+ PRs merged (PR #254 created S90)
  • 3,500+ tests across core agents (1,162 verified S90)
  • Feedback channel: Cross-project communication bridge (DPLAN-0117, 101 tests)
  • Watchdog module: Directed wake system live. drone @devpulse watchdog {agent,timer,schedule,status,cancel,list}. 130 tests, seedgo 92%. FPLAN-0186 complete. Bash one-liner replaced.
  • PyPI: pip install aipass works (v2.0.0)
  • Vera Studio: standalone promotion project — 4 bug reports received via feedback
  • Goldfish panel: 7-round multi-model README review (Claude + Codex + Gemini)

Active Work

  • S90 In Progress: SYSTEM HEALTH + CROSS-PROJECT COMPLETION. Dispatch -c -p bug found (Claude Code v2.1.90-100, fixed v2.1.101, DPLAN-0122). AIPASS_HOME added to .bashrc + settings.json. Vera 4 bug reports via feedback (ai_mail registry hardcode, export issue, registry ID mismatch, local prompt hook). CLI built AIPASS_HOME auto-detect + project mailbox (DPLAN-0121 P1+2). Drone JSON KeyboardInterrupt fix. Prax monitor refactored (introspection extracted). Test isolation fixes (AIPASS_HOME leaking). PR #254. DPLAN-0123 system health tracker. ai_mail dispatched for bidirectional email (Phase 3). Prax re-dispatched for Ctrl+C fix.
  • S89 Complete: FULL EXTERNAL ACCESS + FEEDBACK BRIDGE. Dual registry (AIPASS_HOME), global prompt template rewrite (7→expanded with dispatch+dplan+feedback), UX warnings when AIPASS_HOME not set, idempotent init update (diff check), feedback channel built (DPLAN-0117/FPLAN-0173, 101 tests, cross-project sender detection). 8 dispatches to drone/cli/seedgo/flow. Global prompt: "ask before spelunking" rule + feedback section added.
  • S88 Complete: AIPL Phase 1 complete. Style guide + 6 examples. Polyglot wired. DPLAN-0115. Global prompt: no manual plan files.
  • S86 Complete: 6-HOUR AUTONOMOUS SESSION (DPLAN-0111). 41 dispatches. 15 PRs (#233-247). 11 CRITICALs + 35+ BUGs + 25+ quality fixes. DPLAN-0112 COMPLETE. Seedgo 22-23/33 at 100%. APLAN 42→7. decisions.md #029+#030.
  • S85 Complete: TRIGGER SELF-HEALING LIVE. Git divergence fixed (merge not reset). Drone git fix/sync upgraded (PR #229). OSS Health badge (PR #230). 13 stale plans closed (28→15). Trigger Medic v2 fixed: log_watcher dedup, count gate removed, wake_branch() wired. Full autonomous error cycle proven.
  • S84 Complete: Watchdog fixed. Night shift: 4 DPLANs (0107-0110), 10 branches dispatched, PRs #214-226. API key incident. 28 stale branches purged.
  • Hook-sounds plugin: Built by drone, wired to sound scripts. drone hook-sounds off/on.
  • DPLAN-0106: Watchdog v2 — SUPERSEDED by DPLAN-0130 + FPLAN-0186 (shipped S92).
  • DPLAN-0119: Auto-watchdog hook — CLOSED in FPLAN-0186 Phase 1 (replaced by watchdog module).
  • DPLAN-0105: Promotion prep — Vera owns execution.
  • DPLAN-0099: README value prop — Vera owns future changes.

Recent Milestones

  • S82: Core 10 split decided + executed. 6 agents verified zero deps. README/Herald/prompts updated. Spawn CWD-aware sync-registry. Sandbox + vision docs updated.
  • S81: TDPLAN-0002 complete. Init creates 10 items with real content. Spawn routing fixed. Watchdog daemon mode. README Quick Start rewritten. Vera Studio initiated.
  • S80: FPLAN-0165 (README 366→279). Goldfish R5-7. 14-branch simultaneous audit. CLI init bug fixed. Watchdog statusline indicator. PRs #202-207.
  • S79: README overhaul with 4 Goldfish rounds. PyPI published. Security blocked across 3 CLIs.

Known Issues

  • Watchdog module: FPLAN-0186 shipped S92 (agent + timer + schedule + registry). Known issue: drone @devpulse watchdog agent <branch> clipped at 30s by drone CLI wrapper — workaround is direct python3 apps/devpulse.py watchdog agent <branch> call. Watchdog's own --timeout flag governs the real wait.
  • Wake protection: Any branch can manually wake devpulse. Medic only blocks auto-dispatch. Needs blocklist in wake.py.
  • Hook inbox notification: Cosmetic only — watchdog handles real waking.
  • Hooks: Don't work from external projects. Hooks reference AIPass-specific scripts.
  • backup: Directory confirmed gone from disk S87. Registry cleaned S86.
  • Memory rollover: At limit (20/20 sessions, 25/25 learnings). Auto-archives on next write.
  • inotify limits: System-wide exhaustion when many agents run simultaneously. Cosmetic warning.

Notepad (Agent)

S92 (2026-04-14 ~18:20 PT) — FPLAN-0186 watchdog module MASTER COMPLETE

All 5 phases shipped. Plan closed.

  • Files: apps/modules/watchdog.py + apps/handlers/watchdog/{agent,timer,schedule,registry,__init__}.py + 5 test files
  • Tests: 130 passed, 3 skipped, 0 failed (Phase 1→4 baseline 122 → 130)
  • Seedgo: 88% baseline → 92% final (held through Phase 4 and Phase 5). 11 bypass entries all justified inline (encapsulation + json_structure manager-branch gaps)
  • Agent completion signal: ai_mail dispatch lock file polling. Monitor deletes .ai_mail.local/.dispatch.lock on exit (success or crash); last_bounce.json distinguishes. Zero upstream changes needed.
  • Bash one-liner GONE from .aipass/aipass_local_prompt.md — replaced with drone @devpulse watchdog agent @target
  • Smoke test: 13/13 steps PASS — artifacts/reports/watchdog_smoke_test.md
  • Plans closed: DPLAN-0119 (Phase 1), DPLAN-0106 superseded by DPLAN-0130, FPLAN-0186 closed via drone @flow close
  • Known issue: drone CLI 30s wrapper timeout clips long agent watches. Workaround is direct python call. Not a watchdog bug. Worth lifting in a future drone fix.

S92 (2026-04-14 ~14:08 PT) — DPLAN-0128 complete, working on private memory project

DPLAN-0128 execution DONE — reformat is live.

  • T1 @cli: 27 PASS, 2 FAIL. Removed drone @flow info <id> and drone @memory archive from reformat.
  • T2 @spawn: terminology PASS. Reformat's agent=citizen framing is more consistent with spawn code than the old live prompt was.
  • T4 Anthropic source read: MISMATCH. AIPL format is ORIGINAL AIPass convention, NOT copied from Claude Code. Report: .trinity/night_shift_reports/aipl_format_provenance.md
  • T5 @seedgo: recommended prompt note + reference doc, NOT a 34th standard. Unenforceable soft rules.
  • T6 @prax: sync mechanism fully wired (pr_created/pr_merged → pr_status_sync.py). Softened wording: "PR commit"→"PR create/merge", "11 branches"→"all registered branches", "Herald reads it"→"Herald documents it".
  • T3 skill files split: PR #272 — /memo user-scope only (removed from repo), /prep shipped via aipass init template in bootstrap.py _prep_md(). Init test passed.
  • T7: stale agent-aa2b7d43 worktree removed.
  • T8: reformat promoted to live .aipass/aipass_global_prompt.md + new .aipass/PROMPT_STYLE.md reference doc + one-line style comment. PR #273.

PRs awaiting merge: #272, #273 (both scoop the S91 night shift backlog of 6 commits — known drone @git system-pr behavior). Plus S91's #265-#271 still open.

S92 (2026-04-14 ~14:08 PT) — Private memory project autonomous work while user AFK

User said: "lets park this off. work on your private memory project. no need to stop im outside working on my rv. ill be in and out all day"

  • Phase 1 scaffold + ROOMS_ENABLED flag (default False, v1 untouched)
  • Phase 2 BERTopic clustering → 12 real clusters on 133 live fragments, persisted to .chroma/rooms_map.json
  • Phase 3 cluster-aware rerank via room_aware_query() with majority-vote target room picking. Smoke test: "verify claims" query correctly boosted verification observations to ranks 2+3 while preserving top anchor
  • Phase 4 RoomStrategy protocol + prior_plan_decisions hand-authored strategy (filter kind=decision, recency boost, source-branch text-match boost) + strategy registry
  • Phase 5 consult() advisor entrypoint — single call handles both paths (cluster_aware + strategy), contract locked, placeholder suggested_question_for_user per rule table ("mixed signal" / "tight consensus" annotations), state echoed for Phase 7 to consume
  • Phase 6 ProjectState dataclass + birth_watcher scaffold (diff new/gone/resized clusters vs baseline, 20% threshold). SCAFFOLD ONLY — no auto-notification, no LLM, no background job

Live end-to-end commands when ROOMS_ENABLED=True in the project: status | discover | list | peek <id> | query "..." | strategies | strategy <name> "..." | consult "..." --strategy X --state-energy N --state-pressure N | births | births --save-baseline

Metrics: 201 tests green (started Phase 1 at 122), ~5,300 LOC across handlers+modules+tests, 0 v1 file mutations, 0 Chroma collection mutations, 0 commits.

DPLAN-0129 (architecture research) and FPLAN-0185 (master plan, 6 phases) both live in the private project repo, uncommitted.

  • Runtime unblocked: created dedicated ~/Projects/<private>/.venv with chromadb 1.5.5 + sentence-transformers 5.3.0.

  • Fixed navigator/__init__.py missing. Bypass entries added for seedgo __init__.py false positives. Emailed @seedgo friction note.

  • First real query ran and surfaced decision_006 ("branches self-report optimistically") + obs_s60_verification_agents — the exact prior art DPLAN-0128 was defending against. Rule #033 closed — the project is being used, not just built. Next time: query first, plan second.

  • S92 decisions #034-#036 ingested. Collection now 133 fragments.

  • Invocation form: the private project invocation form. Bare script invocation fails with path issue — not urgent to fix.

  • navigator/__init__.py (new — package marker)

  • navigator/.seedgo/bypass.json (modified — 2 new bypass entries)

  • navigator/.trinity/local.json (modified — S4 session)

  • navigator/STATUS.local.md (updated — gitignored anyway)

Friction notes

  • seedgo __init__.py false positive: imports: Failed and naming: invalid characters fire on Python reserved filename. Need special-case in seedgo's naming standard and imports standard. Encountered in another project; likely also in AIPass repo. Open a seedgo standard PR when there's bandwidth.

S92 (2026-04-14 ~12:45 PT) — PRE-COMPACT, system prompt reformat work in flight

Not shipped, verification-pending:

  • /home/patrick/Projects/AIPass/.aipass/aipass_global_prompt.reformat.md — draft reformat of AIPass's global system prompt in AIPL/Anthropic Claude Code style. Gitignored, not tracked. Original .aipass/aipass_global_prompt.md untouched.
  • Multiple correction rounds applied this morning (terminology, memory roles, TDPLAN, librarian philosophy, sections removed). See DPLAN-0128 Context section for full history.

DPLAN-0128 is the execution plan — 8 tracks, verification-first, designed to survive /compact. Post-compact session reads DPLAN-0128 first, then the two prompt files, then executes Tracks 1-6 serially (one branch/agent at a time), and ONLY promotes the reformat (Track 8) if all critical claims pass. Critical claims: TDPLAN command exists, no invalid commands in reformat, STATUS.local.md central sync is real.

Skill integration gaps to confirm:

  • /prep at ~/.claude/commands/prep.md — Section 1 "Memories" lists local.json, observations.json, passport.json — does NOT include STATUS.local.md in the main update list
  • /memo at ~/.claude/commands/memo.md — STATUS.local.md is in "If Relevant" section, weak framing
  • Proposed edits drafted verbally but not applied. DPLAN-0128 Track 3 verifies claim + applies fixes post-compact.

AIPL format standard question:

  • AIPL format is Anthropic-sourced per the user (unconfirmed)
  • Decision: seedgo standard / prompt note / both — DPLAN-0128 Track 5 asks @seedgo to recommend

Gavin reply posted: https://github.com/AIOSAI/AIPass/issues/261#issuecomment-4245709624 — done this morning.

Stale worktree flagged: /home/patrick/Projects/AIPass/.claude/worktrees/agent-aa2b7d43 on branch fix/wake-claude-path-resolution (PR #268) — leftover from last night's Track E. Cleanup in DPLAN-0128 Track 7 if safe, else manual.

S91 follow-ups still open:

  • PRs #265-#270 await merge (user reviews in their own time)
  • Track G (AIPL log leak) still blocked — prax ghosted last night, needs firm retry
  • PR #269 category-d flags (code-level /home/patrick/ paths in symbolic.py, branch_detector.py docstrings, .claude/settings.json deny rules, ai_mail docstrings)
  • 2% usage finding to confirm (S91 night shift burned less than expected)

Next steps: /compact (the user does this) → post-compact session reads DPLAN-0128 → executes.

S91 (2026-04-14 ~05:00 Pacific) — NIGHT SHIFT COMPLETE

6 PRs shipped tonight — all awaiting AIPass Developer review:

  • #265 — devpulse docs restructure (README 209→35 lines + new SETUP.md with Linux/Mac/Windows/WSL/uninstall/troubleshooting)
  • #266 — drone three bugs fix (system-pr git add -A, STATUS.md sync before commit, Rich help table + bonus encapsulation fix)
  • #267 — Windows compat for issue #261 (bootstrap.py pathlib traversal, setup.sh OS detection, new cross-platform setup.py)
  • #268 — wake PATH isolation fix (bare claude → absolute path via shutil.which + ~/.local/bin PATH prepend)
  • #269 — personal-name scrub (11 files, 14+/14-, flagged category-d code paths for manual review)

Research reports in .trinity/night_shift_reports/ — morning reading:

  • anthropic_peak_hours.md — peak hours are 5 AM–11 AM Pacific (AIPass Developer's intuition was inverted)
  • repo_etiquette.md — top gaps: SECURITY.md (urgent), CHANGELOG.md, root-level INSTALLATION.md
  • local_llm_research.md — hybrid recommendation: Qwen 2.5 3B Q4 Ollama local + Llama 3.3 70B / DeepSeek R1 OpenRouter free
  • watchdog_design.md — full design for future hooks session (Options A-D insufficient, Option E requires hooks)

Gavin reply draft: /tmp/gavin_reply_261.md — ready for AIPass Developer review/approval/posting

Track G blocked: @prax ghosted the AIPL log leak dispatch (exited code=0 after 722s but no PR, no reply). Same pattern as S90 prax_needs_firm_prompts learning. Retry in morning with MANDATORY framing.

Time log: .trinity/time_log.jsonl — 24 entries, 12 complete, 189.5 min tracked. First temporal data point.

Anthropic peak hours reality: I finished the night shift inside the off-peak window. Peak starts at 5 AM Pacific and runs until 11 AM. The "cross 5 AM" theory was backwards but the net effect was right — I paced serial and finished before 5 AM anyway.

Total runtime: ~2h50m of session wall-clock, ~3h09m of tracked task time (overlap from watchdog waits).

Session cost estimate: 6 branch dispatches + 5 sub-agent spawns + manual work. Within off-peak doubled-limit promotion, so cheap.

NEEDS AIPASS DEVELOPER ATTENTION:

  1. Review and merge PRs #265-270 (in order — #266 drone fix unblocks future system-pr usage)
  2. Review Gavin reply draft, approve and post to issue #261
  3. Read the 5 research docs in .trinity/night_shift_reports/
  4. Retry Track G (AIPL log leak) — prax needs firm framing
  5. Manually review category-d code path flags from PR #269 (symbolic.py priority_dirs, branch_detector.py docstrings, .claude/settings.json deny rules, ai_mail docstrings blocked by pre-existing seedgo)
  6. Consider landing the hooks session soon — unblocks watchdog-as-code (Track H) + audio hook cleanup

S91 (2026-04-14 early AM) — Issue #261 triage + cleanup + night shift planning

Status at /prep (02:15 AM, going into autonomous night shift):

  • 3 PRs created: #262 (cleanup + scrub + epigraph + gitignore), #263 (S90 stragglers drone system-pr missed), #264 (STATUS.md auto-sync refresh) — all need AIPass Developer merge.
  • .claude/CLAUDE.md: Patrick scrub complete (3 lines). Only private global ~/.claude/CLAUDE.md retains the name.
  • README.md: memory/presence epigraph added near line 40 with — AIPass attribution.
  • trigger_data.lock: explained (fcntl process lock from log_watcher_service PID 1622), gitignored with pattern src/aipass/trigger/*.lock.
  • unknown_branch/: confirmed AIPL polyglot log leak. Tracked as Track G of DPLAN-0125.
  • Issue #261 (Gavin Rooney, Windows 10): triaged. 3 real bugs (setup.sh symlink, bootstrap.py bash loop, audio hooks). Stale-clone artifacts (old .claude/settings.json /home/patrick paths removed April 5). Non-bugs (AIPASS_REGISTRY.json gitignored, passports not tracked). Reply draft pending (FPLAN-0183 Step 1).
  • Feedback channel tests: grep showed 0 module-level test defs — needs verification morning, may be class-based.

Plans built:

  • DPLAN-0125 — S91 Night Shift master plan. 10 tracks, SERIAL execution strategy, cross-5AM pacing theory.
  • DPLAN-0126 — Future research: local LLM + OpenRouter free tier (split from 0125 as future-ideas bucket).
  • FPLAN-0183 — Step-by-step execution script. Post-compact survival. 12 numbered steps + pre-flight. This is what I follow when I wake up.

Autonomous night shift directive from the AIPass Developer: GO. Serial execution, deliberate slow pacing, cross 5 AM peak-hours cutoff, do not touch .claude/hooks/*, do not merge PRs, log time per track to .trinity/time_log.jsonl, keep going until usage cap or dawn.

Known bugs that will bite during execution:

  1. drone @git system-pr doesn't stage untracked files — stage manually with git add before running it
  2. drone @git system-pr leaves STATUS.md dirty after every run — known, accept it, do NOT chase the loop
  3. Wake command may not work (S90 flag — Track E investigates)

Loose ends at /prep:

  • STATUS.md still modified (drone bug, documented, ignored)
  • trigger log_watcher_service running (PID 1622, healthy, leave it)
  • No background agents running, no open watchdogs at /prep time
  • Next action after compact: Step 0.5 of FPLAN-0183 (Anthropic peak hours WebSearch) → Step 1 (Gavin reply draft) → onward

The AIPass Developer is asleep. Work alone. Stay steady.

S90 (2026-04-11 evening) — System health + cross-project completion

  • Dispatch -c -p bug: Claude Code v2.1.90-100 broke headless resume. Fixed v2.1.101. DPLAN-0122 (closed).
  • AIPASS_HOME: Added to .bashrc (export) + ~/.claude/settings.json env. CLI auto-detects via importlib.
  • Vera 4 bugs via feedback: All resolved. Registry hardcode (PR #255), export (manual), registry ID (spawn already built), local prompt hook (PR #257).
  • 5 PRs: #254 (drone JSON+cli init+test isolation), #255 (ai_mail bidirectional), #256 (prax cleanup), #257 (local prompt hook), #258 (prax Ctrl+C+labels)
  • Prax finally delivered: Ctrl+C clean exit, UNKNOWN→AIPL/POLYGLOT labels, AI_MAIL→AI_MAIL label fix. Took 4 dispatches.
  • Contacts system built: identity.json + contacts.json + auto-registration. PR #259.
  • Cross-project email WORKING: Vera→@strategy tested live in tmux. Two fixes: sender detection (drone router_handler) + target resolution (ai_mail delivery.py loads caller registry). PR #260.
  • 15+ dispatches: ai_mail x4, prax x4, drone x1, cli x2, spawn x1, flow x1, + sub-agents
  • PRs #249-260 all need merge (Patrick reviews in his own time)
  • Wake broken: dispatch wake not working at end of S90. Investigate S91.
  • NEEDS PATRICK: Merge PRs #249-260

S89 (2026-04-11 afternoon) — Full external access + feedback bridge

  • AIPASS_HOME dual registry: drone loads both local + AIPass registries simultaneously
  • Global prompt template rewrite: 3→7 sections, all command variants (dplan/aplan/master, dispatch, feedback)
  • UX warnings: drone systems hints + BranchNotFoundError guidance when AIPASS_HOME not set
  • aipass init update idempotent: content diff before write, "Already current" for unchanged files (8 new CLI tests)
  • Feedback channel (DPLAN-0117/FPLAN-0173): cross-project communication bridge
    • 4 handler files + 1 module, 101 tests passing
    • Sender auto-detected via AIPASS_CALLER_BRANCH env var
    • Reply path stored per-message for cross-project delivery
    • Fixed devpulse.py module discovery (full package import path)
    • Fixed pytest.ini inline comments bug (seedgo confirmed: isolated to devpulse, no standard exists)
  • Global prompt: "ask before spelunking" rule + feedback section added
  • Learning: dispatch the question to branches instead of reading 4-5 unfamiliar files

S88 (2026-04-11 morning) — AIPL Phase 1 + global prompt fix

  • AIPL Phase 1 COMPLETE: docs/style_guide.md (7 rules, symbols, content types, anti-patterns, decode protocol, quick reference)
  • 6 before/after examples: session_log, observation, email, status_update, plan, delta_update (54-69% savings)
  • Polyglot agent wired: local prompt filled, CLAUDE.md updated with AIPL context
  • DPLAN-0115 created via flow (replaced manual DPLAN-001 — wrong numbering)
  • Global prompt: "Never create plan files manually" rule added
  • Learning: external AIPass projects still use AIPass tooling (flow, seedgo) — don't bypass

S87 (2026-04-11 morning) — Model choice + AIPL + init update

  • dispatch --model flag: sonnet default, all 3 tiers tested (sonnet/haiku/opus confirmed in process args)
  • Apr 4 usage policy change discovered — sub-agent compute metered more aggressively
  • DPLAN-0114: aipass init update (5 phases). cli+spawn+drone dispatched, all replied. Registry fix, hook fixes, source headers ready.
  • Patrick-Personal deny rules added to AIPass settings
  • Vera Studio S3 reviewed — registry mismatch, missing hooks, 5 gaps documented in DPLAN-0114
  • AIPL PROJECT LAUNCHED: ~/Projects/AIPL/. 72K research transferred. DPLAN-001 written. Caveman analyzed (neighbor, not parent). Build from scratch, hand to Polyglot when ready.
  • PRs #231-248 ALL MERGED (Patrick merged #247 for S86 stack, #248 for S87)
  • Trigger cleaned up after PC shutdown (stale lock removed, log_watcher auto-restarted, processed 2 pending emails)
  • NEEDS PATRICK: Wake protection — any branch can manually wake devpulse
  • NEEDS PATRICK: CLAUDE.md template gap — spawn template has it, no branch does

S86 (2026-04-10 afternoon) — Autonomous session

  • 41 dispatches, 15 PRs (#233-247), DPLAN-0112 complete
  • Devpulse APLAN: 42→7 open items
  • decisions.md: #029 (dispatch patterns) + #030 (fixes→architecture in one session)

S85 (2026-04-10 morning)

  • TRIGGER SELF-HEALING PROVEN: Full autonomous error cycle — detect → dispatch → wake → fix → report
  • Fixes to trigger: (1) log_watcher dedup blocking count increment, (2) report_error() count==2 gate, (3) wake_branch() after email delivery
  • Drone git fix/sync upgraded to merge on divergence instead of rebase (PR #229)
  • OSS Health badge: 364 commits, 2.8h pace, 1 month old (PR #230)
  • 13 stale plans closed (28→15 open)
  • Old Dev-Pass trigger studied at /media/patrick/EXTERNAL/Dev-Pass/aipass_core/trigger/
  • Key learning: old system had no count threshold (noisy), new system's threshold was right but gate logic was wrong
  • TODO: Watchdog needs error handling (log failures so trigger catches them)
  • TODO: Add prax logger catch-all to all branch entry points (unhandled exceptions bypass logs)
  • TODO: Properly develop watchdog v2 (leave duct tape running for a week first)
  • Never reset HEAD — merge only. SATA=/mnt/sata (old OS), EXTERNAL=/media/patrick/EXTERNAL (Dev-Pass)

S83 (2026-04-09 evening)

  • 22 Opus adversarial audit agents: 350+ findings across all 11 branches
  • 11 CRITICALs: prax thread safety, flow FPLAN-only (x3), cli .gitignore, cli cd path, ai_mail locking (x2), api key exposure, api permissions, trigger no atomic writes, memory path bugs, memory security violation
  • All 11 APLANs updated by builder agents. Health: 2 RED (memory, devpulse), 9 YELLOW
  • Memory doesn't use api branch — raw urllib to OpenRouter, bypasses api entirely
  • Hook-sounds plugin built by drone (14 tests). Sound scripts wired.
  • Test count reality: ~3,501 not 4,900+ (split branches took their tests)
  • PR count reality: ~179 not 192+
  • PR #211 created with all S83 work
  • Wave 3 complete: 170+ new findings, all written directly to APLANs by agents
  • API is NOT on public repo — local/private only. Docs need correcting (say 10 public + api local)
  • PR #211 (Wave 1 + hook-sounds) and PR #212 (Wave 3 APLAN updates) both shipped
  • Next: fix CRITICALs via branch dispatches, correct api count in public docs

S82 (2026-04-09)

  • Core split: daemon/commons/skills moved. API reinstated (LLM access layer). Backup pending move.
  • All 9 agents dispatched for split fallout testing — replies received, not fully reviewed.
  • Flow/spawn/memory dispatched for .backup/ redirect — replies received.
  • README + Herald + global/local prompts all updated to "11 agents".
  • Patrick's direction: focus on core 11, use the system for real projects, Vera handles promotion.

Notepad (User)

  • Study Anthropic prompt layout.
  • Review builder agent (~/.claude/agents/builder.md) — should it default to sonnet? Should seedgo checklist be the primary validator instead of pyright? Should it be available to external projects?
  • Add /memo and /prep to aipass init so new projects get them in .claude/commands/ (DPLAN-0114 follow-up)
  • Prax: fix AI_MAIL showing as MAIL (underscore branch names getting split)
@drone — Operational (2026-04-07 (Session 38))

@drone

Command router, @branch resolution, subprocess dispatch, custom commands, git workflow, plugin architecture

State: Operational Last update: 2026-04-07 (Session 38) Seedgo audit: 99% (Readme 83%, Silent_Catch 96%) Test suite: 513 passed, 4 skipped — 19 test files

All Commands — Verified Operational

Command Status Notes
drone --help Operational
drone --version Operational v1.1.0
drone (no args) Operational Auto-discovers 9 modules
drone systems Operational Shows infrastructure, modules (4), branches (11)
drone @target command Operational Routes to any branch via subprocess
drone @target --help Operational
drone @seedgo audit Operational Interactive mode for Rich progress bars
drone @git pr/status/sync/lock/unlock Operational Internal module routing
drone @git system-pr/merge/smart-sync/fix Operational devpulse_ops plugin
drone scan @branch Operational Discovers commands via --help + modules/
drone activate @branch Operational Scan + register as custom shortcuts
drone list Operational Shows registered custom commands
drone remove <name> Operational

Milestones (Cumulative)

  • Core routing: @branch resolution, subprocess dispatch, interactive mode
  • drone systems with infrastructure + modules + branches sections
  • Credential verification (RegistryMismatchError split from RegistryNotFoundError)
  • Activated commands: scan, activate, list, remove, execute (PR #74)
  • drone @git module: pr, status, sync, lock, unlock (FPLAN-0094)
  • devpulse_ops plugin: system-pr, merge, smart-sync, fix (DPLAN-0087)
  • DPLAN-0053: Removed drone from _MODULE_REGISTRY, --help in all 9 modules, @ validation, generic adapter, bypass reduction (13 → 4)
  • Persistent citizen branches: citizen/{name} instead of feat/{name}-{slug}
  • External project fallback: module routing when subprocess fails (DPLAN-0104)
  • Test coverage push: 447 → 513 tests, 3 new test files (S73)
  • Seedgo 100% → 99% (pre-existing readme date + 2 silent_catch in resolver.py)

Architecture Summary

  • 3-layer pattern: drone.py (entry) → modules/ (orchestrators) → handlers/ (implementation)
  • Routing: internal modules via importlib, external modules via generic_adapter + routing_config.json
  • Interactive mode: per-command (monitor, audit) + per-branch (cli, backup)
  • Plugins: apps/plugins/devpulse_ops/ (auth.py + 4 plugin files)
  • Module fallback: BranchNotFoundError for registered modules → _handle_module() (DPLAN-0104)

Known Issues

  • Pyright warns about json package name shadowing stdlib — works at runtime
  • Pyright can't fully resolve handlers/git/ imports (handler guard __init__.py limitation)
  • Silent_Catch: resolver.py lines 55, 72 — needs logger calls added
  • README date flagged by seedgo (auto-stales between sessions)
  • ai_mail close command times out through drone routing (30s capture timeout) — workaround: clear inbox directly

No APLAN Exists

No action plan file found for drone. Cross-branch plans (DPLAN-0053, DPLAN-0087, DPLAN-0104) tracked in devpulse.

@flow — Operational (2026-04-07)

@flow

Plan lifecycle — FPLANs, DPLANs, RPLANs, TDPLANs, and any custom plan type via filesystem-driven template registry

State: Operational Last update: 2026-04-07

Command Status

Command Status Notes
drone @flow create Operational FPLAN default, master, DPLAN, RPLAN, TDPLAN
drone @flow close Operational Foreground archival + vector verify
drone @flow close --dry-run Operational Preview mode
drone @flow list open/all Operational Multi-registry merge
drone @flow restore Operational Reopen closed plans
drone @flow templates Operational 4 registered types
drone @flow scan Operational Found 1 unregistered (audit_plans/)
drone @flow register/unregister Operational Template CRUD
drone @flow aggregate Operational Cross-branch aggregation
drone @flow registry scan Operational But trigger events not handled (132 unprocessed)
drone @flow post NOT OPERATIONAL "Unknown command" — post_close_runner not standalone-routable

Seedgo Audit

  • Overall: 100% (all 33 standards)
  • Tests: 452 tests, 90/90 public functions, 0 failures
  • Last audit: 2026-04-07

Registered Plan Types

Type Prefix Templates
flow_plans FPLAN default, master
dev_plans DPLAN default
research_plans RPLAN default
team_dev_plans TDPLAN default

Unregistered: audit_plans/ (1 template, needs drone @flow register audit_plans APLAN)

Close Pipeline

Fully operational. On close:

  1. Template check → 2. Mark closed → 3. Archive to processed_plans/ (foreground, flags set atomically) → 4. Vector intake (drone @memory process-plans + is_plan_vectorized verification) → 5. Dashboard updates → 6. CLOSED_PLANS.local.json

Vector verification shows in console output: "Vectorized: N chunks in chroma" or "NOT vectorized".

Known Issues

  • post command not routable as standalone (post_close_runner is background-only, invoked internally by close)
  • registry scan fires 132 trigger events that are never handled (trigger event bus not wired for plan_file_created/deleted/moved)
  • audit_plans/ directory exists but is not registered
  • Dashboard push still warns on some closes ("Failed to push flow section to branch dashboard")

Pending Dispatches

  • Dispatch from @devpulse (6e3f39e5): Update FPLAN templates — old send syntax
  • Dispatch from @devpulse (f37c43f6): Update drone @flow list → list open in docs
@memory — Operational — 100% seedgo compliant (33/33 standards) (2026-04-07 (s29))

@memory

Vector memory archive — ChromaDB, sentence-transformers

State: Operational — 100% seedgo compliant (33/33 standards) Last update: 2026-04-07 (s29)

Command Audit (2026-04-07)

Command Status Notes
--help OK Lists all commands correctly
rollover (introspection) OK Shows handlers + subcommands
rollover status OK 16 branches, 32 files checked
rollover check OK Correctly identifies 2 files needing rollover
rollover run OK Not executed this session (discovery only)
rollover sync-lines OK Updated 32 files
search "query" OK 20 results from 4 collections
symbolic (introspection) OK Lists 6 subcommands
symbolic demo OK v1 + v2 mock extraction works
symbolic fragments "query" EMPTY Returns 0 fragments — no stored data
symbolic extract UNTESTED Requires API key
templates (introspection) OK Lists 3 subcommands
templates template-status FAIL Template files MISSING
templates diff-templates FAIL Template files MISSING
templates push-templates FAIL Template files MISSING
verify FPLAN-XXXX OK Confirmed FPLAN-0128 = 126 chunks
watch UNTESTED Persistent watcher, would block

Seedgo Audit

  • Overall: 100% — all 33 standards passing
  • 175 public functions, 102 tested (58% function coverage)
  • 35 files checked, 0 type errors

Rollover Status

  • MEMORY.local: READY for rollover (21/20 sessions, 26/25 key_learnings)
  • DEVPULSE.local: READY for rollover (21/20 sessions, 46/25 key_learnings)
  • DEVPULSE.observations: 567/600 lines (33 remaining — approaching limit)
  • All other branches within limits

Milestones

  • ChromaDB integration
  • Auto-rollover at entry-count limits (v2 mode)
  • Searchable vector archive (4 collections, 2200+ vectors)
  • FPLAN-0026 complete (rollover E2E, search, plans archival)
  • DPLAN-0073 COMPLETE — 100% seedgo audit
  • FPLAN-0128 COMPLETE — verify command + config fix (PR #94)
  • Session 16: CRITICAL FIX — batch vectorization, decoupled from startup trigger (PR #95)
  • 113 plan files vectorized (2019 chunks)
  • Session 27: 468 tests passing, 16/16 module coverage

Known Issues

  • search fails without torch/sentence-transformers (memory .venv required)
  • Templates subsystem not operational — template files (LOCAL.template.json, OBS.template) missing from apps/templates/
  • symbolic fragments returns 0 results — no fragment data stored yet
  • symbolic extract requires API key — untested
  • inotify limit reached warning on every command (system-level, not memory's fault)
  • Memory's own local.json needs rollover (21/20 sessions, 26/25 learnings)

Architecture Notes

  • Dual vector storage: local ({branch}/.chroma/) + global (memory/.chroma/). Local fails gracefully, global is critical.
  • Plan vectorization decoupled from startup trigger. _check_plans() = count only. Processing via explicit command.
  • All ML operations via subprocess isolation — main process never imports torch/chromadb.
  • Startup trigger chain: prax logger -> trigger.fire('startup') -> check_and_rollover(). Keep lightweight.

No APLAN

  • No APLAN file exists for memory branch.
@polyglot — Unknown (n/a)

@POLYGLOT

AIPL compression engine developer

State: Phase 2 complete + seedgo 99% + guardrails designed (DPLAN-0124) Last update: 2026-04-12

Milestones

  • Phase 1 spec: COMPLETE (locked)
  • Phase 2 engine: COMPLETE (441 tests, 10 handlers, 5 modules, 99% seedgo)
  • Global prompt AIPL'd: DONE (913->843 tokens, 7.7% honest savings)
  • ~/.aipl scaffold: DEPLOYED
  • Phase 3 integration: In progress
  • Phase 4 validation: Not started

Current Work

  • Token scan: 220K tokens across 80 AIPass files, 81K saveable
  • Stress tested 16 real files, 15.8% avg automated savings
  • Decode tests: 93-95% info recovery on compressed files
  • AIPL is convention not engine — agents write terse from global prompt
  • Private repo: AIOSAI/AIPL

Known Issues

  • Commands incompressible — only prose between commands can shrink
  • .trinity/ must stay valid JSON — no headers, no unquoted keys
  • Cross-project ai_mail outbound broken (feedback channel in progress)
  • delta_extractor limited pattern detection
  • Handlers standard 93% — inspect.stack() needed on 2 pipeline files

Next

  • Build DPLAN-0124: anchor detection + integrity verification (guardrails)
  • Roll AIPL global prompt to AIPass and Vera-Studio
  • Test with fresh agents across projects
  • Close 17% vs 62% gap via convention (not engine)
@prax — Operational (2026-04-07)

@prax

Logging, monitoring, dashboard infrastructure

State: Operational Last update: 2026-04-07

Commands (4 active)

Command Status Notes
drone @prax monitor run Operational Polling fallback, caller attribution, model tags, multi-CLI
drone @prax status Operational Shows modules, loggers, watcher state
drone @prax log-audit audit Operational 197 log files, all healthy
drone @prax dashboard Operational Template sections, refresh from centrals

Seedgo Audit: 99%

  • 35 categories, 32 at 100%
  • Deep_Nesting: 97% (filesystem_handler.py — Codex/Gemini adapters)
  • Error_Handling: 96% (filesystem_handler.py)
  • Silent_Catch: 97% (filesystem_handler.py)
  • Custom tests: 90/134 functions (374 tests, 2.0s)

Monitor Features

  • Operational: File watcher, log watcher, polling fallback, caller attribution (CALLER→TARGET), model tags (BRANCH/model), Claude Code JSONL, Codex JSONL, Gemini JSON adapters, agent activity tracking
  • Not operational: Interactive filtering (watch/filter commands deferred)

Recently Completed

  • Session 40: Inbox watchdog tool (tools/inbox_watchdog.py)
  • Session 39: Codex model tag fix (turn_context.payload.model)
  • Session 38: Dynamic branch detection for Codex/Gemini (CWD + projects.json)
  • Session 37: Filter fix + model tags + Gemini adapter live test
  • Session 36: inotify errno-specific messages (Errno 28 vs 24)
  • Session 34: Codex + Gemini monitoring adapters (DPLAN-0097)
  • Session 33: Test coverage push (229→374 tests)

Archived Modules (5)

init_prax, shutdown, discover, run, terminal — in modules/.archive/

Known Issues

  • inotify watches/instances near-exhausted. Monitor uses polling fallback — functional but slower.
  • filesystem_handler.py has 3 seedgo violations (deep_nesting, error_handling, silent_catch) from Codex/Gemini adapter code
  • Interactive filtering (Phase 4) deferred indefinitely
@seedgo — Operational — 99% self-audit (32/33 standards at 100%, Architecture 99%) (2026-04-14 (session 59 — DPLAN-0128 Track 5 advisory: recommend prompt note + ref doc over 34th standard))

@seedgo

Standards enforcement, 32-standard audit pack + seedgo proof system (CERTIFIED) + hook ownership

State: Operational — 99% self-audit (32/33 standards at 100%, Architecture 99%) Last update: 2026-04-14 (session 59 — DPLAN-0128 Track 5 advisory: recommend prompt note + ref doc over 34th standard)

Session 43 — Dispatch Processing

Two emails processed:

  1. Devpulse 4adc667b — 5-branch split-out fallout test (backup, daemon, api, commons, skills removed from AIPass). Result: zero imports from split branches, no runtime deps, README clean, self-audit 99%. Reported all clear.
  2. Trigger af202e98 — Recurring JSON parse error (ERROR 3c63b0e0). Root cause: race condition in json_handler.py load_json() line 134 — no try-except around json.load(). Concurrent writes truncate file between validation and read. Low severity, fix recommended for next PR.

Command Test Results

Command Status Notes
--help Works Lists 9 commands. Missing: proof, proof_query, test_map
audit Works Introspection shows 1 pack (32 checkers)
audit aipass @seedgo Works 99% overall, 0 type errors
standards_query Works Lists packs
standards_query aipass_standards Works Lists 32 standards
standards_query aipass_standards cli Works Shows content
checklist Works Introspection output
checklist <file> Works Per-file scoring
diagnostics Works Introspection — redirects to audit
diagnostics @seedgo Works Same redirect
readme Works Introspection
proof Works Not in --help
test_map Works Not in --help

Self-Audit (2026-04-07)

  • 99% overall
  • 32/33 standards at 100%
  • Readme at 83% (date was 8 days stale — now fixed)
  • 0 type errors
  • 181 public functions, 65 tested (36% coverage)

Findings

  1. --help missing 3 commands — proof, proof_query, test_map work but not listed in help output
  2. diagnostics @branch doesn't run diagnostics — just tells you to use audit pipeline. UX confusion.
  3. Standards count: 32 checkers + diagnostics = 33 audit lines — pack says 32 (correct), audit shows 33 (includes diagnostics separately)
  4. README was stale — date 2026-03-29, now updated to 2026-04-07

Active Plans

  • DPLAN-0012 — Hook Management. PARKED.
  • DPLAN-0104 — External project registry discovery. Seedgo section DONE (CWD-first fix tested).

TODO

  • Add proof/test_map to --help — missing from help output
  • Bypass CLI — Feature request from devpulse
  • Checker test coverage — 31/32 checkers still need direct tests (APLAN-0084)

Known Issues

  • audit_display.py has depth 5-6 nesting (bypassed)
  • unused_function_check: importlib/getattr dynamic discovery needs bypass
  • documentation_check 5-line lookahead limitation for multi-line signatures
  • dead_code_check doesn't recognize iterdir() discovery patterns
  • Duplicate PostToolUse hooks (PARKED)
@spawn — Operational (2026-04-07)

@spawn

Branch lifecycle — create, update, delete, sync

State: Operational Last update: 2026-04-07

Branch State Audit (2026-04-09)

Command Status

Command Status Notes
--help Operational Full help text with all commands
(no args) Operational Introspection — lists connected modules
create <path> Operational Creates agent from builder template, registers in registry
create (external project) Operational Auto-detects *_REGISTRY.json, stores relative paths
passport @dirname Operational Grants birthright citizenship
update @branch Operational Single branch update with class-aware template
update <class> --all Operational Batch update by citizen class
update --dry-run Operational Preview mode works
update --help Operational Shows usage and returns 0
delete @branch Operational Archive + deregister
delete --help Operational Shows usage and returns 0
sync-registry Operational Reports healthy/stale/unregistered branches
sync-registry --fix Operational Rebuilds .spawn/ tracking
sync-templates Partial Runs but template_owners.json is empty — no managed files
regenerate-registry Operational Regenerates builder template hashes (43 files, 23 dirs)
regenerate-registry --all Operational All template classes
Python API (spawn_agent) Operational from aipass.spawn import spawn_agent

Metrics

  • Seedgo: 99% (architecture: CLAUDE.md not yet pushed to spawn branch)
  • Tests: 206 passed, 37 skipped
  • Module coverage: 23/23 (100%)
  • Registry: 12 healthy branches (clean — test artifact removed)

Known Issues

  • sync-templates is a no-op (template_owners.json has no entries)
  • No APLAN exists for this branch

Recent Work

  • S82 dispatch: Fixed update --help and delete --help (--help interception before argparse processing). test_spawn_audit_agent already removed from registry by S82 split.
  • CWD-aware sync-registry for external projects
  • TDPLAN-0002: --template flag, CLAUDE.md in builder template
  • Seedgo compliance: 99% (CLAUDE.md architecture item pre-existing)
@trigger — Operational (2026-04-09)

@trigger

Event bus — 14 events, error registry, circuit breaker, Medic auto-dispatch

State: Operational Last update: 2026-04-09

Milestones

  • 14 event types, 14 handlers wired (via registry.py)
  • fire/status/list/--version commands
  • Error registry (104 tracked errors, SHA1 fingerprinting)
  • handle_command routing on all 5 modules
  • Medic: enabled, running via systemd, circuit breaker closed
  • Seedgo 100% (33/33 categories)
  • 370 tests, all passing (12/12 modules covered)
  • json_handler wired to all 21 modules/handlers
  • Introspection gates on all 5 modules + config.py
  • PR events: pr_created + pr_merged fire prax status sync
  • Persistent log watcher via systemd user service

Current State (verified 2026-04-09)

  • All CLI commands operational (--help, fire, list, status, medic, errors, branch_log_events, log_events)
  • branch_log_events watcher: Active=False in-process (systemd service handles persistence)
  • log_events watcher: Active=False in-process (same)
  • Error registry: 0 errors tracked (cleared 106 stale entries 2026-04-09)
  • Circuit breaker: closed (normal operation)
  • Dispatch pipeline: verified working (count>=2 triggers email delivery)
  • 55/76 public functions tested

Current Work

  • No active plans. All FPLANs closed.

Known Issues

  • UNKNOWN component errors from prax branch detection failures in watchdog contexts (root cause in prax, not trigger)
  • No dispatches have occurred organically yet — all real errors are unique (count=1), never repeating to trigger dispatch threshold (count>=2)