666 lines
29 KiB
Markdown
666 lines
29 KiB
Markdown
# AIPass — System Status
|
|
|
|
> Auto-generated by `drone @prax status sync`. Do not edit manually.
|
|
|
|
**Last sync:** 2026-04-10 00:14
|
|
**Summary:** 8 operational | 0 in-progress | 0 not started
|
|
|
|
---
|
|
|
|
<details><summary><strong>@ai_mail</strong> — Operational (2026-04-07 (session 30))</summary>
|
|
|
|
# @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/)
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@api</strong> — Operational | **Seedgo:** 100% (33/33) | **Tests:** 290 pass, 64/64 functions (2026-04-07)</summary>
|
|
|
|
# @api
|
|
|
|
> Centralized external API gateway — authenticated service clients for all external APIs
|
|
|
|
**State:** Operational | **Seedgo:** 100% (33/33) | **Tests:** 290 pass, 64/64 functions
|
|
**Last update:** 2026-04-07
|
|
|
|
## 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
|
|
- `cleanup` command fails with "Cleanup failed" — likely no usage data file exists to clean. Needs better error handling for empty state.
|
|
- 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` | FAIL | "Cleanup failed" |
|
|
|
|
## Recent (Session 19, 2026-04-07)
|
|
- Branch state audit (discovery only) — dispatch from @devpulse
|
|
- 14/15 commands operational, 1 failure (cleanup)
|
|
- Seedgo 100%, 290 tests, no type errors
|
|
- README updated with full command list, cleanup tagged as not operational
|
|
- No APLAN exists for this branch
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@cli</strong> — Operational (2026-04-07)</summary>
|
|
|
|
# @cli
|
|
|
|
> Display service, Rich formatting for all branches
|
|
|
|
**State:** Operational
|
|
**Last update:** 2026-04-07
|
|
**Seedgo:** 100% (all standards green, 33+ bootstrap 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 14 items (v2) |
|
|
| `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
|
|
- 138 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
|
|
- TDPLAN-0002: aipass init v2 — CLI section complete (S19). Templates rewritten, 6 new files, init agent subcommand, next steps output.
|
|
|
|
## Known Issues
|
|
- None. All commands operational, all tests passing, seedgo 100%.
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@devpulse</strong> — Operational (2026-04-09 (S83 23:52))</summary>
|
|
|
|
# @devpulse
|
|
|
|
> Orchestration hub — coordinates via dispatch + agents (no apps/)
|
|
|
|
**State:** Operational
|
|
**Last update:** 2026-04-09 (S83 23:52)
|
|
|
|
## Current State
|
|
|
|
- **11 core agents** (split from 15 — backup, daemon, commons, skills moved to standalone projects; api reinstated as infrastructure)
|
|
- **82 sessions** of development
|
|
- **207+ PRs** merged
|
|
- **4,900+ tests** across core agents
|
|
- **PyPI:** `pip install aipass` works (v2.0.0)
|
|
- **Vera Studio:** standalone promotion project (separate from AIPass construction)
|
|
- **Goldfish panel:** 7-round multi-model README review (Claude + Codex + Gemini)
|
|
|
|
## Active Work
|
|
|
|
- **S83 Adversarial Audit:** 22 Opus agents audited all 11 branches (code + docs). 350+ findings. All 11 APLANs updated. 11 CRITICALs across 6 branches. PR #211. Wave 2 (verification pass) next.
|
|
- **Hook-sounds plugin:** Built by drone, wired to sound scripts. `drone hook-sounds off/on`.
|
|
- **DPLAN-0106:** Watchdog v2 — Phase 2 depends on daemon (removed). Needs replanning.
|
|
- **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:** Doesn't survive Claude Code background tasks. DPLAN-0106 addresses this (tmux/daemon approach).
|
|
- **Hooks:** Don't work from external projects. aipass init generates .claude/settings.json but hooks reference AIPass-specific scripts. Logged in seedgo branch audit.
|
|
- **backup:** Still in src/aipass/ — needs to be moved to standalone project.
|
|
- **drone.py:** `interactive_branches = ("cli", "backup")` — backup reference needs removing after move.
|
|
- **Memory rollover:** devpulse at 22/20 sessions, 26/25 learnings (trimmed in S81, but keeps growing).
|
|
- **inotify limits:** System-wide exhaustion when many agents run simultaneously. Cosmetic warning.
|
|
|
|
## Notepad
|
|
|
|
### 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 2 audit next (verification pass with 22 more agents)
|
|
|
|
### 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.
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@drone</strong> — Operational (2026-04-07 (Session 38))</summary>
|
|
|
|
# @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 (3), branches (15) |
|
|
| `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.
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@flow</strong> — Operational (2026-04-07)</summary>
|
|
|
|
# @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
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@memory</strong> — Operational — 100% seedgo compliant (33/33 standards) (2026-04-07 (s29))</summary>
|
|
|
|
# @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.
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@prax</strong> — Operational (2026-04-07)</summary>
|
|
|
|
# @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
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@seedgo</strong> — Operational — 99% self-audit (32/33 standards at 100%, Architecture 99%) (2026-04-09 (session 43 — dispatch processing))</summary>
|
|
|
|
# @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-09 (session 43 — dispatch processing)
|
|
|
|
## 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)
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@spawn</strong> — Operational (2026-04-07)</summary>
|
|
|
|
# @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)
|
|
|
|
</details>
|
|
|
|
<details><summary><strong>@trigger</strong> — Operational (2026-04-09)</summary>
|
|
|
|
# @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)
|
|
|
|
</details>
|
|
|