- 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>
- 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>
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>
- 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
- 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
- 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
- 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
- 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
Implement three priority improvements from seed review:
1. DRONE_MODULE key validation:
- Add check for required keys (name, version, description)
- Fail with ERROR severity if keys are missing
- Extract helper function _get_missing_drone_module_keys()
2. get_introspective() check:
- Add WARNING-level check for get_introspective() function
- Recommended but not required for drone modules
- Follows introspective pattern for module self-documentation
3. New naming-convention plugin:
- Enforce PEP 8 naming conventions
- Check snake_case for functions, variables, module names
- Check PascalCase for classes
- Check UPPER_CASE for module-level constants
- Provide helpful conversion suggestions in fix hints
Test coverage:
- Update existing tests to include new checks
- Add tests for missing DRONE_MODULE keys (ERROR)
- Add tests for missing get_introspective (WARNING)
- All 444 tests pass
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude <noreply@anthropic.com>
Replace raw ANSI escape codes with Rich library for all human-facing
seedgo CLI output. Adds display.py module with styled components:
header panels, plugin result lines, check items with severity markers,
summary sections, and plugin tables.
- seedgo check: branded header, styled verdicts, hint formatting
- seedgo list: Rich table with bordered columns
- seedgo init: styled success message
- drone_adapter: use direct import instead of parsing CLI output
- Add rich>=13.0 as dependency
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements the internal AIPass navigation pattern:
- `drone @module` (no args) → introspective: shows what's connected
- `drone @module --help` → help: shows usage documentation
Seedgo introspective lists all discovered plugins with descriptions.
Modules that don't implement get_introspective() fall back to help.
442 tests pass. 5 new introspective tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- introduce drone module registry with metadata and command routing
- add seedgo as a registered internal drone module with adapter
- update drone CLI to route commands to modules or branches by @target
- enhance `drone systems` to list registered modules with descriptions
- provide module help integration alongside branch help
✨ feat(seedgo): create drone adapter for seedgo module commands
- implement handle_command forwarding to seedgo CLI subprocess
- provide get_help function with command-specific help text
- support commands: check, audit, list, init with options and examples
✨ feat(seedgo): add __main__.py to support `python -m seedgo` execution
✨ feat(seedgo plugin): add drone-compliance plugin to verify drone adapter compliance
- checks existence of drone_adapter.py and required interface elements
- validates presence of DRONE_MODULE dict, handle_command(), and get_help()
- reports compliance results with pass/fail and score with detailed checks
- skips non-target packages and handles syntax errors gracefully
✅ test(drone modules): add comprehensive tests for drone module registry and routing
- test listing, info retrieval, command routing, and help retrieval
- test CLI integration for `drone systems` and `drone @seedgo` commands
- verify module priority over branch routing and error handling
✅ test(seedgo drone compliance): add tests for drone-compliance plugin
- test passing cases with proper adapter and interface
- test failures for missing adapter, metadata, or functions
- test warnings for missing get_help function
- test skipping non-target packages and file-not-found cases
- test handling of syntax errors in adapter files
BREAKING: aipass.routing renamed to aipass.drone. Routing IS drone —
the command routing engine IS the CLI command center. No reason to
keep them separate.
Adds `drone` CLI entry point:
drone systems — list registered branches
drone @branch command — route command to branch
drone @branch --help — get branch help
drone --version — show version
406 tests pass (20 new CLI tests). All imports updated.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes ruff F401 (unused os import, unused _get_root_direct alias) and
F841 (unused parent variable) that caused CI lint failure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Foundation package with zero external dependencies. Implements 3-tier
AIPASS_ROOT resolution: env var → .aipass/ marker walk → ~/.aipass/ default.
Includes derived path helpers (system_logs_dir, branch_registry_path,
branch_path, branch_logs_dir). 32 tests, full coverage.
Also positions placeholder modules (cortex, mail, prax) with documented
intent for upcoming implementation. Version bumped to 1.0.0.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove sys.path.insert() blocks from test files (E402) — package is
installed via pip install -e . so path manipulation is unnecessary
- Move import importlib.util and import subprocess to top of file (E402)
- Remove unused sys import from test_seedgo_core.py (F401)
- Fix undefined _src_path reference in test_seedgo_cli.py (F821)
- Remove unused result variable assignment in TestCLIInit (F841)
- Remove extraneous f prefix from f-string in cli.py (F541)
All 249 tests pass. Zero ruff violations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove unused `pathlib.Path` and `RegistryNotFoundError` from resolver.py
and unused `tempfile` from test_routing_core.py, resolving ruff F401 errors.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- README with project overview
- pyproject.toml with trinity-pattern dependency
- src/aipass/ package with version
- Basic CI workflow (Python 3.10-3.13, ruff, pytest)
- MIT license
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>