* fix(ai_mail): resolve relative mailbox_path bug + archive dead handlers Fix get_user_by_email() and get_all_users() returning relative mailbox_path values from registry instead of absolute paths (causing doubled paths in reply). Added path resolution matching get_current_user() pattern. Archive 7 unused handler files to apps/.archive/ (gitignored): - pending_work.py — planned feature, never wired - lock_utils.py — superseded by inbox_lock.py - data_ops.py — consumer (error_monitor) was archived - config_generator.py, users/load.py, registry/validate.py — scaffolded, never used - trigger/error_handler.py — superseded by trigger branch's event system Added test_user_paths.py (13 tests) covering absolute path resolution. Co-Authored-By: @ai_mail <ai_mail@aipass> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat(spawn): seedgo compliance cleanup — 93% to 98% Archive legacy files (dev.local.md, ai_mail.local/, .seed/). Update META Modified dates on 22 files. Update README architecture tree and freshness. Fix 15 Pyright unused warnings. Add introspection no-args gates to 6 modules. Wire json_handler + log_operation to 15 operational files. Add seedgo bypass for 5 pure data files and log_structure. Remove deprecated dev.local.md from builder template. Co-Authored-By: @spawn <spawn@aipass> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore(system): session 34 — maintenance day, multi-branch work System changes: - setup.sh: symlink install replaces .bashrc PATH export for drone/seedgo - .claude/settings.json: deny list moved to per-branch settings.local.json - .gitignore: updated - CLAUDE.md culture doc: stale refs fixed (Cortex→spawn, id.json→passport.json) Branch work (accumulated from 15-branch rounds): - daemon: stale term cleanup, plugin removals, json handler modernization - drone: module refactor (discovery, registry, router, resolver, config) - commons: 50+ file cleanup (imports, handlers, modules) - flow: template loader, plan type system, command parser Per-branch settings.local.json: reworked deny lists — allow PR workflow, deny destructive git ops (reset, rebase, merge, clean, force push, rm -rf). Fixed pattern syntax from :* to * glob. Co-Authored-By: @devpulse <devpulse@aipass> --------- Co-authored-by: @ai_mail <ai_mail@aipass> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: @spawn <spawn@aipass> Co-authored-by: @devpulse <devpulse@aipass>
19 KiB
AIPass — System Status
Auto-generated by
drone @prax status sync. Do not edit manually.
Last sync: 2026-03-17 09:59
Summary: 11 operational | 1 in-progress | 3 not started
@ai_mail — Operational (2026-03-10)
@ai_mail
Inter-branch email, dispatch, wake, bounce
State: Operational Last update: 2026-03-10
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
Current Work
Known Issues
- get_current_user() returns relative mailbox_path (doubled paths in reply)
@api — Operational | **Seedgo:** 100% (2026-03-17)
@api
Centralized external API gateway — authenticated service clients for all external APIs
State: Operational | Seedgo: 100% 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)
- 100% seedgo compliance (was 88%)
Current Work
- Backup migration to use our Google module (pending backup)
Known Issues
- None
Recent (Session 4, 2026-03-17)
- Fixed all 5 failing seedgo categories → 100%
- Introspection gates in all 4 modules
- json_handler wired in all 13 handlers
- Type errors resolved (optional deps)
- Created dropbox/ and logs/ directories
@backup — Operational — 100% seedgo compliant (2026-03-17)
@backup
Multi-mode backup — snapshot, versioned, Google Drive
State: Operational — 100% seedgo compliant Last update: 2026-03-17
Milestones
- Seedgo 100% — all 23 standards passing (FPLAN-0063)
- Snapshot and versioned backup modes working
- Rich CLI output with drone interactive mode
- Ignore patterns extracted to editable JSON (FPLAN-0037)
- Directory whitelist + file size cap (FPLAN-0043)
- Pattern audit scan tool (tests/test_pattern_scan.py)
Current Work
- @api dispatch pending: Migrate Google Drive auth to API branch (email c19c8d0f)
- DPLAN-0035 stays open for ongoing backup operational work
Known Issues
- Versioned backup needs initial seed run (stale data in versioned_backup/ dir)
- Google Drive commands parked (pending @api migration)
- Dead code: diff/ handlers unwired, integrations.py handle_command unreachable
- reauth_drive.py still uses ~/.aipass/ for drive_creds.json (needs ~/.secrets/aipass/)
@builder_agent — Not Started (None)
@BUILDER_AGENT
BUILDER_AGENT branch
State: Not Started Last update: None
Milestones
Current Work
Known Issues
@class_test — Not Started (None)
@CLASS_TEST
CLASS_TEST branch
State: Not Started Last update: None
Milestones
Current Work
Known Issues
@cli — Operational (2026-03-17)
@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
- 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]
- handler:
- 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
@commons — In Progress (2026-03-10)
@commons
Social network for branches — posts, rooms, artifacts
State: In Progress Last update: 2026-03-10
Milestones
- 86 Python files ported from Dev-Pass
- Full social network (posts, comments, rooms, feeds, artifacts, FTS5 search)
Current Work
Known Issues
- DB init failure — main blocker preventing full operation
@daemon — Operational (2026-03-17)
@daemon
Autonomous scheduled wake-ups
State: Operational Last update: 2026-03-17 Active plan: DPLAN-0064 (Daemon Branch Health & Cleanup)
Current Work
- Stream 1 (critical fixes): DONE — C1 path fix, C2+H6 fuzzy matching, C3 PATRICK_PRIVATE, C4 memory health
- Stream 2 (telegram cleanup): DONE — 5 files archived, imports cleaned, registry pruned
- Stream 3 (code quality): TODO — H1 error returns, H3 dispatch dedup, H4 date placeholder, H5 UUID length
- Stream 4 (polish): TODO — unused imports, command aliases, module discovery
Milestones
- All 7 drone commands passing
- Activity report showing real health data (was 15 false alarms → now 10 OK)
- Action registry down to 3 active plugins (from 5)
Known Issues
- scheduler_cron.py has Pyright warnings from optional-import-to-None pattern (M9, cosmetic)
- scheduler_ops.py re-exports flagged as unused by Pyright (facade pattern, expected)
- wakeup_ops.py has unused
argsparameter in handle_command (interface contract)
@default_agent — Not Started (None)
@DEFAULT_AGENT
DEFAULT_AGENT branch
State: Not Started Last update: None
Milestones
Current Work
Known Issues
@devpulse — Operational (2026-03-16)
@devpulse
Orchestration hub — coordinates via dispatch + agents (no apps/)
State: Operational Last update: 2026-03-16
Milestones
- 33 sessions of system coordination
- STATUS board system (per-branch + central aggregation)
- Prompt architecture (breadcrumbs pattern)
- dev.local.md → STATUS.local.md consolidation
- Dispatch+wake workflow (backup, flow, cli, prax all verified)
- First PR review cycle — 8 PRs reviewed+merged in one session
Current Work
- Stale term cleanup: Scanner tool built (
tools/dev_central_to_devpulse.py). SOP written (tools/SOP_stale_term_cleanup.md). 484 "dev central" hits across 155 files. Categorized into 5 types: simple rename (A), rewrite needed (B), filename/structural (C), historical docs (D), ALL CAPS prompts (E). Strategy: branch-by-branch, sub-agents handle A/B/E, we plan C manually, leave D alone. - DPLAN-004: Dashboard pipeline — prax Phase 1 merged (#45), Phase 2 merged (#47) but argparse bug still present (--all/--branch flags eaten by prax.py). Python API works, CLI routing broken.
- DPLAN-003: credential model Stage 1 complete. Phase 2 done (aipass init CLI, PR #48 merged). Phase 3 (drone aipass help) pending.
- Ruff CI: 474 violations remaining after config (E402 + init F401 ignored). No cleanup until seedgo coverage higher. Hook already catches on edits.
Known Issues
- prax dashboard CLI routing:
drone @prax dashboard refresh --allfails — argparse eats flags before module. Python API works fine. - flow/DPLAN CWD default: DPLANs always go to flow's dev_planning/ regardless of caller's CWD.
- api:
modelscommand not routed through drone - ai_mail:
get_current_user()returns relativemailbox_path— causes doubled paths in reply - drone: versioned backup exceeds 30s subprocess timeout
- seedgo self-violation: stderr_routing_check.py fails its own standard
- ruff CI: 474 lint violations (331 unused imports, 87 unused vars, etc). Backlog — don't auto-fix until seedgo coverage is 100%.
- wake.py no --model flag: dispatched branches use CLI default model. Can't control from our side.
Todos
- Close stale FPLANs (0017, 0021) once verified complete
- DPLAN-003 Phase 3:
drone aipass helpmodule - Email prax about argparse bug (--all/--branch still broken despite PR #47)
- Seedgo: single-file checklist command broken (
drone @seedgo checklist <file>fails silently) - Ruff cleanup FPLAN (after seedgo coverage reaches 100%)
- Add --model support to wake.py for dispatched branches
Recently Completed
- Session 32: README update (init-anywhere), git workflow fix (return to main after PR — tested, works), merged PRs #54-56, cleaned 8 stale branches, new principle (2026-03-16)
- Session 31: CLI front door (seedgo-compliant discovery + drone internal module), statusline git branch, Rich colors, DPLAN-0044, aipass init external test, 6 research agents, OpenClaw comparison, PR #51 (2026-03-15)
- Session 29: Merged 8 PRs (#39-48), ruff investigation (612→474), dispatch reply breadcrumb, /prep broadened (2026-03-14)
- Session 28: Global prompt governance, DPLAN/FPLAN, Git Workflow, How-to-Work, PR #41+#42 merged (2026-03-14)
- Prax Phase 1+2: dashboard devpulse section removed, refresh pipeline 4 bugs fixed (2026-03-14)
- CLI init_project.py migration: FPLAN-0041 done, 99% seedgo, all tests passed (2026-03-14)
- FPLAN-0033 Phase 3 stderr migration — 10 branches, 48 files (2026-03-14)
- DPLAN-003 Stage 1 — credential model complete (2026-03-14)
Notepad
SCRATCH SPACE — gets wiped at session start or topic change.
- Session 33: Stale term cleanup tooling.
- Tools built:
stale_scanner.py(multi-keyword overview),dev_central_to_devpulse.py(per-term audit with --branch and --out),SOP_stale_term_cleanup.md(sub-agent instructions). - Scanner stats: dev_central=484, memory_bank=956, DevPass=434, devpulse_module_api=8, command_center=0.
- Scanner features:
--branch Xscopes to one branch,--outsaves timestamped report totools/reports/. - Daemon branch is messy (26 hits) — has a whole
dev_central_monitor.pyplugin + JSON registries. Category C (structural). - Prax has EXTRACTION_NOTE.md files — Category D (historical, leave alone).
- ALL CAPS directives found in trigger error handlers — Category E, need rewrite to normal case.
tools/is already in .gitignore — scanner, reports, SOP all stay local.- Hello world demo built:
demo/hello_aipass.py— animated terminal dashboard, zero deps.
@drone — Operational (2026-03-17)
@drone
Command router, @branch resolution, subprocess dispatch
State: Operational Last update: 2026-03-17
Milestones
- Core routing operational
drone systemscommand- @branch resolution
--helpfor all branches- Interactive tuple for human-facing commands (monitor, snapshot, versioned)
- Credential verification (RegistryMismatchError)
- Test suite: 188 tests, 5 files, 3-round audit process complete
- Seedgo audit: 100% — all 24 standards passing
Current Work
- Session 8 complete — full seedgo compliance cleanup
- Operational logging now live on hot path (resolver, router, router_handler)
What Changed (Session 8)
- Created
apps/handlers/json/json_handler.py(Three-JSON Pattern) - Added introspection no-args gates to 6 modules
- Wired json_handler to all 12 modules/handlers
- Fixed operational logging gap (hot path had zero prax logging)
- Updated README (content + date freshness)
Known Issues
- Pyright warns about
jsonpackage name shadowing stdlib — works at runtime, static analysis only - Production bug: resolver.handle_command("resolve"/"info", ["@NONEXISTENT"]) raises unhandled BranchNotFoundError
@flow — Operational (2026-03-10)
@flow
Plan lifecycle — FPLANs (building) + DPLANs (planning)
State: Operational Last update: 2026-03-10
Milestones
- FPLAN create/list/close/status
- DPLAN create/list/close/status wired into CLI
- DPLAN handler paths migrated from Dev-Pass to local
- Template detection fix
Current Work
Known Issues
- FPLAN archive goes to orphan backup_system/ directory (needs backup path fix)
@memory — Operational (2026-03-15)
@memory
Vector memory archive — ChromaDB, sentence-transformers
State: Operational Last update: 2026-03-15
Milestones
- ChromaDB integration
- Auto-rollover at 600 lines (v2 entry-count mode)
- Searchable vector archive
- FPLAN-0026 complete (rollover E2E, search, plans archival)
Current Work
- DPLAN-0045: CLI Introspection Overhaul — introspection DONE, all tracks complete
- Rollover introspection (FPLAN-0047) — PR #53
- Search introspection (FPLAN-0049) — PR #53
- Reconnect handlers — central_writer + dashboard_push wired in orchestrator (FPLAN-0062)
- Restore lost subsystems — session 8+10, all modernized
- FPLAN-0054: Symbolic + pool_processor import modernization — COMPLETE
- FPLAN-0062: Post-rollover chain wired in orchestrator.py — COMPLETE
- DPLAN-0055: Memory subsystem activation — triggers, logging, JSON output
- Track 1: Trigger startup import fixed (trigger branch), modules API exposed
- Track 2: Post-rollover chain wired (Trigger.fire, central_writer, dashboard_push, pool_processor)
- Track 3: JSON output structure (waiting on seedgo/Patrick)
- Track 4: Logging handled by Prax automatically
Known Issues
searchfails without torch/sentence-transformers installed- DPLANs not vectorized on close (flow-side issue)
- config/ directory location may not match json_structure standard (Patrick investigating)
- memory_json/ empty — JSON output structure pending seedgo guidance
- Metadata headers may need updating per seedgo meta standard (email from seedgo, deferred)
Notepad
- #@comment:Patrick: Discuss ghost commands, and how we can properly enforce --flags standard, can we detect ghost commands?
- Ghost commands now removed from help (session 7). templates+symbolic now operational — ghost commands should come back
- Session 10: symbolic + pool_processor modernized, both operational. Trigger investigation complete.
- Memory at 25/25 key_learnings — next addition triggers rollover
- Old memory bank had ~4,180 vectors. Current has 127. Patrick wants full vector port eventually
- spawn has template_owners.json (empty) — memory should populate it as authoritative source for .trinity files
- Seedgo fixed PostToolUse hook propagation (env var was in project not global settings)
- Need to run seedgo checklist after every file edit — not automated yet for agents
- Trigger startup.py fixed — check_and_rollover() runs on every drone command now
- Post-rollover chain wired: Trigger.fire → central_writer → dashboard_push → pool_processor
- handlers/__init__.py guard blocks cross-branch imports — always expose via modules layer
@prax — Operational (2026-03-17)
@prax
Logging, monitoring, dashboard infrastructure
State: Operational Last update: 2026-03-17
Milestones
- System-wide logging via
from aipass.prax import logger - Monitor command (passive + interactive)
- Dashboard infrastructure
- Two-tier logging simplification (PR #59)
- Seedgo audit: 93% → 99% (json_structure 1→100%, stderr_routing 96→100%)
Current Work
- All json_handler.log_operation() wired into 51 files (DPLAN-0068)
- Stderr fix: dashboard.py "Invalid JSON: 0" noise removed
- Changes uncommitted on main — need PR
Seedgo Audit: 99%
- 23 of 24 categories at 100%
- Log_Structure 83% — seedgo checker bug (inverted logic in branch_audit.py post-check penalizes correct two-tier layout). Email dispatched to @seedgo.
- When seedgo fixes → 100%
Pending Cross-Branch
- @seedgo: log_structure checker bug (branch_audit.py post-check, dispatched 2026-03-17)
- PR #59 still pending merge (two-tier logging + session 12 audit fixes)
Known Issues
- None blocking
@seedgo — Operational — **100% compliance** (2026-03-17 (session 19))
@seedgo
Standards enforcement, 24-standard audit pack
State: Operational — 100% compliance Last update: 2026-03-17 (session 19)
Session 19 Summary
Two milestones in one session:
DPLAN-0056 Phase 2 — JSON Self-Compliance (FPLAN-0065)
- json_handler.py: inline defaults, removed template dependency
- 66 files wired with json_handler import + log_operation
- json_templates/ archived to apps/.archive/
- JSON Structure: 13% → 100%
100% Compliance Push
- Architecture 92%→100%: created docs/, dropbox/ dirs
- Introspection 91%→100%: added no-args gate to readme_update.py
- Log_Structure 22%→100%: fixed branch root detection + directory-level checks in branch_audit.py
- Readme 50%→100%: updated date, added checklist module, fixed commands section
- Stderr_Routing 95%→100%: bypassed false positives (Console(stderr=True) in doc strings)
Result: 24/24 standards at 100%. 71 files. 0 type errors.
Next Session
- Commit + PR for all session 19 work
- Clean duplicate PostToolUse hooks (needs investigation — Patrick wants to understand first)
- README command list checker bug: stops at sub-headings (###), doesn't look inside them
Known Issues
- Duplicate PostToolUse hooks in global + project settings
- Hardcoded
/home/patrick/paths in global settings hooks - 8 previously-empty handler files got scaffold content from agents (bypass.py, config handlers, diagnostics stubs, mock handlers)
- readme_check.py command list check stops at ### sub-headings — workaround: add summary line before first sub-heading
@skills — Operational (2026-03-10)
@skills
Capability framework — discoverable, executable skill units
State: Operational Last update: 2026-03-10
Milestones
- Skill discovery
- Execution framework
- --help
- 5 handle_commands
Current Work
Known Issues
- None known
@spawn — Operational (2026-03-10)
@spawn
Branch lifecycle — create, update, delete, sync
State: Operational Last update: 2026-03-10
Milestones
- Full lifecycle manager (create/update/delete/sync-registry/sync-templates)
- Citizen classes (builder/birthright/manager)
- SHA-256 file tracking
- 113+ tests passing
Current Work
Known Issues
- None known
@trigger — Operational (2026-03-10)
@trigger
Event bus — 12 events, error registry, circuit breaker
State: Operational Last update: 2026-03-10
Milestones
- 12 event types
- fire/status/list commands
- Error registry
- handle_command routing
Current Work
Known Issues
- None known