Iris attention: integrate gate with noisy emitters
Dependent follow-up for the Iris/Life Manager attention redesign. Dependency: - Start after the Attention Gate foundation ticket is done (ledger + `should_notify` helper), and ...
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge24h ago
Ticket is done; runtime is closed.·profile claude_opus_1m_high
Description
MC-5014
Dependent follow-up for the Iris/Life Manager attention redesign.
Dependency:
- Start after the Attention Gate foundation ticket is done (ledger + `should_notify` helper), and after MC-5011 send ledger is available.
Context:
- Phase B of the Iris attention plan requires integrating the top 2–3 noisy emitters and proving critical bypass works.
- MC-5003 classified `life-manager-scan` as `gate_now`, `life-manager-digest` and `morning-briefing` as downgrade candidates, and padel helpers as leave-alone/critical-only.
Goal:
Integrate the Attention Gate MVP into the first top noisy emitters with critical-bypass tests and an auditable rollout path.
Scope:
- Wire the `should_notify` helper into `life-manager-scan` first, then `life-manager-digest` and/or `morning-briefing` if foundation evidence supports it.
- Start in dry-run or shadow mode if needed, then enable only the safest reversible gate behavior.
- Preserve critical bypass for same-day/direct-Elmar/safety/legal/money/travel/calendar/compliance/today-blocking alerts.
- Use the send ledger to compare before/after notification volume.
- Update the Iris attention plan Phase B gate note.
Acceptance:
- Top noisy emitter integration is implemented with tests.
- Synthetic critical bypass test proves urgent items still notify.
- Non-critical sample candidates are logged/batched instead of interrupting.
- Before/after or shadow-mode evidence is recorded.
- Rollback path is documented.
- Comment whether Phase C Digest Aggregator MVP should be queued next.
Expected check-in: after gate foundation closes + 1 working session.
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· High
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
api (human)
Mission Control
24h ago
22h ago
Advanced / Operator evidence
RRouting owner
ROperator console
Ticket is done; runtime is closed.MC is visibility-only. Hermes Luci launches and gates work outside MC, then mirrors evidence/status here.
WWorkflow
Start Dev Review + QA ▾
Select phases to include:
Agents
Review Gates
Decision
WAT routing: choose an agent, review gate, or decision. Buttons use the live runtime when one is attached.
[visibility-only board-manager] Parked behind dependency MC-5013: integrate emitters only after the Attention Gate MVP foundation exists and is verified. No worker was launched for this downstream slice in this tick.
luci-board-manager23h ago
[visibility-only board-manager] MC-5013 is now verified closed, so I released this dependent Phase B slice outside MC via internal Kanban card t_b251bbc1 assigned to codexbuilder. Verified card status=running in isolated worktree /home/lucienne/workspace/_mc_internal_worktrees/MC-5014-integrate-emitters with pid 2872046 and /proc cwd matching that worktree. MC remains visibility-only; no MC runtime/pickup/send/harvest endpoint was used.
luci-board-manager23h ago
[visibility-only board-manager] Corrected the internal Kanban worker placement for t_b251bbc1: the first dispatch blocked before edits because I had created the card in the Mission Control repo worktree instead of the luci-workspace repo. I retargeted the same card (no duplicate) to /home/lucienne/workspace/_mc_internal_worktrees/MC-5014-integrate-emitters-luci, verified required files exist, redispatched it, and verified status=running, pid=2874846, /proc cwd=/home/lucienne/workspace/_mc_internal_worktrees/MC-5014-integrate-emitters-luci. MC remains visibility-only; no MC runtime/pickup/send/harvest endpoint was used.
luci-board-manager23h ago
[visibility-only board-manager] Controller gate consumed parent internal card t_b251bbc1 but did not close MC-5014: the parent review found a fail-closed privacy/security blocker (raw attention-candidate/message-summary JSON written to /tmp without secure permissions/cleanup). Routed one bounded follow-up card t_166387d6 to codexbuilder in the same isolated luci-workspace worktree /home/lucienne/workspace/_mc_internal_worktrees/MC-5014-integrate-emitters-luci. Verified card status=running, run_id=324, pid=2882789, /proc cwd matches the isolated worktree. MC remains visibility-only; no MC runtime/pickup/send/harvest endpoint was used.
luci-board-manager22h ago
[visibility-only board-manager] Closed after controller gate verified internal Kanban card t_166387d6 and landed the fix. Evidence: commit a7b06a18833ae5dc4ac6cbe5e4d6f3700efe8938 was pushed to origin/master and the live /home/lucienne/workspace checkout fast-forwarded to it; changed files attention_gate.py, tests/test_attention_gate.py, tasks/life-manager-scan.md, tasks/life-manager-digest.md, tasks/morning-briefing.md, docs/plans/2026-06-11-iris-life-manager-attention-plan.md; focused validation from the isolated worktree passed: python3 -m pytest tests/test_attention_gate.py tests/test_send_ledger.py -q => 9 passed; git diff --check passed; search found no mktemp/chmod 600/rm -f/--candidate-file/tempfile references in the gated attention files after the fix. Privacy invariant: raw attention candidate summaries are piped over stdin and not persisted to insecure temp artifacts. Existing unrelated live workspace dirt was preserved. No MC runtime/pickup/send/harvest endpoint was used.