Commit Graph
372 Commits
Author SHA1 Message Date
AIOSAIand@devpulse 64c74a5a2f feat(system): S86: docs accuracy — HERALD S83-S86 milestones, STATUS counts, demo/devpulse.py fixes
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 14:19:38 -07:00
AIOSAIand@devpulse 16b33a6d36 feat(system): S86: APLAN fix sweep — 11 CRITICALs resolved, 35+ BUGs fixed, catch-all loggers, README update
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 14:06:52 -07:00
AIOSAIand@flow 119aaea9de feat(flow): feat(flow): S84 multi-type support — fix FPLAN-only hardcoding in dashboards, aggregate, restore, append, get_closed, lock race
Co-Authored-By: @flow <flow@aipass>
2026-04-10 13:55:02 -07:00
AIOSAIandClaude Opus 4.6 0c9a57f912 feat(system): S85: Trigger self-healing live + drone error handler + watchdog v1.1 snapshot + STATUS
Fix 6 bugs from DPLAN-0111 audit + cleanup:
- Bug #3: memory_threshold_exceeded.py handler→modules import path
- Bug #5: startup catch-up fires error_detected (Medic v2) not error_logged
- Bug #7: circuit_breaker_record_error at detection time, not dispatch time
- Bug #8: add encoding=utf-8 to 5 open() calls missing it
- Bug #9: core.py _fire_to_handlers copies data dict before mutation
- Cleanup: local prompt 12→14 events, remove stale branch prefixes
  (backup, The_Commons, aipass_os, aipass_business), add spawn/devpulse

