B2: IRIS-native backends for STDCRYPTO / STDCOMPRESS / STDHTTP (reconciled)#11
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 publicengine helper), ahead of the YottaDB
$&pkg.fncallout:$SYSTEM.Encryption.SHAHash/.HMACSHA%Net.HttpRequestzlib+ctypes/zstd$ZCHAR/$ZASCII→$CHAR/$ASCII(IRIS has no$ZCHAR; byte-identical underydb_chset=M, matching the rest of thebyte suites)
Dropped from the original PR (superseded by master)
$$engine^STDOS()helper — master's STDOS is already IRIS-ported byinlining the same
$zversion["IRIS"probe per function.irisCapturearm — master already hasirisRaises(s9).Verification (dual-engine)
*
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 thatvista-iris-validated code, unchanged except the (proven-correct) seam.
See
docs/tracking/discoveries.md(2026-06-14).dist/regenerated;module-tracker+discoveries+docs/memoryupdated 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