Commit Graph
68 Commits
Author SHA1 Message Date
AIOSAIandClaude Opus 4.6 da4fa82771 feat: port Memory Bank module to AIPass repo (FPLAN-0003)
Port internal Memory Bank system into src/aipass/memory/ with adapted
imports and paths. All 17 Python files compile clean, 13 existing tests
still pass.

Ported components:
- Entry point: apps/memory.py (drone @memory command routing)
- Modules: rollover.py (orchestration), search.py (query routing)
- Handlers: detector, extractor, line_counter, json_handler, indexer,
  embedder, chroma, vector_search, normalize, manager, dashboard_push,
  central_writer, memory_watcher, chroma_subprocess

Adaptations from internal system:
- Removed all /home/aipass/ hardcoded paths
- Removed sys.path manipulation hacks
- Replaced prax logger with stdlib logging
- Replaced cli console/header with Rich (already a dep)
- Changed BRANCH_REGISTRY → AIPASS_REGISTRY references
- Made chromadb/sentence-transformers optional (try/except)
- Removed private branch registry concept
- Subprocess Python uses sys.executable with AIPASS_MEMORY_PYTHON override

Still needs: drone registration, spawn template updates, container
testing, integration tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:49:53 -08:00
AIOSAIandClaude Opus 4.6 08f84233ae chore: remove accidental file from container session
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:24:43 -08:00
Input-X 6413062fb5 update 2026-03-07 06:07:23 +00:00
Input-XandClaude Opus 4.6 df6649400e Merge upstream/main — pull latest from AIOSAI/AIPass
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 05:11:18 +00:00
Input-X 71b3e46bb0 update 2026-03-07 05:03:51 +00:00
Input-X 548abf9b67 update 2026-03-07 04:51:37 +00:00
AIOSAIandClaude Opus 4.6 f30443504c chore: add hooks, CI/CD infrastructure, ignore runtime JSON
- Transfer Claude Code hooks from internal: identity injector, email
  notification, auto-fix diagnostics, pre-compact recovery
- Add notification sounds for tool use, stop, and alerts
- Wire all hooks in .claude/settings.json
- Add global system prompt (.aipass/aipass_global_prompt.md)
- Add branch-local prompt placeholders for all modules
- Set up CI pipeline: lint (ruff) → test matrix (3.10-3.13) → coverage
- Add workflows: PyPI publish, security scanning, stale issues
- Add GitHub issue templates, dependabot, editorconfig
- Configure pytest norecursedirs and coverage fail-under=70
- Add *.json to gitignore — runtime JSON files constantly change
- Untrack runtime JSON (registry, plans, seed bypass, module data)
- Keep source JSON tracked via negation rules (json_templates, pack,
  spawn templates, settings, pyrightconfig)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:33:40 -08:00
AIOSAIandClaude Opus 4.6 6f60b7e26e fix(docker): use HTTPS URLs for container git clone
SSH keys not available in container. HTTPS works for public repos
without auth.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:36:23 -08:00
AIOSAI 15cb55a85f 🧹 chore(apps): remove example app_development and website_design standards
- delete all files and directories related to app_development.example and website_design.example
- remove branch.py orchestrators, handlers, modules, and plugins example packages
- clean up legacy example code to reduce clutter and maintain only active standards
2026-03-06 16:35:10 -08:00
AIOSAIandClaude Opus 4.6 7a1dc3ea2c fix(docker): track setup-workspace.sh for clean remote builds
setup-workspace.sh was gitignored but required by Dockerfile COPY.
Building from a fresh clone would fail. Now tracked.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 16:33:31 -08:00
AIOSAIandClaude Opus 4.6 3b45824dc6 FPLAN-0410 repo cleanup + integration test bug fixes
VERA cleanup (FPLAN-0410):
- Remove all /home/aipass hardcoded paths (portability)
- Remove internal Telegram bot code from public repo (6k+ lines)
- Remove runtime logs, .claude/settings.local.json, stale files
- Clean READMEs across all branches
- Restructure spawn handlers into proper 3-layer architecture
- Add __init__.py files for proper package imports
- Update seedgo standards for public repo context
- Add log_structure standard to seedgo

Integration test bug fixes:
- Fix double @@ display in drone introspection output
- Fix spawn registry resolving to wrong file (walk up from package root)
- Fix email sender identity always showing as @ai_mail (pass AIPASS_CALLER_CWD)
- Fix branch_detection.py relative path resolution against CWD instead of registry dir
- Add .trinity/passport.json detection for spawned agents
- Archive duplicate json_ops.py, update imports to canonical json_handler
- Update .gitignore for runtime logs and .claude/ dirs

