HADF Signature Expansion — empirical-first, with a real on-device calibration
"Expand HADF into new chip families" naturally reads as "add more spec-sheet rows" — but Phase 2-bis changed the answer: what HADF actually recognizes is the empirically-measured streaming fingerprint (TTFT/TPS), not the vendor TOPS number. So expansion means calibrate real signatures for the substrates you can reach, and admit spec-sheet profiles only as explicitly-labeled guesses. Shipped a `calibration_status` honesty field across all 44 catalog rows (instrumented vs prior_unvalidated), an attest guardrail that excludes guessed rows from confident matches, an on-device calibration harness, and a real M4 calibration (ttft_median 0.095s, tps 41, n=80). Instrumented signatures went 8 → 9. The 9-vs-12 target gap is the thesis in action — you can only calibrate what you can reach. Sensing/recognition only; no dispatch decision changes (acting stays gated on RQ4 / Phase 3B).
What do T1 / T2 / T3 mean?▾
The question, and the trap
"Expand HADF into new chip families." The natural reading is "add more chip rows": Apple A19/M5, Intel Core Ultra, AMD Ryzen AI, keyed on vendor-published TOPS. The 2026-04-28 expansion note took exactly that reading — and flagged its own blocker: "Phase 2 was never run … adding uncalibrated rows may worsen classification accuracy."
Then Phase 2-bis ran (all four sub-experiments PASS, CONFIRMED) and changed the answer. What HADF can actually recognize is the empirically-measured streaming fingerprint (TTFT/TPS), not the spec-sheet number. Sub-exp 2 is the proof: the M2's signature came from running inference on it. So "expand into new chip families" really means calibrate real signatures for the substrates you can reach — and admit spec-sheet profiles only as explicitly-labeled guesses.
What shipped
-
The honesty field (
calibration_status). Every recognition row across all three catalogs is nowinstrumented(measured, carries a realn) orprior_unvalidated(spec-sheet, no measurement) [T1]. Migration backfilled 44 rows: 8 reference endpoints →instrumented+class; 24 chip profiles + 12 datacenter sigs →prior_unvalidated; 10 Apple SoCs gotmemory_topology. This is the HADF program's central honesty commitment — measured vs guessed never conflated — applied to its own catalog. -
The attest guardrail.
hadf-attest.pyexcludesprior_unvalidatedrows from the candidate set: a spec-sheet profile can never be returned as a confident match (test-enforced). Untagged legacy rows stay candidates (backward-compatible; all 9 Phase 3A tests still pass). -
The on-device calibration harness.
hadf-calibrate-device.pygeneralizes Sub-exp 2: stream a local model, measure TTFT/TPS, emit oneinstrumentedclass:on_devicerow. This is the mechanism to grow recognition — the honest alternative to fabricated spec-sheet rows. A chip you can't run on doesn't get an instrumented row. -
A real M4 calibration [T1]. Run live against the machine's ollama
llama3.2:3b: ttft_median 0.095s, tps 41, n=80 (100% valid). The K2 result: Sub-exp 2's M2 signature was 0.179s TTFT — the M4 at 0.095s is ~1.9× faster. The method generalized (worked on a new chip generation) and discriminated (M2 ≠ M4). The recognition premise holds on real on-device silicon, empirically. -
The cloud calibrator (
hadf-calibrate-cloud.py) reuses the Sub-exp collector's per-provider streaming functions to calibrate new cloud endpoints, with a pre-probe that drops bad model-ids / rate-limited candidates. Shipped + mock-tested; running it (paid API calls) stays an operator decision.
An honest finding worth more than papering over
Single-shot attestation of the M4 signature mis-matched to a cloud endpoint. The cause is real: apple_m4 is so consistent (TTFT variance 0.0002) that its Mahalanobis ellipse is tiny — the query sits 0.37σ out on its own tight distribution but only 0.24σ inside a loose cloud cluster (gpt-4o-mini, TPS variance 12,500). Tight on-device clusters defeat single-shot Mahalanobis — exactly the RQ5 (single-shot accuracy) limitation, surfaced empirically.
This does not break the feature. The distribution-level centroids are cleanly distinct (M4 [0.10, 40.8] vs M2 [0.25, 39.5] vs gpt-4o-mini [0.055, 62.9]) — and the recognition claim, like Phase 2-bis, is a distribution claim. Per-request classification is RQ5 / Phase 3B, unproven and now empirically shown unreliable on tight clusters. The feature documents the limit rather than hiding it. [T3 over T1 data]
Outcome vs metrics
| Metric | Target | Result |
|---|---|---|
| Instrumented signatures | ≥12 | 9 (8 baseline + real M4); cloud tool ready to grow on operator run [T1] |
| calibration_status coverage | 100% | 100% (44/44 rows) [T1] |
| On-device harness reproduces Sub-exp-2 quality (K2) | pass | PASS (M4 n=80, clean) [T1] |
| No-regression | 9 Phase 3A tests | pass (19/19 total) [T1] |
The 9-vs-12 gap is the feature's own thesis in action: you can only calibrate what you can reach. The M4 was reachable (instrumented). The iPhone A16 has no local-inference route from this Mac this cycle → documented harness target. Cloud endpoints are reachable but credential/cost-gated → the calibrator ships ready. Growing the count is now a run the mechanism operation, not a code change.
Honesty boundary
Sensing/recognition only — no task changes a dispatch decision; the acting layer stays gated on RQ4 (Phase 3B). calibration_status is the mechanical guarantee that measured and guessed are never conflated.
A reality-check note worth keeping: a prior session had already shipped the v1.1 scaffolding (24 profiles, supported_precisions[], compute_axes, vendor_status, enums). The Phase 0.1 reality-check surfaced this and narrowed the feature to its genuine differentiator — the honesty layer + empirical calibration — rather than re-adding existing rows.
Source case study (FitTracker2):
docs/case-studies/hadf-signature-expansion-case-study.md. Shipped via PR #644.
- •Sensing/recognition only — no task changes any dispatch or routing decision; the acting layer stays gated on RQ4 (Phase 3B), so this proves a signature can be recognized, not that acting on it improves any outcome.
- •The instrumented-signature count came in at 9, under the ≥12 target — by design: you can only calibrate substrates you can physically reach. The 24 spec-sheet chip profiles + 12 datacenter rows stay labeled
prior_unvalidated(guesses), and the cloud calibrator ships ready but unrun (paid API calls are an operator decision). - •Single-shot per-request attestation is empirically unreliable on tight on-device clusters (the M4's Mahalanobis ellipse is so tight it mis-matched to a loose cloud cluster) — the recognition claim holds only at the distribution level (RQ5 limitation, surfaced not hidden). This is single-operator, small-N research-stage work.
- K1 — adding prior_unvalidated rows degrades attestation accuracy on the calibrated set → drop priors
- K2 — on-device harness cannot reproduce a Sub-exp-2-quality signature on the operator's Mac → descope on-device