- README.md: updated to current state (15 branches, 95+ PRs, 733 tests, 173 commands) - API: init path fixed (creates .env at ~/.secrets/aipass/ not src/aipass/api/) - API: init shows path and detects existing .env - devpulse/docs: system_health_report, testing_standards, ai_mail comms upgrade - STATUS.md: synced via drone @prax status sync Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
612 lines
26 KiB
Markdown
612 lines
26 KiB
Markdown
# AIPass — System Status
|
||
|
||
> Auto-generated by `drone @prax status sync`. Do not edit manually.
|
||
|
||
**Last sync:** 2026-03-20 00:00
|
||
**Summary:** 9 operational | 0 in-progress | 0 not started
|
||
|
||
---
|
||
|
||
<details><summary><strong>@ai_mail</strong> — Operational (2026-03-17 (session 14))</summary>
|
||
|
||
# @ai_mail
|
||
|
||
> Inter-branch email, dispatch, wake, bounce
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-17 (session 14)
|
||
|
||
## Milestones
|
||
- Send/receive/reply/close lifecycle
|
||
- Dispatch+wake pattern
|
||
- 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
|
||
- Seedgo compliance: 93% → 99% (json_structure 100%, introspection 100%)
|
||
|
||
## Current Work
|
||
- No active tasks. Inbox clear.
|
||
|
||
## Known Issues
|
||
- _find_repo_root() duplicated 9 times across handlers (consolidation candidate)
|
||
- get_all_branches() has 2 implementations (delivery.py vs registry/read.py)
|
||
- Registry shows 6 pytest test branches with /tmp paths (test pollution)
|
||
- Readme standard at 83% (only non-100% standard remaining)
|
||
|
||
## 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 (inbox/sent/contacts need no args), json_utils/json_handler.py bypassed for json_structure (can't import itself)
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@api</strong> — Operational | **Seedgo:** 98% (Log_Structure 55% — known, separate fix) (2026-03-17)</summary>
|
||
|
||
# @api
|
||
|
||
> Centralized external API gateway — authenticated service clients for all external APIs
|
||
|
||
**State:** Operational | **Seedgo:** 98% (Log_Structure 55% — known, separate fix)
|
||
**Last update:** 2026-03-17
|
||
|
||
## Milestones
|
||
- OpenRouter client (get_response, models, test)
|
||
- Key management from ~/.secrets/aipass/
|
||
- Google provider module (Drive, Calendar, any Google API)
|
||
- Seedgo compliance: json_handler, introspection, diagnostics (PR #69 merged)
|
||
|
||
## Current Work
|
||
- Backup migration to use our Google module (pending backup)
|
||
- Unit tests — emailed @ai_mail for advice on test setup
|
||
|
||
## Known Issues
|
||
- Log_Structure 55% — seedgo working on this standard separately
|
||
- Seedgo introspection standard doesn't account for standalone commands (workaround in place)
|
||
|
||
## Recent (Session 4, 2026-03-17)
|
||
- Seedgo compliance: 88% → 98% (PR #69)
|
||
- json_handler wired in all 13 handlers
|
||
- Introspection gates in all 4 modules (with standalone command routing)
|
||
- Pyright directives for optional deps (3 files)
|
||
- Found + fixed bug: introspection gates breaking standalone commands
|
||
- git reset mishap — recovered, lesson learned
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@backup</strong> — Operational — seedgo 100% (all 24 standards) (2026-03-17 (session 10))</summary>
|
||
|
||
# @backup
|
||
|
||
> Multi-mode backup — snapshot, versioned, Google Drive
|
||
|
||
**State:** Operational — seedgo 100% (all 24 standards)
|
||
**Last update:** 2026-03-17 (session 10)
|
||
|
||
## Working Commands
|
||
- `drone @backup snapshot [--dry-run]` — full copy backup
|
||
- `drone @backup versioned [--dry-run]` — timestamped incremental
|
||
- `drone @backup all` — full cycle (Drive step will fail until @api migration)
|
||
|
||
## Scope
|
||
- Whitelist: Projects, Desktop
|
||
- 1590 files / 12.8 MB
|
||
- 235 runtime JSON files filtered (correct behavior)
|
||
|
||
## Recently Completed
|
||
- Session 10: @seedgo dispatch — json_structure 4%→100%, introspection 60%→100%, readme freshness. Re-did session 9 work lost in git collision.
|
||
|
||
## Pending
|
||
- @api dispatch: Migrate Google Drive auth to API branch (email c19c8d0f — parked)
|
||
- integrations.py: locally archived to .archive but git state may have it back in backup.py imports — reconcile on next session
|
||
- Drive command return-value bug: handle_command returns False on failure instead of True
|
||
- Versioned backup needs initial seed run (stale data from old runs)
|
||
|
||
## Known Issues
|
||
- Google API libs not installed (googleapiclient, google_auth_oauthlib)
|
||
- reauth_drive.py still uses ~/.aipass/ for drive_creds.json (needs ~/.secrets/aipass/)
|
||
- diff/ handlers wired into file_operations but no CLI command exposes them directly
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@cli</strong> — Operational (2026-03-17)</summary>
|
||
|
||
# @cli
|
||
|
||
> Display service, Rich formatting for all branches
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-17
|
||
**Seedgo:** 100% (24/24 standards)
|
||
|
||
## Milestones
|
||
- Console singleton
|
||
- Header/success/error/warning formatters
|
||
- Shared across all branches
|
||
- 100% seedgo compliance (2026-03-17)
|
||
|
||
## Current Work
|
||
- [x] FPLAN-0041: Migrated init_project.py from devpulse (2026-03-14)
|
||
- handler: `apps/handlers/init/bootstrap.py`
|
||
- module: `apps/modules/init_project.py`
|
||
- wired: `drone @cli aipass init [target] [name]`
|
||
- [x] Seedgo 100% compliance (2026-03-17)
|
||
- Created dropbox/, logs/ directories
|
||
- Cleaned json_handler (removed prax dep)
|
||
- Wired json_handler into display.py, templates.py, init_project.py
|
||
- Bypassed bootstrap.py (pure Python by design)
|
||
- Fixed introspection no-args gate (AST pattern: `not args`)
|
||
- Updated README with init commands + architecture
|
||
|
||
## Known Issues
|
||
- None known
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@commons</strong> — Operational — Seedgo 99% (2026-03-18)</summary>
|
||
|
||
# @commons
|
||
|
||
> Social network for branches — posts, rooms, artifacts
|
||
|
||
**State:** Operational — Seedgo 99%
|
||
**Last update:** 2026-03-18
|
||
|
||
## Seedgo Compliance (99%)
|
||
|
||
23/24 categories at 100%. Only Readme at 83% (minor tree check).
|
||
|
||
## Session 4 Summary (2026-03-17/18)
|
||
|
||
### Prax Log Routing Fix
|
||
- Stray `src/aipass/commons/` directory spotted by Patrick
|
||
- Root cause: prax `detect_branch_from_path()` didn't handle commons' non-standard path
|
||
- Dispatched to prax, who fixed 3 files. Verified: logs now write to `src/commons/logs/`
|
||
|
||
### 5-Branch Social Stress Test
|
||
- Tested with commons, drone, spawn, flow, memory
|
||
- 40+ commands: posts, comments, votes, rooms, artifacts, explore, search
|
||
- Identity detection via CWD: bulletproof across all 5 branches
|
||
|
||
### 3 Integration Gaps Fixed (DPLAN-0018, FPLAN-0097)
|
||
All same pattern: helper functions existed from Dev-Pass port but were never wired into production code.
|
||
|
||
1. **FTS5 search** — `sync_post_to_fts()`/`sync_comment_to_fts()` never called from post_ops/comment_ops. Added calls + `backfill_fts_index()` (indexed 6 posts + 17 comments)
|
||
2. **Visitor tracking** — No `room_visits` table. Added table to schema, `record_visit()` to space_ops, recording in `_cmd_enter()`. Updated `get_visitors_data()`.
|
||
3. **Post/comment counts** — `increment_post_count()`/`increment_comment_count()` never called. Catchup nudge showed wrong "haven't posted" tip. Wired into post_ops/comment_ops.
|
||
|
||
### Files Modified
|
||
- `apps/handlers/posts/post_ops.py` — FTS sync + post count
|
||
- `apps/handlers/comments/comment_ops.py` — FTS sync + comment count
|
||
- `apps/handlers/search/search_queries.py` — backfill_fts_index()
|
||
- `apps/handlers/rooms/space_ops.py` — record_visit() + updated visitors query
|
||
- `apps/modules/space_module.py` — visit recording in enter
|
||
- `apps/handlers/database/schema.sql` — room_visits table
|
||
- `tools/backfill_fts.py` — one-time FTS backfill script
|
||
|
||
## Session 5: Module Rename (2026-03-18)
|
||
|
||
Removed `_module` suffix from all 21 module files per seedgo naming standard ("Path = Context, Name = Action"). DPLAN-0019 → FPLAN-0099 master plan.
|
||
|
||
- 21 agents deployed in 2 batches (10 + 11), running in parallel
|
||
- Each agent: renamed .py file, updated header + introspection string, renamed JSON tracking files
|
||
- Orchestrator: updated commons.py static import, .seedgo/bypass.json (9 entries)
|
||
- Old modules archived to `apps/modules/.archive/`
|
||
- System verified: all commands working, seedgo 99%
|
||
|
||
## Known Issues
|
||
- Readme 83% — likely missing dropbox/ in directory tree
|
||
- Pyright warnings (unused logger imports) — pre-existing, cosmetic
|
||
|
||
## Architecture
|
||
- 86+ Python files, 21 modules, 19 handler domains
|
||
- SQLite + WAL + FTS5, 17 tables (added room_visits)
|
||
- Lives at src/commons/ (standalone, outside aipass namespace)
|
||
- Imports own code as `from commons.apps.*`
|
||
- Uses aipass services: prax (logging), cli (display)
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@daemon</strong> — Operational (2026-03-17)</summary>
|
||
|
||
# @daemon
|
||
|
||
> Autonomous scheduled wake-ups
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-17
|
||
**Seedgo audit:** 96%
|
||
|
||
## Session 4 Summary
|
||
- DPLAN-0064: Branch health cleanup (4 critical bugs, telegram archive, code quality, polish)
|
||
- DPLAN-0077: Json_Structure compliance (templates + json_handler in all 16 files)
|
||
- Seedgo: 92% → 96%. Json_Structure 7→100%
|
||
- Only Log_Structure (22%) remains — being reworked system-wide
|
||
|
||
## Audit Scorecard (20 standards)
|
||
- 100%: Architecture, Cli, Cli_Flags, Documentation, Encapsulation, Error_Handling, Handlers, Imports, Introspection, Json_Structure, Log_Handler, Log_Level, Log_Visibility, Meta, Modules, Naming, Permission_Flags, Readme, Shebang, Stderr_Routing, Testing, Trigger, Diagnostics
|
||
- 22%: Log_Structure (expected — system rework in progress)
|
||
|
||
## Known Issues
|
||
- activity_report commands (activity, activity-report) run with no args — no introspection gate
|
||
- scheduler_cron.py optional-import pattern needs type: ignore
|
||
- Log_Structure seedgo check looks for logs/ at apps/ not branch root
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@devpulse</strong> — Operational (2026-03-18)</summary>
|
||
|
||
# @devpulse
|
||
|
||
> Orchestration hub — coordinates via dispatch + agents (no apps/)
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-18
|
||
|
||
## Milestones
|
||
- 36 sessions of system coordination
|
||
- drone @git pr v2 — commit-on-main workflow (no disappearing files)
|
||
- Plan cleanup — 60+ FPLANs/DPLANs closed, templates updated with "close immediately" rule
|
||
- Prax monitor fully operational — UNKNOWN→PRAX, inotify restored, polling fallback with actionable messaging
|
||
- Global prompt refined — logging/debugging, .archive pattern, local-ahead-of-origin, console vs logs
|
||
- System cleanup — 12 notepad items investigated and resolved (commons DB, memory central_writer, registry ghosts, .seed bypass, unknown_branch)
|
||
- Bounce system confirmed working end-to-end
|
||
|
||
## Current Work
|
||
- **Memory plan vectorization crisis**: Per-file subprocess cold-loads torch (~500MB) per plan file. 114 files × concurrent invocations = system crush. Wired into startup trigger so EVERY drone command fires it. Memory investigating with Dev-Pass comparison. Awaiting report.
|
||
- **Dispatch UX ref sweep**: ai_mail + trigger updated. Prax, daemon, flow have emails in inbox (not yet woken).
|
||
- **Local prompt gap**: 7 of 15 branches on 14-line stubs. Root cause of babysitting load vs Dev-Pass.
|
||
- DPLAN-003: Phase 3 (drone aipass help) pending.
|
||
|
||
## Known Issues
|
||
- **CRITICAL: memory plan processing**: (1) per-file subprocess loads torch each time instead of batching, (2) no concurrency lock — multiple instances race same files, (3) wired into startup trigger — every drone command triggers heavy ML ops. Path fix in session 36 unmasked the bug (was silently finding 0 files before).
|
||
- **prax dashboard CLI routing**: argparse eats flags before module.
|
||
- **api**: `models` command not routed through drone
|
||
- **ruff CI**: 474 lint violations. Backlog — don't auto-fix until seedgo coverage is 100%.
|
||
- **wake.py no --model flag**: dispatched branches use CLI default model.
|
||
|
||
## Todos
|
||
- [ ] Local prompt enrichment pass — 7 branches on stubs (drone, prax, cli, ai_mail, backup, api, spawn)
|
||
- [ ] Devpulse wake protection — daemon blocks dispatch but manual wake has no blocklist. Need full protection like Dev-Pass DevCentral.
|
||
- [x] DPLAN-0017: dispatch UX redesign — DELIVERED. dispatch/email/fresh all tested.
|
||
- [ ] Handler guard too aggressive — blocks `python3 -c` even for same-branch agents. Guard should only block cross-branch .py file imports, not command-line execution. Seedgo owns the `__init__.py` template. All 14 branches affected.
|
||
- [ ] DPLAN-003 Phase 3: `drone aipass help` module
|
||
- [ ] Ruff cleanup FPLAN (after seedgo coverage reaches 100%)
|
||
- [ ] Add --model support to wake.py
|
||
|
||
## Recently Completed
|
||
- Session 36: PR v2 (commit-on-main). Global prompt (logging, .archive, git awareness). Notepad cleanup (12 items). Prax monitor fixed (UNKNOWN, inotify, introspection). Registry healed (6 ghosts removed). Memory central_writer path fixed. Commons DB path fixed. (2026-03-18)
|
||
- Session 35: DPLAN-0008 complete — drone @git module. PRs #76-86. (2026-03-18)
|
||
- Session 34: CLAUDE.md inbox startup, venv→symlinks. (2026-03-17)
|
||
- Session 33: Stale term scanner+SOP, dispatched cleanup. (2026-03-16)
|
||
|
||
## Notepad
|
||
> **SCRATCH SPACE — gets wiped at session start or topic change.**
|
||
|
||
Session 37:
|
||
- DPLAN-0017 DELIVERED + TESTED. dispatch/email/fresh all confirmed working on prax.
|
||
- Dispatched ref updates to: ai_mail (done), trigger (done), flow (email landed, blocked by interactive), prax (killed mid-dispatch), daemon (killed mid-dispatch).
|
||
- Memory vectorization incident: 5 concurrent drone commands each triggered startup→check_and_rollover→process_plans→per-file torch subprocess. System pegged at 100% CPU. Had to kill all processes. Root cause: session 36 path fix unmasked the bug — before fix, process_plans found 0 files and returned instantly.
|
||
- Inbox hang was NOT ai_mail — confirmed. System was CPU-starved from memory's torch subprocesses.
|
||
- Devpulse wake protection gap found: daemon has blocklist but manual wake doesn't.
|
||
- Memory incident RESOLVED: batch mode + decoupled from startup + explicit command (PR #94, #95). 113 files processed in ~1 min at ~20% CPU.
|
||
- Memory emailed trigger to review _run_memory_bank_check() in startup.py — still calls check_and_rollover() on every drone command.
|
||
- Prax, daemon still have `send`→`email` ref update emails in their inboxes — low priority, will pick up next wake.
|
||
- Flow has template update email + older pending items.
|
||
- 100K+ trigger_core.log entries from the incident — prax handling the overflow.
|
||
- PRs pending on GitHub: #89, #90, #94, #95, plus earlier flow/prax work.
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@drone</strong> — Operational (2026-03-17)</summary>
|
||
|
||
# @drone
|
||
|
||
> Command router, @branch resolution, subprocess dispatch, custom commands, git workflow
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-17
|
||
|
||
## Milestones
|
||
- Core routing operational
|
||
- `drone systems` command
|
||
- @branch resolution
|
||
- `--help` for all branches
|
||
- Interactive tuple for human-facing commands (monitor, snapshot, versioned)
|
||
- Credential verification (RegistryMismatchError)
|
||
- Test suite: 335 tests, 9 files
|
||
- Seedgo audit: 99% (readme pre-existing)
|
||
- **Activated commands restored** (PR #74): scan, activate, list, remove, execute
|
||
- **drone @git module** (FPLAN-0094): pr, status, sync, lock, unlock
|
||
|
||
## Current Work
|
||
- @git module complete — awaiting Patrick's review
|
||
- FPLAN-0094 closed
|
||
|
||
## What Changed (Session 9)
|
||
- Built `drone @git` internal module from DPLAN-0008 spec
|
||
- `git_module.py` — module + adapter, registered in _MODULE_REGISTRY
|
||
- `handlers/git/lock_handler.py` — atomic O_CREAT|O_EXCL lockfile
|
||
- `handlers/git/pr_handler.py` — 10-step PR workflow with finally cleanup
|
||
- `handlers/git/status_handler.py` — scoped git status
|
||
- `handlers/git/sync_handler.py` — safe main sync
|
||
- 46 new tests (335 total), all passing
|
||
- Fixed Pyright: handler __init__.py re-exports, unused imports
|
||
|
||
## Known Issues
|
||
- Pyright warns about `json` package name shadowing stdlib — works at runtime
|
||
- Production bug: resolver.handle_command("resolve"/"info", ["@NONEXISTENT"]) unhandled
|
||
- Pyright can't fully resolve handlers/git/ imports (handler guard __init__.py limitation)
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@flow</strong> — In progress — health check (DPLAN-0020) (2026-03-18)</summary>
|
||
|
||
# @flow
|
||
|
||
> Plan lifecycle — FPLANs, DPLANs, and any custom plan type via filesystem-driven template registry
|
||
|
||
**State:** In progress — health check (DPLAN-0020)
|
||
**Last update:** 2026-03-18
|
||
|
||
## Current Work
|
||
- DPLAN-0020: Flow health check — session 9 deep dive with Patrick
|
||
- Introspection/help: DONE (all 8 modules)
|
||
- Template rename + auto-discovery: DONE
|
||
- Template registry + auto-heal: DONE (delete dir → full cleanup)
|
||
- No-fallback errors: DONE
|
||
- --dry-run for close: DONE
|
||
- Registry cleanup: DONE (Docker artifacts, orphan FPLANs)
|
||
- Post-close pipeline: DONE (foreground archival, flags set atomically)
|
||
- Vector intake: DONE (process-plans + verify, visible in close output)
|
||
- Remaining: dashboard push fix, README update, devpulse template updates
|
||
|
||
## Recently Completed (Session 9)
|
||
- Foreground archival: moved from background subprocess to close_ops.py, fixing race condition
|
||
- Registry flags: processed/cleanup_completed now set atomically on close
|
||
- Vector pipeline: drone @memory process-plans + is_plan_vectorized() wired into close output
|
||
- Template auto-heal: load_registry() prunes orphaned types + deletes plan registry JSON
|
||
- --dry-run flag: drone @flow close --all --dry-run
|
||
- Registry cleanup: removed 4 Docker-path entries, 7 orphan FPLANs archived
|
||
- Silent fallback removed from mbank/process.py vector intake
|
||
- Memory bug verified fixed (CWD), devpulse dispatch replied (--dry-run + orphan heal)
|
||
- Closed DPLAN-0022, 0024, 0026
|
||
- Cross-branch coordination: 3 email exchanges with @memory → path mismatch found + fixed
|
||
|
||
## Pending
|
||
- 2 devpulse dispatches: FPLAN template syntax updates + list→list open docs
|
||
- Dashboard push failing on close (non-critical, separate issue)
|
||
- README update (template system, new commands, pipeline changes)
|
||
- Final seedgo audit
|
||
|
||
## Active Plans
|
||
- DPLAN-0020: Flow health check (near completion)
|
||
|
||
## New Commands (Session 8-9)
|
||
```
|
||
drone @flow register <dir> <PREFIX> # Register plan type
|
||
drone @flow unregister <dir> # Remove plan type
|
||
drone @flow templates # List registered types
|
||
drone @flow scan # Find unregistered directories
|
||
drone @flow close --dry-run # Preview what would close
|
||
drone @flow close --all --dry-run # Preview close-all
|
||
```
|
||
|
||
## Known Issues
|
||
- Dashboard push fails on every close ("Failed to push flow section to branch dashboard")
|
||
- plan_type.json files still in templates/ dirs (orphaned — system ignores them)
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@memory</strong> — Operational — 100% seedgo compliant (2026-03-18 (s16))</summary>
|
||
|
||
# @memory
|
||
|
||
> Vector memory archive — ChromaDB, sentence-transformers
|
||
|
||
**State:** Operational — 100% seedgo compliant
|
||
**Last update:** 2026-03-18 (s16)
|
||
|
||
## Milestones
|
||
- ChromaDB integration
|
||
- Auto-rollover at 600 lines (v2 entry-count mode)
|
||
- Searchable vector archive
|
||
- FPLAN-0026 complete (rollover E2E, search, plans archival)
|
||
- **DPLAN-0073 COMPLETE** — 100% seedgo audit, all 24 standards passing
|
||
- **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) in ~1 min at ~20% CPU
|
||
|
||
## Current Work
|
||
- No active DPLANs or FPLANs — all caught up
|
||
- Future: wire up watchdog watcher via `drone @memory watch` to replace startup trigger dependency
|
||
|
||
## Known Issues
|
||
- `search` fails without torch/sentence-transformers installed
|
||
- Search returns semantically similar plans, not exact ID matches — use `verify` for ID lookup
|
||
- ~~Plan vectorization system overload~~ FIXED in PR #95 (batch mode + decoupled from startup)
|
||
- ~~Plan vectorization path mismatch~~ FIXED in PR #95 (correct path: src/aipass/backup/processed_plans)
|
||
- ~~Flow plan registry broken~~ FIXED in PR #71
|
||
- Old memory bank had ~4,180 vectors. Current has 2,200+ (207 rollover + 2019 plans). Growing.
|
||
|
||
## New Commands
|
||
- `drone @memory verify FPLAN-XXXX` — check if plan is vectorized in chroma
|
||
- `drone @memory process-plans` — explicit batch vectorization (NOT auto-triggered)
|
||
|
||
## Architecture Notes
|
||
- Dual vector storage: local (`{branch}/.chroma/`) + global (`memory/.chroma/`). Local fails gracefully, global is critical (restores backup on failure).
|
||
- Plan vectorization decoupled from startup trigger. `_check_plans()` = count only. Processing via explicit command.
|
||
- Watchdog infrastructure exists in memory_watcher.py but not exposed via drone yet.
|
||
- Startup trigger chain: prax logger → trigger.fire('startup') → check_and_rollover(). Keep this lightweight — NEVER put heavy processing here.
|
||
|
||
## Notepad
|
||
- Session 16: INCIDENT — vectorization overloaded system. 228 subprocess calls × 5 concurrent drone commands. Fixed with batch mode + decoupling. PR #95. Full report sent to devpulse.
|
||
- Session 15: FPLAN-0128 — verify command + config fix. PR #94.
|
||
- Session 14: Processed 4 @flow emails. Path mismatch root cause found.
|
||
- Emailed trigger about startup.py _run_memory_bank_check() weight — needs review
|
||
- handlers/__init__.py guard blocks cross-branch imports — always expose via modules layer
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@prax</strong> — Operational (2026-03-18)</summary>
|
||
|
||
# @prax
|
||
|
||
> Logging, monitoring, dashboard infrastructure
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-18
|
||
|
||
## Milestones
|
||
- System-wide logging via `from aipass.prax import logger`
|
||
- Monitor: polling fallback, caller attribution, agent tracking (Phases 1-3)
|
||
- Dashboard infrastructure
|
||
- Seedgo audit: 100% (25/25 categories)
|
||
|
||
## Current Work
|
||
- No active plans — all closed
|
||
- 4 active commands: monitor, status, log-audit, dashboard
|
||
- 5 dead modules archived (init, shutdown, run, terminal, discover)
|
||
|
||
## Seedgo Audit: 100%
|
||
- 25 of 25 categories at 100%
|
||
|
||
## Recently Completed (Session 17)
|
||
- Introspection standard: all modules compliant
|
||
- Monitor Phase 1: PollingObserver fallback, degradation notices, clean startup
|
||
- Monitor Phase 2: Caller attribution via drone [CALLER:BRANCH] markers
|
||
- Monitor Phase 3: Agent intelligence (tool use, thinking, responses)
|
||
- Archived 5 dead modules, stripped verbose flag, cleaned help
|
||
- Found + reported seedgo silent checker bug — fixed same session
|
||
- Final 3 introspection violations fixed (status.py, agent_status.py, logger.py)
|
||
- Cleaned stale logs/.archive/
|
||
|
||
## Known Issues
|
||
- System inotify watches near-exhausted. Monitor uses polling fallback — functional but slower.
|
||
- Phase 4 (interactive filtering) deferred — not needed now
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@seedgo</strong> — Operational — **13/14 branches at 100%** (but new introspection checks will lower some scores) (2026-03-18 (session 22))</summary>
|
||
|
||
# @seedgo
|
||
|
||
> Standards enforcement, 24-standard audit pack + hook ownership + branch dispatch
|
||
|
||
**State:** Operational — **13/14 branches at 100%** (but new introspection checks will lower some scores)
|
||
**Last update:** 2026-03-18 (session 22)
|
||
|
||
## Session 22 Summary
|
||
|
||
Dispatch wake — processed 3 emails.
|
||
|
||
1. **Introspection checker improved** (Flow dispatch) — Two new checks:
|
||
- **Content references** — flags `print_introspection()`/`print_help()` that reference `python3` instead of `drone @` commands
|
||
- **Module help interception** — flags modules where `handle_command()` doesn't intercept `--help`
|
||
2. **Standard content fixed** — `introspection_content.py` examples updated from `python3` to `drone @`
|
||
3. **Devpulse HOLD** — Introspection standard stays as-is. Standards changes only from devpulse/Patrick.
|
||
4. **Prax rejected** — Told to use subcommands instead of removing introspection guards.
|
||
|
||
## Active Plans
|
||
|
||
- **DPLAN-0012** — Hook Management. PARKED. Architecture mapped, not executing yet.
|
||
- **DPLAN-0075** — Auto-fix Execution. Working in production.
|
||
|
||
## TODO
|
||
|
||
- **ai_mail readme** — 99% → 100% (only remaining non-100% branch)
|
||
- **System-wide introspection fixes** — New checks will flag python3 refs + missing --help interception across branches
|
||
- **DPLAN-0012 execution** — When Patrick is ready
|
||
- **seedgo_verify modernization** — old verify module in .archive/
|
||
- **Update branch prompt** — Add dispatch patterns, hook ownership responsibilities
|
||
|
||
## Known Issues
|
||
- Duplicate PostToolUse hooks — auto_fix fires twice per edit (PARKED)
|
||
- Hardcoded `/home/patrick/` paths in global settings hooks
|
||
- Bridge scripts superseded but needed for portability
|
||
- commons at src/commons/ not src/aipass/commons/ — path assumption trap
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@skills</strong> — Operational (2026-03-17)</summary>
|
||
|
||
# @skills
|
||
|
||
> Capability framework — discoverable, executable skill units
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-17
|
||
|
||
## Milestones
|
||
- Skill discovery
|
||
- Execution framework
|
||
- --help
|
||
- 5 handle_commands
|
||
- Seedgo 100% compliance (all 24 standards)
|
||
|
||
## Current Work
|
||
- Session 7: Full seedgo compliance cleanup complete (91% → 100%)
|
||
- DPLAN-0070 created for planning
|
||
|
||
## Known Issues
|
||
- None known
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@spawn</strong> — Operational (2026-03-17)</summary>
|
||
|
||
# @spawn
|
||
|
||
> Branch lifecycle — create, update, delete, sync
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-17
|
||
|
||
## Milestones
|
||
- Full lifecycle manager (create/update/delete/sync-registry/sync-templates)
|
||
- Citizen classes (builder/birthright/manager)
|
||
- SHA-256 file tracking
|
||
- 113+ tests passing
|
||
- Seedgo audit: 98% (23/24 standards at 100%)
|
||
|
||
## Current Work
|
||
- PR #68 open: feat/spawn-seedgo-compliance (awaiting merge)
|
||
- FPLAN-0069 complete — seedgo 93%→98%
|
||
|
||
## Known Issues
|
||
- Log_structure at 55% — seedgo PR #63 fixes the post-check contradiction. Will be 100% after merge.
|
||
- 6 stale test entries in AIPASS_REGISTRY.json (test pollution — conftest needs backup/restore)
|
||
- Update rename detection noisy on freshly-created branches
|
||
|
||
</details>
|
||
|
||
<details><summary><strong>@trigger</strong> — Operational (2026-03-17)</summary>
|
||
|
||
# @trigger
|
||
|
||
> Event bus — 12 events, error registry, circuit breaker
|
||
|
||
**State:** Operational
|
||
**Last update:** 2026-03-17
|
||
|
||
## Milestones
|
||
- 12 event types
|
||
- fire/status/list commands
|
||
- Error registry
|
||
- handle_command routing
|
||
- Seedgo 98% (22/23 at 100%)
|
||
- json_handler wired to all 21 modules/handlers
|
||
- Introspection gates on all 5 modules + config.py
|
||
- Type errors resolved (stub definitions for conditional imports)
|
||
|
||
## Current Work
|
||
- DPLAN-0071: JSON Structure Compliance (completed)
|
||
|
||
## Known Issues
|
||
- log_structure at 55% — seedgo checker backlog, not a trigger issue
|
||
|
||
</details>
|
||
|