2026-09-23. Source apus-ailab/APUS-OpenJev-v1-4B at
65797c526c27c4d24f564333779162cd4a64328e, checkpoint-5949 merged BF16, Apache-2.0.
The card,
recipe and
gate summary are the zoo record.
Run evidence paths below are relative to
~/code/codex-conversions/2026-09-23/apus-openjev-4b-coreai/.
The text tower matches Qwen3.5-4B: 32 layers (24 linear attention, 8 full attention), hidden
size 2560, vocabulary 248320 and a tied vocabulary head. The checkpoint stores
model.language_model.* tensors and model.visual.*; no standalone lm_head.weight is
expected because the embedding supplies it. The default
from_hf_memory_efficient(hf_config_attr="text_config") loader applies unchanged and skips
vision. The zoo qwen3.5-4b / agents-a1-4b recipe therefore needs only the HF-id swap.
The exporter and _bundle.py are unchanged zoo 082fe55 copies; the frozen Python overlay
is fork 397b337. Exporter SHA-256 is
70f413b685a5537a62db084c73d1ca56de89f8b704b5d4d69d1f91ba393210a7.
int8hu --head-sym exports S=1, context 4096, [1,1,248320] logits, and logs loop-free
single-step enabled on all 24 linear layers. The whole LanguageBundle is 5,770,814,417 bytes;
main.mlirb is 5,742,220,411 bytes with SHA-256
7b719b75f6782d60ff0e082230e464f041927ef7bbd3ffb5cfbd2a9352e32f23.
Evidence: results/export_int8hu.json, results/export_resolution.json,
results/copied_scripts.json. No re-export was required in round 2.
The oracle vendors the source snapshot’s openjet_runtime unchanged; all five runtime
file hashes match evaluation/runtime-smoke.json. The author asserts transformers
5.16.1 exactly. The CPU fp32 oracle environment uses torch 2.9.0, safetensors
0.8.0, huggingface_hub 1.32.0, tokenizers 0.23.2, numpy 2.3.5 and Python
3.11.13. The export/runtime environment separately retains transformers 4.57.6,
coreai-core 1.0.0b2, coreai-torch 0.4.1 and coreai-opt 0.2.1.
Evidence: results/env.json, results/oracle_env.json, results/oracle_vendor.json.
jev.dynamic.prompt.v2 puts Shared state: and the string state before a sorted JSON object
containing criteria descriptions with labels, instructions and primitive, then
Return only the selected letter: A, B, ….\nAnswer:. This is one user message under the
source chat template with add_generation_prompt=True, enable_thinking=False, encoded
without added special tokens. The fixture’s prompt_examples preserves the decoded ids and
exact tails. Read the last compiled position, slot = len(ids)-1; A–P are token ids 32–47,
with single-token-at-boundary assertions for every row.
At full depth, gather the row’s label logits as fp32 and softmax with T = 1. The author
says calibrated: false. Choice maps probabilities to criterion ids; noul and score_level
use the exact yes/no criteria, with the proposition in instructions. score_level judges
one proposition, not an aggregate score. The low-effort 16-layer candidate-row projection
requires its own graph and is not exported. Its fixture outputs are evidence only; it
agrees with the full-depth argmax on 38/48 rows. The source card’s Frozen80 figures are
quoted as author measurements in the card; the merge’s failed probability gate is distinct
from this conversion’s comparison against the released merged checkpoint.
The fixture contains 48
requests / 48 rows: 28 choice (8 with 16 criteria, 8 with 2–3, 12 with 4–8), 12 noul and
8 score_level; 16 requests include Chinese and 30 contain structured states as text.
States are short: 34–66 tokens. Compiled rows span 124–1,672 tokens; two rows above
1,024 are zoo_only, lengthened through instructions. Minimum top-2 oracle margin is
0.948419, so there are no near ties. Every API probability equals its recorded
row probability, 48/48. This set tests numerical/readout parity, not accuracy on difficult
or ambiguous decisions. Evidence: results/fixtures.json and its summary.
The accepted round-one GPU readout has 48/48 option argmax agreement, max |Δp|
0.005301987752318382, mean of row means 0.000126608183026633, max absolute label-logit
error 0.2360076904296875, and 48/48 full-vocabulary argmaxes inside the label set.
The first row’s logits reproduce bit-identically after reset. Each row has fresh zero
states and S=1 calls over the complete compiled ids. The Python runtime loads an AOT
h16c GPU asset with SpecializationOptions.default(); processes evaluate at most
15 prompts including resets, with each wide row separate. This follows the decider
record’s Python GPU JIT failure and IOSurface leak on 26A428; those failure experiments
were not repeated. Evidence: results/readout_int8hu.json and the
zoo-layout readout transcript.
Release llm-runner gets raw fixture ids, warmup off, one greedy token and
COREAI_CHUNK_THRESHOLD=1. Both engines match the Python full-vocabulary argmax’s decoded
text 48/48 each (96/96); the same calls also match the oracle letter 96/96.
The parser preserves output whitespace. Evidence: results/engine_argmax_int8hu.json and
the zoo-layout engine transcript.
The alphabet gate
passed 16/16 tokens against the CPU fp32 overlay oracle on the raw alphabet prompt. Its unchanged
generic tool writes weights_pinned: false; this run’s offline refs/main resolves to the
pinned source and all three restored LFS hashes match. Effective-pin evidence is
results/round2/alphabet-download.json and results/round2/alphabet-execution.json.
The supervisor’s measurements through coreai-kit use Decision.Format.sharedState, the
sequential engine and the kit’s own chat-template rendering. The 40 choice/noul rows match
tokens 40/40, label slots 40/40 and option argmax 40/40, max |Δp| 0.0055, mean
0.0002. Eight score_level rows are skipped because the kit has no such primitive;
substituting noul preserves proposition semantics but changes the primitive JSON and prompt.
Median fixture time is 2.8 s/question over 124–1,672 tokens; the 1,672-token row is
24 s. A two-question workflow with 20 state tokens, a 3-criteria choice and noul,
takes 2,069 ms / 134 tokens and 1,540 ms / 107 tokens, with 0 tokens reused;
the recurrent hybrid re-prefills each row, about 15 ms/token. Answers: close 0.999;
refund asked P(yes) 0.000.
SemIf authored144, measured through coreai-kit: 144 English rows, three options,
SemIf gold labels, unchanged benchmarks/evaluate.py, kit rendering as choice; 131/144
raw, 0.906 mean family balanced accuracy, median 1.96 s/decision. The kit README’s
same-row/evaluator figures are Qwen3.5-4B int8 zero-shot 0.821, MiniCPM5-2B int8 0.681,
and the OpenThai run 0.725. These supervisor measurements were not re-derived here;
see kit record.
Trap: an earlier OpenThai ask measurement ignored --bundle and used the catalog default;
the command was fixed, and every figure above printed
model: apus_openjev_… format: sharedState.
Apple M4 Max GPU, macOS 27.0 (26A428), Xcode 27.0 (27A266a), Release tools from fork
0.2.4-zoo / f7a75ec. Round-one correctness supplies no throughput claim. Round-two A
ran before all other round-two GPU work, with no other engine workload in the mandated
before/after process snapshots, contended: false; the GPU lock was read and never changed.
A source copy adds only the benchmark engine-variant option and forwards it to
EngineOptions. The patch matches the sibling’s byte for byte. Evidence:
results/round2/benchmark-build.json, results/round2/benchmark-engine-option.patch,
results/ps-before.txt, results/ps-after.txt.
| Engine | S=1 prefill median (range), tok/s | decode median (range), tok/s | load per launch, s |
|---|---|---|---|
| coreai-pipelined | 81.781 (81.166–81.870) | 80.379 (79.323–80.606) | 2.899 / 0.700 |
| coreai-sequential | 69.369 (69.257–69.524) | 68.493 (67.860–68.605) | 0.703 / 0.706 |
Protocol: p=128 / g=256, two launches × three trials per engine, COREAI_CHUNK_THRESHOLD=1;
load measured per launch excludes warmup. A decision costs one S=1 prefill of the whole row,
so decode throughput is a prefill-rate proxy; kit time above measures decisions. Trials:
llm-benchmark.json. No phone result is claimed.