Repository navigation
t27b dogfood: our own specs first #6457
Copy link
Copy link
Closed
Description
The owner's order (2026-10-05 ~15:30Z): t27b is developed by dogfooding -- our own .t27 + t27c, written on ourselves, fixing what that turns up. This issue tracks the dogfood view of the t27b lab; it is a lane-tracking issue, not a task card.
Measured at ~15:30Z (origin/master 11f5e6a, lab run 682564f)
| What | Measured |
|---|---|
| t27b itself | 19,752 lines of Rust (cli/t27b) |
| steward rules | specs/tri/t27b/steward.t27, 466 lines, 111 tests; reach Python through gen-c + ctypes; t27b passes them (lab: 111 tests, 1 invariant, 130 asserts) |
| reference pass, t27b pass with runtime checks | specs/queen/{dispatch,priority,task_analysis,views}.t27, specs/compiler/{c_array_repeat_wrapper,meta_compile,rust_constant_case}.t27 |
| reference pass, t27b blocked | specs/compiler/optimizer.t27 (StructDecl), specs/compiler/rust_value_parameters.t27 (StmtAssign), specs/compiler/zig_primitive_bindings.t27 (tuple, alias) |
| blocked in BOTH reference and t27b (t27c cannot carry the compiler's own specs) | specs/compiler/{lexer,parser,typechecker,pipeline,stdlib,diagnostics,linker,mod_structure}.t27, specs/compiler/core/t27core.t27 (self-host epic #5980), specs/queen/{lotus,brain_summaries}.t27 |
First reference errors from the lab JSON results[] (run 682564f):
| Spec | First reference error (zig on t27c's output) |
|---|---|
| compiler/core/t27core.t27 | spec.zig:1714:11: redeclaration of local variable 'n' |
| compiler/lexer.t27 | spec.zig:327:9: pointless discard of local constant |
| compiler/parser.t27 | spec.zig:104:4: expected '(', found 'error' |
| compiler/pipeline.t27 | spec.zig:420:4: expected '(', found 'error' |
| compiler/typechecker.t27 | spec.zig:80:53: expected ',' after initializer |
| compiler/stdlib.t27 | spec.zig:232:36: expected ',' after initializer |
| compiler/diagnostics.t27 | spec.zig:132:62: expected enum or tagged union, found 'comptime_int' |
| compiler/linker.t27 | spec.zig:48:36: expected field initializer |
| compiler/mod_structure.t27 | spec.zig:38:35: type '[]spec.ModuleEntry' does not support array initialization syntax |
| queen/lotus.t27 | spec.zig:427:5: use of undeclared identifier 'then' |
| queen/brain_summaries.t27 | spec.zig:82:24: use of undefined value here causes illegal behavior |
Over the wider "own specs" set (specs/{tri,queen,compiler,blog,automation,tools}/**) the same run has 300 files: reference pass + t27b pass 33, reference pass + t27b pass_vacuous 112, reference pass + t27b not passing 8, reference not passing 147 (blocked 140, fail 7).
Plan
tri t27b dogfood: reads the lab latest.json, prints for our own specs the reference verdict, the t27b verdict and the first blockers, grouped as t27b-only blocked (a t27b lane) and reference-blocked (a t27c issue). The path rule and the row classification live inspecs/tri/t27b/steward.t27, reaching Python through gen-c.tri t27b next: our own specs win ties in the lane order (steward.t27).- One t27c issue per root cause of the reference-blocked own specs, deduplicated against open issues.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
gHashTag commentedon Oct 5, 2026
Dogfood table, lab run 682564f (master), classified by
gen/c/tri/t27b/dogfood.c(PR #6461). The reader that printed it is a one-off and is not committed (owner rule 2026-10-05 15:45Z: no hand-written non-t27 code in a PR), sotri t27b dogfooddoes not exist as a command yet.output (300 own specs)
gHashTag commentedon Oct 5, 2026
Reference-blocked own specs, one row per root cause. Source: lab run 682564f (master, 2026-10-05T15:01:42Z). The first Zig error was checked against the generated code on the t27c lab where noted.
union/erroris not escaped (fn union(,self.error()value ignored&[_]T{}gives'_' used as an identifierT?, keyword field.error =, array repeat[v; N]errorfield); tools/schema (str?) (5)use std;duplicates the automatic std importnot yet implementedstubsvar n ...; const n = ...in t27core testminimal_module_compiles, seen in the generated code)_ = start_pos; // dead after const-inliningfor a const still in use.{ value } ** COUNT32*2-1"\x1b[0m"emitted as"\\x1b[0m"(test fails at runtime)@intFromEnum!= undefinedstubs, Zig captures, undeclared names)Total: 35 + 112 = 147. No t27c PR was opened, per the owner's 2026-10-05 rule ("t27c fixes in Rust: file issues only").