* feat(system): fix(windows-ci): combine pip bootstrap fix + venv activation in Verify step
Combines both fixes needed to get windows-test.yml actually passing:
1. setup.sh: stop swallowing ensurepip errors (quiet + 2>/dev/null + || true was
hiding real failures — pip was silently not installed). Add get-pip.py fallback
and hard pip verification.
2. windows-test.yml: add 'source .venv/Scripts/activate' to Verify step. Each CI
step gets a fresh shell — setup.sh's venv activation doesn't carry over, so
drone wasn't on PATH in the subsequent step.
Together, these should take Windows CI from the 'silent failure every run since
creation' state to actually green. Supersedes PRs #330 and #331 which had the
fixes on separate branches (neither green alone).
Co-Authored-By: @devpulse <devpulse@aipass>
* feat(system): chore(lint): ruff auto-fix sweep — 303 errors across 178 files (F401 unused imports + F541 f-string placeholders + F811 redefined); restored report_error re-export + added logger call in errors.py
Co-Authored-By: @devpulse <devpulse@aipass>
---------
Co-authored-by: @devpulse <devpulse@aipass>
BLOCKER 1 (bootstrap.py): Replace bash dirname/while loop in _claude_settings()
with a cross-platform python3 -c one-liner using pathlib.Path.parents. The bash
loop broke on Windows because root is 'C:\' not '/'. Python pathlib handles all
OS path separators correctly.
BLOCKER 2 (setup.sh): Add OS detection (IS_WINDOWS via OSTYPE/uname). On Windows
(Git Bash/MSYS2/Cygwin), skip the sudo ln -sf symlink step and print manual
PATH-extension instructions for PowerShell, CMD, and Git Bash. Also make venv
activation OS-aware (Scripts/activate on Windows, bin/activate elsewhere).
BLOCKER 3 (setup.py): New cross-platform Python installer at repo root. Does
everything setup.sh does — create venv, install editable, verify entry points,
seed secrets dir, .env, registry, bootstrap branch identity files — and works
natively on Windows without Git Bash. Uses sys.executable (no python3 vs python
ambiguity), pathlib throughout, and prints PATH instructions on Windows instead
of attempting symlink creation.
Closes#261.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: rewrite README with verified claims + add HERALD.md progress tracker
README rewritten and verified against live system:
- All commands tested and confirmed working
- drone systems shows 23 (15 core + 8 test), documented correctly
- seedgo at 33 standards (was incorrectly stated as 34)
- Docker setup-workspace.sh fork URL noted
- setup.sh sudo requirement documented
- prax monitor marked as interactive
- Added Standards, Communication, and Structure sections
- Removed session tracking (moved to HERALD.md)
- Branch table expanded with roles and descriptions
HERALD.md: Living progress doc for Patrick to read between sessions.
Contains session history, active DPLANs, milestones, known issues.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(install): registry format mismatch + seedgo CLI entry point
Bugs found via fresh Docker install test:
1. setup.sh generated AIPASS_REGISTRY.json with branches as dict (keyed
by name), but seedgo's discovery.py expected a list of dicts. Result:
`drone @seedgo audit aipass` was completely broken on any fresh install.
Fix: setup.sh now generates list format (matching existing registry).
2. setup.sh verified `seedgo --help` but seedgo has no CLI entry point —
it's only accessible via `drone @seedgo`. Fix: check `drone @seedgo --help`
instead, remove broken symlink attempt.
3. seedgo discovery.py now handles both list and dict registry formats
defensively (in case old registries exist).
4. README updated to remove seedgo standalone CLI claims.
Verified: full fresh install in Docker container — setup.sh completes
successfully, drone systems shows 15 branches, seedgo audit runs clean.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
setup.sh now copies .env.example to ~/.secrets/aipass/.env so new users
get the key template in the right place automatically. Updated .env.example
header to point to the secrets location.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- setup.sh now creates .trinity/, .seedgo/, .ai_mail.local/ for all 15 branches
- Registry includes commons + skills (was 13, now 15)
- spawn: fix registry format mismatch (dict vs list) that crashed every command on fresh install
- spawn: skip existing files during create (never overwrite)
- README: quick start guide rewritten for new users
- commons/skills README: rebuilt from birthright scaffold to real docs
- .env.example added for OpenAI/OpenRouter API keys
Tested end-to-end in Docker: clone → setup.sh → 15 branches → all identity files valid.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Full standards audit traced every doc through its checker into the codebase.
All 20 standards rated NEEDS UPDATE. This PR fixes the systemic issues:
Checker bugs fixed:
- encapsulation_check: continue/break bug falsely flagging allowed handlers
- error_handling_check: now accepts canonical prax import (not just shorthand)
- cli_check: import detection now matches aipass.cli prefix (was bare cli.)
- meta_check: AIPass header accepted (was only META), legacy compat preserved
Doc fixes:
- Checker paths corrected in 10 docs (added standards/aipass/ segment)
- naming.md rewritten: marketplace removed, json_handler.py promoted to
standard, verbs descriptive not prescriptive, module naming section added
- imports.md: both prax import forms now valid (canonical + shorthand)
- architecture/testing/trigger/encapsulation/json_structure/cli_flags/
log_handler: stale paths, Dev-Pass refs, outdated data fixed
Code fixes:
- parents[4]→parents[3] in 16 handler files (backup/daemon/memory)
- AIPass header marker in all 42 checker .py files
- pyproject.toml: added pyright to dev deps
- Removed agent_mock_branch template (replaced by builder/birthright)
- Removed stale branch_system_prompt.md files (renamed to aipass_local_prompt.md)
- New devpulse local prompt + FPLAN-0010
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>