Skip to content

B2: IRIS-native backends for STDCRYPTO / STDCOMPRESS / STDHTTP (reconciled)#11

Merged
rafael5 merged 2 commits into
masterfrom
iris-native-backends-reconciled
Jun 14, 2026
Merged

B2: IRIS-native backends for STDCRYPTO / STDCOMPRESS / STDHTTP (reconciled)#11
rafael5 merged 2 commits into
masterfrom
iris-native-backends-reconciled

Conversation

@rafael5

@rafael5 rafael5 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Reconciles stale PR #1 onto current master (the s9–s12 IRIS sweep).
PR #1's branch could not be rebased/merged in place, so this branch
carries the identical net change off current master — clean diff,
clean (fast-forward) merge. Supersedes and closes #1.

What this adds

An IRIS dispatch arm in each optional module, behind the inlined
$zversion["IRIS" probe (master's runtime idiom — not a public
engine helper), ahead of the YottaDB $&pkg.fn callout:

  • STDCRYPTO$SYSTEM.Encryption.SHAHash / .HMACSHA
  • STDHTTP%Net.HttpRequest
  • STDCOMPRESS → embedded-Python zlib + ctypes/zstd
  • STDCOMPRESSTST: $ZCHAR/$ZASCII$CHAR/$ASCII (IRIS has no
    $ZCHAR; byte-identical under ydb_chset=M, matching the rest of the
    byte suites)

Dropped from the original PR (superseded by master)

  • The $$engine^STDOS() helper — master's STDOS is already IRIS-ported by
    inlining the same $zversion["IRIS" probe per function.
  • The STDASSERT irisCapture arm — master already has irisRaises (s9).

Verification (dual-engine)

Suite YDB (m-test-engine) IRIS (m-test-iris)
STDCRYPTOTST 23/23 23/23
STDCRYPTODOCTST 1/1 1/1
STDHTTPTST 68/68 67/67
STDCOMPRESSTST 59/59 blocked*

* m-test-iris (iris-community image) has non-functional embedded Python,
which the STDCOMPRESS IRIS backend requires; the PR's original
STDCOMPRESS-IRIS 59/59 was on vista-iris. The logic here is that
vista-iris-validated code, unchanged except the (proven-correct) seam.
See docs/tracking/discoveries.md (2026-06-14).

dist/ regenerated; module-tracker + discoveries + docs/memory
updated in the same commit. make manifest-check / check-manifest /
m arch check (layer m) all clean; fmt clean; lint error-level clean.

🤖 Generated with Claude Code

Reconciliation of PR #1 onto current master (the s9–s12 IRIS sweep).
Supersedes the stale `iris-native-backends` branch, which could not be
rebased/merged in-place (sandbox denies merge/rebase/force-push); this
branch carries the identical net change off current master so the diff
and merge are clean.

Adds an IRIS dispatch arm to each optional module behind the inlined
`$zversion["IRIS"` probe (master's runtime idiom — not a public engine
helper), ahead of the YDB `$&pkg.fn` callout path:
- STDCRYPTO   → $SYSTEM.Encryption.SHAHash / .HMACSHA
- STDHTTP     → %Net.HttpRequest
- STDCOMPRESS → embedded-Python zlib + ctypes/zstd
- STDCOMPRESSTST: $ZCHAR/$ZASCII → $CHAR/$ASCII (IRIS has no $ZCHAR;
  byte-identical under ydb_chset=M — matches the rest of the byte suites).

Dropped vs the original PR (superseded by master): the $$engine^STDOS()
helper (master's STDOS already inlines the probe) and the STDASSERT
irisCapture arm (master already has irisRaises, s9).

Verified dual-engine (m-test-engine + m-test-iris): STDCRYPTOTST 23/23 and
STDHTTPTST 67/67 green on IRIS as well as YDB; STDCRYPTODOCTST 1/1;
STDCOMPRESSTST 59/59 on YDB. STDCOMPRESS-IRIS needs working embedded Python
(the iris-community image lacks it — discoveries 2026-06-14); its logic is
the PR's vista-iris-validated code, unchanged but for the proven seam.

dist/ regenerated; module-tracker + discoveries + memory updated;
make manifest-check / check-manifest / arch check (layer m) all clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…t gate)

CI's pinned tree-sitter-m emits 2 ERROR nodes on the two `^||STDCOMPRESS("py")`
process-private-global references in irisInit, failing `m fmt --check` (the
local Go m's newer grammar parses them, hence the miss). master uses no `^||`.

irisInit now re-execs the embedded-Python defs per call instead of memoizing:
idempotent and cheap (ctypes.CDLL refcounts the already-loaded .so; redefining
the helpers is free). IRIS-only path; YDB STDCOMPRESSTST still 59/59. Logged
in discoveries (tree-sitter-m lane: add `^||` to the grammar).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rafael5 rafael5 merged commit daf2dba into master Jun 14, 2026
3 checks passed
@rafael5 rafael5 deleted the iris-native-backends-reconciled branch June 14, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant