Skip to content

Definitive defaults follow-up: the local model server is Ollama, settled by the preregistered gate - #598

Merged
seathatflowsinourveins merged 6 commits into
mainfrom
foundation/new-wsl-defaults-followup-20261002
Oct 2, 2026
Merged

seathatflowsinourveins merged 6 commits into
mainfrom
foundation/new-wsl-defaults-followup-20261002

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Scope

  • What this PR changes: the local model server slot of the definitive manifest is settled as Ollama by the preregistered gate (state measurement, never definitive), with both gate folders as evidence; every manifest row now carries state and measurement; the test module gains the converse of the definitive rule and six negative controls kept in the repository.
  • Base commit: 8b51946ee16e542e544936e19bb793114fea948e (main).
  • Lane: lane:foundation. The manifest's three pinned trading rows gain an empty state key and every row gains measurement; no trading file changes. The trading lane's own update of its definitive flags is separate (one known exception is asserted by name in the tests).
  • Owned paths touched: evidence/artifacts/local-model-server-gate-20261001/, evidence/artifacts/local-model-server-gate-confirmatory-20261001/ (new), evidence/artifacts/new-wsl-definitive-defaults-20261001/ (settlements.json, controls.py new; assemble_manifest.py, render_tables.py, definitive-manifest.json changed), docs/decisions/2026-10-01-new-wsl-definitive-defaults.md, tests/test_new_wsl_definitive_defaults.py, and manifests/evidence.json in the last commit only, by registration.

SOTA sources

  • Gate subject: ggml-org/llama.cpp v0.5.0 (tools/server/server-chat.cpp line 277: unsupported Responses tool type 'namespace' skipped) and ollama/ollama v0.35.0.
  • Client: openai/codex rust-v0.159.3, codex-rs/model-provider/src/provider.rs lines 60 to 64 and 421 to 433 (a configured provider keeps namespace_tools: true).
  • Upstream state: llama.cpp issue 23229 (closed as not planned, 2026-07-04) and pull request 23235 (open draft, last updated 2026-05-17).
  • Method: the decision rule and split order of docs/decisions/2026-10-01-new-wsl-definitive-defaults.md (a split is settled by the measurement its critics name; gates first), and both preregistrations in the gate folders, hashed before their first trial.
  • Negative controls: the mutation practice of this repository's tests/test_new_wsl_definitive_defaults.py at 8b51946e.

Evidence-class table

Claim Evidence class Command / receipt
llama-server 0 of 3 and Ollama 2 of 3 at the 300-second limit; the MCP tool call completed in 0 of 3 against 3 of 3 native_proven on one workstation (CPU, one model, one prompt) evidence/artifacts/local-model-server-gate-20261001/receipt.json
llama-server 0 of 3 and Ollama 3 of 3 at the 1,200-second limit native_proven, same scope evidence/artifacts/local-model-server-gate-confirmatory-20261001/receipt.json
The folders are faithful rebuilds of the lost originals local_integration: preregistrations match their recorded hashes, harness scripts match the hashes the worker printed, runs/ regenerated by the original collector equals the retained summaries, receipts rebuilt by the original builders REBUILD.md in each folder
The manifest applies the settlement and refuses a wrong one synthetic (unit tests and seven negative controls) tests/test_new_wsl_definitive_defaults.py; controls.py
Ollama works on the new WSL, throughput, the GPU path none: not run the rehearsal distribution

Local commands run

$ python3 evidence/artifacts/new-wsl-definitive-defaults-20261001/assemble_manifest.py && python3 evidence/artifacts/new-wsl-definitive-defaults-20261001/render_tables.py --write docs/decisions/2026-10-01-new-wsl-definitive-defaults.md
exit 0
$ python3 -B -m unittest tests.test_new_wsl_definitive_defaults
Ran 21 tests ... OK
$ python3 -B evidence/artifacts/new-wsl-definitive-defaults-20261001/controls.py .
seven controls, each killed by the test it targets; all files restored; 21 tests OK
$ python3 scripts/component_matrix.py --write && python3 scripts/new_host_grand_list.py --write
{"flip_rule_violations": 0, "rows": 32, "status": "written"} / {"status": "written", "layers": 32, "winners": 66}
$ python3 scripts/validate.py
{"components": 69, "hashed_files": 9145, "profiles": 4, "receipts": 186, "status": "passed"}

The original worktree with both gate folders was lost when the host restarted on 2026-10-02T00:49:51Z and /tmp was emptied. The receipts in this PR carry the rebuild's time stamp (2026-10-02T02:21:30Z); the original confirmatory receipt (sha256 93789091…) is not recoverable. The manifest change was written by a GPT-6.1 Sol builder from a written brief and checked by the tests and controls above; the gate verdict was re-read from the receipts by two Claude sessions before the restart.

Decision record

docs/decisions/2026-10-01-new-wsl-definitive-defaults.md: the "Local model server" paragraph (both gates side by side, basis, scope, limits, overturn), "What follows" item 2, and "Amendment (2026-10-02)". Overturn: a llama.cpp release that passes the same gate, or a throughput comparison once both arms pass.

Host evidence

Not applicable: no file under evidence/hosts/ changes.

Checklist

  • No new or changed GitHub Actions or workflows.
  • No secrets are printed, logged or committed.
  • No new paid hosting, subscription or billing surface.
  • Peer-owned untracked files and worktrees were preserved.

Review round (2026-10-02)

An independent Claude read of 6e0e6cc4 returned 2 blocking and 7 non-blocking findings; all nine are repaired at ca363927 (main 6080214e merged in).

  • Blocking 1: the sixteen per-run event logs that both receipts inventory were excluded by the *.jsonl ignore rule. They are committed and registered; all 72 and 75 inventoried files are present with the recorded hashes; a scan of the sixteen logs with the repository's private-content patterns found nothing.
  • Blocking 2: the record contradicted itself on what is split and on whether anything was measured. Corrected.
  • Non-blocking 3 to 9: statements without a committed source replaced by what the receipts and the compact file say; the settled row shows both families' original picks and says that neither arm passed the first gate's frozen rule; the order is attributed to the coordinator's preregistration; tests pin the settled slot set; a seventh control covers an empty settlements file; REBUILD.md rows corrected.

The repair was built by a GPT-6.1 Sol worker from the review's findings and verified by the coordinator (rebuild reproduces byte-identically; 21 tests; seven controls killed; each rewritten statement checked against the committed files).

🤖 Generated with Claude Code

Scout and others added 2 commits October 1, 2026 23:53
…led by the preregistered gate

The split between llama.cpp and Ollama is settled by the gate the Claude critic named: llama-server 0 of 3 and Ollama
2 of 3 at the first gate's 300-second limit (the tool call completed in 0 of 3 against 3 of 3), then 0 of 3 against
3 of 3 at the confirmatory 1,200-second limit. The row's state is "measurement", never "definitive".

- Both gate folders (rebuilt from the retained raw runs after the 2026-10-02 host restart; REBUILD.md lists provenance).
- settlements.json: the basis, scope, receipt hashes, verbatim limits and overturn condition; assemble_manifest.py
  applies it and refuses a settlement for a slot that is not split or whose receipt hash differs.
- Every manifest row now carries "state" and "measurement".
- Tests 16 -> 20 (the converse of the definitive rule with the one known trading exception; settled rows; state and
  measurement on every row; memory and code search not returned). controls.py keeps six negative controls in the
  repository; each fails the test it targets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…files

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 2, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

Scout and others added 2 commits October 2, 2026 00:26
…s inventory

Both receipts hash runs/*/events.jsonl and the frozen pass rule is scored on them, but the
repository's *.jsonl ignore rule kept them out of the commit (review finding 1). The ignore file
now excepts the two gate folders; the logs are registered. All 72 and 75 inventoried files are
present with the recorded hashes. A scan of the sixteen logs with the repository's private-content
patterns plus user-name, home-path and e-mail patterns found nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Scout and others added 2 commits October 2, 2026 00:47
…gs 2 to 9)

- The record no longer contradicts itself: code search remains split, the model server is settled by
  the gates, and the evidence class says that two measured local integration checks exist.
- Statements without a committed source are replaced by what the receipts and the compact file say:
  no processor pinning claim, the critic's committed Codex reading (main at 6ece7bfc21bc), issue 23229
  "closed as stale", the limit "llama.cpp documents no Codex setup at this pin" restored.
- The settled row shows both families' original picks beside the settlement; the label says that
  neither arm passed the first gate's frozen pass rule.
- The order "an arm failing a gate cannot win" is attributed to the coordinator's preregistration; the
  critic's rule is quoted in full; the 64k context requirement is attributed to the critic.
- Tests pin the exact settled slot set and exempt memory by slot id; a seventh negative control covers
  an empty settlements file. 21 tests pass; 7 controls killed.
- REBUILD.md rows corrected (which receipt a hash belongs to, prefixes, the replayed template edit).

Built by a GPT-6.1 Sol worker from the review's findings; verified by the coordinator against the
committed receipts and compact file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins
seathatflowsinourveins merged commit 49a4260 into main Oct 2, 2026
26 of 30 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the foundation/new-wsl-defaults-followup-20261002 branch October 2, 2026 05:35
seathatflowsinourveins pushed a commit that referenced this pull request Oct 3, 2026
… through #622

Each new gate row cites an in-repository evidence file that its PR added and
quotes that file's own facts:

- wsl-retrieval-retirement-20261003 (#622)
- new-wsl-definitive-defaults-20261001 (#589, #591, #602)
- new-wsl-local-model-server-20261002 (#598)
- new-wsl-distro-recipe-20261002 (#593)
- new-wsl-install-plan-20261002 (#606, #607)
- new-wsl-client-configuration-20261002 (#608)
- mac-memory-qualification-closure-20261002 (#603)
- sdk-useful-task-preparation-20261002 (#609, #612)
- two-host-architecture-20261002 (#610)

The three lanes, the six workers and the 48 existing gates are unchanged;
recorded_at_utc comes from date -u and meaning is rewritten for this
checkpoint. The state.json row of manifests/evidence.json is re-registered with
host_receipts.register_file (docs/lanes.md hot-file protocol). The generation
holds 117 entities with the workflow adapter unconfigured, 127 with ten Dagu
runs (cap 128).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins pushed a commit that referenced this pull request Oct 3, 2026
… through #622

Each new gate row cites an in-repository evidence file that its PR added and
quotes that file's own facts:

- wsl-retrieval-retirement-20261003 (#622)
- new-wsl-definitive-defaults-20261001 (#589, #591, #602)
- new-wsl-local-model-server-20261002 (#598)
- new-wsl-distro-recipe-20261002 (#593)
- new-wsl-install-plan-20261002 (#606, #607)
- new-wsl-client-configuration-20261002 (#608)
- mac-memory-qualification-closure-20261002 (#603)
- sdk-useful-task-preparation-20261002 (#609, #612)
- two-host-architecture-20261002 (#610)

The three lanes, the six workers and the 48 existing gates are unchanged;
recorded_at_utc comes from date -u and meaning is rewritten for this
checkpoint. The state.json row of manifests/evidence.json is re-registered with
host_receipts.register_file (docs/lanes.md hot-file protocol). The generation
holds 117 entities with the workflow adapter unconfigured, 127 with ten Dagu
runs (cap 128).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins pushed a commit that referenced this pull request Oct 3, 2026
… through #622

Each new gate row cites an in-repository evidence file that its PR added and
quotes that file's own facts:

- wsl-retrieval-retirement-20261003 (#622)
- new-wsl-definitive-defaults-20261001 (#589, #591, #602)
- new-wsl-local-model-server-20261002 (#598)
- new-wsl-distro-recipe-20261002 (#593)
- new-wsl-install-plan-20261002 (#606, #607)
- new-wsl-client-configuration-20261002 (#608)
- mac-memory-qualification-closure-20261002 (#603)
- sdk-useful-task-preparation-20261002 (#609, #612)
- two-host-architecture-20261002 (#610)

The three lanes, the six workers and the 48 existing gates are unchanged;
recorded_at_utc comes from date -u and meaning is rewritten for this
checkpoint. The state.json row of manifests/evidence.json is re-registered with
host_receipts.register_file (docs/lanes.md hot-file protocol). The generation
holds 117 entities with the workflow adapter unconfigured, 127 with ten Dagu
runs (cap 128).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins added a commit that referenced this pull request Oct 3, 2026
… through #622 (#640)

Each new gate row cites an in-repository evidence file that its PR added and
quotes that file's own facts:

- wsl-retrieval-retirement-20261003 (#622)
- new-wsl-definitive-defaults-20261001 (#589, #591, #602)
- new-wsl-local-model-server-20261002 (#598)
- new-wsl-distro-recipe-20261002 (#593)
- new-wsl-install-plan-20261002 (#606, #607)
- new-wsl-client-configuration-20261002 (#608)
- mac-memory-qualification-closure-20261002 (#603)
- sdk-useful-task-preparation-20261002 (#609, #612)
- two-host-architecture-20261002 (#610)

The three lanes, the six workers and the 48 existing gates are unchanged;
recorded_at_utc comes from date -u and meaning is rewritten for this
checkpoint. The state.json row of manifests/evidence.json is re-registered with
host_receipts.register_file (docs/lanes.md hot-file protocol). The generation
holds 117 entities with the workflow adapter unconfigured, 127 with ten Dagu
runs (cap 128).

Co-authored-by: Scout <scout@local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant