Session 9: Dense P1 + Hybrid A is the new Terminal best vs 6t

17 August 2026 · Terminal-board · first look at sealed-v2 516 · blinded Gemini 3.5 Flash-Lite · Continues session 4, shipping 6t_argmax

New ship, until we catch FLAN. Dense P1 (intent-pointer head on the frozen 6t encoder, median seed 101) plus locked Hybrid A + centroid v2 beats shipped 6t_argmax on a set we had never scored: sealed Terminal-v2, 516 rows, +0.13 [0.04, 0.22]. It does not beat FLAN (−0.60). 6t stays in the Electron ONNX worker until this pointer path is wired. Package: porkr1/p1_hybrid_a_ship_package/.

Two boards. This page is Terminal-board only.

Never write “we beat FLAN” without the board name. Never mix packet means across days.

Sealed Terminal-v2 516 — the winner table

First look. Same ten arms, same Hybrid A bells (STOP list, at most two namer words, centroid v2 fill to 3). keep-namer is the same 2+1 fill with the on-page filter removed. Fresh FLAN decoded in this packet.

Arm Decode Glue Mean ≥6
Fresh FLAN existing free Hybrid A 7.02 80.2%
Fresh FLAN existing free keep-namer 6.89 77.7%
Dense P1 (new ship) schema Hybrid A 6.43 68.2%
Dense P1 schema keep-namer 6.33 66.9%
6t_argmax (incumbent) constrained 2-word Hybrid A 6.30 65.3%
agent1m 1M constrained 2-word Hybrid A 6.16 61.0%
6t free unconstrained Hybrid A 6.13 60.3%
6t free unconstrained keep-namer 6.05 58.9%
agent1m free unconstrained Hybrid A 5.95 56.6%
agent1m free unconstrained keep-namer 4.66 27.7%

Source: output/s9/eval_sealed/winner.json. Judge gemini-3.5-flash-lite, seed session9-sealed-v2-offpage-fair-v1.

Contrast Δ 95% CI w / t / l
P1 Hybrid A − 6t Hybrid A +0.13 [0.04, 0.22] 186 / 184 / 146
P1 Hybrid A − FLAN Hybrid A −0.60 [−0.70, −0.49] 95 / 116 / 305
agent1m − 6t −0.14 [−0.23, −0.05] 114 / 235 / 167
P1 keep-namer − P1 Hybrid A −0.09 [−0.16, −0.03] 103 / 248 / 165
FLAN keep-namer − FLAN Hybrid A −0.13 [−0.20, −0.06] 57 / 376 / 83

How P1 beat 6t

6t is a 35M T5 that writes two on-page words, then Hybrid A fills the third from centroid v2. That is still the Electron path. It is good at staying on the page and bad at picking the right page words: leftover function words and the wrong noun survive the beam.

P1 does not replace that 35M decoder. It freezes the 6t encoder and adds an 8 MB pointer head that scores a legal schema title:

[optional 64-verb intent] + on-page object + optional on-page qualifier

The only token allowed to be off-page is the intent. Teachers used that slot to beat FLAN in the schema-oracle packet. The learned head is not that good at the verb — it still over-uses Check — but it is better than 6t at the noun. Locked Hybrid A then does the cheap cleanup: drop an off-page Check, keep Review / Run / Create when they are on the page, fill to three with the same centroid v2 6t uses.

That is the whole win. Same glue. Better object. A verb only when the page can spell it.

Task (truncated) 6t + Hybrid A P1 raw → Hybrid A
is this reinforcement learning should we use pufferlib Should we Pufferlib Add learning → learning Pufferlib Reinforcement
yea you are running release-flow.md aren't you Running yea Flow Run release → Run release Flow
get glm 5.2 and kimi 2.7 to run code-review on your diffs Run glm Get Review code → Review code Glm

Keeping off-page words is not how it won. On this sealed packet, keep-namer loses for P1, FLAN, free 6t, and free agent1m. The 1M Flash-Lite continue from 6t also loses to 6t (−0.14). Do not ship keep-namer, free decode, or agent1m.

What we are not claiming

Cost and compute vs 6t and FLAN

FLAN here is our title-tuned flan-t5-small bar (student-flan-t5-run5-capacity/best), not an API. All three namers run locally. The comparison is capacity and how they spend it, not a cloud invoice. Sealed quality is FLAN 7.02 vs P1 6.43 vs 6t 6.30.

Piece Dense P1 + Hybrid A 6t_argmax Title-tuned FLAN
Parameters at infer 24.5M (22.5M encoder + 2.0M head) 35.0M (22.5M encoder + 16.2M decoder) 77.0M (35.3M encoder + 41.6M decoder)
Checkpoint on disk 142 MB (134 MB 6t encoder + 8 MB head) 134 MB 308 MB
Vocabulary 6,985 compact ids 6,985 compact ids 32,128 SentencePiece
Decode graph One encoder pass, then ≤288 MLP title scores. No decoder. Encoder–decoder beam-4, 8 new tokens, on-page trie Full encoder–decoder generate, 8 new tokens
Research-script wall, 20 sealed rows, Mac MPS (includes load) 8.9 s (unbatched Python enum) 4.8 s (constrained beam-4) 2.9 s (batched generate)
Incremental train for this checkpoint Head: 3 epochs, 59 s on one Ada 6000. Dense Flash-Lite labels ≈ $5.26. Sits on the frozen 6t encoder. Judged-SFT, 192 steps, lr 2e-5, from B-9500. The 35M we already ship. 77M title-SFT on our titles, plus Google’s FLAN instruction pretrain
Sealed Terminal-v2 quality 6.43 / 68.2% ≥6 6.30 / 65.3% ≥6 7.02 / 80.2% ≥6
Product path today Research Python. Not on ONNX yet. ONNX millisecond worker in the app Benchmark only. Not shipped.

P1 is 30% fewer live parameters than 6t (no decoder) and 3.1× smaller than FLAN. It adds 8 MB on top of the 6t encoder. The current unbatched Python enum is slower than both 6t and FLAN on MPS; production 6t is the ONNX millisecond path. Do not read the 8.9 s script time as the product budget.

Versus 6t: a cheap head on the same encoder, +0.13 on sealed-v2, not yet the app worker. Versus FLAN: 3× fewer live parameters, 0.60 worse usefulness, until a worker exists and the remaining 0.60 closes.

Ship package

porkr1/p1_hybrid_a_ship_package/ holds the frozen 6t encoder, the seed-101 head, the 64-verb lexicon, tokenizer, centroid v2, locked Hybrid A, and a one-command infer script. Head SHA-256:

37c01bd737b26bc151351c214cfc62f1888e2e4de2fca5f567bd065c5b86b8fd

Encoder SHA-256 stays the 6t lock: 2ea02c139c57032d02470e3a0c1f413e0c1611d3c3206acd6734a8ec7f14b27b.