Tested end-to-end in Docker container (aipass-test:latest):
- Spawn → register → send email → receive → reply all verified working

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 15:29:16 -08:00
AIOSAI a59f9c006b updates 2026-03-06 20:40:16 +00:00
AIOSAI 3555e88ed5 path updates 2026-03-06 20:40:04 +00:00
AIOSAI 7f214dc631 update 2026-03-06 18:13:36 +00:00
AIOSAI f63c8c12da Merge branch 'main' of github.com:AIOSAI/AIPass 2026-03-06 11:06:28 +00:00
AIOSAI 23448dc066 🔧 chore(spawn): update .gitignore to track spawn templates correctly
- allow tracking of specific hidden directories and files under spawn templates
- ensure agents can build properly with required template files

✨ feat(branch): add comprehensive branch template verification tool

- implemented verify_branch.py to compare branch vs template files
- supports ignoring files based on .registry_ignore.json patterns
- outputs missing, additional, and matched files for branch validation
- included usage instructions and error handling for robust operation

♻️ refactor(prax): fix logger branch logs path to use Path.home()

- replaced hardcoded "/home/aipass" with portable Path.home()
- allows logging directory creation to adapt to user environment

✨ feat(spawn): add default template files and ignore configs for agent branches

- added .backup_ignore.json, .migrations.json, .registry_ignore.json for agent templates
- introduced .template_registry.json to track template files and directories
- created local context and metadata files for branch identity and session tracking
- included dashboard and flow local markdown templates for branch status and management
- added artifacts birth_certificate template for branch registration metadata

✨ feat(spawn): add mock agent branch templates and backups for testing

- created mock branch with backup ignore and registry ignore files for efficient backups
- added template registry and migration definitions matching main agent template
- included local prompt, passport, observations, and dashboard templates for mock branch
- provided flow local markdown and artifact registration files for mock branch use
- duplicated verify_branch.py tool for mock branch environment consistency

♻️ refactor(spawn): unify verify_branch.py tool in agent and mock branches

- standardized branch verification script in both template sets
- ensures consistent branch-template comparison and ignores handling
2026-03-06 03:06:13 -08:00
AIOSAI e70b2778f2 Merge branch 'main' of github.com:AIOSAI/AIPass 2026-03-06 10:46:35 +00:00
AIOSAI 2ac6c90a8c update 2026-03-06 10:46:29 +00:00
AIOSAI 3cb1d98ed8 ♻️ refactor(aipass): unify branch registry discovery and path resolution
- implement _find_registry() to locate AIPASS_REGISTRY.json dynamically
- update discover_branches() to resolve absolute branch paths consistently
- fix _is_branch_private() to use _find_registry() and private registry path correctly
- update readme_ops, verify checks, and cli_standard to resolve paths relative to current file
- adjust standards_audit to use discover_branches() for private branch path lookup
- improve robustness and flexibility by removing hardcoded home directory paths

📝 docs(gitignore): add local cheat sheets and Docker.md to gitignore

- ignore local cheat sheets and Docker.md files as they are not source code

♻️ refactor(architecture_check): fix branch root detection loop condition

- change loop condition to stop at filesystem root instead of home directory
- prevent infinite loop by checking if current directory equals its parent

♻️ refactor(readme_generator): default target to current working directory

- change default path from fixed user home subdirectory to current working dir
- improves usability and flexibility when running script without arguments
2026-03-06 02:45:54 -08:00
AIOSAI 02c48b8df0 Merge branch 'main' of github.com:AIOSAI/AIPass 2026-03-06 10:20:18 +00:00
AIOSAI 29fa09f34b update 2026-03-06 10:16:03 +00:00
AIOSAI c9fa6696ba 📝 docs(readme): update symbolic addressing example
- replace hard-coded path example with resolve_branch usage
- add load_registry usage to show full registry retrieval

🐛 fix(pyproject): add watchdog dependency

- include watchdog>=3.0 in dependencies for file watching support

🧹 chore(docs): remove obsolete Docker.md file

- delete Docker cheat sheet as it is no longer relevant or maintained
2026-03-06 02:15:27 -08:00
AIOSAI 9bea038688 Merge branch 'main' of github.com:AIOSAI/AIPass 2026-03-06 10:00:28 +00:00
AIOSAI ab29763a98 update 2 files, rename 1 file and delete 1 file 2026-03-06 02:00:04 -08:00
AIOSAI 463e45a8d5 🔧 chore(workspace): remove setup-workspace.sh script
- delete deprecated workspace setup script to simplify project maintenance
- remove redundant cloning and installation steps handled elsewhere
2026-03-06 01:59:53 -08:00
AIOSAI 584ccc2da1 testing 2026-03-06 09:48:12 +00:00
AIOSAI 34f303f285 📦 build(docker): update base image setup and workspace initialization
- replace git and curl with python3-full package for dependencies
- create python virtualenv owned by user 1000 for permission consistency
- add entrypoint scripts in /etc/entrypoint.d to avoid shadowing by bind mounts
- override ENTRYPOINTD environment variable to use non-shadowed entrypoint scripts
- switch to user 1000 instead of coder user for container runtime
- use official base image entrypoint with fixuid and dumb-init for process management
- set default code-server workspace to /home/coder/workspace for consistency

📝 docs(readme): overhaul README to reflect current state and usage

- simplify introduction with focus on core AIPass features and status
- update quick start instructions for source install and basic commands
- add Docker usage example for isolated testing with VS Code
- provide core concepts for drone command router and seedgo standards
- rewrite seedgo plugin example and built-in plugin list with formatting
- remove old API examples and deprecated instructions
- add module architecture and status table for all 10 modules
- clarify configuration and environment variable usage
- update requirements and license sections for clarity

📦 build(scripts): add setup-workspace.sh for container initialization

- script ensures workspace directory is writable by coder user
- clones AIPass repo if not already present in workspace
- installs AIPass in editable mode to keep dependencies up to date
- designed to run as container entrypoint.d script for first boot setup
2026-03-06 01:16:41 -08:00
AIOSAI 8e7bbb7b24 📝 docs(aipass): update CLAUDE.md with startup protocol and structure
- add critical startup vs task mode instructions with exact greetings
- specify session entry greetings and steps after startup
- detail files to read on startup and verification commands
- clarify module directory structure and coding conventions
- emphasize core principles including testing and import rules
2026-03-06 00:47:24 -08:00
AIOSAI 6ec992c97f update 2026-03-06 08:43:40 +00:00
AIOSAI f816f7200d update 2026-03-06 08:24:28 +00:00
AIOSAI 84cde96c3a docker.md add 2026-03-06 07:46:50 +00:00
AIOSAI 6829b3ed0e update 2026-03-06 07:28:01 +00:00
AIOSAI 751be2d30b ♻️ refactor(json_handler): update trigger root path calculation
- change trigger root to use resolved path parents for consistency
- improve path resolution to avoid reliance on home directory expansion
2026-03-05 22:46:04 -08:00
AIOSAI 430b5ecbac branch rewiring after math 2026-03-05 22:10:29 -08:00
AIOSAI 2140d4bc50 testing delete 2026-03-05 20:09:10 -08:00
AIOSAI 61b06aafba feat: create testing 2026-03-05 20:04:13 -08:00
AIOSAI ca993630d4 update 2026-03-06 03:47:17 +00:00
AIOSAIandClaude Opus 4.6 edc43ace3e Fix seedgo standard checkers for pip environment
- Replace hardcoded Path(__file__).parents[8] with walk-up registry finder
- Update prax import detection from Dev-Pass pattern to aipass.* namespace
- Fix BRANCH_REGISTRY_PATH undefined error in encapsulation_check
- Add .seed/ and tools/ to gitignore (runtime artifacts)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:46:05 -08:00
AIOSAIandClaude Opus 4.6 f6341c5f50 Fix seedgo README and silent failure in verify
- README: add real content (commands, architecture, pack docs,
  Last Updated date, seedgo_verify module mention)
- seedgo_verify: replace silent except:pass with error reporting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:23:26 -08:00
AIOSAIandClaude Opus 4.6 63627c1e81 Fix spawn/seedgo for pip environment: registry + discovery
- spawn: BRANCH_REGISTRY → AIPASS_REGISTRY, place at project root
  (finds pyproject.toml/.git instead of hardcoded paths)
- discovery: replace fragile parents[8] with walk-up search,
  resolve relative paths, support branch.py entry points,
  remove Dev-Pass fallback paths
- Ship pre-populated AIPASS_REGISTRY.json with 9 core modules
- Un-ignore registry from .gitignore (framework config, not state)

Tested: full spawn→registry→seedgo audit pipeline works in clean
Docker container with no Dev-Pass environment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:16:27 -08:00
AIOSAIandClaude Opus 4.6 d46f1a5006 🧹 chore: remove operational artifacts from tracking
Strip 230 spawn/runtime files from git tracking. These are generated
post-install (memories, dashboards, birth certs, agent metadata,
runtime JSON) — not source code. Updated .gitignore to prevent
re-tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 18:39:45 -08:00
AIOSAI dd383130f6 ♻️ refactor(meta): add consistent META headers across all files
- add standardized META block with name, description, version, created, modified dates
- unify metadata formatting for better maintainability and traceability
- introduce new meta_check standard handler for library-profile META validation
- update json_structure_check to support library-profile branch detection and path rules
- improve imports_check to enforce pip package import standards (no AIPASS_ROOT/sys.path hacks)
- refine documentation_check to remove META block validation (now in meta_check)
- clean up legacy code and comments related to META and import checks
- add meta standard to aipass standards list and pack manifest
2026-03-05 18:22:56 -08:00
AIOSAI dc83a85362 📦 build(pack_aipass): add new aipass standards pack with entry point
- add aipass pack manifest describing standards and metadata
- implement pack entry point for command routing and module discovery
- enable modular standard checks via auto-discovered modules
2026-03-05 17:48:13 -08:00
AIOSAI 019a69141e update 1 file, create 421 files and delete 4 files 2026-03-05 15:22:59 -08:00
AIOSAI 291331b3c3 ✨ feat(spawn): implement agent spawning from templates
- add spawn_agent function to create new agents with placeholders replaced
- support role, traits, purpose, profile overrides in spawning
- copy template files recursively, replacing placeholders in content and paths
- rename any remaining placeholder paths after copy
- regenerate .template_registry.json with fresh file hashes
- register new branch in BRANCH_REGISTRY.json with metadata
- validate no unreplaced placeholders remain in spawned files

✨ feat(spawn/file_ops): add template copy and rename utilities

- implement copy_template to recursively copy templates with placeholder replacements
- skip undesired files and directories during copy (e.g. __pycache__, .git)
- implement rename_placeholder_paths to rename files/directories containing branch placeholders

✨ feat(spawn/placeholders): add placeholder replacement engine

- implement replace_placeholders to substitute {{PLACEHOLDER}} patterns in strings
- build_replacements_dict generates full placeholder map including date, branch names, role, traits, purpose
- validate_no_placeholders scans spawned files to detect unreplaced placeholders

✨ feat(spawn/metadata): add branch name extraction and profile detection

- get_branch_name extracts branch folder name from target path
- normalize_branch_name converts branch name to uppercase or lowercase with underscores
- detect_profile determines AIPass profile from folder path heuristics

✨ feat(spawn/registry): implement BRANCH_REGISTRY.json CRUD

- find_registry locates registry file by walking up directories or defaults
- load_registry loads or initializes registry JSON with metadata and branches list
- save_registry writes registry JSON with updated timestamp and sorted branches
- add_to_registry adds a new branch entry, avoiding duplicates

✨ feat(spawn/__init__): expose spawn_agent API

- add docstring usage example for spawn_agent import and usage
- import spawn_agent from spawn module and export in __all__

✨ style(spawn/templates): update agent.template files for placeholder integration

- replace hardcoded branch names and dates with placeholders like {{BRANCHNAME}} and {{DATE}}
- clean up dashboard and flow local JSON files to use placeholders
- remove deprecated artifact_7_cortex_birth_certificate.json file
- add birth_certificate.json artifact template with placeholders

✅ test(spawn): add comprehensive tests for spawn module

- test metadata functions for branch name extraction and normalization
- test placeholder replacement dict building and validation
- test registry loading, adding entries, and duplicate prevention
- test full spawn_agent workflow including file creation, registry update, and placeholder validation
- test error handling for existing target directory
- test regeneration of .template_registry.json after spawn
2026-03-05 14:21:45 -08:00
AIOSAI 5aa8db5d0b 🐛 chore(spawn/templates/agent_mock_branch): remove deprecated modules and tests
- delete all deprecated aipass modules: api, assistant, citizenship, devpulse,
  drone, flow, mail, seedgo, skills, trigger, templates, and tests
- remove seedgo config and coverage files no longer used
- cleanup tests for drone CLI, compliance, core, integration, modules, phase2,
  seedgo CLI, core, plugins, silent failure detection, file module size, paths,
  and version to reduce maintenance burden
- add new agent_mock_branch spawn template with scaffold files, config, and
  verification tool for branch consistency checks
- add comprehensive .registry_ignore.json and .backup_ignore.json to exclude
  unwanted files from branch updates and backups
- include branch README, artifacts, docs, logs, pytest setup, tools, tests, and
  standard bypass configs for new agent mock branch template
- rename and reorganize template files from branch_template to spawn/templates
  agent.template for consistent naming and usage
