Files
scriptc/scripts
Malte UblandClaude Opus 5.5 7bc082da29 Give every numbered registry one source of truth and a check
Parallel branches kept picking the same numbers: dyn handle tags, SC
diagnostic codes, and the values the LLVM backend copies from runtime
enums.

- Diagnostic codes: codes.ts lists every active, retired and reserved code.
  ScrDiagnostic.code is typed by it, and codes.test.ts fails on a code
  without a row, a retired code in use, an unused row, or rows out of
  order. The Node island codes open PRs already use are reserved.
- Dyn handle tags: a new tag is added by name to SCR_DYNH_NEW_TAGS and the
  enum numbers it after the largest pinned value, so branches never pick
  a number. The pinned values are unchanged; value 63, never assigned, is
  listed as unassigned, and the test fails on any other gap.
- The backend's copies of ScrDynKind, ScrMessageKind, ScrBytesElem, the
  closure function_kind bits (now named SCR_CLOSURE_KIND_* in C) and the
  %ScrArr spare flags are checked against their C declarations.
- scripts/registry-claims.mjs lists the codes and pinned tags open PRs
  claim and reports collisions; it finds handle tag 81 claimed by three
  open PRs today.

Every numeric value is unchanged, so IR, LLVM and executables are
byte-identical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 15:14:59 -07:00
..
2026-10-12 15:21:39 -05:00
2026-10-20 11:00:03 -05:00