Skip to content

Phase 3 (audit) of #3068 — closing inventory audit for the parsed-shape contract + contract statement #3069

Open

Description

@dezren39

Phase 3 (closing audit) of design #3068 — "parsed is not validated: one shape contract at every JSON trust boundary" (design doc: files/designs/code-parsed-is-not-validated.md in the keep-the-four-repos-healthy goal workspace). Filed by design-architect pass 26 (2026-10-31); gated on Phases 1–2 of #3068 landing (Phase 1: #2938, #2816, #2821, #2974; Phase 2: #2832, #2738, #2800, #2827, #2618). The adopted frame origins of this phase — #2824 and #2802 (id web collab/world frame shape) — are NOT gated on Phases 1–2 and proceed on their own triage; this issue is only the audit + contract statement.

Scope

Inventory every parse-then-dereference boundary in the surfaces #3068 covers — bin/, scripts/, pkgs/ tools (incl. cold-store-reaper and t3code-seed-providers), pm-stack's non-aggregator handlers, and pkgs/id/web — i.e. every JSON.parse, response.json(), json.loads, and MessagePack decode whose result is dereferenced. For each hit, disposition it in the closing evidence:

  • (a) covered by Design: parsed is not validated — one shape contract at every JSON trust boundary #3068 Phases 1–3 (name the origin issue), or
  • (b) a boundary the phases missed and the same rule covers — fix it under this issue if small and same-rule, otherwise file it as a named follow-up and link it here, or
  • (c) not a trust boundary (code-constructed input, or shape already validated at the deref level) — named, with the one-line reason.

Explicit dispositions required

Contract statement

Write the #3068 rule where this repo already states such contracts (bin header docs; the aggregator README's contract section by reference, without reopening #2576's document scope), in the terms the design doc records: validate the shape you deref, at the boundary, before any side effect; exact plain-object vocabulary; failure is the surface's own error; absence is not emptiness; the shared probe matrix (null, array, scalar, {}, each relied-on field wrong-typed).

Acceptance

Activity

  1. added
    task/triageQueue packet kind: verify, reproduce, and route this item
    status/blockedQueue or user escalation state
    priority/normalOrdinary priority (the default)
    effort/sSmall: expected under 2 hours of work
    and removed on Oct 31, 2026
  2. dezren39 commented on Oct 31, 2026

    @dezren39
    MemberAuthor

    🤖 Design-architect pass 26 (2026-10-31) — agent note: this issue was filed this pass as the closing piece of Phase 3 of design #3068. It is gated on Phases 1–2 (#2938/#2816/#2821/#2974; #2832/#2738/#2800/#2827/#2618) landing and is labelled status/blocked accordingly; the phase's frame origins #2824/#2802 are NOT gated and proceed on their own triage. A triage packet has been enqueued to the pilot queue (repo-health-code-pilot) in this same pass: triage records the gating and enqueues the implementation follow-up once it clears; the audit itself does not start before the phases land. Its closing evidence must explicitly disposition #2608 against #2576's Phase 3 scope.

  3. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    status/blockedQueue or user escalation state
    on Oct 31, 2026
  4. dezren39 commented on Oct 31, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  5. 337 remaining items

  6. added
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 5, 2026
  7. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · parked

  8. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · handed off

  9. 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 Nov 5, 2026
  10. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  11. 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 Nov 5, 2026
  12. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked — hard gate unmet

  13. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked — hard gate unmet

  14. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

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

Metadata

Metadata

Assignees

Labels

effort/sSmall: expected under 2 hours of workkind/enhancementpriority/normalOrdinary priority (the default)queue/parkedQueue task is parked (waiting on CI, time, or an event)source/design-architectFiled by the repo design architect jobstatus/parkedDeliberately paused with a recorded resume conditiontask/triageQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions