Skip to content

Port bootstrap/src/parse_conform.rs (Rust, 3 functions) to specs/port/bootstrap/src/parse_conform.t27 - #6528

Merged
gHashTag merged 1 commit into
masterfrom
claude/bee-6135
Oct 5, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/bee-6135

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Closes #6135

Ports bootstrap/src/parse_conform.rs (W577 parser conformance table) to specs/port/bootstrap/src/parse_conform.t27. One file, .t27 only.

What is ported

  • CASES: all 25 rows (name, input, verdict, expected decls, expected discards), extracted mechanically from the Rust table. The prose note of each row stays in the original; no logic reads it.
  • evaluate(src): it calls the host's parsers (Compiler::parse_ast, parse_ast_strict, parse_ast_accounted), which a spec cannot call. It keeps its name with an undefined; body that no test calls. Its decision is evaluate_from: given the three parse results, it returns (Verdict, decls, discards).
  • run(): the original formats failures into a Vec<Outcome>. t27 has no format! and no growable list, so run(actuals) takes the evaluated results, one per row, and returns the number of failing rows. The per-row decision is case_ok. Decls are compared only for a pinned row with a Full verdict, and discards only when the row pins them, as in the original.
  • total(): CASES.len, which is 25.

Acceptance criteria

These were run on the Railway t27c lab, with t27c built from origin/master e7afb32 (the Mac binary is stale).

$ test -f specs/port/bootstrap/src/parse_conform.t27 && echo present
present
$ grep -cE '^\s*(pub )?fn (evaluate|run|total)\(' specs/port/bootstrap/src/parse_conform.t27
3
$ t27c gen specs/port/bootstrap/src/parse_conform.t27 > /tmp/t27-gen.zig && grep -c 'not yet implemented' /tmp/t27-gen.zig
0
$ t27c gen specs/port/bootstrap/src/parse_conform.t27 | wc -l
166
$ t27c spec-status specs/port/bootstrap/src/parse_conform.t27
IMPLEMENTED
$ grep -cE '^[[:space:]]*test[[:space:]]+("|[A-Za-z_])' specs/port/bootstrap/src/parse_conform.t27
9
$ t27c test-report specs/port/bootstrap/src/parse_conform.t27 2>&1 | grep -c BLOCKED
0
$ t27c test-report specs/port/bootstrap/src/parse_conform.t27
  tests       9
  pass        9
  FAIL        0
  rate    100.0%
$ t27c coverage specs/port/bootstrap/src/parse_conform.t27
Functions: 5   Tested: 4 (80%)   untested: evaluate (plumbing, undefined body)
$ t27c typecheck specs/port/bootstrap/src/parse_conform.t27
Typecheck OK (0 errors, 0 warnings)

gen-rust and gen-c also succeed.

Negative control. I flipped three expected values (total 25->24, run count 2->3, discards 3->0). test-report then printed pass 6, FAIL 3, naming exactly those three tests. The tests are not vacuous.

🤖 Generated with Claude Code

…c/parse_conform.t27

Ports the W577 parser conformance table (all 25 rows), evaluate's
verdict decision (evaluate_from), the per-row check of run (case_ok),
run as a failure count over injected results, and total. evaluate
keeps an undefined body: it calls the host's parsers.

Closes #6135

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-05 16:10:46 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 39
PRs with All Checks Green 11
READY 8
FAILING 39
PENDING 0
NO CHECKS YET 1

These columns do not partition: 8 + 39 + 0 + 1 = 48, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=9f2c8a4829f6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Port bootstrap/src/parse_conform.rs (Rust, 3 functions) to specs/port/bootstrap/src/parse_conform.t27

1 participant