Commit Graph
31 Commits
Author SHA1 Message Date
AIOSAIandClaude Opus 4.8 392f5d83b0 feat(skills): port Dev-Pass Telegram bridge as self-contained AIPass skill (FPLAN-0277 P1-P3)
P1 @api: get-secret command + auth/secrets.py (reads ~/.secrets/aipass/).
P2 @skills: 14-file bridge (~5300L) + ~424 tests ported to .aipass/skills/telegram/, seams rewired to services (prax logging, @api secrets).
P3 @hooks: telegram_response.py Stop hook (3-layer SubagentStop/sidechain/cursor defense) registered via the hooks engine.
P5 audit (TELEGRAM_PORT_MAP.md, 366 tags): 288 verified, 23 gaps (top conftest log-isolation fixture fixed), 55 live-deferred.
Lint: 5 F841 unused-var autofixes in ported tests. Known gaps + live bring-up (creds, systemd, telethon, round-trip) pending. CI red unrelated; land-only, no merge.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 06:50:15 -07:00
AIOSAIand@devpulse 1c063bf236 feat(system): security: DPLAN-0155 — telegram dead code removed, api secrets-only cleanup
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-26 17:59:25 -07:00
AIOSAIandClaude Opus 4.6 49abd6eaf3 feat(api): DPLAN-0141 — reach 100% seedgo (34/34 standards)
Proper fixes, not lazy bypasses:
- Created CLAUDE.md from builder template (architecture compliance)
- Added handle_command() + help/introspection gates to bridge.py and
  registry.py (modules + introspection compliance)
- Removed reset() from registry.py — tests use monkeypatch instead
- Rewrote test_integrations.py to use monkeypatch for _loaded reset
- Added 3 architecture bypasses for integration driver test fixtures
  (apps/integrations/broken_driver, stress_test, no_register) — genuine
  architectural constraint per DPLAN-0133, loaded via importlib
- Added 1 unused_function bypass for fetch_contracts/call_contract in
  integrations_manager.py — test API hooks required by encapsulation
  standard (tests must go through module layer, not import handlers)

