🐛 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
This commit is contained in:
AIOSAI
2026-03-05 13:03:38 -08:00
parent e13fd4c5c3
commit 5aa8db5d0b
150 changed files with 1557 additions and 6101 deletions
BIN
View File
Binary file not shown.
-42
View File
@@ -1,42 +0,0 @@
{
"version": "1.0.0",
"profile": null,
"plugins": {
"enabled": [
"no-bare-except",
"type-hints-required",
"docstring-coverage",
"function-length",
"file-structure"
],
"disabled": [],
"config": {
"function-length": {
"max_lines": 50
},
"file-structure": {
"allowed_root_files": [
"setup.py",
"conftest.py",
"manage.py"
]
}
}
},
"scoring": {
"threshold": 75,
"error_weight": 1.0,
"warning_weight": 0.5,
"info_weight": 0.0
},
"paths": {
"include": [
"src/seedgo/"
],
"exclude": [
"tests/",
"*.generated.py"
]
},
"overrides": []
}
+341
View File
@@ -0,0 +1,341 @@
{
"metadata": {
"version": "1.0.0",
"last_updated": "2026-02-27",
"total_branches": 30
},
"branches": [
{
"name": ".VSCODE",
"alias": "",
"path": "/home/aipass/.vscode",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@.vscode",
"status": "active",
"created": "2025-11-22",
"last_active": "2025-11-22"
},
{
"name": "AI_MAIL",
"alias": "",
"path": "/home/aipass/aipass_core/ai_mail",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@ai_mail",
"status": "active",
"created": "2025-11-30",
"last_active": "2025-11-30"
},
{
"name": "API",
"alias": "Gateway",
"path": "/home/aipass/aipass_core/api",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@api",
"status": "active",
"created": "2025-10-30",
"last_active": "2025-10-30"
},
{
"name": "ASSISTANT",
"alias": "Relay",
"path": "/home/aipass/aipass_os/dev_central/assistant",
"profile": "AIPass Workshop",
"description": "DEV_CENTRAL Workflow Coordinator - task dispatch, monitoring, aggregation",
"email": "@assistant",
"status": "active",
"created": "2026-01-21",
"last_active": "2026-01-21"
},
{
"name": "BACKUP_SYSTEM",
"alias": "Vault",
"path": "/home/aipass/aipass_core/backup_system",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@backup_system",
"status": "active",
"created": "2025-10-30",
"last_active": "2025-10-30"
},
{
"name": "CLI",
"alias": "Vox",
"path": "/home/aipass/aipass_core/cli",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@cli",
"status": "active",
"created": "2025-11-12",
"last_active": "2025-11-12"
},
{
"name": "CORTEX",
"alias": "Cortex",
"path": "/home/aipass/aipass_core/cortex",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@cortex",
"status": "active",
"created": "2025-11-09",
"last_active": "2025-11-09"
},
{
"name": "DEVPULSE",
"alias": "Pulse",
"path": "/home/aipass/aipass_os/dev_central/devpulse",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@devpulse",
"status": "active",
"created": "2025-11-30",
"last_active": "2025-11-30"
},
{
"name": "DEV_CENTRAL",
"alias": "DEV_CENTRAL",
"path": "/home/aipass/aipass_os/dev_central",
"profile": "Human Operator",
"description": "Patrick workspace - planning and coordination",
"email": "@dev_central",
"status": "active",
"created": "2025-11-30",
"last_active": "2025-11-30"
},
{
"name": "DRONE",
"alias": "Hermes",
"path": "/home/aipass/aipass_core/drone",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@drone",
"status": "active",
"created": "2025-10-30",
"last_active": "2025-10-30"
},
{
"name": "FLOW",
"alias": "Flow",
"path": "/home/aipass/aipass_core/flow",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@flow",
"status": "active",
"created": "2025-10-30",
"last_active": "2025-10-30"
},
{
"name": "FORGE",
"alias": "",
"path": "/home/aipass/forge",
"profile": "AIPass Workshop",
"description": "Root-level fast responder and Telegram bot factory — forges new bots",
"email": "@forge",
"status": "active",
"created": "2026-02-26",
"last_active": "2026-02-26"
},
{
"name": "GIT_MANAGER",
"alias": "Chronicle",
"path": "/home/aipass/aipass_os/dev_central/git_manager",
"profile": "AIPass Workshop",
"description": "Git repository management - PR reviews, commit standards, hooks, repo health",
"email": "@git_manager",
"status": "active",
"created": "2025-11-13",
"last_active": "2026-02-25"
},
{
"name": "GROWTH",
"alias": "",
"path": "/home/aipass/aipass_business/departments/growth",
"profile": "Business",
"description": "Growth Department - content strategy and audience growth",
"email": "@growth",
"status": "active",
"created": "2026-02-18",
"last_active": "2026-02-18"
},
{
"name": "MCP_SERVERS",
"alias": "Loom",
"path": "/home/aipass/mcp_servers",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@mcp_servers",
"status": "active",
"created": "2025-11-01",
"last_active": "2025-11-01"
},
{
"name": "MEMORY_BANK",
"alias": "Mnemo",
"path": "/home/aipass/MEMORY_BANK",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@memory_bank",
"status": "active",
"created": "2025-11-11",
"last_active": "2025-11-11"
},
{
"name": "NEXUS",
"alias": "Nexus",
"path": "/home/aipass/Nexus",
"profile": "AI Assistant",
"description": "AIPass CoFounder - Conversational AI with presence, memory, and Claude Code tool access via GPT-4.1",
"email": "@nexus",
"status": "active",
"created": "2026-02-08",
"last_active": "2026-02-08"
},
{
"name": "PATRICK_PRIVATE",
"path": "/home/aipass/patrick_private",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@patrick_private",
"status": "active",
"created": "2026-02-27",
"last_active": "2026-02-27"
},
{
"name": "PERMISSIONS",
"alias": "Warden",
"path": "/home/aipass/aipass_os/dev_central/permissions",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@permissions",
"status": "active",
"created": "2025-11-13",
"last_active": "2025-11-13"
},
{
"name": "PRAX",
"alias": "",
"path": "/home/aipass/aipass_core/prax",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@prax",
"status": "active",
"created": "2025-10-30",
"last_active": "2025-10-30"
},
{
"name": "PROJECTS",
"alias": "",
"path": "/home/aipass/projects",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@projects",
"status": "active",
"created": "2025-11-23",
"last_active": "2025-11-23"
},
{
"name": "SEED",
"alias": "Seed",
"path": "/home/aipass/seed",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@seed",
"status": "active",
"created": "2025-11-12",
"last_active": "2025-11-12"
},
{
"name": "SPEAKEASY",
"alias": "Speakeasy",
"path": "/home/aipass/speakeasy",
"profile": "AIPass Workshop",
"description": "Voice-to-text system - local speech recognition using Whisper AI",
"email": "@speakeasy",
"status": "active",
"created": "2026-02-11",
"last_active": "2026-02-11"
},
{
"name": "TEAM_1",
"alias": "",
"path": "/home/aipass/aipass_business/teams/team_1",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@team_1",
"status": "active",
"created": "2026-02-08",
"last_active": "2026-02-08"
},
{
"name": "TEAM_2",
"alias": "",
"path": "/home/aipass/aipass_business/teams/team_2",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@team_2",
"status": "active",
"created": "2026-02-08",
"last_active": "2026-02-08"
},
{
"name": "TEAM_3",
"alias": "",
"path": "/home/aipass/aipass_business/teams/team_3",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@team_3",
"status": "active",
"created": "2026-02-08",
"last_active": "2026-02-08"
},
{
"name": "TEST",
"alias": "Probe",
"path": "/home/aipass/aipass_os/dev_central/test",
"profile": "AIPass Workshop",
"description": "System Testing & Integration - integration testing, Telegram debugging, cross-branch module testing",
"email": "@test",
"status": "active",
"created": "2026-02-15",
"last_active": "2026-02-15"
},
{
"name": "THE_COMMONS",
"alias": "The Commons",
"path": "/home/aipass/The_Commons",
"profile": "Social Network",
"description": "Community hub - where branches gather, discuss, share ideas beyond task work",
"email": "@the_commons",
"aliases": [
"@commons"
],
"status": "active",
"created": "2026-02-06",
"last_active": "2026-02-06"
},
{
"name": "TRIGGER",
"alias": "Reflex",
"path": "/home/aipass/aipass_core/trigger",
"profile": "AIPass Workshop",
"description": "New branch - purpose TBD",
"email": "@trigger",
"status": "active",
"created": "2025-11-30",
"last_active": "2025-11-30"
},
{
"name": "VERA",
"alias": "",
"path": "/home/aipass/aipass_business/vera",
"profile": "CEO",
"description": "CEO of AIPass Business — Public Voice, Decision Maker, Team Orchestrator. Named from Latin veritas (truth) by unanimous team vote.",
"email": "@vera",
"status": "active",
"created": "2026-02-17",
"last_active": "2026-02-17"
}
]
}
-5
View File
@@ -1,5 +0,0 @@
"""aipass.api — LLM access, model routing, and agent spawning.
Unified interface to language models. Handles API keys, model selection,
rate limiting, and spawning agent processes.
"""
-1
View File
@@ -1 +0,0 @@
"""api.handlers — API client implementation and rate limiting."""
-1
View File
@@ -1 +0,0 @@
"""api.modules — Model routing and client logic."""
-1
View File
@@ -1 +0,0 @@
"""api.plugins — Extensible plugin interface."""
-5
View File
@@ -1,5 +0,0 @@
"""aipass.assistant — Scheduling, plugins, and external integrations.
Plugin architecture connecting AIPass to the outside world:
scheduling engine + discoverable plugin interface.
"""
@@ -1 +0,0 @@
"""assistant.handlers — Scheduling and integration implementation."""
-1
View File
@@ -1 +0,0 @@
"""assistant.modules — Scheduling engine and plugin orchestration."""
@@ -1 +0,0 @@
"""Scheduling engine — manages timed actions, intervals, and due checks."""
-5
View File
@@ -1,5 +0,0 @@
"""assistant.plugins — External integration plugins (auto-discovered).
Each plugin connects AIPass to an external service.
User-swappable, independently installable.
"""
-1
View File
@@ -1 +0,0 @@
"""Calendar plugin — Google Calendar integration."""
-1
View File
@@ -1 +0,0 @@
"""Gmail plugin — email integration for external notifications."""
-1
View File
@@ -1 +0,0 @@
"""Telegram plugin — bridge between AIPass and Telegram bots."""
-7
View File
@@ -1,7 +0,0 @@
"""aipass.memory — Unified memory system.
Three sub-modules:
- trinity: Memory files (wraps trinity-pattern pip package)
- agents: Agent creation, registry, scaffolding (powers aipass init)
- bank: Vector search on rolled-over archives (ChromaDB)
"""
@@ -1 +0,0 @@
"""memory.handlers — Archive management and storage implementation."""
@@ -1 +0,0 @@
"""memory.modules — Trinity files, agent lifecycle, and vector search."""
-7
View File
@@ -1,7 +0,0 @@
"""Agent creation, registry, and scaffolding.
Powers `aipass init` (builds all citizens on first run) and
`drone @memory create agent "X"` (adds new branches later).
Creates: passport.json, flow.local.md, birth certificate, registry entry.
"""
-5
View File
@@ -1,5 +0,0 @@
"""Vector search on rolled-over archives.
ChromaDB-backed semantic search across archived memory files,
closed plans, and historical session data.
"""
@@ -1,5 +0,0 @@
"""Memory file management — wraps and extends trinity-pattern package.
Handles passport.json, local.json, observations.json per branch.
FIFO rollover to archive when files exceed limits.
"""
@@ -1 +0,0 @@
"""memory.plugins — Extensible plugin interface."""
-5
View File
@@ -1,5 +0,0 @@
"""aipass.devpulse — User orchestrator and dashboard.
Home base for users: system status, project config, dashboard.
The entry point for understanding what's happening across the ecosystem.
"""
-1
View File
@@ -1 +0,0 @@
"""devpulse.handlers — Status aggregation and config management."""
-1
View File
@@ -1 +0,0 @@
"""devpulse.modules — Dashboard and status logic."""
-1
View File
@@ -1 +0,0 @@
"""devpulse.plugins — Extensible plugin interface."""
-5
View File
@@ -1,5 +0,0 @@
"""aipass.drone — Command routing, @resolution, module discovery.
The backbone of AIPass. Routes `drone @module command` to the correct
module, resolves @ targets to paths, discovers installed modules.
"""
-1
View File
@@ -1 +0,0 @@
"""drone.handlers — Implementation details for routing and dispatch."""
-1
View File
@@ -1 +0,0 @@
"""Dispatch handler — executes resolved commands against target modules."""
-1
View File
@@ -1 +0,0 @@
"""drone.modules — Business logic for command routing and resolution."""
-1
View File
@@ -1 +0,0 @@
"""@ resolver — maps @targets to module paths."""
-1
View File
@@ -1 +0,0 @@
"""Command router — parses `drone @module command` and dispatches."""
-1
View File
@@ -1 +0,0 @@
"""drone.plugins — Extensible plugin interface."""
-5
View File
@@ -1,5 +0,0 @@
"""aipass.flow — Planning, workflow management, and tracking.
Owns ALL planning: DPLANs (design), FPLANs (execution), MPLANs (master).
Each branch gets flow.local.md for issues, todos, and scratchpad.
"""
-1
View File
@@ -1 +0,0 @@
"""flow.handlers — Plan file management and template rendering."""
-1
View File
@@ -1 +0,0 @@
"""flow.modules — Plan lifecycle and tracking logic."""
-1
View File
@@ -1 +0,0 @@
"""flow.plugins — Extensible plugin interface."""
-5
View File
@@ -1,5 +0,0 @@
"""aipass.mail — Agent-to-agent messaging and dispatch.
Handles inter-branch communication: send, receive, inbox management,
delivery routing, and dispatch flags for autonomous execution.
"""
-1
View File
@@ -1 +0,0 @@
"""mail.handlers — Delivery and inbox implementation."""
-1
View File
@@ -1 +0,0 @@
"""mail.modules — Messaging business logic."""
-1
View File
@@ -1 +0,0 @@
"""mail.plugins — Extensible plugin interface."""
-5
View File
@@ -1,5 +0,0 @@
"""aipass.seedgo — Code standards and quality checks.
Public standards framework. Plugin-based architecture for automated
code quality auditing across the project.
"""
-1
View File
@@ -1 +0,0 @@
"""seedgo.handlers — Check execution and reporting."""
-1
View File
@@ -1 +0,0 @@
"""seedgo.modules — Standards runner and audit logic."""
-1
View File
@@ -1 +0,0 @@
"""seedgo.plugins — Quality check plugins (auto-discovered)."""
-11
View File
@@ -1,11 +0,0 @@
"""aipass.skills — User-built add-ons that compose infrastructure.
Skills are self-contained folders that import from AIPass infrastructure
modules (drone, api, prax, mail, etc.) to create new capabilities.
Infrastructure = the plumbing (modules/handlers/plugins inside each module).
Skills = what users build ON TOP of the plumbing.
Each skill is a directory with a SKILL.md describing what it does
and Python files that import what they need from aipass.*.
"""
@@ -0,0 +1,133 @@
{
"metadata": {
"version": "1.0.0",
"description": "Files and patterns to exclude when creating branch backups",
"last_updated": "2025-11-09"
},
"ignore_directories": [
".backup",
"backups",
".venv",
"venv",
"node_modules",
"__pycache__",
".git",
".cache",
".pytest_cache",
".mypy_cache",
"dist",
"build",
"*.egg-info",
"aipass_dev",
"aipass_core",
"aipass_business",
"aipass_help",
"input_x",
"Link to mnt",
"mcp_servers",
"speakeasy",
"sandbox",
"ai_mail.local",
"logs",
"pruned_files",
"crash-logs",
".aipass",
".archive",
".cargo",
".codex",
".config",
".dbus",
".dotnet",
".gemini",
".gnome",
".gnupg",
".idlerc",
".java",
".local",
".mozilla",
".npm",
".npm-global",
".nvm",
".pki",
".pylint.d",
".pyenv",
".serena",
".ssh",
".thunderbird",
".var",
".vscode-server",
".wget-hsts",
".claude-code-docs",
".claude",
"backup_system",
"Desktop",
"Documents",
"Downloads",
"dropbox",
"Music",
"Pictures",
"Public",
"snap",
"system_logs",
"Templates",
"Videos"
],
"ignore_patterns": [
"*.pyc",
"*.pyo",
"*.pyd",
".DS_Store",
"Thumbs.db",
"*.log",
"*.tmp",
"*.swp",
"*.swo",
"*~",
"*.env",
"*_json",
"dev.local.md",
"notepad.md",
"pytest.ini",
".bash_history",
".bash_logout",
".bashrc",
".claude.json",
".claude.json.backup",
".lesshst",
".npmrc",
".profile",
".python_history",
".sudo_as_admin_successful",
".gitattributes",
"BRANCH_REGISTRY.json",
".branch_meta.json*",
"migrations.json*",
"sandbox.img"
],
"notes": {
"how_it_works": "Two types of exclusions during backup creation:",
"ignore_directories": {
"description": "Directory names to skip entirely (including all contents)",
"purpose": "Exclude large dependency dirs, caches, and backup dirs themselves",
"examples": [
".venv, venv (Python virtual environments - large, regeneratable)",
"node_modules (NPM dependencies - huge, regeneratable)",
"__pycache__, .cache (Python/system caches - regeneratable)",
".git (Git repository - already versioned)",
".backup, backups (backup directories - prevent recursion)"
]
},
"ignore_patterns": {
"description": "Glob patterns for files to skip",
"purpose": "Exclude temporary files, compiled bytecode, OS cruft",
"examples": [
"*.pyc, *.pyo (Python compiled bytecode - regeneratable)",
"*.log (Log files - can be large, temporary)",
"*.tmp, *.swp (Temporary/swap files)",
".DS_Store, Thumbs.db (OS metadata files)"
]
},
"customization": "Edit this file in the template to add more patterns. Changes take effect on next branch update.",
"performance": "Ignoring large directories dramatically speeds up backups (seconds vs minutes for branches with node_modules or .venv)"
}
}
@@ -0,0 +1,49 @@
{
"metadata": {
"version": "1.0.0",
"description": "Template structural migrations for branch updates",
"last_updated": "2025-11-07",
"applies_to_versions": ["all"]
},
"migrations": [
{
"id": "m001",
"description": "Example: Migrate flat metadata to document_metadata structure",
"version_introduced": "1.0.0",
"applies_to_files": ["*.id.json"],
"operations": [
{
"type": "key_rename",
"from": "metadata",
"to": "document_metadata"
},
{
"type": "move_to_nested",
"source_keys": ["branch_name", "path", "profile"],
"target_parent": "branch_info"
},
{
"type": "add_missing_keys",
"parent": "document_metadata",
"keys": {
"document_type": "branch_identity",
"schema_version": "1.0.0"
}
}
]
}
],
"options": {
"skip_if_target_exists": true,
"preserve_unknown_keys": true,
"recursive_application": false
},
"notes": {
"usage": "This file defines structural transformation rules applied during branch updates",
"pattern_matching": "applies_to_files uses glob patterns (*.json, *.id.json, etc.)",
"operation_order": "Operations execute in order listed within each migration",
"skip_behavior": "Operations skip if already compliant (target exists = success)",
"supported_operations": ["key_rename", "move_to_nested", "add_missing_keys"],
"future_operations": ["split_key", "combine_keys", "delete_key", "transform_value"]
}
}
@@ -0,0 +1,43 @@
{
"metadata": {
"version": "1.1.0",
"description": "Files and patterns to exclude when updating branches from template",
"last_updated": "2025-11-09"
},
"ignore_files": [
".template_registry.json",
".registry_ignore.json"
],
"ignore_patterns": [
"__pycache__",
"*.pyc",
"#@comments.txt",
".backup_*"
],
"notes": {
"how_it_works": "Two types of exclusions during branch updates:",
"ignore_files": {
"description": "Exact filename matches (no wildcards)",
"purpose": "Template-internal management files that branches don't need",
"examples": [
".template_registry.json (template's file tracking list)",
".registry_ignore.json (this config file)"
]
},
"ignore_patterns": {
"description": "Glob patterns - matches filenames AND directory names",
"purpose": "Exclude generated files, caches, and user content markers",
"examples": [
"__pycache__ (Python cache directories)",
"*.pyc (Python compiled bytecode files)",
"#@comments.txt (user comment files)",
".backup_* (timestamped backup files like .backup_20251109, NOT .backup directory)"
],
"how_matching_works": [
"Step 1: Check if filename matches pattern (e.g., file.pyc matches *.pyc)",
"Step 2: Check if any parent directory matches (e.g., files inside __pycache__/ dir)"
]
},
"what_gets_ignored": "These files never copy to branches during updates - they stay template-only"
}
}
@@ -0,0 +1,301 @@
{
"metadata": {
"version": "1.0.0",
"last_updated": "2026-02-20",
"description": "Template file tracking registry for ID-based updates"
},
"files": {
"f001": {
"current_name": "BRANCH.ID.json",
"path": "BRANCH.ID.json",
"content_hash": "e9bc2347d373",
"has_branch_placeholder": false
},
"f003": {
"current_name": "dev.local.md",
"path": "dev.local.md",
"content_hash": "6c1c5e099790",
"has_branch_placeholder": false
},
"f035": {
"current_name": ".gitkeep",
"path": "ai_mail.local/.archive/.gitkeep",
"content_hash": "e3b0c44298fc",
"has_branch_placeholder": false
},
"f008": {
"current_name": "DASHBOARD.local.json",
"path": "DASHBOARD.local.json",
"content_hash": "3f0528b4c5d5",
"has_branch_placeholder": false
},
"f007": {
"current_name": ".migrations.json",
"path": ".migrations.json",
"content_hash": "4ca241607dc3",
"has_branch_placeholder": false
},
"f010": {
"current_name": "OBSERVATIONS.json",
"path": "OBSERVATIONS.json",
"content_hash": "58ea8609fbe0",
"has_branch_placeholder": false
},
"f011": {
"current_name": "requirements.txt",
"path": "requirements.txt",
"content_hash": "66dfffc70d53",
"has_branch_placeholder": false
},
"f021": {
"current_name": "README.md",
"path": "README.md",
"content_hash": "4e946f67a130",
"has_branch_placeholder": false
},
"f012": {
"current_name": "LOCAL.json",
"path": "LOCAL.json",
"content_hash": "459dbe18d40a",
"has_branch_placeholder": false
},
"f006": {
"current_name": "pytest.ini",
"path": "pytest.ini",
"content_hash": "7b39ba7bca40",
"has_branch_placeholder": false
},
"f022": {
"current_name": "_template.md",
"path": "docs/_template.md",
"content_hash": "79ce97b0e613",
"has_branch_placeholder": false
},
"f016": {
"current_name": "__init__.py",
"path": "tests/__init__.py",
"content_hash": "1fcd8126d174",
"has_branch_placeholder": false
},
"f019": {
"current_name": "conftest.py",
"path": "tests/conftest.py",
"content_hash": "2887db109a6b",
"has_branch_placeholder": false
},
"f004": {
"current_name": "BRANCH.py",
"path": "apps/BRANCH.py",
"content_hash": "44f22cc95232",
"has_branch_placeholder": false
},
"f009": {
"current_name": "__init__.py",
"path": "apps/__init__.py",
"content_hash": "5c38204be5fc",
"has_branch_placeholder": false
},
"f013": {
"current_name": "#@comments.txt.removed_from_template",
"path": ".archive/#@comments.txt.removed_from_template",
"content_hash": "651126c1e7a9",
"has_branch_placeholder": false
},
"f028": {
"current_name": "deleted.json.old_template_format",
"path": ".archive/deleted.json.old_template_format",
"content_hash": "48a3a33dd73a",
"has_branch_placeholder": false
},
"f002": {
"current_name": "branch_system_prompt.md",
"path": ".aipass/branch_system_prompt.md",
"content_hash": "897c7beb66f5",
"has_branch_placeholder": false
},
"f026": {
"current_name": "inbox.json",
"path": "ai_mail.local/inbox.json",
"content_hash": "c9702fe2cc21",
"has_branch_placeholder": false
},
"f027": {
"current_name": "sent.json",
"path": "ai_mail.local/sent.json",
"content_hash": "240132e5a567",
"has_branch_placeholder": false
},
"f014": {
"current_name": "__init__.py",
"path": "apps/handlers/__init__.py",
"content_hash": "657d98ad4b98",
"has_branch_placeholder": false
},
"f015": {
"current_name": "__init__.py",
"path": "apps/json_templates/__init__.py",
"content_hash": "330b189c08c7",
"has_branch_placeholder": false
},
"f020": {
"current_name": "__init__.py",
"path": "apps/plugins/__init__.py",
"content_hash": "39158d26a19c",
"has_branch_placeholder": false
},
"f023": {
"current_name": "__init__.py",
"path": "apps/modules/__init__.py",
"content_hash": "bc25a8b75e81",
"has_branch_placeholder": false
},
"f024": {
"current_name": "__init__.py",
"path": "apps/extensions/__init__.py",
"content_hash": "6742ceb64ec1",
"has_branch_placeholder": false
},
"f032": {
"current_name": "data.json",
"path": "apps/json_templates/default/data.json",
"content_hash": "0531a02be998",
"has_branch_placeholder": false
},
"f033": {
"current_name": "log.json",
"path": "apps/json_templates/default/log.json",
"content_hash": "37517e5f3dc6",
"has_branch_placeholder": false
},
"f034": {
"current_name": "config.json",
"path": "apps/json_templates/default/config.json",
"content_hash": "3759a05e171d",
"has_branch_placeholder": false
},
"f005": {
"current_name": "json_handler.py",
"path": "apps/handlers/json/json_handler.py",
"content_hash": "3449629aff23",
"has_branch_placeholder": false
},
"f017": {
"current_name": "__init__.py",
"path": "apps/handlers/json/__init__.py",
"content_hash": "ad3629e381ca",
"has_branch_placeholder": false
}
},
"directories": {
"d001": {
"current_name": "tools",
"path": "tools",
"has_branch_placeholder": false
},
"d002": {
"current_name": "docs",
"path": "docs",
"has_branch_placeholder": false
},
"d003": {
"current_name": "tests",
"path": "tests",
"has_branch_placeholder": false
},
"d004": {
"current_name": "apps",
"path": "apps",
"has_branch_placeholder": false
},
"d005": {
"current_name": ".archive",
"path": ".archive",
"has_branch_placeholder": false
},
"d006": {
"current_name": "logs",
"path": "logs",
"has_branch_placeholder": false
},
"d009": {
"current_name": ".backup",
"path": ".backup",
"has_branch_placeholder": false
},
"d008": {
"current_name": "{{BRANCH}}_json",
"path": "{{BRANCH}}_json",
"has_branch_placeholder": true
},
"d010": {
"current_name": "artifacts",
"path": "artifacts",
"has_branch_placeholder": false
},
"d012": {
"current_name": ".aipass",
"path": ".aipass",
"has_branch_placeholder": false
},
"d011": {
"current_name": "ai_mail.local",
"path": "ai_mail.local",
"has_branch_placeholder": false
},
"d007": {
"current_name": "dropbox",
"path": "dropbox",
"has_branch_placeholder": false
},
"d013": {
"current_name": "handlers",
"path": "apps/handlers",
"has_branch_placeholder": false
},
"d014": {
"current_name": "json_templates",
"path": "apps/json_templates",
"has_branch_placeholder": false
},
"d015": {
"current_name": "plugins",
"path": "apps/plugins",
"has_branch_placeholder": false
},
"d016": {
"current_name": "modules",
"path": "apps/modules",
"has_branch_placeholder": false
},
"d017": {
"current_name": "extensions",
"path": "apps/extensions",
"has_branch_placeholder": false
},
"d018": {
"current_name": "sent",
"path": "ai_mail.local/sent",
"has_branch_placeholder": false
},
"d019": {
"current_name": "deleted",
"path": "ai_mail.local/deleted",
"has_branch_placeholder": false
},
"d020": {
"current_name": ".archive",
"path": "ai_mail.local/.archive",
"has_branch_placeholder": false
},
"d027": {
"current_name": "json",
"path": "apps/handlers/json",
"has_branch_placeholder": false
},
"d024": {
"current_name": "default",
"path": "apps/json_templates/default",
"has_branch_placeholder": false
}
}
}
@@ -0,0 +1,115 @@
{
"metadata": {
"version": "1.0.0",
"created": "2025-11-27T16:44:34.325750",
"description": "Standards bypass configuration for this branch"
},
"bypass": [
{
"file": "apps/modules/standards_checklist.py",
"standard": "architecture",
"reason": "Large file justified - orchestrates 12 standards, contains bypass system"
},
{
"file": "apps/modules/standards_checklist.py",
"standard": "modules",
"reason": "Direct file ops required - reads BRANCH_REGISTRY.json and bypass configs"
},
{
"file": "apps/handlers/verify/orchestrator.py",
"standard": "cli",
"reason": "Display orchestrator - console.print is its PURPOSE (orchestrates display output)"
},
{
"file": "apps/handlers/audit/display.py",
"standard": "cli",
"reason": "Display handler - console.print is its PURPOSE (formats audit output)"
},
{
"file": "apps/handlers/diagnostics/discovery.py",
"standard": "cli",
"reason": "Uses print() for error fallback when logger unavailable"
},
{
"file": "apps/modules/cli_standard.py",
"standard": "modules",
"reason": "Standards education module - run_demo is part of teaching CLI patterns"
},
{
"file": "apps/modules/standards_checklist.py",
"standard": "json_structure",
"reason": "Direct JSON for bypass system - not three-JSON pattern use case"
},
{
"file": "apps/handlers/standards/architecture_check.py",
"standard": "cli",
"reason": "False positive - CLI pattern in docstring documenting allowed imports"
},
{
"file": "apps/handlers/standards/imports_check.py",
"standard": "cli",
"reason": "False positive - CLI pattern in docstring documenting allowed imports"
},
{
"file": "apps/handlers/standards/modules_content.py",
"standard": "cli",
"reason": "Content handler - CLI examples in strings are its PURPOSE"
},
{
"file": "apps/handlers/standards/cli_check.py",
"standard": "cli",
"reason": "False positive - CLI pattern in docstring explaining console.print detection"
},
{
"file": "apps/handlers/standards/cli_content.py",
"standard": "cli",
"reason": "Content handler - CLI examples in strings are its PURPOSE (teaching proper usage)"
},
{
"file": "apps/handlers/standards/imports_content.py",
"standard": "cli",
"reason": "Content handler - CLI examples in strings are its PURPOSE (teaching proper usage)"
},
{
"file": "apps/handlers/standards/architecture_check.py",
"standard": "encapsulation",
"reason": "Imports ignore_handler for template patterns - internal SEED checker infrastructure"
},
{
"file": "apps/handlers/standards/error_handling_check.py",
"standard": "error_handling",
"reason": "False positive - 'logger.error()' pattern appears in docstring teaching the standard"
},
{
"file": "apps/handlers/verify/checker_sync.py",
"standard": "trigger",
"reason": "False positive - 'unlink' and 'rename' appear in string list, not actual file operations"
}
],
"notes": {
"usage": "Add entries to 'bypass' list to exclude specific violations",
"example": {
"file": "apps/modules/logger.py",
"standard": "cli",
"lines": [146, 177],
"pattern": "if __name__ == '__main__'",
"category": "internal_ops",
"reason": "Circular dependency - logger cannot import CLI"
},
"fields": {
"file": "Relative path from branch root (required)",
"standard": "Standard name: cli, imports, naming, etc. (required)",
"lines": "Optional - specific line numbers to bypass",
"pattern": "Optional - pattern to match (e.g. 'if __name__')",
"category": "Optional - bypass category for trigger standard",
"reason": "Required - why this bypass exists"
},
"trigger_categories": {
"handler_layer": "Function in handlers/ layer (orchestrator fires instead)",
"initialization": "One-time setup/config creation",
"internal_ops": "Same-module internal operation",
"high_frequency": "Would create event spam",
"utility": "Helper called by event-firing function"
}
}
}
@@ -0,0 +1,34 @@
{
"document_metadata": {
"document_type": "session_history",
"document_name": "{{BRANCHNAME}}.LOCAL",
"version": "1.0.0",
"schema_version": "1.0.0",
"created": "{{DATE}}",
"last_updated": "{{DATE}}",
"managed_by": "{{BRANCHNAME}}",
"tags": ["session_tracking", "work_log", "{{BRANCHNAME}}"],
"limits": {
"max_lines": 600,
"note": "Auto-rollover when max_lines exceeded"
},
"status": {
"health": "healthy",
"current_lines": 0,
"last_health_check": "{{DATE}}"
}
},
"active_tasks": {
"today_focus": "{{DATE}}",
"recently_completed": []
},
"key_learnings": {},
"sessions": [
{
"session_number": 1,
"date": "{{DATE}}",
"summary": "Branch initialized - {{BRANCHNAME}} created by aipass init",
"status": "completed"
}
]
}
@@ -0,0 +1,37 @@
{
"document_metadata": {
"document_type": "collaboration_patterns",
"document_name": "{{BRANCHNAME}}.OBSERVATIONS",
"version": "1.0.0",
"schema_version": "1.0.0",
"created": "{{DATE}}",
"last_updated": "{{DATE}}",
"managed_by": "{{BRANCHNAME}}",
"tags": ["collaboration", "patterns", "{{BRANCHNAME}}"],
"limits": {
"max_lines": 600,
"note": "Auto-rollover when max_lines exceeded"
},
"status": {
"health": "healthy",
"current_lines": 0,
"last_health_check": "{{DATE}}"
}
},
"guidelines": {
"purpose": "Capture collaboration patterns and experiential insights over time",
"chronological_order": "Newest entries at TOP, oldest at BOTTOM - NEVER reorder"
},
"observations": [
{
"date": "{{DATE}}",
"session": 1,
"entries": [
{
"title": "First Contact",
"detail": "Branch initialized. Ready to begin capturing collaboration patterns."
}
]
}
]
}
@@ -0,0 +1,36 @@
{
"document_metadata": {
"document_type": "branch_identity",
"document_name": "{{BRANCHNAME}}.PASSPORT",
"version": "1.0.0",
"schema_version": "1.0.0",
"created": "{{DATE}}",
"last_updated": "{{DATE}}",
"managed_by": "{{BRANCHNAME}}",
"tags": ["identity", "passport", "branch_profile"]
},
"branch_info": {
"branch_name": "{{BRANCHNAME}}",
"alias": "",
"path": "{{CWD}}",
"module": "{{MODULE}}",
"created": "{{DATE}}"
},
"identity": {
"role": "{{ROLE}}",
"purpose": "",
"what_i_do": [],
"what_i_dont_do": []
},
"principles": [
"Code is truth - fail honestly",
"Memory persists - context survives",
"Simple solutions over complex architecture"
],
"citizenship": {
"registered": true,
"registry_path": ".aipass/registry.json",
"communications": true,
"memory": true
}
}
@@ -0,0 +1,91 @@
{
"_warning": "AUTO-GENERATED FILE - DO NOT MANUALLY EDIT. This file is 100% automated and will be overwritten. Services update their own sections.",
"branch": "CORTEX",
"last_updated": "2026-03-04T02:09:48.112262",
"quick_status": {
"new_mail": 0,
"opened_mail": 0,
"active_plans": 0,
"commons_mentions": 13,
"action_required": true,
"summary": "13 mentions"
},
"sections": {
"ai_mail": {
"managed_by": "ai_mail",
"new": 0,
"opened": 0,
"total": 0,
"oldest_unread_age": null,
"last_dispatch_received": null,
"last_updated": "2026-03-04T02:09:48.112249"
},
"flow": {
"managed_by": "flow",
"active_plans": 0,
"recently_closed": [
{
"plan_id": "FPLAN-0338",
"subject": "Race condition fix test B"
},
{
"plan_id": "FPLAN-0337",
"subject": "Race condition fix test A"
},
{
"plan_id": "FPLAN-0336",
"subject": "Real content drone test"
},
{
"plan_id": "FPLAN-0333",
"subject": "Close workflow v3.2 test"
},
{
"plan_id": "FPLAN-0332",
"subject": "Close workflow test - real content"
}
],
"last_updated": "2026-02-25T21:04:01.461440"
},
"memory_bank": {
"managed_by": "memory_bank",
"vectors_stored": 27,
"notes": {},
"last_updated": "2026-02-25T16:52:38.749241"
},
"devpulse": {
"managed_by": "devpulse",
"summary": {
"issues": 1,
"todos": 0
},
"dplan_counts": {
"total": 35,
"by_status": {
"complete": 11,
"planning": 19,
"in_progress": 4,
"ready": 1
}
},
"recent_activity": "Registry synced (35 plans)",
"last_updated": "2026-02-25T17:31:52.500742"
},
"commons_activity": {
"managed_by": "the_commons",
"new_posts_since_last_visit": 46,
"new_comments_since_last_visit": 303,
"mentions": 13,
"trending": "None",
"last_checked": "2026-03-04T04:30:20Z",
"last_updated": "2026-03-03T20:30:20.172727"
},
"agent_status": {
"managed_by": "prax",
"active_agents": [],
"agent_count": 0,
"stale_agents": [],
"last_updated": "2026-02-25T21:00:30.714949"
}
}
}
@@ -0,0 +1,51 @@
# {{BRANCHNAME}}
**Purpose:** {{PURPOSE_BRIEF}}
**Module:** `aipass.{{MODULE}}`
**Created:** {{DATE}}
---
## Overview
### What I Do
{{KEY_CAPABILITIES}}
### How I Work
- **Entry Point:** `apps/{{MODULE}}.py`
- **Pattern:** Auto-discovers and routes to modules
---
## Architecture
```
{{BRANCHNAME}}/
├── apps/
│ ├── {{MODULE}}.py # Entry point
│ ├── modules/ # Business logic
│ ├── handlers/ # Implementation
│ └── plugins/ # Extensions
├── docs/
├── tests/
├── passport.json # Identity
├── local.json # Session history
├── observations.json # Collaboration patterns
└── README.md
```
---
## Commands
*Configure after initialization*
---
## Integration Points
### Depends On
{{DEPENDS_ON}}
### Provides To
{{PROVIDES_TO}}
@@ -0,0 +1 @@
# {{BRANCHNAME}} apps package
@@ -0,0 +1,86 @@
"""
{{BRANCHNAME}} Branch - Main Orchestrator
Auto-discovery architecture:
- Scans modules/ directory for .py files with handle_command()
- Routes commands to discovered modules automatically
- No manual imports or routing needed
"""
import sys
import importlib
from pathlib import Path
from typing import List, Any
from aipass.prax import logger
# =============================================================================
# MODULE DISCOVERY
# =============================================================================
MODULES_DIR = Path(__file__).parent / "modules"
def discover_modules() -> List[Any]:
"""Auto-discover modules in modules/ directory."""
modules = []
if not MODULES_DIR.exists():
return modules
for file_path in MODULES_DIR.glob("*.py"):
if file_path.name.startswith("_"):
continue
module_name = f"apps.modules.{file_path.stem}"
try:
module = importlib.import_module(module_name)
if hasattr(module, "handle_command"):
modules.append(module)
except Exception as e:
logger.error(f"[{{BRANCHNAME}}] Failed to load module {module_name}: {e}")
return modules
def route_command(command: str, args: List[str], modules: List[Any]) -> bool:
"""Route command to appropriate module."""
for module in modules:
try:
if module.handle_command(command, args):
return True
except Exception as e:
logger.error(f"[{{BRANCHNAME}}] Module {module.__name__} error: {e}")
return False
# =============================================================================
# MAIN ENTRY POINT
# =============================================================================
def main():
"""Main entry point - routes commands or shows help."""
modules = discover_modules()
args = sys.argv[1:]
if len(args) == 0 or args[0] in ["--help", "-h", "help"]:
print(f"{{BRANCHNAME}} - {len(modules)} modules discovered")
for module in modules:
name = module.__name__.split(".")[-1]
desc = (module.__doc__ or "").strip().split("\n")[0] if module.__doc__ else "No description"
print(f" {name:20} {desc}")
return 0
command = args[0]
remaining = args[1:] if len(args) > 1 else []
if route_command(command, remaining, modules):
return 0
print(f"Unknown command: {command}")
return 1
if __name__ == "__main__":
sys.exit(main())

Some files were not shown because too many files have changed in this diff Show More