Skip to content

Contract drift: 5 fused kernels missing from kernel-fusion-v1.yaml #1858

@noahgift

Description

@noahgift

Surfacing

Discovered while fixing stale `include_str!` paths in #1857 (`fusion_gate_contract_falsify.rs`). Once the test could actually compile against the YAML, falsifier FALSIFY-FUSION-QA-002 detected that 5 fused kernels exist in the codebase but are not registered in `contracts/kernel-fusion-v1.yaml`:

  • `FusedQKVKernel`
  • `FusedGateUpKernel`
  • `FusedGemmBiasGeluKernel`
  • `FusedRmsNormQ4KGemvKernel`
  • `FusedGateUpQ4KGemvKernel`

Each is confirmed present in the codebase via `grep -r 'struct ' --include='*.rs'` (1 hit each).

Why this matters

The contract's `enforcement.kernel_registry_complete` rule guarantees every fused kernel has a `fusion_decisions` entry with documented ACTIVE/BLOCKED status. Without entries, these kernels:

  • Aren't tracked for benchmark coverage
  • Aren't subject to the BLOCKED-requires-benchmark rule (QA-003)
  • Aren't visible to `pv lint` / contract auditors

This is exactly the falsifier doing its job — registry drift was previously masked because the test couldn't compile (broken `include_str!` path on main).

Scope to fix

Add 5 `fusion_decisions` entries to `contracts/kernel-fusion-v1.yaml`. Each entry needs:

  • `id` (e.g. `FUSION-QKV-001`)
  • `kernels.fused` listing the kernel struct name
  • `status` (ACTIVE / BLOCKED / EXPERIMENTAL)
  • `call_sites` (file:line for ACTIVE; benchmark refs for BLOCKED)

Reproducer

```bash
cargo test -p aprender-serve --test fusion_gate_contract_falsify --release falsify_fusion_qa_002
```

Expected after fix: all 5 PASS.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions