diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-20 13:44:11 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-20 13:44:11 -0500 |
| commit | 4d87f35063e8430408178871cbf20b7268d7836a (patch) | |
| tree | f4bca35bceb6976d921c5ef5687369f06ab159e1 /scripts/tests/before-close-queue.bats | |
| parent | 0e9958abfbe97540b348b2118a863f7995e73b9e (diff) | |
| download | rulesets-4d87f35063e8430408178871cbf20b7268d7836a.tar.gz rulesets-4d87f35063e8430408178871cbf20b7268d7836a.zip | |
feat: gate triage sources on a per-project :TRIAGE_SOURCES: declaration
The general triage plugins (personal Gmail, cmail, calendar, Telegram, GitHub PRs) are template-synced into every project, so the old "plugins present" probe self-activated triage everywhere. The sentry live trial caught it reaching personal inboxes from a project that isn't a triage target. Now a general plugin activates only when the project names its basename in a :TRIAGE_SOURCES: line in notes.org Workflow State. A project-specific plugin stays active by presence. The gate lives in triage-intake Phase 0, so it fixes the interactive over-pull too, and sentry's pass-3 probe reads the same signal.
Presence is capability, the declaration is activation. A project that declares nothing and owns no project plugin pulls nothing. Migration handoffs went to home and work. rulesets correctly declares nothing.
Diffstat (limited to 'scripts/tests/before-close-queue.bats')
0 files changed, 0 insertions, 0 deletions
