Files
AIPass/STATUS.md
T
AIOSAIandClaude Opus 4.6 ec63b8ba29 feat(system): README update, API init fix, diagnostic docs, STATUS sync
- 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>
2026-03-20 00:02:04 -07:00

612 lines
26 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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>