Skip to content

spec(policy): l2_generation -- gen/json/ is the backend directory of t27c gen-json #10079

Closed

Description

@gHashTag

Problem

PR #10064 (issue #10050) adds t27c gen-json and commits its output as gen/json/igla/own_model_board.json. The L2 GENERATION check fails that PR:

rule: gen/c/policy/l2_generation.c at origin/master
HAND-MADE COPY  gen/json/igla/own_model_board.json: a backend directory t27c does not write

The rule (specs/policy/l2_generation.t27) pairs every gen/<backend>/ directory with the t27c subcommand that writes it, and json is not in that table. The plumbing runs the BASE's copy of the rule, so a PR cannot loosen the rule that judges it. That is by design, and it means the table entry has to land on master first.

Proposal

Add one entry to the table: json -> gen-json. Then a gen/json/<stem>.json copy is checked the way every other copy is: t27c gen-json specs/<stem>.t27 must reproduce it byte for byte, and a later edit to the spec that leaves the copy behind fails as a STALE COPY.

Boundary

  • specs/policy/l2_generation.t27
  • gen/c/policy/l2_generation.c

User Scenarios

Requirements

  • FR-001: BACKENDS and SUBCOMMANDS MUST gain the pair json / gen-json at the same index, pinned by the the_backend_table_is_pinned invariant.
  • FR-002: gen/c/policy/l2_generation.c MUST be regenerated by t27c gen-c, not edited by hand.

Success criteria

Activity

  1. added 3 commits that reference this issue on Oct 17, 2026
    c1d02a9
    0b2aabc
    e2f314d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions