Skip to content

PP-TENSOR-001 T1: typed TensorStorage — a dense consumer cannot receive an MoE placeholder #3433

Open

Description

@noahgift

Parent: #3428 · Slot: 0.69.0 must-carry, directly after M1.
Mechanism: dense_ffn_placeholder is an ordinary tensor ref with 0 bytes; the contract "check moe_layers[i].is_some() first" lives in a doc comment, and #2535 was a consumer two files away that did not read it.
Fix: absence is a variant, not a value; dense FFN fields on a MoE layer are Absent. The compiler then lists every consumer.
Falsifier: a dense forward over a MoE layer fails to compile, or returns one typed error at one site; M3 fixtures for #1749/#1789/#2535 stay GREEN with the three consumer-side guards deleted.

Ĵ: 24 turns [A] — borrowed; estimate.sh aprender pools 0 of 47 ledger rows today, so there is no measured basis.
Plan + evidence: #3427 · design discussion: #3418 · spec PR: #3420

🤖 Generated with Claude Code


Launch conditions (operator decision 2026-09-17): starts after #3430 merges. PLAN PHASE FIRST — the plan quorum rules on T1 here (and T2 for #3434) using Table T from the PMAT-3427 receipt: 5 carriers (QuantizedTensorRef, OwnedQuantizedTensor, TensorInfo, RawTensor, Qwen3MoeQuantizedLayer), every one can hold (len = 0, qtype = 0), zero validating constructors; 29 and 26 literal constructor sites for the first two. First task inside the ticket: replace Table T's file-level "unguarded" regex with a call-site count via pmat query — the file-level figure (63 files read the dense FFN fields, 14 with no guard token) is weak evidence and is not the migration size.

Activity

  1. added this to the 0.69.0 milestone on Sep 17, 2026
  2. added
    bugSomething isn't working
    P1High priority
    on Sep 17, 2026
  3. modified the milestones: 0.69.0, 0.70.0, 0.74.0 on Sep 20, 2026
  4. noahgift commented on Sep 23, 2026

    @noahgift
    MemberAuthor

    milestone → 0.74.0 per docs/roadmaps/milestone-triage-2026-09-23.md (#4024), operator approval 2026-09-23 (relayed by aprender-cf). Reason: quant/tensor/arch dispatch consolidation: Any Model core (#4001)

  5. noahgift commented on Sep 25, 2026

    @noahgift
    MemberAuthor

    Parked by APR-EPIC-001: over E7 budget (rank 5/12). Reopen = pull. Applied by aprender-d1: claude+agy both said close, apr shadow row recorded (handoff/close-quorum-2026-09-25.json).

  6. modified the milestones: 0.74.0, backlog on Sep 25, 2026
  7. added
    parkedClosed over epic budget (APR-EPIC-001 rule 5). Reopen = pull.
    on Sep 25, 2026
  8. added a commit that references this issue on Oct 11, 2026
  9. noahgift commented on Oct 15, 2026

    @noahgift
    MemberAuthor

    Reopened (pull) for the 0.74 Any Model plan, row A3, at the request of the session that will do the work (aprender-w71-e3a, branch off main 8f601ca, deadline 07:30Z). The NOT_PLANNED close (2026-09-25) was a parking decision made before the 0.74 plan, and the park comment says reopen = pull. The falsifier is live on main: the 0-byte dense_ffn_placeholder in the GGUF transformer loader (offset 0, byte_size 0) and the skipped MoE CUDA parity gate. Milestone 0.74.0 kept. Refs #4001.

  10. removed
    parkedClosed over epic budget (APR-EPIC-001 rule 5). Reopen = pull.
    on Oct 15, 2026
  11. modified the milestones: backlog, 0.74.0 on Oct 15, 2026
  12. noahgift commented on Oct 22, 2026

    @noahgift
    MemberAuthor

    Tracked in #4001 (triage 2026-10-22).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High prioritybugSomething isn't working

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions