Repository navigation
Conversation
Slice 134, stacked on slice 133. Every gate passed on this machine
against the upstream ollama/ollama:0.40.0, the version Iron Bank pins.
registry1 refused the pull without an account, so the rerun on the Iron
Bank image is the owner's.
- Trinity.Memory.Embedders.Ollama, the client:
- every request sends truncate:false and the pinned num_ctx;
- it counts tokens itself with a pure-Elixir byte-level BPE read from
the verified GGUF, and refuses an over-length input before sending;
- a prompt_eval_count below its own count turns it off until restart;
- each vector's width and norm are checked;
- the /api/tags digest is the space's revision, and the GGUF and
tokenizer digests, num_ctx, both prompt templates and the Ollama
version are fields of their own.
- A supervised watch of /api/tags turns semantic memory off with
:model_digest_changed within one interval, while full-text search keeps
answering and no other space is selected.
- The signed import, mix trinity.tier3.import:
- cosign offline against the operator's key;
- every blob's digest checked, then OMS over the model files and the
GGUF digest against the OMS statement;
- then /api/blobs, /api/create and a /api/show check, and the
resulting digest recorded.
The verifiers are the reference CLIs, run with an argument list.
- 133's embedder behaviour gains optional callbacks for the query
template, the endpoint, the configuration check and children, so
locality and configuration checks no longer name an embedder.
Measured gates (Qwen3-Embedding-0.6B f16, CPU):
- Gate 1, parity: min cosine 0.99969 on 500 of 500.
- Gate 2: 512 tokens with truncate:false gives HTTP 400, no vector.
- Gate 3: off 160 ms after the blob swap.
- Gate 4: offline start served /api/embed with networking disabled.
Q8_0 fails parity and is not offered. Red evidence R1 to R11 is in the
slice NOTES; the gate reds are in the gate logs.
Signed-off-by: Ayla Croft <aylacroft@proton.me>
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.
Slice 134, the Tier 3 embedder client and its four gates. Stacked on #119 (slice 133): this PR's base is 133's branch, so the diff shows 134 alone. Merge #119 first; GitHub then retargets this PR to
main.The slice stays
in_progressuntil the owner reruns the gates on the Iron Bank image. registry1 refused the pull without an account, so the gates ran on upstreamollama/ollama:0.40.0, the version Iron Bank's repo pins.What lands
truncate:falseand the pinnednum_ctx;prompt_eval_countand turned off;/api/tags: a swapped model turns semantic memory off with:model_digest_changed. Full-text search keeps answering and no other space is selected.mix trinity.tier3.import: a signed import, in order:The verifiers are the reference CLIs, called with an argument list and no shell.
docs/tier3-embedder.md, an operator guide; and egress rows indocs/regulated/data-flow.md.Gates, MEASURED 2026-10-08
Qwen3-Embedding-0.6B f16, CPU only, on an AMD Ryzen AI MAX+ 395.
truncate:falsegives HTTP 400, no vector--network none;/api/embedserves; a pull failsQ8_0 fails parity (min 0.99854) and is not offered.
Evidence
1071 passed (21 properties, 1050 tests), 41 excluded, coverage 80.81%.61 passed, 11 excluded;--only signing_toolswith the real cosign v3.1.3 and model_signing 1.1.1: 7 passed;mix format --check-formattedOK;mix credo --strict --allfound no issues.:signing_toolscases until it installs those two programs. A follow-up.