Commit Graph
42 Commits
Author SHA1 Message Date
AIOSAI 989d19020d chore(release): bump 2.7.0 -> 2.7.1 — supply-chain hardening (DPLAN-0243: commit signing, hash-pinned CI tooling, release provenance attestation), TG streaming v2 polish, rate_tracker burst-evasion fix, CI green pass 2026-07-15 13:24:41 -07:00
AIOSAI c0d2d77428 release: bump version 2.6.1 -> 2.7.0 (pyproject.toml + src/aipass/__init__.py, both in lockstep for the v2.7.0 tag guard). MINOR bump per Patrick: PR659 ships new user-facing capability - owner-capability model + spawn sync-registry --check/--fix + aipass doctor owner health/repair (DPLAN-0231/0239), fleet-wide subcommand help contract (#686). Rides PR659 ahead of the merge so origin/main carries 2.7.0 for the tag. 2026-07-11 21:56:26 -07:00
AIOSAI 55bc4d0bb1 chore(release): bump 2.6.0 -> 2.6.1 for the DPLAN-0226/FPLAN-0289/TDPLAN-0010 batch merge
PATCH bump riding into PR#646 so main's merge commit carries the release version. pyproject + __init__ = 2.6.1 (must match the v2.6.1 tag). CHANGELOG [2026-07-02] leads with the release rollup + all 6 CI-stabilization fixes.
2026-07-02 17:41:16 -07:00
AIOSAI 88e99efe4c feat(skills,hooks): TDPLAN-0009 Telegram session mirror — bidirectional, live-proven @api
@skills: dup-spawn fix (run() lock-collision exit 0), attach_only + launch_mirror_session (--dangerously-skip-permissions), _config_chat_id init bug + /proc active-transcript baseline, systemctl start. @hooks: extract_mirror_turn cursor clamp + baseline reset on delivery, mirror-file unlink guards. +4 test files. 578 skills / 112 hooks green.
2026-06-29 08:53:03 -07:00
AIOSAI 6ffe1d3fca chore(release): bump to v2.6.0 + CHANGELOG release roll-up
Version bump 2.5.3 -> 2.6.0 (MINOR — ships compass v2, daemon scheduler, @backup
restoration, telegram skill, tiered prompts). Bumped in both pyproject.toml and
src/aipass/__init__.py. CHANGELOG top section enriched into a 2.6.0 release
roll-up so the GitHub Release notes read properly. Rides into PR640.
2026-06-23 17:02:47 -07:00
AIOSAIandClaude Opus 4.8 634ffa853f fix(ci): restore pytest dot-dir exclusion (norecursedirs '.*') — green CI
The custom norecursedirs in pyproject dropped pytest's default '.*' pattern, so
pytest recursed into .aipass/ scaffolding. The telegram skill bundled at
src/aipass/skills/.aipass/skills/telegram/tests/ (with __init__.py) made its
conftest resolve to module 'tests.conftest', colliding with branch tests/
conftest.py -> ImportPathMismatchError aborted collection on BOTH Linux CI and
Windows (the sole remaining green-CI blocker after the guard fix).

- Re-add '.*' to norecursedirs (skips .aipass/.trinity/.seedgo/... scaffolding)
- Verified: full src collection 9540 tests, no ImportPathMismatch; only the
  telegram .aipass scaffold tests excluded (the single tracked test dir under
  any dot-dir), all real branch tests still collected

Note: the telegram skill's bundled tests (7 failing locally) are out of umbrella
CI; skills owns stabilizing + properly integrating them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 20:04:40 -07:00
AIOSAIandClaude Opus 4.8 010cade60f fix(backup): declare pathspec dep + rename drive_test->drive_check for green CI
- Add pathspec>=0.12 to root pyproject dependencies (was undeclared, caused
  ModuleNotFoundError in CI across all Python versions + Windows)
- Rename drive_test.py -> drive_check.py so pytest stops collecting the module
  as a test file; update MODULE_NAME, PRIMARY_COMMAND, help text, README, tests
- 220 backup tests pass, seedgo 100% all 37 standards

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 19:05:45 -07:00
AIOSAI 2af856d81d chore(release): v2.5.3 — date-based CHANGELOG headers + rename sunday_merge playbook to merge (drop weekly cadence) 2026-06-11 12:49:07 -07:00
AIOSAIandClaude Opus 4.8 2e96ddc302 chore(release): bump version 2.5.1 -> 2.5.2 (security patch)
Mid-week patch release for the CI/release security hardening:
least-privilege e2e-wheel token + Sigstore-signed GitHub Releases.
Bumps both pyproject.toml and src/aipass/__init__.py __version__.

Versioning scheme: patch (2.5.x) = small mid-week fixes, minor (2.x.0)
= Sunday main-merge batches.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 10:28:48 -07:00
AIOSAIandClaude Opus 4.8 8bd270287d chore(release): bump 2.5.0 -> 2.5.1
- pyproject: patch bump (cross-OS e2e wiring harness + Windows portability
  fixes landed this week; CHANGELOG [2026.W23] documents the work)
- tests/CROSS_OS_TESTING.md: add manual layer-3 cross-OS acceptance checklist
  (living draft; refined as real Win/Mac VM runs surface gaps)
- prax dashboard: drop commons_mentions from quick-status calc

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 17:52:23 -07:00
AIOSAI ee78c39e80 security(deps): pin requests>=2.34.2 to clear 6 OSV advisories (DPLAN-0193 step 1) 2026-06-03 11:34:02 -07:00
AIOSAI aa962bdc12 release: bump to 2.5.0 + finalize W22 CHANGELOG 2026-05-29 22:51:57 -07:00
AIOSAI 1d33d2e432 bump: version 2.3.0 → 2.4.0 2026-05-26 12:57:58 -07:00
AIOSAI 453c847359 fix(ci): auto-format on commit, decouple lint from tests, add codecov threshold 2026-05-12 22:41:03 -07:00
AIOSAIand@devpulse 326c08fe54 feat(system): v2.3.0: bump version + fix bootstrap to include @aipass (12 agents)
Co-Authored-By: @devpulse <devpulse@aipass>
2026-05-08 21:48:38 -07:00
AIOSAIand@devpulse 8ef543b9fc feat(system): S135 maintenance: registry noise fix, doctor provider-hooks check, stop-hook CWD scoping, branch settings cleanup
Co-Authored-By: @devpulse <devpulse@aipass>
2026-05-07 18:03:06 -07:00
AIOSAIand@devpulse 7c192c117e feat(system): bump pytest and Pygments to fix Dependabot alerts
Co-Authored-By: @devpulse <devpulse@aipass>
2026-05-07 17:10:11 -07:00
AIOSAIand@devpulse bff9d742f5 feat(system): feat(aipass): S129-S130 init UX fixes — 16 improvements from live testing
Co-Authored-By: @devpulse <devpulse@aipass>
2026-05-06 23:12:33 -07:00
AIOSAIand@devpulse 352845a5aa feat(system): feat(aipass): DPLAN-0164 Phases 1-3 — move bootstrap from CLI, wire routing, flip pyproject entry point
Co-Authored-By: @devpulse <devpulse@aipass>
2026-05-04 19:32:13 -07:00
PatrickandClaude Opus 4.6 44bab11040 fix(memory): remove rollover from startup chain + add sentence-transformers dep
Two fixes:

1. Remove _run_memory_check() from trigger startup handler — rollover no
   longer fires on every drone command. Rollover is now on-demand only
   (drone @memory rollover) or via the watcher daemon. This eliminates the
   noisy "Memory - Rollover Execution" banner from every drone invocation.

2. Add sentence-transformers>=2.0 to pyproject.toml [memory] extras — the
   embedding subprocess was failing because torch/sentence-transformers
   were missing from the dependency list. chromadb alone is insufficient;
   the custom embed_subprocess.py requires sentence-transformers directly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-02 18:55:15 -07:00
AIOSAIand@devpulse 878a76bc27 feat(system): bump version to 2.2.0 for PyPI publish — 68 commits since v2.1.0 including DPLAN-0154 dedicated branches, CI green, test coverage push
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-26 11:12:32 -07:00
AIOSAIand@devpulse cd387f9666 feat(system): fix(ci): remove coverage fail-under gate — codecov tracks coverage without blocking CI
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-25 21:46:53 -07:00
AIOSAIand@devpulse 8fe3ad1e00 feat(system): fix: resolve 3 seedgo test failures (flow E402 import order) + 3 pytest collection errors (norecursedirs + conftest)
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-22 12:24:55 -07:00
AIOSAI fe3e07f791 feat(seedgo+hooks): DPLAN-0139 Track A — hook consolidation
- auto_fix_diagnostics.py v5.3.0: [SILENT-FIX] label, IDE fallback with
  loud stderr announce when pyright unavailable, ruff lint hard-block
- pre_edit_gate.py v1.2.0: added to AIPass/.claude/hooks/ + wired to
  PreToolUse in ~/.claude/settings.json (first time gate runs in production)
- Delete .claude/global_hooks/ (v4.3.0 stale, nothing references it)
- MANIFEST.in + pyproject.toml force-include: .claude/hooks/ in pip wheel
  at aipass/_hooks/ — verified via pip wheel build
- 20 new tests (test_hooks_track_a.py): auto_fix, pre_edit_gate,
  subagent_stop_gate — all pass (422 total)

Note: drone @git pr scope bug (DPLAN-0140) blocked staging .claude/hooks/
changes — raw git used. ~/.claude/settings.json PreToolUse update is
out-of-repo (not in this commit).
2026-04-21 00:06:40 -07:00
AIOSAIandClaude Sonnet 4.6 8a5fbf6152 feat(memory): add [memory] extras group — unblock contributor pytest (#360 finding #1)
- pyproject.toml: add memory = ["numpy>=2.0", "chromadb>=1.0"] optional-deps group
- setup.sh: install .[dev,memory] so fresh-clone pytest works end-to-end
- test_vector.py: gate with pytest.importorskip("numpy"/"chromadb") — skip cleanly without extras
- memory_watcher.py: _check_vector_deps() probes venv at startup; health report now honest when chromadb absent
- bypass.json: 4 entries covering test_vector.py seedgo false-positives (architecture/docs/encapsulation/meta)
- dispatch/daemon.py: resolve relative branch_path to absolute before use
- dispatch/dispatch_monitor.py: resolve lock_file path so claude cwd is always absolute

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 13:06:20 -07:00
AIPassand@devpulse 4a402d287b feat(system): chore(lint)+chore(deps): ruff format sweep — 535 files reformatted (whitespace/line-breaks, zero behavior change) + add pytest-timeout to dev extras (was missing, tests use --timeout flag). Unblocks CI lint job which has been failing on the format-check step. (#345)
Co-authored-by: @devpulse <devpulse@aipass>
2026-04-16 14:08:23 -07:00
AIOSAIand@devpulse 6958cfe28f feat(system): S91 cleanup: AIPass Developer scrub, S90 stragglers, README presence epigraph, trigger lock gitignore
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-14 01:36:05 -07:00
AIOSAIand@devpulse e0ecad665c feat(system): README Round 4 overhaul — apply all Goldfish findings (FPLAN-0165)
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-07 22:24:45 -07:00
AIPassandClaude Opus 4.6 0991d89bb8 audit cleanup: cli (#166)
* 📝 docs(STATUS): update last sync timestamp

- update last sync timestamp to reflect recent status synchronization

* feat(cli): add standalone `aipass` command via console_scripts entry point

Resolves APLAN-0074 open item: aipass command now accessible on PATH via
pyproject.toml console_scripts. Added cli_entry() wrapper in __init__.py,
bypass for seedgo unused_function, and integration test for the entry point.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 00:10:34 -07:00
AIOSAIand@devpulse f91c8d2f32 fix(system): session 29 cleanup — governance, ruff config, branch work
- Global prompt: dispatch reply breadcrumb (branches must reply to dispatchers)
- /prep command: broadened to end-of-session, not just pre-compact
- .gitignore: added .ruff_cache/ and .pytest_cache/
- pyproject.toml: ruff ignore E402 (metadata headers) + __init__.py F401 (re-exports)
- ai_mail: dashboard_sync.py import fix (devpulse → prax)
- backup: config_handler, ignore_patterns, file_scanner, backup_core updates + test
- devpulse: archived init_project.py (migrated to CLI in PR #48)

Co-Authored-By: @devpulse <devpulse@aipass>
2026-03-14 23:40:10 -07:00
AIOSAIandClaude Opus 4.6 d3cabba738 feat(system): skills validation, prompt architecture v2, pre-compact v3, context guardrail
Skills branch: 74→123 tests after 3-round validation, all commands operational, 99% seedgo.
Prompt architecture: breadcrumbs pattern refined, devpulse git hygiene rewritten as natural habit.
Pre-compact v3: injects STATUS.local.md + last session + git info before compaction.
Global prompt: context guardrail added (flags off-topic conversations across terminals).
Branch updates: daemon, backup, flow, memory, trigger, commons — code fixes from dispatch waves.
Memory updates: .trinity/ and dev.local.md across all active branches.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 00:04:16 -07:00
AIOSAIandClaude Opus 4.6 babedd9c64 feat(system): seedgo v2 operational, full system audit, 14/15 branches at 99%
Three days of intensive work bringing seedgo to full operational status
and driving all branches through comprehensive standards compliance.

Seedgo v2.0.0:
- 22 checkers active (up from 20), standards pack fully operational
- New introspection standard researched from Dev-Pass, FPLAN-0017 open
- Bypass system for false positives (.seedgo config)
- Standards query and audit commands fully functional

System-wide audit (FPLAN-0016):
- All 14 auditable branches at 99%+ compliance
- CLI imports standardized across all branches (console from cli.apps.modules)
- handle_command(command, args) → bool contract added to all modules
- print_help() function naming fixed for checker pattern matching
- Handler extraction: large modules split, file I/O moved to handler layer
- New handlers created across ai_mail, backup, daemon, flow, skills, spawn, seedgo

Branch-specific highlights:
- ai_mail: email.py split 840→420 lines, 4 new handlers
- flow: dplan_flow.py 688→591 lines, 4 new handlers
- seedgo: massive restructure — standards moved to handlers/aipass_standards/,
  old standards/ tree removed, bypass system added, diagnostics module
- commons: database module added, CLI imports fixed
- skills: 5 handle_commands added, help function renamed
- trigger: error reporter handler, handle_command routing
- All branches: consistent architecture, clean drone routing

Culture doc (CLAUDE.md) added — documents AIPass philosophy, identity,
memory system, and collaboration principles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 01:26:42 -07:00
AIPassandClaude Opus 4.6 cfd66b3b96 fix(seedgo): audit and fix all 20 standards — checker bugs, doc paths, naming rewrite (#20) (#20)
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>
2026-03-08 01:39:36 -08: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 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 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
AIOSAIandClaude Opus 4.6 fc6f83b3e1 ✨ feat(seedgo): add Rich formatting to CLI output
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>
2026-03-02 23:29:54 -08:00
AIOSAIandClaude Opus 4.6 866b0596aa feat(drone): rename routing → drone and add CLI entry point
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>
2026-03-02 22:14:32 -08:00
AIOSAIandClaude Opus 4.6 ba51e747cf feat(seedgo): add Seed Go portable standards framework v1.0.0
Complete implementation of a plugin-based code standards checker.

Core Framework:
- CheckResult/CheckItem/Severity data models
- Three-source plugin discovery (builtin, entry_points, local)
- Config system (.seedgo/config.json) with profiles and overrides
- Severity-weighted scoring (errors block, warnings degrade, info reports)

CLI:
- seedgo init — create project config
- seedgo check — run all enabled plugins
- seedgo list — show available plugins
- Three output formats: human, json, github (CI annotations)

5 Starter Plugins:
- no-bare-except, type-hints-required, docstring-coverage
- function-length (no linter equivalent)
- file-structure (no linter equivalent)

354 tests, all passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 20:25:28 -08:00
AIOSAIandClaude Opus 4.6 78ae5f63b6 feat(routing): add Routing & Discovery module v1.0.0
Complete implementation of symbolic @branch addressing for multi-agent systems.

Phase 1 — Core Routing:
- Registry management (BRANCH_REGISTRY.json)
- Symbolic resolution (@branch → absolute path)
- Branch lifecycle (register, list, exists, info)
- Configuration (env vars, custom paths)

Phase 2 — Command Routing:
- route_command() — execute commands on remote branches
- Safe subprocess execution (no shell=True)
- Module discovery (--help parsing + filesystem scan)

Phase 3 — Help System & Release Prep:
- HelpResult dataclass (structured help output)
- get_system_help() — aggregate help across all branches
- route_all() — broadcast commands to all active branches
- Complete API documentation (docs/api.md)
- pyproject.toml configured for PyPI (v1.0.0)
- trinity-pattern moved to optional dependency

106 tests, all passing. Ready for PyPI publication.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 12:37:05 -08:00
AIOSAIandClaude Opus 4.6 b564248de2 feat: initial repository scaffold
- 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>
2026-02-27 08:04:44 -08:00