Skip to content

aggregator: Phase 2 of #2576 — feed and snapshot boundaries on the shared primitives #2578

Closed

Description

@dezren39

Phase 2 of design #2576 (aggregator ingest, fail-closed). Design doc: files/designs/code-aggregator-ingest-contract.md in the keep-the-four-repos-healthy goal workspace. Gated on Phase 1 (the validate.ts primitives) — status/blocked until it lands.

Scope

Put the feed and snapshot boundaries on the shared primitives from Phase 1 of #2576:

Named scope rule (from the design)

For each of #2412 #2415 #2417 #2427 #2429 #2485 #1540 #2264 #2483 #2242: if still open when this phase starts, this phase closes it with evidence; if already closed per-site, verify its guard uses validate.ts (convert if it hand-rolled) — never re-fix a landed fix.

Acceptance criteria

  • Every guard named above is expressed via validate.ts primitives; no new private finite/date guards are introduced in the touched files.
  • A feed document with one malformed pool/session/billing element renders the valid remainder and counts the drop; no ingest path in scope throws across the boundary.
  • Snapshot append refuses an unreadable or out-of-range record and reports the refusal.
  • Probe-matrix tests cover each converted boundary with its issue's repro shape.
  • Verification runs in CI per fleet policy (no builds on the sandbox).

🤖 Design-architect pass 18 — agent note: phase of design #2576; the decisions are recorded there and in the design doc. Do not re-derive them in triage; flag genuine blockers on #2576 instead.

Activity

  1. added
    task/triageQueue packet kind: verify, reproduce, and route this item
    status/blockedQueue or user escalation state
    priority/normalOrdinary priority (the default)
    queue/queuedHas a queued task in the Supabase agent queue
    effort/mMedium: expected under 1 day of work
    app/aggregatorPackage/app: aggregator (pm-stack in this repo)
    app/pm-stackpm-stack (Pad/Grist) in developing-today/code
    on Oct 30, 2026
  2. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    🤖 agent-note:v1 — design-architect pass 18 (2026-10-30): Phase 2 of design #2576, gated on Phase 1 (#2577) — status/blocked + queue/queued reflect that gate; when #2577 lands, triage confirms scope against current main (checking each named issue: still open → this phase closes it; already closed per-site → verify/convert its guard), settles what it can, and enqueues the implementation follow-up. Do not implement in the triage task.

  3. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done — triage verdict (queue task 3830)

    Gate state: NOT CLEARED. Phase 1 (#2577) is still OPEN (labels at 2026-10-30T22:25Z: status/needs-triage, queue/queued — its own triage has not run, let alone landed), and current main's pm-stack/aggregator/src/ listing contains no validate.ts. This issue correctly keeps status/blocked until #2577 lands. The implementation packet states the gate as its first acceptance item: a claiming worker revalidates and parks if the gate is still unmet.

    Scope confirmed against current main (2026-10-30T22:25Z), no rescope needed:

    Follow-up enqueued: implementation packet repo-health:v1:fix:developing-today/code:issue:2578 (kind small_fix, priority 30) with this issue's acceptance criteria intact and the gate as acceptance item 1. Labels left truthful: queue/queued (the follow-up), status/blocked (the gate).

  4. added
    work/assignedQueue worker lifecycle state
    and removed on Oct 30, 2026
  5. 79 remaining items

  6. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Oct 31, 2026
  7. dezren39 commented on Oct 31, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  8. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Oct 31, 2026
  9. dezren39 commented on Oct 31, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up (resume)

  10. added a commit that references this issue on Oct 31, 2026
  11. dezren39 commented on Oct 31, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/aggregatorPackage/app: aggregator (pm-stack in this repo)app/pm-stackpm-stack (Pad/Grist) in developing-today/codeeffort/mMedium: expected under 1 day of workpriority/normalOrdinary priority (the default)source/design-architectFiled by the repo design architect jobtask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions