Commit Graph
78 Commits
Author SHA1 Message Date
AIOSAIandClaude Opus 4.6 fe187be8cd ✨ feat(commons): port The Commons social network to AIPass framework
Complete port of The Commons (FPLAN-0411) — a social network for AI branches
with posts, comments, votes, rooms, feeds, artifacts, trading, and more.

- 85 Python files, ~13,500 lines across 7 phases
- 20 auto-discovered modules covering 50+ commands
- 16-table SQLite schema with FTS5 search and 26 indexes
- 82/82 tests passing (72 ported + 10 integration lifecycle tests)
- All seedgo compliance scores 80%+ across all phases
- Clean 3-layer architecture: entry point → modules → handlers
- Cross-branch imports with graceful fallback (no sys.path manipulation)
- .gitignore updated for commons artifacts handler and json_templates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:13:49 -08:00
Input-X f8b48a6bb6 updates 2026-03-07 22:13:52 +00:00
Input-X fe3bca1790 updates 2026-03-07 21:02:14 +00:00
Input-X 14979fcb28 drone path fixes 2026-03-07 20:28:38 +00:00
Input-X 6ed12ef523 Merge branch 'main' of https://github.com/AIOSAI/AIPass 2026-03-07 20:17:04 +00:00
AIOSAI 330708695d ✨ feat(skills): implement full skills system with three-tier architecture
- add foundational directory structure under src/skills with apps, modules, handlers, catalog, templates, tests, and trinity files
- support three skill tiers: markdown-only, markdown+handler.py, and full 3-layer apps/modules/handlers
- implement skill discovery scanning search paths (.aipass/skills, ~/.aipass/skills, src/skills/catalog)
- support SKILL.md with YAML frontmatter, compatible with OpenClaw format
- implement loader to parse full SKILL.md and optionally import handler.py module
- implement runner to execute skill handlers or display markdown instructions if no handler
- add skill creator scaffolding from tiered templates with placeholder substitution
- add skill registry for caching discovered skills and lookup by name
- add validator handler to check pip packages, CLI binaries, and environment config requirements
- add built-in test skills: github (markdown), system_status (handler), drone_commands (full 3-layer)
- implement drone_commands skill with subprocess executor, output parser, and command runner modules
- provide detailed README documenting architecture, usage, SKILL.md format, and commands
- add comprehensive unit and integration tests covering discovery, loading, running, validation, and lifecycle
- create seedgo standards pack with skill format, handler contract, and structure checks and documentation
- use consistent coding standards: handlers return dicts and never print; modules can print for orchestration
- enable drone routing with `drone @skills <command>` supporting list, info, run, create, validate commands
2026-03-07 12:15:29 -08:00
Input-X 2b525cfa4d update 2026-03-07 10:26:35 +00:00
Input-X f64c01916a update 2026-03-07 09:51:38 +00:00
AIOSAI 22c33d4ec7 📝 docs(.claude): add detailed README for Claude Code configuration
- describe project and global settings files and their roles
- explain directory structure with hooks, commands, and sounds
- document hook types and their firing order with explanations
- outline custom commands and permission settings
- provide related files references and container rebuild instructions
2026-03-07 00:38:22 -08:00
AIOSAIandClaude Opus 4.6 b7f6c16793 feat: port Backup System and Daemon modules to AIPass repo (FPLAN-0004, FPLAN-0005)
Backup System (FPLAN-0004): 42 files ported from internal backup_system
- Entry point, 4 modules, 20+ handlers for backup orchestration
- Google Drive sync made optional via try/except + DRIVE_AVAILABLE flag
- All internal imports (prax, cli, sys.path) replaced with standard lib

Daemon (FPLAN-0005): 41 files ported from internal assistant system
- Renamed assistant → daemon (Patrick approved)
- Entry point, 4 modules, 10 handlers, 5 example plugins
- Telegram, ai_mail, filelock made optional with graceful degradation
- Standalone cron scripts use absolute package imports
- Paths configurable via env vars (AIPASS_DAEMON_CONFIG, AIPASS_REGISTRY, AIPASS_WAKE_SCRIPT)

Both follow the same port-by-rewiring pattern as Memory Bank (FPLAN-0003).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 00:36:02 -08:00
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