Skip to content

Port scripts/gen_w672.py (Python, 3 functions) to specs/port/scripts/gen_w672.t27 - #8442

Merged
github-actions[bot] merged 3 commits into
masterfrom
queen-8265
Oct 12, 2026
Merged

github-actions[bot] merged 3 commits into
masterfrom
queen-8265

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #8265

Written by a bee on queen-8265 and published by tools/queen/publish.py. The branch itself is the bee's; the second commit is the coordination entry every pull request must add, which a bee has no way to know about.

1 file changed, 80 insertions(+)

🤖 Generated with Claude Code

Trinity Bee and others added 2 commits October 10, 2026 00:53
Mirror of the twice-reviewed gen_w631..gen_w662 family pattern (definitive
template gen_w662.t27): the original writes a 163x2^6 Pt grid literal whose
points are numbered (2e + offset) % 32768, so the port carries the decisions
as pure helpers -- indent (4 spaces per level), coordinate ((2e + offset +
step) % 32768), build_tree (base + n * inner_points) -- and leaves the text
assembly and file write to a generate() stub, per "port the decision, not
the plumbing".

Six tests pin the original's behaviour: indent width, first point (0, 1),
last point and the dst[81][1][0][0][0][0][0] mid point (the original's
comment says "# 73" but the code computes 163 // 2 = 81 -- a comment is not
a value, so the port carries the code's values 5216/10432/10433), the
32768-offset wrap, base threading, and the whole-grid 10432 point count.

t27c parse, typecheck and test-report (6/6 passing, 0 vacuous) all clean;
t27c gen emits 68 lines with zero "not yet implemented".

Closes #8265
A pull request must add exactly one docs/now entry and a bee has no way
to know that: its brief names a boundary file and acceptance criteria,
and docs/now/ is neither. The publisher adds it rather than failing the
gate.

Closes #8265

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

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-10 04:55:30 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 47
PRs with All Checks Green 3
READY 0
FAILING 47
PENDING 0
NO CHECKS YET 0

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

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=bd3352ccb90e != 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).

@t27-bees t27-bees Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer bee verdict for head 8c0f722cda08a1aaaf8c0e6429c00ac9fe4e74fd (tools/bees/reviewer.py, zai glm-4.7-flash, glm-4.5-flash, 7 turns, 204 s).

BEE-VERDICT: REQUEST_CHANGES
summary: Port fails to correctly implement the three required functions
criterion: 1. test -f specs/port/scripts/gen_w672.t27 && echo present prints present -- met -- brief.md:748
criterion: 2. Functions exist under correct names -- met -- brief.md:749
criterion: 3. t27c gen produces code without "not yet implemented" -- met -- brief.md:750
criterion: 4. File parses correctly -- met -- brief.md:752
criterion: 5. At least 3 tests present -- met -- brief.md:753
criterion: 6. Tests compile and run without BLOCKED -- met -- brief.md:754
discounted-check: Corpus ratchet (expected-failure ledger) -- already red on master (brief.md:532)
discounted-check: coverage -- already red on master (brief.md:638)
discounted-check: duplicate-bodies -- already red on master for different reasons (brief.md:536)
discounted-check: spec-guards -- already red on master (brief.md:691)
discounted-check: t27b-native-ratchet -- already red on master (brief.md:744)

Evidence

Now I understand the issue. Let me review the PR against the requirements.

Evidence Analysis

  1. Acceptance Criteria Verification (brief.md:748-754):

    • All 6 criteria PASSED on this head
    • The file exists, has 3 functions, parses, generates code, and passes tests
  2. Port Analysis:

    • The original Python has:
      • indent(level: int) -> str: returns string of spaces
      • build_tree(shape: list[int], base: int, offset: int) -> tuple[str, int]: complex recursive tree builder
      • generate() -> None: file I/O function that writes the generated spec
    • The port has:
      • indent(level: u32) -> u32: returns number of spaces (wrong return type)
      • build_tree(n: u32, inner_points: u32, base: u32) -> u32: simplified version (missing recursive logic)
      • coordinate(e: u32, offset: u32, step: u32) -> u32: new function not in original
      • generate() -> u32: marked as plumbing (correct)
  3. Missing Implementation:

    • The build_tree port completely misses the original's recursive algorithm
    • The indent function returns a count instead of a string
    • No test validates the actual tree building logic
  4. Duplicate Body Issue:

    • build_tree was copied [28] and is now copied [29] - this check failed
    • The original build_tree in scripts/gen_w672.py contains complex recursive logic
    • The port's simplified version is different, but likely matches another simplified version elsewhere
  5. Red Checks Analysis:

    • All 5 red checks were already red on master (brief.md:532, 536, 638, 691, 744)
    • They don't count against this head since they're pre-existing issues

Summary

The port fails to meet the requirements because:

  1. It doesn't correctly port the three specified functions
  2. build_tree is missing the recursive logic for building nested arrays
  3. indent returns wrong type (u32 instead of string equivalent)
  4. The tests validate a different algorithm than the original

This was referenced Oct 10, 2026
This was referenced Oct 10, 2026
@gHashTag
gHashTag enabled auto-merge (squash) October 12, 2026 10:41
The flat 'n subtrees of inner_points points each' loop missed the
algorithm: the original recurses over shape[1:], one dimension per
level, a leaf row laying out n single points and every inner level
running n subtrees one after another, each starting from the base the
previous sibling ended on. Ported with SHAPE: [7]u32 and a recursive
build_tree(shape, depth, base), the way gen_w692 did (#8718), and the
expected-value constants (TOTAL, MID_E, LAST_X..) the original
substitutes into the emitted test now live here as consts instead of
inline literals.

The body also leaves the 28-member flat build_tree duplicate group:
t27c dupes --bodies no longer lists gen_w672 under build_tree.

t27c test-report on the branch: 7 tests, 7 pass, 0 FAIL, 100%, 0 vacuous.

Refs #8265

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

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-12 10:45:46 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 48
PRs with All Checks Green 2
READY 1
FAILING 48
PENDING 0
NO CHECKS YET 0

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

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=e769ef021713 != 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).

@gHashTag
gHashTag disabled auto-merge October 12, 2026 10:45

@t27-bees t27-bees Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer bee verdict for head f79d4c4e36bba6df50943c1e2db62431052e7c21 (tools/bees/reviewer.py, zai glm-4.7-flash, 6 turns, 410 s; then glm-4.5-flash, 6 turns, 160 s).

BEE-VERDICT: APPROVE
summary: The PR correctly ports scripts/gen_w672.py to gen_w672.t27, creating exactly the required three functions with proper test coverage (7 tests, all pass). All 7 acceptance criteria are met per runner output. All 9 red checks are pre-existing infrastructure failures unrelated to this change.
criterion: "test -f specs/port/scripts/gen_w672.t27 && echo present" -- met -- <evidence: brief.md:951>
criterion: "grep -cE '^\s*(pub )?fn (indent|build_tree|generate)(' specs/port/scripts/gen_w672.t27" -- met -- <evidence: brief.md:952>
criterion: "t27c gen ... && grep -c 'not yet implemented' /tmp/t27-gen.zig" -- met -- <evidence: brief.md:953>
criterion: "t27c gen ... | wc -l" -- met -- <evidence: brief.md:954>
criterion: "t27c spec-status ... does not print NOPARSE" -- met -- <evidence: brief.md:955>
criterion: "grep -cE '^[[:space:]]*test[[:space]]+("|[A-Za-z_])' ... prints at least 3" -- met -- <evidence: brief.md:956>
criterion: "t27c test-report ... | grep -c BLOCKED prints 0" -- met -- <evidence: brief.md:957>
discounted-check: Corpus ratchet (expected-failure ledger) -- <evidence: brief.md:483-528> this check fails on master with assertionless tests in specs/port/tools/queen/watchdog.t27 (0 -> 4), which is unrelated to this PR's gen_w672.t27 file
discounted-check: Documented t27c subcommands exist -- <evidence: brief.md:534-583> this check fails on master tracking documentation files, unrelated to this PR
discounted-check: cli-tri -- <evidence: brief.md:741-791> this check fails on master with cargo build errors in tri (never run on last 6 commits of master), unrelated to this PR
discounted-check: coverage -- <evidence: brief.md:637-686> this check fails on master with 6 stale seals in GraphDriftDetection.json, Simulator_Testbench.json, TernaryEncoding.json, and base_TernaryEncoding.json (pre-existing)
discounted-check: duplicate-bodies -- <evidence: brief.md:586-635> this check reports bodies copied in other modules (on_clock, validate_blink_state), unrelated to this PR
discounted-check: spec-guards -- <evidence: brief.md:689-738> same 10 stale seals as coverage, pre-existing
discounted-check: t27b-native-linux -- <evidence: brief.md:793-843> this check fails on master with cargo build errors in t27b, unrelated to this PR
discounted-check: t27b-native-macos -- <evidence: brief.md:845-895> same cargo build error in t27b, unrelated to this PR
discounted-check: t27b-native-ratchet -- <evidence: brief.md:897-947> same cargo build error in t27b, unrelated to this PR

Evidence

Looking at the PR carefully, I need to evaluate two things: does it meet the issue requirements, and do the red checks count against this PR?

Does it meet the issue requirements?

Acceptance criteria (all met by runner output):

  1. ✓ File exists - present (runner: "present")
  2. ✓ 3 functions ported - 3 (runner: "3")
  3. ✓ No "not yet implemented" in generated code - 0 (runner: "0")
  4. ✓ More than 12 lines generated - 88 lines (runner: "88")
  5. ✓ Parses - IMPLEMENTED (runner: "IMPLEMENTED")
  6. ✓ At least 3 tests - 7 tests (runner: "7")
  7. ✓ Tests run without BLOCKED - 0 (runner: "0")

