Commit Graph
7 Commits
Author SHA1 Message Date
AIOSAIand@devpulse 4fe7c15cd3 feat(system): add dev-pr, branches, delete-branch handlers + auth tier updates
Co-Authored-By: @devpulse <devpulse@aipass>
2026-05-12 21:01:47 -07:00
AIOSAIand@devpulse d19a840253 feat(system): DPLAN-0173: Git workflow redesign — tier-based access, new handlers, hook reverts
Co-Authored-By: @devpulse <devpulse@aipass>
2026-05-12 18:50:22 -07:00
AIOSAIand@devpulse 3b8fa1fa5a feat(system): test
Co-Authored-By: @devpulse <devpulse@aipass>
2026-05-12 17:33:34 -07:00
AIOSAIand@devpulse e22cc6876c feat(system): fix(drone): refactor auth.py — split _find_caller from verify_caller, update error message to reference drone @git pr
Co-Authored-By: @devpulse <devpulse@aipass>
2026-04-22 12:12:52 -07:00
AIOSAIandClaude Sonnet 4.6 49c599062e feat(hooks+seedgo): DPLAN-0139 Track E — single-path enforcement
Adds physical blockers so agents cannot bypass the correct delivery paths:

1. pre_edit_gate.py v1.3.0 (.claude/hooks/) — two new Track E rules:
   - Rule 1: block any write to *.ai_mail.local/inbox.json (use drone @ai_mail email)
   - Rule 2: block cross-branch writes unless CWD branch is in TRUSTED_CROSS_WRITERS

2. permissions.py (seedgo/apps/modules/) — single source of truth:
   - TRUSTED_CROSS_WRITERS = ("devpulse", "seedgo", "spawn")
   - is_trusted_caller(name), identify_caller(cwd)

3. drone auth.py — ALLOWED_CALLERS now imported from permissions.py
   (extended from ["devpulse"] to all three trusted cross-writers)

4. ai_mail delivery.py — deliver_to_inbox_file() helper added:
   - Single canonical path for direct-path inbox writes, always fires notify-send
   - reply.py _deliver_via_reply_path() backdoor routes through this helper

5. inbox_audit.py (seedgo/apps/modules/) — drone @seedgo audit inbox-ids:
   - Scans all inbox.json files for non-8-hex message ids
   - Alerts with drone @ai_mail email command when violations found

6. test_hooks_track_e.py — 26 tests, all passing (359 total in suite)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 08:18:07 -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
4b6b3cf665 feat(system): test: devpulse_ops plugin + DPLAN-0087 master key design (#148)
* 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): test: devpulse_ops plugin + DPLAN-0087 master key design

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-03-30 14:37:00 -07:00