2026-03-05 13:03:38 -08:00
AIOSAI e13fd4c5c3 ♻️ refactor(aipass): rename memory module to citizenship module
- rename directories and files from memory to citizenship for clarity
- update related template hidden folders from .cotrex to .agents
2026-03-05 02:47:00 -08:00
AIOSAI 5c145e73b0 ♻️ refactor(templates): rename cortex branch_template to agents branch_template
- move all files and folders from cortex branch_template to agents branch_template
- keep file structure and contents unchanged during rename
- add new empty files for docs, logs, and json placeholders in agents branch_template
2026-03-05 02:32:57 -08:00
AIOSAI d43ff41978 🔧 chore(.claude): add initial claude config, hooks, and settings
- add .claude/.gitignore to exclude local claude files and caches
- add .claude/commands/memo.md with memory update instructions
- add notification, stop, tool_use, and branch_prompt_loader hooks scripts
- add .claude/settings.json configuring permissions and hooks integration
- add .gitattributes for text normalization and binary file handling

✨ feat(src/aipass): introduce multi-agent orchestration framework structure

- add core aipass package with version 2.0.0 and repo link
- add submodules for api, assistant, devpulse, drone, flow, mail, memory, prax, seedgo, skills, templates, trigger
- provide base module docstrings describing purpose and architecture
- add branch template for cortex branch with scaffolded files and verification tool
- remove legacy cortex module and seedgo standalone package to consolidate into aipass

✨ feat(src/aipass/drone): simplify drone module interface and routing system

- refactor drone module to expose main routing and resolution functionality
- remove CLI, registry, executor, resolver, router, modules, discovery, exceptions, and handlers files
- replace with minimal drone package exposing core routing and resolution API

✨ feat(src/aipass/templates/cortex/branch_template): add default branch template files

- add .backup_ignore.json to exclude large and unnecessary files from backups
- add .migrations.json for template structural migrations
- add .registry_ignore.json to exclude internal template files during updates
- add .template_registry.json tracking template files and directories with placeholders
- add default trinity memory files: local.json, observations.json, passport.json
- add DASHBOARD.local.json with autogenerated branch status
- add README.md describing branch purpose, architecture, commands, and integrations
- add apps/ package and branch.py entry point with auto-discovery routing
- add empty handlers/, modules/, plugins/ packages
- add artifacts/ with a birth certificate JSON
- add docs/, flow.local.md, logs/, pytest.ini, tests/ with conftest.py
- add tools/verify_branch.py for verifying branch consistency against template

🔧 chore(src/aipass/): remove deprecated packages and modules

- delete legacy cortex, paths, seedgo packages and their modules/plugins
- remove seedgo CLI and plugins from repo to focus on aipass core

✨ feat(src/aipass/templates/flow): add placeholder for planning and workflow management

✨ feat(src/aipass/templates/memory): add placeholder for memory scaffolding

✨ feat(src/aipass/templates/system): add placeholder for system files

✨ feat(src/aipass/trigger): add error detection and auto-dispatch module

- scaffold trigger package with handlers, modules, plugins for error matching and escalation

✨ feat(src/aipass/mail): add inter-branch messaging module with handlers, modules, plugins

✨ feat(src/aipass/memory): add unified memory system with trinity, agents, and bank submodules

✨ feat(src/aipass/prax): add monitoring and observability framework with handlers, modules, plugins

✨ feat(src/aipass/seedgo): add code standards framework skeleton

✨ feat(src/aipass/skills): add user-built add-ons infrastructure module

✨ feat(src/aipass/templates): add central template storage for plans, memory, and configs
2026-03-05 02:21:30 -08:00
AIPassandClaude b1fe460adf feat(seedgo): add silent-failure-detection and file-module-size plugins (#9)
Implements 2 High-priority Seed compliance checks:

**silent-failure-detection plugin:**
- Detects except: pass patterns that silently swallow exceptions
- Severity: ERROR (dangerous — hides bugs and failures)
- Catches bare except, Exception, and specific exception types with only pass
- Provides actionable fix hints: add logging or meaningful error handling
- 17 comprehensive tests

**file-module-size plugin:**
- Flags files exceeding 400 code lines (Seed threshold)
- Severity: WARNING (code smell, not always immediately fixable)
- Accurate line counting: excludes blanks, comments, and docstrings
- Smart fix hints based on file structure (classes, functions, mixed)
- 17 comprehensive tests

**Implementation details:**
- AST-based pattern matching for accuracy
- Follows existing plugin architecture (CheckResult, Severity)
- 478 total tests pass (34 new tests added)
- Both plugins pass Seed's own standards (80/100 score)

**Session 239** — Autonomous execution: Periodic wake identified High-priority Seed recommendations as highest-value work, deployed agent to implement, tested comprehensively.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-04 07:41:55 -08:00