Seedgo: 100% overall, 34/34 at 100%. 306 tests, zero regressions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-22 11:34:24 -07:00
AIOSAIand@devpulse e7c157087b feat(system): fix(prax): reach 100% seedgo — inline monitor_info.py into monitor.py, eliminate CLI separation violation (DPLAN-0141)
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-22 11:31:19 -07:00
AIOSAIand@devpulse 5e054d92db feat(system): fix(prax): resolve trigger.fire() type errors in watcher.py + log_watcher.py, update README (DPLAN-0141 Phase 3)
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-22 10:01:37 -07:00
AIOSAIand@seedgo 541e5c142a feat(system): feat(seedgo): hook bridge installer — install/uninstall AIPass hooks in settings.json (DPLAN-0141 Phase 2)
Co-Authored-By: @seedgo <seedgo@aipass>
2026-04-22 10:00:27 -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
93098c5a72 feat(api+spawn): DPLAN-0133 Phase 1 (part 2/2) + Phase 2 — bridge registry, driver auto-discovery, integrations handlers (#290)
* feat(drone): add watchdog to INTERACTIVE_COMMANDS — bypass 30s capture timeout for long-running poller

Co-Authored-By: @drone <drone@aipass>

* feat(drone): fix merge_plugin: stash unstaged changes before git pull --rebase to prevent dirty-tree abort

Co-Authored-By: @drone <drone@aipass>

* feat(system): DPLAN-0133 Phase 1 (part 1/2): add gitignore rule for apps/integrations/** with README negation, plus scaffold README.md in all 10 core branches' apps/integrations/ — private integration space is now leak-proof by construction. Drivers and wrappers dropped here stay local; only README.md is tracked. See DPLAN-0133 for architecture rationale (three-layer design: @api drivers, per-branch wrappers, public generic contracts).

Co-Authored-By: @devpulse <devpulse@aipass>

* feat(spawn): DPLAN-0133 Phase 1 (part 2/2): add apps/integrations/ scaffold to builder template

Every new branch spawned via `drone @spawn create` now lands with
`apps/integrations/README.md` — the private integration space introduced
in DPLAN-0133. The README explains the three-layer architecture (api
driver → branch wrapper → public contracts) and is the only tracked file
in the folder; everything else dropped there is gitignored by the root
rule shipped in PR #289.

Changes:
- templates/builder/apps/integrations/README.md — new scaffold file
- templates/builder/.spawn/.template_registry.json — regenerated (44→45 files, 23→24 dirs)
- tests/test_citizen_classes.py — new test asserting integrations/ exists after create; added missing docstrings to 14 test methods
- .seedgo/bypass.json — added architecture + encapsulation bypasses for test_citizen_classes.py (standard test-file exemptions)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(api): DPLAN-0133 Phase 2 — bridge contract registry + driver auto-discovery + integrations handlers

Implements the @api side of the three-layer private-integration architecture
(DPLAN-0133). Branches call generic contracts; @api resolves them at runtime
to whatever private driver is registered locally.

New modules:
  apps/modules/bridge.py             — module-level dict registry (register/resolve/list_contracts/clear)
  apps/modules/registry.py           — auto-discovery walker for apps/integrations/*/driver.py
  apps/modules/integrations_manager.py — drone @api integrations {list,call} command routing
  apps/handlers/integrations/list.py — handler: log + return contract listing
  apps/handlers/integrations/call.py — handler: invoke driver, return result dict
  apps/integrations/testcontract/driver.py — canary driver (contract "test" → "pong", gitignored)
  tests/test_integrations.py         — 17 tests (bridge, registry, fetch_contracts, call_contract)

All 306 existing tests remain green. Empty integrations/ exits 0 cleanly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(api): integrations_manager — unknown subcommand exits 1 + fix doubled Try: prefix

Found via stress testing DPLAN-0133 Phase 2:
- `drone @api integrations foobar` returned exit 0 (success) instead of 1
- Error message showed "Try: Try: list, call" (doubled prefix)

Two-line fix: suggestion string drops "Try:" prefix (error() adds it),
return True → sys.exit(1) for proper non-zero exit.

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

---------

Co-authored-by: @drone <drone@aipass>
Co-authored-by: @devpulse <devpulse@aipass>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 13:24:25 -07:00
AIPassand@devpulse e2c868084a 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 (#333)
* 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>
2026-04-16 12:58:53 -07:00
AIPassand@devpulse 040611d098 feat(system): S85: Restore api branch + gitleaks config (merge sync) (#228)
* feat(system): SECURITY: gitleaks config + pre-commit for API key leak prevention

Co-Authored-By: @devpulse <devpulse@aipass>

* feat(system): S84: Restore api branch to repo — normal branch, gitleaks protection, no real keys outside .secrets

Co-Authored-By: @devpulse <devpulse@aipass>

---------

Co-authored-by: @devpulse <devpulse@aipass>
2026-04-10 10:22:28 -07:00
AIPassand@devpulse 2918960dd1 feat(system): SECURITY: Remove api/ from public repo — key handling test patterns (#223)
Co-authored-by: @devpulse <devpulse@aipass>
2026-04-10 03:43:38 -07:00
AIOSAIand@api 2fdbf62568 fix(api): S84 CRITICAL security fixes — credential exposure, file permissions, validation alignment
3 CRITICAL security fixes: (1) get_cache_stats() no longer exposes raw API keys, (2) .env created with 0o600 perms + dir with 0o700, (3) google_creds.json same restricted permissions. 3 BUG fixes: validation rules aligned between keys.py and provider.py, cleanup return type (0 is success not failure), show_stats() now aggregates across all callers vs show_session() for current session. 290/290 tests pass, seedgo 99%.

Co-Authored-By: @api <api@aipass>
2026-04-10 02:04:56 -07:00
AIOSAIand@devpulse 316345a130 feat(devpulse): API branch reinstate.
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 00:39:01 -07:00
AIPassand@devpulse 8471c4c732 feat(system): feat(system): S82: core 10 split — remove daemon/commons/skills, README 10 agents, Herald updated, spawn CWD-aware sync (#207)
Co-authored-by: @devpulse <devpulse@aipass>
2026-04-09 18:34:13 -07:00
6e705eeb8e feat(system): audit cleanup: spawn (#168)
* 📝 docs(STATUS): update last sync timestamp

- update last sync timestamp to reflect recent status synchronization

* feat(trigger): audit cleanup — fix timestamp parsing, CLI formatting, bypass entries

- Fix log_watcher timestamp parsing: log warning once after all formats fail,
  not on each format attempt (was generating hundreds of warnings per scan)
- Standardize rich formatting in branch_log_events and log_events print_help()
  to match medic.py/errors.py Panel+rule style
- Add bypass entries for intentional silent catches (timestamp loop, error display)
- Remove unused Path imports

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

* feat(memory): audit cleanup — handler tests + rollover timeout handling

- Add 32 handler-layer tests (extractor, line_counter, normalize) in test_handlers.py
- Add rollover run timeout message + try/except for graceful error handling
- Fix commons welcome_ops.py missing _get_unwelcomed_branches function

264 tests pass, 100% seedgo compliance.

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

* feat(system): audit cleanup: spawn

Co-Authored-By: @devpulse <devpulse@aipass>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: @devpulse <devpulse@aipass>
2026-04-01 00:59:34 -07:00
AIPassand@devpulse f2eefc3d39 feat(system): S68 bonus: commons datetime deprecation fix + HERALD update (#163)
* feat(system): STATUS.md update

Co-Authored-By: @devpulse <devpulse@aipass>

* feat(system): S68 night shift: test log isolation + audit fixes (zero scanner output)

Co-Authored-By: @devpulse <devpulse@aipass>

* feat(system): S68 bonus: commons datetime deprecation fix + HERALD update

Co-Authored-By: @devpulse <devpulse@aipass>

---------

Co-authored-by: @devpulse <devpulse@aipass>
2026-03-31 16:27:13 -07:00
AIPassandClaude Opus 4.6 26bb4a3157 feat(system): S65 night shift — fix 14 branches from fresh-eyes CLI testing (#147)
* docs: update HERALD.md — S63-S64, standards 32, fresh-eyes CLI results

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

* feat(system): S65 night shift — fix 14 branches from fresh-eyes CLI testing (FPLAN-0154)

14 branches dispatched across 3 phases, all fixes verified.

Phase 1 (critical): backup dry-run flag check, ai_mail per-ID branch detection,
flow introspection gate removal, drone atomic writes + empty file guard,
commons 3-strategy caller detection.

Phase 2 (patterns): spawn argparse --help + create --dry-run, skills create --help,
api introspection routing fix (6 commands), trigger empty JSON guard,
seedgo @ prefix consistency + conftest.

Phase 3 (polish): prax ghost module archived + real status output, daemon update
digest + 13 error cascade fixes + branch-health all-branches, memory search
timeout message + hidden modules in help, cli drone_adapter archived + standalone verified.

3,410 tests (+80), seedgo 99% avg, 0 failures.

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-03-30 13:29:48 -07:00
AIPassandClaude Opus 4.6 6772cacce2 fix(system): S61-S62 — API cleanup, drone path routing, naming checker, .backup→.recovery rename (#142)
- API: 18-item P0/P1/P2 cleanup (debug prints→logger, help gate fix, URL injection fix, key masking, unused imports)
- Drone: passport walk-up replaces hardcoded src/aipass/<branch> pattern, 13 naming bypasses removed
- Seedgo: naming checker fixed (__dunder__ skip + column-0 scope detection) — eliminates 71 false positives system-wide
- Spawn: .backup→.recovery rename (pre-change snapshots no longer conflict with backup branch namespace)
- .gitignore: .recovery/ added
- HERALD.md: Updated through S62 (backup audit, .recovery rename, night shift launch)
- README.md: Stats updated (141 PRs, 2900+ tests)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 01:55:21 -07:00
AIPassandClaude Opus 4.6 e5f0d4f1c4 S56: spawn template overhaul + system-wide README push + .gitkeep cleanup (#129)
- Spawn template system rebuilt: regenerate-registry command (3-pass ID matching),
  registry 26→41 files, generate_branch_meta fixed, Phase 0 snapshot added
- System-wide push: 12/12 branches updated (227 additions, 0 errors)
- READMEs added to all standard directories across 15 branches
- .claude/settings.local.json tracked system-wide (deny rules)
- 35 .gitkeep files removed (replaced by READMEs)
- Bypass files updated across 13 branches
- Bugs fixed: manager citizen_class crash, backup rglob performance

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 01:10:22 -07:00
b72e720f00 feat: seedgo cert sprint — 10 branches, drone introspection rebuilt (#118)
* feat(seedgo): deep nesting bypasses, dead code cleanup, json structure compliance

Co-Authored-By: @seedgo <seedgo@aipass>

* feat(memory): seedgo certification: introspection fixes, subprocess bypasses, silent catch cleanup

Co-Authored-By: @memory <memory@aipass>

* feat(api): seedgo certification: 94%→97%, 31/33 standards at 100%

Co-Authored-By: @api <api@aipass>

* feat(seedgo): deep nesting 100%, limit 3→4, checker refactors, @ validation, bypass cleanup

Co-Authored-By: @seedgo <seedgo@aipass>

* feat: seedgo cert sprint — 10 branches dispatched, drone introspection rebuilt, system-wide compliance push

Session 49-50 cert sprint results:
- drone: introspection rebuilt (proper auto-discovery), silent_catch 92%→100%, overall 97%
- api: 94%→97%, json_handler fixed, PR #116
- backup: 93%→94%, json_handler load_template→inline
- memory: 88%→91%, introspection 79%→100%, 10 bypasses for subprocess files
- skills: 97%, json_structure→100%, introspection→100%
- spawn: 97%→99%, 32/34 standards at 100%
- ai_mail: 95%→97%, 12 unused functions removed, 32/34 at 100%
- seedgo: checker improvements (deep_nesting threshold 3→4, various fixes)
- drone: removed from _MODULE_REGISTRY (DPLAN-0053 consensus)
- commons: introspection bypasses (22 entries), python3→drone refs fixed
- trigger/cli/prax/daemon/flow/backup: various cert fixes

New DPLANs: 0053 (drone audit), 0054 (bypass tracker), 0055 (persistent git branches)
New FPLAN: 0134 (persistent citizen git branches — drone build)

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

---------

Co-authored-by: @seedgo <seedgo@aipass>
Co-authored-by: @memory <memory@aipass>
Co-authored-by: @api <api@aipass>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 01:31:56 -07:00
AIOSAIand@api 873df4e062 feat(api): DPLAN-0049 wave 4: simplify key resolution, remove dead code
Co-Authored-By: @api <api@aipass>
2026-03-22 23:23:32 -07:00
AIOSAIand@api 19e63ae6df feat(api): fix: DPLAN-0049 waves 1-2 — help_text, silent_catch, commented_logger
Co-Authored-By: @api <api@aipass>
2026-03-22 23:01:24 -07:00
AIOSAIand@devpulse 147aa20de8 feat(devpulse): feat(system): branch audits, diagnostic tooling, DPLAN cleanup, seedgo standard revision
Co-Authored-By: @devpulse <devpulse@aipass>
2026-03-21 23:00:43 -07:00
AIOSAIandClaude Opus 4.6 ec63b8ba29 feat(system): README update, API init fix, diagnostic docs, STATUS sync
- README.md: updated to current state (15 branches, 95+ PRs, 733 tests, 173 commands)
- API: init path fixed (creates .env at ~/.secrets/aipass/ not src/aipass/api/)
- API: init shows path and detects existing .env
- devpulse/docs: system_health_report, testing_standards, ai_mail comms upgrade
- STATUS.md: synced via drone @prax status sync

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 00:02:04 -07:00
18cc8eb74f feat(api): seedgo compliance — json_handler, introspection, diagnostics (#69)
* fix(ai_mail): resolve relative mailbox_path bug + archive dead handlers

Fix get_user_by_email() and get_all_users() returning relative mailbox_path
values from registry instead of absolute paths (causing doubled paths in reply).
Added path resolution matching get_current_user() pattern.

Archive 7 unused handler files to apps/.archive/ (gitignored):
- pending_work.py — planned feature, never wired
- lock_utils.py — superseded by inbox_lock.py
- data_ops.py — consumer (error_monitor) was archived
- config_generator.py, users/load.py, registry/validate.py — scaffolded, never used
- trigger/error_handler.py — superseded by trigger branch's event system

Added test_user_paths.py (13 tests) covering absolute path resolution.

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

* feat(spawn): seedgo compliance cleanup — 93% to 98%

Archive legacy files (dev.local.md, ai_mail.local/, .seed/). Update META
Modified dates on 22 files. Update README architecture tree and freshness.
Fix 15 Pyright unused warnings. Add introspection no-args gates to 6
modules. Wire json_handler + log_operation to 15 operational files. Add
seedgo bypass for 5 pure data files and log_structure. Remove deprecated
dev.local.md from builder template.

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

* feat(api): seedgo compliance — json_handler, introspection, diagnostics

Wire json_handler.log_operation() into all 13 handler files.
Add no-args introspection gates to 4 modules with standalone
command routing. Add pyright directives for optional deps
(Google, OpenAI) on 3 handler files.

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

---------

Co-authored-by: @ai_mail <ai_mail@aipass>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: @spawn <spawn@aipass>
Co-authored-by: @api <api@aipass>
2026-03-17 16:44:57 -07:00
AIPassand@api 9ab96013e7 feat(api): Google provider module — centralized external API gateway (#43)
Add Google API authentication and service factory as the first
non-LLM provider in API's evolution to centralized external service
gateway (DPLAN-0036).

New handlers: google/auth.py (OAuth2 lifecycle), google/service_factory.py
(single + thread-safe service objects), google/retry.py (SSL retry).
New module: google_client.py with get_drive_service(), get_google_service(),
validate_google(), reauth_google() public API.

New commands: drone @api validate google, drone @api reauth google.
Credentials at ~/.secrets/aipass/ (cross-platform standard).

Co-authored-by: @api <api@aipass>
2026-03-14 23:07:00 -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
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 430b5ecbac branch rewiring after math 2026-03-05 22:10:29 -08:00
AIOSAI 019a69141e update 1 file, create 421 files and delete 4 files 2026-03-05 15:22:59 -08:00