nomic-ai/nomic-embed-text-v1.5
Mainframe serving
Can a COBOL transaction program call this checkpoint, and under which transport? The model returns evidence; the host keeps the decision.
Compiled graph executes in the same address space as the COBOL program. No network hop; the host keeps the decision.
Static graph, per-record sentence-similarity output and 137M parameters fit a co-located sub-2 ms call
Zero egress — data stays inside the encrypted boundary
- ONNX artifact present: onnx/model.onnx
Promotion gates
| Gate | What it checks | State |
|---|---|---|
| Structural check | Graph loads; node inputs, outputs and shapes resolve | Not run |
| Numerical parity | Same inputs agree with the source framework within 1e-4 | Not run |
| Eight-bit quantisation | INT8 weights with parity re-run afterwards | Not run |
| Shadow cycle | Full cycle scored against live traffic with no influence on outcomes | Not run |
Interface contract
The copybook is generated, versioned and never hand-edited on either side. Entry point SCORE_NOMIC_EMBED_TEXT_V1.
* GENERATED BY osai-copybook-gen/1.0.0 — DO NOT EDIT (STANDARD S2)
* COPYBOOK FOR nomic-ai/nomic-embed-text-v1.5
* REVISION e9b6763023c6 PATTERN 01 ENTRY SCORE_NOMIC_EMBED_TEXT_V1
01 SCORE-NOMIC-EMBED-TEXT-V1-REQUEST.
05 REQ-RECORD-ID PIC X(12).
05 REQ-TEXT-LEN PIC S9(4) COMP-5.
05 REQ-TEXT PIC X(512).
01 SCORE-NOMIC-EMBED-TEXT-V1-RESPONSE.
05 RESP-SCORE COMP-1.
05 RESP-CONFIDENCE COMP-1.
05 RESP-LABEL PIC X(16).
05 RESP-MODEL-VERSION PIC X(16).
05 RESP-STATUS PIC S9(4) COMP-5.
| COBOL | C | Kind | Offset | Bytes | Note |
|---|---|---|---|---|---|
| REQ-RECORD-ID | record_id | alnum(12) | 0 | 12 | caller correlation key, logged with the inference |
| REQ-TEXT-LEN | text_len | binary16 | 12 | 2 | bytes used in REQ-TEXT |
| REQ-TEXT | text | alnum(512) | 14 | 512 | de-identified text; tokenized inside the graph |
| COBOL | C | Kind | Offset | Bytes | Note |
|---|---|---|---|---|---|
| RESP-SCORE | score | float32 | 0 | 4 | model output; evidence, not a decision |
| RESP-CONFIDENCE | confidence | float32 | 4 | 4 | compared against the confidence floor by the host |
| RESP-LABEL | label | alnum(16) | 8 | 16 | e.g. REVIEW or APPROVED — never DENY |
| RESP-MODEL-VERSION | model_version | alnum(16) | 24 | 16 | revision that produced the score (standard S4) |
| RESP-STATUS | status | binary16 | 40 | 2 | 0 scored · 4 below floor · 8 transport or runtime failure — 4 and 8 fall through to host rules |
IDENTIFICATION DIVISION.
PROGRAM-ID. OSAICALL.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY OSAICPY.
77 CONFIDENCE-FLOOR COMP-1 VALUE 0.85.
PROCEDURE DIVISION.
CALL "SCORE_NOMIC_EMBED_TEXT_V1" USING SCORE-NOMIC-EMBED-TEXT-V1-REQUEST, SCORE-NOMIC-EMBED-TEXT-V1-RESPONSE
ON EXCEPTION MOVE 8 TO RESP-STATUS
END-CALL
EVALUATE TRUE
WHEN RESP-STATUS NOT = 0
PERFORM APPLY-EXISTING-HOST-RULES
WHEN RESP-CONFIDENCE < CONFIDENCE-FLOOR
PERFORM APPLY-EXISTING-HOST-RULES
WHEN RESP-LABEL = 'REVIEW'
PERFORM HOLD-FOR-REVIEW
WHEN OTHER
PERFORM CONTINUE-ADJUDICATION
END-EVALUATE
PERFORM WRITE-AUDIT-RECORD
GOBACK.
The C-ABI wrapper is on the Usage tab under “C bridge”. Test the bridge on a workstation with GnuCOBOL before it reaches an LPAR — struct packing and numeric conversion are what actually break, and they are identical on both targets.