Skip to content

oracle policy: IBM is the reference, GnuCOBOL the instrument — audit register entries + z/OS calibration oracle #4702

Open

Description

@squid-protocol

Owner policy (2026-10-08): IBM is the reference; GnuCOBOL is the instrument.

  • Where IBM documents a result under the estate's compile options (TRUNC, NUMPROC, ARITH, ZONEDATA, ...), the det port follows IBM. The oracle (cobc 3.1.2 -std=ibm) is configured to match through cobc options, config or a wrapper; if that's impossible, the shape is a declared oracle-vs-IBM difference the comparator expects. Proofs are never loosened.
  • Where IBM's result is undefined (e.g. non-digit data, divide by zero without ON SIZE ERROR, which can abend S0CB), the port refuses by name or follows cobc, and the register says so explicitly.
  • GnuCOBOL stays the bulk oracle: free, in CI, reproducible by purchasers. A real z/OS (Enterprise COBOL) is a calibration oracle: run the probe and fuzz corpus there occasionally to replace "IBM side ASSUMED" with measured results. It is not in CI.

Part 1: audit register entries that chose "match GnuCOBOL"

For each entry: the IBM reference (cited), whether IBM documents it under which options, what cobc can be made to do, the chosen behaviour, and the register entry updated.

Part 2: z/OS calibration oracle (blocked on access and legal)

  • Candidates: IBM Wazi as a Service (z/OS dev/test on IBM Cloud), ZD&T (licensed dev/test emulation), IBM Z Xplore (free; its terms likely don't cover commercial validation), or a customer's or partner's mainframe. z/OS on Hercules is not an option (licence ties z/OS to IBM hardware).
  • Legal questions for counsel first: do the licence terms allow using outputs to validate a commercial translator, and may results be published (relates to the publishing hold, legal Q16)?
  • Deliverable: a probe corpus (the register shapes plus the det fuzz kits) runnable on Enterprise COBOL with recorded results, and a "z/OS-calibrated" marker per register entry and in the evidence report.

🤖 Generated with Claude Code

Remaining slices (as of 2026-10-18)

Done so far: 3 merged PRs (#5308, #5384, #5396).

Drafted 2026-10-18 by a Sonnet triage pass from this issue, its comments and the bodies of its "Part of" PRs; (verify) items were not checked against main. Tick boxes as slices merge; edit freely.

Activity

  1. added
    enhancementNew feature, sensor, or structural signature
    testingUnit, integration, and E2E pipeline verification
    legacy-modernizationCOBOL refractor, dead-code extraction, and JCL forging
    priority: highCore feature broken, but workarounds exist
    on Oct 8, 2026
  2. changed the title [-]oracle policy: make the comparator z/OS-like — audit register entries where the det port follows GnuCOBOL over IBM[/-] [+]oracle policy: IBM is the reference, GnuCOBOL the instrument — audit register entries + z/OS calibration oracle[/+] on Oct 8, 2026
  3. added
    scope:coreBlocks a burned-estate program's next evidence rung, or the 4th-estate one-shot trial
    on Oct 16, 2026
  4. added
    needs:corpusNeeds the large local source corpora (main box only)
    needs:dockerNeeds Docker toolchain/oracle containers
    on Oct 18, 2026
  5. 29 remaining items

  6. squid-protocol commented on Oct 22, 2026

    @squid-protocol
    OwnerAuthor

    Claimed by promoter-bot host melek, lease renewed 2026-10-22T18:20Z. It lapses after 6 h without a renewal. To take it back, assign someone or remove the claim:melek label.

  7. squid-protocol commented on Oct 22, 2026

    @squid-protocol
    OwnerAuthor

    #6020 merged: a partial slice of [c:8980bf5e] "Register sweep for other "match GnuCOBOL" / ASSUMED entries outside the C/D/F members done so far. Check: register.py --check + a list of entries with no IBM quote or declared difference. (1 PR)"; left: 15 entries (F1 F2 I1 I3 I4 Q1a Q1b X1 X9 X13 X14 X15 X16 X23 X24) still name an IBM document only by name; each needs its document number/section or a declared difference, then removal from STRICT_BASELINE. (promoter-bot)

  8. squid-protocol commented on Oct 22, 2026

    @squid-protocol
    OwnerAuthor

    #6036 merged: a partial slice of [c:8980bf5e] "Register sweep for other "match GnuCOBOL" / ASSUMED entries outside the C/D/F members done so far. Check: register.py --check + a list of entries with no IBM quote or declared difference. (1 PR)"; left: Q1b, X13, X14, X15, X16, X23, X24 still lack a strict cite (promoter-bot)

  9. squid-protocol commented on Oct 22, 2026

    @squid-protocol
    OwnerAuthor

    #6043 merged: a partial slice of [c:8980bf5e] "Register sweep for other "match GnuCOBOL" / ASSUMED entries outside the C/D/F members done so far. Check: register.py --check + a list of entries with no IBM quote or declared difference. (1 PR)"; left: X16, X23, X24 still in STRICT_BASELINE (next slice, 5-file cap) (promoter-bot)

  10. squid-protocol commented on Oct 22, 2026

    @squid-protocol
    OwnerAuthor

    #6048 merged: a partial slice of [c:b5eee87e] "Part 2: z/OS calibration probe corpus and a "z/OS-calibrated" marker per register entry and in the evidence report. Blocked on access and legal; do not start."; left: probe corpus runnable on Enterprise COBOL and recorded z/OS results (blocked on z/OS access and counsel/Q16) (promoter-bot)

  11. squid-protocol commented on Oct 22, 2026

    @squid-protocol
    OwnerAuthor

    #6052 merged: a partial slice of [c:b5eee87e] "Part 2: z/OS calibration probe corpus and a "z/OS-calibrated" marker per register entry and in the evidence report. Blocked on access and legal; do not start."; left: recorded z/OS results (blocked on z/OS access and counsel, Q16) (promoter-bot)

  12. squid-protocol commented on Oct 22, 2026

    @squid-protocol
    OwnerAuthor

    #6055 merged: a partial slice of [c:b5eee87e] "Part 2: z/OS calibration probe corpus and a "z/OS-calibrated" marker per register entry and in the evidence report. Blocked on access and legal; do not start."; left: recorded z/OS results (blocked on z/OS access and counsel, Q16) (promoter-bot)

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

    claim:melekenhancementNew feature, sensor, or structural signaturelegacy-modernizationCOBOL refractor, dead-code extraction, and JCL forgingneeds:corpusNeeds the large local source corpora (main box only)needs:dockerNeeds Docker toolchain/oracle containerspriority: highCore feature broken, but workarounds existscope:coreBlocks a burned-estate program's next evidence rung, or the 4th-estate one-shot trialtestingUnit, integration, and E2E pipeline verification

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions