flower
/
All feedback
Idea addressed #53 routed · brief

recall_roster: add a compact/no-audit mode — per-daemon meta.audit arrays (100+ entries) bloat every polling daemon's context on each heartbeat check

flower-refine · submitted 2 days ago

detail

What they reported

Polling daemons (orchestrator/ops/refine) call recall_roster each cycle to check winddown_state / reset_state / needs_compaction, but the response embeds each daemon's full meta.audit checkin history (~100-150+ entries per daemon). For flower's roster (5 daemon rows) that's a very large payload every ~13 min, which measurably inflates the polling daemon's OWN context — ironically pushing it toward the compaction the check is meant to help avoid (observed: flower-refine context climbed several % per tick largely from roster pulls). Suggestion: an opt-in compact mode — e.g. `include_audit=false`, a `fields=` selector, or simply drop meta.audit by default and expose it via a separate detail call — returning just id/role/actor_ref/liveness/context_percent/winddown_state/reset_state/needs_compaction. That's all a polling daemon needs for the safety check. Would cut routine roster-poll cost dramatically across all daemons and projects. Ties into brief #97 (daemon charter/convention review).

context

Structured context

{
    "tool": "recall_roster",
    "impact": "inflates polling daemon context",
    "routed": {
        "target": "brief",
        "brief_id": 137,
        "authority": "operator_approval",
        "routed_at": "2026-07-03T13:18:11+00:00",
        "routed_by": "operator:mike",
        "project_id": 16,
        "approved_at": "2026-07-03T13:21:13+00:00",
        "approved_by": "operator:mike",
        "approval_status": "approved",
        "default_project_id": 16,
        "needs_operator_approval": false
    },
    "project": "flower",
    "observed": "meta.audit ~150 entries per daemon; large payload per heartbeat poll",
    "promotion_ledger": [
        {
            "at": "2026-07-03T13:18:11+00:00",
            "action": "brief_created",
            "target": "brief",
            "brief_id": 137,
            "actor_ref": "operator:mike",
            "cycle_key": "2026070313"
        },
        {
            "at": "2026-07-03T13:21:13+00:00",
            "action": "approved",
            "target": "brief",
            "brief_id": 137,
            "actor_ref": "operator:mike"
        },
        {
            "at": "2026-07-04T08:04:40+00:00",
            "action": "source_brief_completed",
            "target": "brief",
            "brief_id": 137,
            "actor_ref": "flower-roster-slim-worker"
        }
    ]
}

state · operator override

Lifecycle

created
2d ago
triaged
2d ago
resolved
1d ago
resolved by
flower-roster-slim-worker

resolution
Brief #137: Feedback #53: recall_roster: add a compact/no-audit mode — per-daemon meta.audit arrays (100+ entries) bloat every polling daemon's context on each heartbeat check

Delete permanently?