370 tests passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 13:54:29 -07:00
AIOSAIand@devpulse f564996a8f feat(system): S85: Trigger self-healing live + drone error handler + watchdog v1.1 snapshot + STATUS
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 13:19:06 -07:00
AIOSAIandClaude Opus 4.6 5e119c293b fix(trigger): fire error_detected event on every occurrence, not just count 1 and 2
report_error() and log_watcher primary path both had a gate that only fired
error_detected at count==1 (new) and count==2 (exact match). After count
passed 2, the event never fired again, so the handler's backoff logic never
got a chance to re-dispatch. Fix: always fire the event and let the
error_detected handler's Medic v2 gating (circuit breaker, backoff, rate
limiting) decide. 370 tests passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 12:53:49 -07:00
AIOSAIandClaude Opus 4.6 30cb50b2e0 fix(trigger): remove dedup gate that blocked error count from reaching dispatch threshold
The fallback path in log_watcher._process_log_line() used _is_duplicate_error()
to skip repeated errors entirely. This prevented registry count from incrementing
past 1, so dispatch (which requires count>=2) never fired. Fix: retry lazy
registry import in fallback path; if truly unavailable, track count locally
and fire event with count so error_detected handler can apply threshold.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 12:35:33 -07:00
AIOSAIandClaude Opus 4.6 c8d299ec8d feat(trigger): add wake_branch() to error dispatch for autonomous handling
After delivering error notification email, now calls wake_branch() to spawn
an agent in the target branch immediately. Changes reply_to from @trigger
to @devpulse so resolution reports go to devpulse. 370 tests passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 12:12:23 -07:00
AIPass 7c42c3fd9f Merge pull request #230 from AIOSAI/system/devpulse-add-oss-health-badge-to-readme
feat(system): Add OSS Health badge to README
2026-04-10 10:57:18 -07:00
AIOSAIand@devpulse 14d1c9b297 feat(system): Add OSS Health badge to README
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 10:56:49 -07:00
AIPass b4159d2bc4 Merge pull request #229 from AIOSAI/system/devpulse-s85-drone-git-fixsyncsmart-sync-merge-on-divergenc
feat(system): S85: Drone git fix/sync/smart-sync — merge on divergence instead of rebase + STATUS update
2026-04-10 10:54:51 -07:00
AIOSAIand@devpulse 600dfbccd4 feat(system): S85: Drone git fix/sync/smart-sync — merge on divergence instead of rebase + STATUS update
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 10:53:49 -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
AIPass 2ebf576e9b Merge pull request #227 from AIOSAI/AIOSAI-patch-1
Delete .gitleaks.toml
2026-04-10 10:02:27 -07:00
AIPass 81c46a92cb Delete .gitleaks.toml 2026-04-10 10:02:08 -07:00
AIPass a4878a177f Merge pull request #224 from AIOSAI/security/api-key-leak-prevention
feat(security): Add gitleaks secret scanning to prevent API key leaks
2026-04-10 09:47:54 -07:00
AIOSAIandClaude Opus 4.6 fc2e9daccc feat(security): Add gitleaks secret scanning to prevent API key leaks
After a real API key leaked through test files with realistic hex patterns,
this adds automated secret detection: .gitleaks.toml with custom rules for
OpenRouter/OpenAI/Anthropic/Google keys, and .pre-commit-config.yaml wiring
gitleaks as a pre-commit hook. Test keys locally updated to use FAKE-/NOTREAL
conventions that pass the allowlist.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 04:16:50 -07:00
AIOSAIand@devpulse aba5cc32bd feat(system): SECURITY: Remove api/ from public repo — contains key handling test patterns
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 03:46:42 -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
AIPass 6db9b11f6a Merge pull request #221 from AIOSAI/system/devpulse-s84-drone-bug-fixes-version-dead-imports-interacti
feat(system): S84: drone BUG fixes (version, dead imports, interactive constants) + spawn BUG fixes (passport path, hash length)
2026-04-10 03:28:59 -07:00
AIPass e68496bd40 Merge pull request #220 from AIOSAI/fix/api-s84-security-fixes
fix(api): S84 CRITICAL security fixes
2026-04-10 03:28:49 -07:00
AIPass b6ac45ca57 Merge pull request #219 from AIOSAI/system/devpulse-s84-devpulse-stale-cleanup-plugins-readme-daemon-r
feat(system): S84: devpulse stale cleanup — plugins README daemon ref removed
2026-04-10 03:28:39 -07:00
AIPass ca57f9dd34 Merge pull request #218 from AIOSAI/system/devpulse-s84-ground-truth-corrections-tests-3500-prs-185-de
feat(system): S84: Ground truth corrections (tests 3500+, PRs 185+) + devpulse README 15→11 + local prompt fixes
2026-04-10 03:28:29 -07:00
AIPass 9676b8e58e Merge pull request #217 from AIOSAI/system/devpulse-s84-critical-fixes-memory-pathsecurity-aimail-lock
feat(system): S84: CRITICAL fixes — memory (path+security), ai_mail (locking), prax (thread safety), global prompt patrick-file rule
2026-04-10 03:28:17 -07:00
AIPass 434b2a5a12 Merge pull request #216 from AIOSAI/trigger/s84-atomic-writes
fix(trigger): S84 atomic JSON writes
2026-04-10 03:28:05 -07:00
AIPass e1c49bd743 Merge pull request #215 from AIOSAI/citizen/flow
feat(flow): feat(flow): S84 fix FPLAN-only hardcoding — support all plan type prefixes
2026-04-10 03:27:54 -07:00
AIOSAIand@devpulse 5700c21797 feat(system): S84: drone BUG fixes (version, dead imports, interactive constants) + spawn BUG fixes (passport path, hash length)
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 02:15: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 576304dea3 feat(system): S84: devpulse stale cleanup — plugins README daemon ref removed
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 01:55:43 -07:00
AIOSAIand@devpulse a99988d99c feat(system): S84: Ground truth corrections (tests 3500+, PRs 185+) + devpulse README 15→11 + local prompt fixes
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 01:52:25 -07:00
AIOSAIand@devpulse d4aa8330dc feat(system): S84: CRITICAL fixes — memory (path+security), ai_mail (locking), prax (thread safety), global prompt patrick-file rule
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 01:47:59 -07:00
AIOSAIand@flow 0baa3a01a7 feat(flow): feat(flow): S84 fix FPLAN-only hardcoding — support all plan type prefixes
Co-Authored-By: @flow <flow@aipass>
2026-04-10 01:47:49 -07:00
AIOSAIandClaude Opus 4.6 538d3cb7e9 fix(trigger): atomic JSON writes to prevent mid-write corruption
All 11 JSON write locations across 7 files now use write-to-tmp + os.replace
pattern via shared atomic_write_json() in config.py. Prevents file corruption
if the process crashes mid-write. Updated 8 test files to provide the real
atomic_write_json on mocked config modules. 370 tests passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 01:32:52 -07:00
AIOSAIand@flow 083bdceec0 feat(flow): feat(flow): S84 fix FPLAN-only hardcoding — support all plan type prefixes
Co-Authored-By: @flow <flow@aipass>
2026-04-10 01:20:18 -07:00
AIPass 4ca66aa22e Merge pull request #214 from AIOSAI/system/devpulse-s84-api-branch-added-to-repo-global-prompt-patrick
feat(system): S84: API branch added to repo + global prompt patrick-file protection rule
2026-04-10 01:17:33 -07:00
AIOSAIand@devpulse d343affe06 feat(system): S84: API branch added to repo + global prompt patrick-file protection rule
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 00:40:36 -07:00
AIPass ece8452abc Merge pull request #213 from AIOSAI/citizen/devpulse
feat(devpulse): API branch reinstate.
2026-04-10 00:40:21 -07:00
AIOSAIand@devpulse 0536c55f04 feat(devpulse): API branch reinstate.
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 00:40:01 -07:00
AIOSAIand@devpulse 316345a130 feat(devpulse): API branch reinstate.
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-10 00:39:01 -07:00
AIPass 5c096a984e Merge pull request #211 from AIOSAI/system/devpulse-s83-api-reinstated-11-agents-hook-sounds-plugin-al
feat(system): S83: API reinstated (11 agents), hook-sounds plugin, all 11 APLANs updated with adversarial audit findings
2026-04-10 00:18:50 -07:00
AIOSAIand@devpulse 0d4541db06 feat(system): S83: API reinstated (11 agents), hook-sounds plugin, all 11 APLANs updated with adversarial audit findings
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-09 23:53:39 -07:00
AIPass ace01ae5f2 Merge pull request #208 from AIOSAI/system/devpulse-featsystem-s82-core-10-cleanup-agentsgemini-prompt
feat(system): feat(system): S82: core 10 cleanup — AGENTS/GEMINI prompts, STATUS.local, sandbox + vision docs, branch fixes
2026-04-09 23:46:43 -07:00
AIPassand@devpulse e42f4ddeaf feat(system): feat(system): S82: all branch audit fixes + prax 100% + drone backup removed + seedgo --help + ai_mail cascade fix + memory rollover + spawn template_owners + flow fixes + Medic investigation (#210)
* feat(system): feat(system): S82: core 10 cleanup — AGENTS/GEMINI prompts, STATUS.local, sandbox + vision docs, branch fixes

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

* feat(system): feat(system): S82: all branch audit fixes + prax 100% + drone backup removed + seedgo --help + ai_mail cascade fix + memory rollover + spawn template_owners + flow fixes + Medic investigation

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

---------

Co-authored-by: @devpulse <devpulse@aipass>
2026-04-09 21:57:57 -07:00
AIOSAIand@devpulse 260e7e2fae feat(system): feat(system): S82: core 10 cleanup — AGENTS/GEMINI prompts, STATUS.local, sandbox + vision docs, branch fixes
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-09 21:03:37 -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
AIPassand@devpulse 7974cf6174 feat(system): feat(system): S81: aipass init v2 — real templates, spawn routing, README Quick Start (#206)
Co-authored-by: @devpulse <devpulse@aipass>
2026-04-09 18:15:36 -07:00
AIPass a5ad4ceb3c Merge pull request #205 from AIOSAI/system/devpulse-s81-aipass-init-v2-real-templates-spawn-routing-re
feat(system): S81: aipass init v2 — real templates, spawn routing, README Quick Start
2026-04-09 00:22:53 -07:00
AIOSAIand@devpulse f92e4a06ca feat(system): S81: aipass init v2 — real templates, spawn routing, README Quick Start
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-08 23:17:21 -07:00
AIOSAIand@devpulse 1252bf5b9d feat(system): S80: CLI init double-prefix fix + watchdog auto-start prompt
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-08 21:38:19 -07:00
AIPass 366978e341 Merge pull request #203 from AIOSAI/system/devpulse-s80-14-branch-state-audit-readme-round-7-flowmemor
feat(system): S80: 14-branch state audit + README Round 7 (flow/memory lifecycle, transparency) + dist/ gitignore
2026-04-08 01:42:01 -07:00