feat(system): DPLAN-0088 auto STATUS.md sync on PR create/merge (#155)

- Trigger: add pr_created + pr_merged events (#13, #14) with fire-and-forget
  handler that runs `drone @prax status sync` (9 new tests, 191 total)
- Drone: wire trigger.fire() into pr_handler, pr_plugin, merge_plugin
  (lazy import, try/except — never blocks PR workflow, 447 tests)
- Flow: fix dashboard push failure on plan create
- Global prompt: remove compaction anxiety language, Patrick controls compaction

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
AIPass
2026-03-30 22:42:12 -07:00
committed by GitHub
co-authored by Claude Opus 4.6
parent 8ff56c2914
commit ec3c79d4dc
13 changed files with 430 additions and 42 deletions
@@ -193,6 +193,14 @@ def create_system_pr(description: str, caller: str) -> dict:
},
)
logger.info(result["message"])
# Fire pr_created event (non-blocking — never fail the PR workflow)
try:
from aipass.trigger.apps.modules.core import trigger
trigger.fire("pr_created", branch=caller, pr_url=pr_url)
except Exception as exc:
logger.warning("trigger.fire('pr_created') failed: %s", exc)
return result
except (OSError, subprocess.SubprocessError) as exc: