Skip to content

T27 OS: clear the three inherited red checks (duplicate bodies, absurd Verilog widths, t27b ratchet) in the t27os specs #11030

Open

Description

@gHashTag

Refs #10782. Depends on #10783 (the t27os stack is not on master yet; bees start from master, so this waits until it lands).

Problem

Three CI checks are red on every PR that touches the T27 OS specs, and the cause is in the specs, not in the PR:

  • duplicate-bodies: the bodies of chan, clamp01, digits_val, flag_bit, scale, ws_at, ws_back, ws_before, ws_fwd, ws_len_at and ws_len_before are copied into the t27os specs and were in no ledger. Reuse the body that exists; a bless is the last resort and must say why.
  • Verilog widths (absurd-width ledger): glass_window.t27 emits a width of 1535999 bits and pty_server.t27 one of 9175039 bits. A width at or above 2^20 bits is an arithmetic accident, usually a big byte buffer declared as a packed value.
  • t27b-native-ratchet: 25 t27os specs are UNLISTED and 4 ledger rows are STALE.

Found while checking 9 agents for T27 OS (PR #11015). The three reds were inherited from the base, not caused by that PR.

Boundary

  • specs/t27os/glass_window.t27
  • specs/t27os/pty_server.t27
  • specs/t27os/pty_logic.t27
  • specs/t27os/pty_client.t27
  • specs/t27os/term_pane.t27
  • specs/t27os/vt.t27

User Scenarios

  • Given a PR that changes only a t27os spec, when the duplicate-bodies check runs, then it finds no new duplicate body and exits 0.
  • Given glass_window.t27 and pty_server.t27, when the Verilog widths check scans the corpus, then neither is listed as NEW and the job exits 0.
  • Given the t27os specs, when the t27b-native-ratchet check runs, then it reports 0 UNLISTED and 0 STALE for t27os and exits 0.

Requirements

  • FR-001: Each duplicated body MUST be replaced by a call to the one body that already exists, or the copy MUST be justified in the ledger move in the same commit.
  • FR-002: The two byte buffers behind the absurd widths MUST be declared so that no emitted width is 2^20 bits or more, with the spec tests of both files still passing.
  • FR-003: The t27b ledger rows for the t27os specs MUST be moved in the same commit, down only where a row went STALE.
  • FR-004: No width, duplicate or ratchet check MUST be loosened to make the job pass.

Success Criteria

  • The duplicate-bodies, Verilog widths and t27b-native-ratchet jobs finish green on the PR: 3 checks, exit 0.
  • git diff --stat shows 0 files outside the Boundary and the ledgers those three checks read.
  • The t27os spec tests give 0 failed.

Activity

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