From 75009603f530d78d88c4dfd6e5b0a0ff72d8a4fe Mon Sep 17 00:00:00 2001 From: AIPass Date: Sun, 15 Mar 2026 22:36:25 -0700 Subject: [PATCH] =?UTF-8?q?docs(system):=20README=20update=20=E2=80=94=20i?= =?UTF-8?q?nit-anywhere,=20recent=20work=20(#54)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: project-level PostToolUse hook + builder agent definition + prompt update - .claude/settings.json: Added PostToolUse hook (Edit|Write|MultiEdit) for auto-fix diagnostics at project level (investigating subagent hook delivery) - .claude/agents/builder.md: Custom builder agent with auto-fix PostToolUse hook (not yet accessible via Agent tool subagent_type — investigating) - .aipass/aipass_global_prompt.md: Added "stage from git, not from memory" rule - .gitignore: Added memory fragmented config/state files Co-Authored-By: @seedgo * docs(system): README update — init-anywhere story, recent work sync Add init-anywhere as a core capability. Update recently completed with CLI front door, memory introspection overhaul, seedgo standards enforcement. Refresh STATUS.md sync. Co-Authored-By: @devpulse --------- Co-authored-by: @seedgo Co-authored-by: @devpulse --- .aipass/aipass_global_prompt.md | 2 ++ .claude/agents/builder.md | 16 +++++++++++ .claude/settings.json | 15 +++++++++- .gitignore | 2 ++ README.md | 14 ++++++---- STATUS.md | 49 ++++++++++++++++++++++++++------- 6 files changed, 82 insertions(+), 16 deletions(-) create mode 100644 .claude/agents/builder.md diff --git a/.aipass/aipass_global_prompt.md b/.aipass/aipass_global_prompt.md index 23afccae..a8ac319d 100644 --- a/.aipass/aipass_global_prompt.md +++ b/.aipass/aipass_global_prompt.md @@ -114,6 +114,8 @@ gh pr create --title "feat(branch): ..." --body "..." Co-Authored-By: @{branch} <{branch}@aipass> ``` +**Stage from git, not from memory.** Use `git diff --stat` or `git status` to see what's actually changed, then stage those files. Never manually list files to commit from memory — you'll try to add gitignored files or miss real changes. Trust `.gitignore` and let git tell you what changed. + **Never merge.** Only devpulse or Patrick merge PRs. If your PR gets feedback, fix the issues, commit, and push to the same git branch — the PR updates automatically. ## Context Guardrail diff --git a/.claude/agents/builder.md b/.claude/agents/builder.md new file mode 100644 index 00000000..d726d3d6 --- /dev/null +++ b/.claude/agents/builder.md @@ -0,0 +1,16 @@ +--- +name: builder +description: General-purpose builder agent with auto-fix validation. Use this instead of general-purpose when the agent will be writing or editing code. +hooks: + PostToolUse: + - matcher: "Edit|Write|MultiEdit" + hooks: + - type: command + command: "python3 /home/patrick/.claude/hooks/auto_fix_diagnostics.py" +--- + +You are a builder agent for the AIPass project. You write code, edit files, and run tests. + +After every file edit, the auto-fix hook will validate your changes and surface any issues. If you see validation errors in the hook output, fix them immediately before moving on. + +Follow project standards — use `pathlib.Path` not string concatenation, `encoding='utf-8'` on all `open()` calls, proper Optional syntax (`str | None = None` not `str = None`). diff --git a/.claude/settings.json b/.claude/settings.json index bc2214f4..f01f6f72 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -10,5 +10,18 @@ ], "defaultMode": "acceptEdits" }, - "skipDangerousModePermissionPrompt": true + "skipDangerousModePermissionPrompt": true, + "hooks": { + "PostToolUse": [ + { + "matcher": "Edit|Write|MultiEdit", + "hooks": [ + { + "type": "command", + "command": "python3 /home/patrick/.claude/hooks/auto_fix_diagnostics.py" + } + ] + } + ] + } } diff --git a/.gitignore b/.gitignore index cec6fbea..f0eda5cc 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,5 @@ backup_data/ backups backup_system src/aipass/flow/CLOSED_PLANS.local.json +src/aipass/memory/config/fragmented_memory_config.json +src/aipass/memory/config/fragmented_memory_state.json diff --git a/README.md b/README.md index dd690e47..e484d35d 100644 --- a/README.md +++ b/README.md @@ -19,22 +19,26 @@ An operating system for AI agents. Not a chatbot wrapper. Not a prompt chain. A - **Standards enforcement** keeps the system consistent as it grows (seedgo runs 24+ automated checks) - **Inter-agent messaging** lets citizens email each other, dispatch tasks, and wake each other up - **Everything is tracked** — design plans (DPLANs), execution plans (FPLANs), and seedgo audits make changes traceable even when 500+ files change in a single session +- **Init anywhere** — `aipass init` turns any directory into a self-contained AI workspace with its own registry, identity, and memories. No repo required. A business project, a research folder, a side project — each gets its own isolated environment that works immediately ## Current State: Beta -**It works.** 15 branches are operational, tested, and communicating. We're past prototyping and into hardening — building the infrastructure that makes the system reliable at scale. +**It works.** 14 of 15 branches are operational, tested, and communicating. 53 PRs merged. 30+ orchestration sessions. We're past prototyping and into hardening — building the infrastructure that makes the system reliable at scale. **Recently completed:** -- **Credential model** — UUID-based registry matching is live. Every project gets a unique registry ID, every citizen's passport carries it. `aipass init` creates a new project in any directory with its own credentials. Agents always know which project they belong to, even with multiple AIPass projects on the same machine. +- **CLI front door + init anywhere** — full discovery chain rebuilt so users can find and use `aipass init` through natural exploration. CLI rewritten to seedgo's auto-discovery pattern. Registered as a drone internal module — `drone @cli aipass init` works from any directory on any system, before any project exists. Creates a registry (UUID), passport, `.trinity/` memories, prompt files, and hooks. Every project is fully self-contained — no shared state, no cross-contamination between workspaces. +- **Memory introspection overhaul** — memory branch rewired to seedgo-compliant CLI discovery. Rollover and search introspection rebuilt. 18+ files ported back from archives (symbolic reasoning, templates, pool processor). Templates modernization in progress (FPLAN-0052). +- **Seedgo standards enforcement** — checklist command fixed, checker false positives addressed, handler guards added. PR #52 open. +- **Credential model** — UUID-based registry matching is live. Every project gets a unique registry ID, every citizen's passport carries it. `aipass init` creates a new project in any directory with its own credentials. - **Stderr routing** — system-wide migration across 10 branches (48 files). CLI owns the display layer (`error()`, `warning()`, `fatal()` all route to stderr). Seedgo enforces it with an automated checker. -- **Dashboard pipeline** — Prax now owns the dashboard end-to-end. Per-branch `STATUS.local.md` files sync to a central `STATUS.md` via `drone @prax status sync`. DevPulse section removed — it's a coordinator, not a service. -- **CLI init** — `aipass init` migrated from prototype to CLI branch. Creates registry, passport, `.trinity/`, hooks — everything needed to bootstrap a new project. 99% seedgo compliance. -- **Drone test suite** — 188 tests across 5 files. Interactive mode for human-facing commands (backup snapshot, versioned). Credential verification with dedicated error hierarchy. +- **Dashboard pipeline** — Prax owns the dashboard end-to-end. Per-branch `STATUS.local.md` files sync to a central `STATUS.md` via `drone @prax status sync`. +- **Drone test suite** — 188 tests across 5 files. Interactive mode for human-facing commands. Credential verification with dedicated error hierarchy. - **System governance** — git workflow, commit signing (`Co-Authored-By: @branch`), DPLAN/FPLAN documentation, and "How to Work" guidelines all codified in the global prompt. **What we're solving now:** +- **Memory subsystem wiring** — symbolic reasoning, templates, and pool processor modules ported back but need full integration and testing. Templates modernization (spawn handler, v2 schema) in progress. - **Lint cleanup** — 474 ruff violations remain (mostly unused imports from unwired modules). Blocked until seedgo audit coverage is higher — we can't confidently remove imports until we know what's actually used. - **Dashboard CLI routing** — the Python API works but `drone @prax dashboard refresh --all` fails because argparse eats the flags before the module sees them. Known bug, fix pending. - **Cross-platform reliability** — Linux and Windows tested. macOS is structurally supported but needs a dedicated testing pass. All paths use `pathlib`, no hardcoded paths, secrets stored at `~/.secrets/aipass/`. diff --git a/STATUS.md b/STATUS.md index 6013d635..d7ec7b2f 100644 --- a/STATUS.md +++ b/STATUS.md @@ -2,7 +2,7 @@ > Auto-generated by `drone @prax status sync`. Do not edit manually. -**Last sync:** 2026-03-14 23:55 +**Last sync:** 2026-03-15 22:31 **Summary:** 14 operational | 1 in-progress | 0 not started --- @@ -189,6 +189,7 @@ - [ ] Add --model support to wake.py for dispatched branches ## Recently Completed +- 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) @@ -199,9 +200,14 @@ ## Notepad > **SCRATCH SPACE — gets wiped at session start or topic change.** -- Git on `feat/session-29-cleanup`. PR #49 open — needs merge. -- Prax and CLI both wrapped up (/prep done, PRs created) -- Inbox empty +- On `feat/cli-front-door-and-drone-adapter` branch. PR #51 open. 1 uncommitted change: global prompt git staging rule. +- CLI dispatched agent committed directly to main (bfeb6c0) — also on this branch. Needs merge coordination. +- ~/test_aipass exists — Patrick's first external init test. Can clean up or keep. +- Docker test container `aipass-test-run` still running — can reuse or remove. +- Fresh install gaps still open: seedgo pyproject.toml entry, CLAUDE.md in setup.sh, seedgo audit routing. +- DPLAN-0044 (front door) active — next steps: .claude/ hooks in init, cross-project comms, `drone aipass` shortcut. +- Full multi-agent landscape research completed. Reports in agent output files (will lose on compaction — key findings saved to key_learnings). +- OpenClaw deep comparison completed — they have better memory/auth, we have better governance/portability/scale. @@ -257,25 +263,48 @@ -
@memory — Operational (2026-03-10) +
@memory — Operational (2026-03-15) # @memory -> Vector memory bank — ChromaDB, sentence-transformers +> Vector memory archive — ChromaDB, sentence-transformers **State:** Operational -**Last update:** 2026-03-10 +**Last update:** 2026-03-15 ## Milestones - ChromaDB integration -- Auto-rollover at 800 lines +- 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, remaining tracks open + - [x] Rollover introspection (FPLAN-0047) — PR #53 + - [x] Search introspection (FPLAN-0049) — PR #53 + - [ ] Reconnect disconnected handlers (central_writer, dashboard_push) + - [x] Restore lost subsystems (symbolic, templates, pool_processor) — session 8, 18+ files ported +- DPLAN-0051: Templates Modernization + Spawn Handler + - [x] Research complete (spawn template system, handler deep reads) + - FPLAN-0052: Templates Module Modernization + Spawn Handler + - [x] Phase 1: Modernized templates.py, pusher.py, differ.py (imports, paths, introspection) + - [x] Phase 2: Updated canonical templates to v2 schema + - [ ] Phase 3: spawn_pusher.py handler (in progress) + - [ ] Phase 4: Wire spawn_pusher into templates.py, verify all commands ## Known Issues -- None known +- `search` fails without torch/sentence-transformers installed +- central_writer.py and dashboard_push.py exist but not called post-rollover +- Symbolic + templates modules ported but not yet wired/tested (old imports in symbolic) +- DPLANs not vectorized on close (flow-side issue) + +## 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). Ghost commands for templates+symbolic will come BACK once those modules are wired +- Session 8: Full system audit (7 agents), file port (18+ files), templates modernization (FPLAN-0052) +- 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