The file correctly contains the three required functions: indent, build_tree, and generate (with undefined; body as required). Tests correctly assert the decisions from the original Python script: indent spacing, coordinate calculation, wrap behavior, and build_tree point numbering.

However, looking at the issue's function grep pattern more carefully:

grep -cE '^\s*(pub )?fn (indent|build_tree|generate)\(' specs/port/scripts/gen_w672.t27

This pattern requires either pub fn or just fn with parentheses after the function name. The actual implementation has fn indent(...), fn build_tree(...), and fn generate(), which matches the required patterns. The runner's grep output confirms this is working.

Red checks

Checking each red check against this PR:

  1. Corpus ratchet - Master 1a2c4e1: FAILURE - This is about assertionless tests in other files. The runner output shows "1 file(s) gained an assertionless test" pointing to specs/port/tools/queen/watchdog.t27 0 -> 4. This is not a new issue from this PR (that file wasn't changed).

  2. Documented t27c subcommands exist - Master 1a2c4e1: FAILURE - This tracks documentation and is unrelated to this PR.

  3. duplicate-bodies - Master 1a2c4e1: FAILURE - The check reports a body "now copied [2] time(s)" but the runner output says this is about on_clock and validate_blink_state, which are not in this PR.

  4. coverage - Master 1a2c4e1: FAILURE - 6 stale seals, but gen_w672.t27 is new, so this change wouldn't cause those specific stale entries (they're pre-existing).

  5. spec-guards - Master 1a2c4e1: FAILURE - 10 stale seals, same reasoning - gen_w672.t27 is new, these are pre-existing.

  6. cli-tri - Master: not run - This is a Rust build failure, unrelated to this .t27 file.

  7. t27b-native-linux - Master 1a2c4e1: FAILURE - Same Rust build failure in t27b, unrelated.

  8. t27b-native-macos - Master 1a2c4e1: FAILURE - Same Rust build failure, unrelated.

  9. t27b-native-ratchet - Master 1a2c4e1: FAILURE - Same Rust build failure, unrelated.

No red check counts against this PR - they're all pre-existing failures or infrastructure issues not introduced by this change.

Second, independent review (glm-4.5-flash): APPROVE -- Successfully ported scripts/gen_w672.py to specs/port/scripts/gen_w672.t27 with all 3 functions ported, 7 tests passing, and no generated code issues

@t27-bees t27-bees Bot added the bee-reviewed A reviewer bee reviewed and verified this PR at its current head; the only merge signal (#5525) label Oct 12, 2026
@gHashTag
gHashTag enabled auto-merge (squash) October 12, 2026 11:13
@github-actions
github-actions Bot merged commit 7aefa18 into master Oct 12, 2026
24 of 33 checks passed
@github-actions
github-actions Bot deleted the queen-8265 branch October 12, 2026 11:14
dmitrii-f-t27 added a commit to dmitrii-f-t27/t27 that referenced this pull request Oct 12, 2026
…#8770

docs/reports/t27b_expectations.json: this branch's jtag_status.t27 row kept; the
specs/fpga/line_bounce.t27 row dropped, as master moved that spec to specs/physics
(gHashTag#9233) and lists it there. Seals of mdio_100m, rgmii_100, jtag_status, eth_reply
and trinet_node verify with this tree's t27c; elab ratchet 206 (baseline 206).
dmitrii-f-t27 added a commit to dmitrii-f-t27/t27 that referenced this pull request Oct 12, 2026
Master moved specs/fpga/xc7_primitives.t27 to specs/physics/ (gHashTag#9233). This branch's
IBUFDS, PLLE2_ADV, ODDR and BSCANE2 DRCK came along with the rename. The seal conflict
in physics_FpgaXc7Primitives.json is resolved by re-sealing with this tree's t27c.
specs/trinet/eth_top_ax7203.t27 now uses physics::xc7_primitives, like
actors_hw_top.t27 and verilog_prim.t27, and is re-sealed.

Checks with this tree's t27c: seals of xc7_primitives, eth_top_ax7203, verilog_plan,
verilog_emit, actors_hw_top and verilog_prim verify; gen/rust/tri/t27b/verilog_{plan,emit}.rs
regenerate unchanged; test-report 2/2 and 2/2. t27b itself does not compile on this
master (E0308 in gen/rust/tri/t27b/type_text.rs, which regenerates unchanged), so t27b
tests were not re-run here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bee-reviewed A reviewer bee reviewed and verified this PR at its current head; the only merge signal (#5525)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Port scripts/gen_w672.py (Python, 3 functions) to specs/port/scripts/gen_w672.t27

2 participants