Commit Graph
339 Commits
Author SHA1 Message Date
Nick 4a5ea33c6f chore(store): close research_budget dichotomy contract BUILDER-2026-10-13T07:29:38Z-b4cb51-factory-batch-i (parity 55a347db, phase B 719954c4)
CI Pipeline / best-practices (push) Successful in 11s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / rust-surface (push) Failing after 20s
CI Pipeline / go-surface (push) Failing after 22s
CI Pipeline / gitea-offline (push) Successful in 16s
Auto-version and Release / release (push) Successful in 50s
CI Pipeline / type-check (push) Failing after 54s
CI Pipeline / lint (push) Failing after 1m25s
CI Pipeline / canary (push) Failing after 2m26s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / unit-tests (push) Canceled after 6m21s
deploy / deploy (push) Canceled after 6m25s
2026-10-13 11:06:21 +01:00
Nick 55a347dba7 feat(research_budget): port to FULL Rust — dichotomy wave 2026-10-13 11:03:04 +01:00
Nick c8b003e8fe feat(growth_delta): close PARTIAL gaps — dichotomy wave
CI Pipeline / best-practices (push) Successful in 7s
CI Pipeline / documentation (push) Successful in 8s
CI Pipeline / rust-surface (push) Failing after 13s
CI Pipeline / go-surface (push) Failing after 18s
CI Pipeline / gitea-offline (push) Successful in 17s
CI Pipeline / type-check (push) Failing after 43s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
Auto-version and Release / release (push) Canceled after 56s
CI Pipeline / lint (push) Canceled after 56s
CI Pipeline / unit-tests (push) Canceled after 56s
CI Pipeline / canary (push) Canceled after 55s
deploy / deploy (push) Canceled after 46s
parity: every growth_delta kernel ported name-preserving into the
cognition_core broker — _parse_json (fence strip, brace extraction, the
_parse_error degrade), _load_deltas/_save_deltas (parse-or-default, the
exact json.dump indent=2 bytes), _apply_profile (first-near-dup replace,
distinct append), _apply_one (200-char evidence, now-as-argument),
reflect's gate pipeline ([:3] slice, 12-char floor, behavioural-only,
0.6 gate), apply's validation (invalid-json/short/wrong-target/low-conf
branches), handle_hook passthrough, _llm's exact Ollama payload,
_write_store's memory_store argv, _ctx_budget's #28 arithmetic, and the
dict-aware py_near_dup.

fix-first: the facade's _near_dup fed DICTS into the string-only
growth_near_dup kernel, which answered False for every dict pair — live
core and pinned fallback DISAGREED (test_growth_delta_error_paths only
ran pinned, masking it). The new cc_py_near_dup kernel takes dicts-or-
strings; both pins now agree and the previously-masked assertion holds
live.

doc-envelope FFI via cc_free_string (never re-exported); cc_loader pins
argtypes+restype for all 12 new symbols; facade delegation with the
RUNE_COGNITION_CORE=python pin. Battery: 9 tests replay 24 pure +
22 state frozen-oracle cases VERBATIM (include_str!). Live parity 86/86
facade checks both pins; freeze_truth --verify byte-identical both pins.
clippy --all-targets -D warnings 0 (incl. two pre-existing lints the new
toolchain gates: branch_battery module inception, parse_probe format!).
Audit: growth_delta 5/20 → 17/20; the 3 remaining (_store_db env-path,
_cc_core loader probe, _py_growth_profile fallback oracle) stay Python
by law, same calibration as drift_cache.
2026-10-13 10:50:57 +01:00
Nick 201530bfc4 feat(structural_store): close PARTIAL gaps — dichotomy wave
Port the 21 audit-missing functions name-preserving to the existing Rust
crate (gap.rs: _ss_core probe, _sorted, new_doc, _redact_secrets+_is_secret_key,
save, canonical_digest, snapshot, alias, spine_uri, resolve_uri,
_doc_authorities, authority_health, bind_task, task_entities, impact_frontier,
record_observed_impact, predicted_vs_observed, structural_events, diff,
dedupe_observations), 19 doc-envelope FFI ss_* entry points, ctypes loader
mirroring broker_loader.py, facade delegation with RUNE_STRUCTURAL_CORE=python
pin. Fix-first: promote ordering (unknown-id silent), alias-aware entity
resolution, resolve_status verbatim-status + pythonic conflicts, supersede
add_relationship law, authority_failed observation, SCHEMA_VERSION 1.

Frozen truth: 86 cases generated against the live oracle (pinned clock,
deep-copied inputs), embedded verbatim in cfg(test) battery. Live parity
100%: 4387 checks, 0 failures (frozen 86 + fuzz 4300 + live 1).

Contract BUILDER-2026-10-13T00:32:22Z-bc3aae-factory-gap-ss.
2026-10-13 10:25:49 +01:00
Nick 8119914fc3 feat(context_broker): close PARTIAL gaps — dichotomy wave 2026-10-13 10:04:39 +01:00
Nick eda992ade8 chore(provider_budget): close gap-closing contract tooling
CI Pipeline / rust-surface (push) Failing after 17s
CI Pipeline / go-surface (push) Failing after 21s
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / lint (push) Canceled after 46s
CI Pipeline / unit-tests (push) Canceled after 46s
CI Pipeline / canary (push) Canceled after 47s
CI Pipeline / type-check (push) Canceled after 26s
Auto-version and Release / release (push) Canceled after 55s
deploy / deploy (push) Canceled after 56s
2026-10-13 09:42:07 +01:00
Nick 12cca6e682 chore(factory): claims — night_mode verified (6/0, 9-row bare frozen_truth.json); verify script gains bare frozen_truth.json name variant
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 9s
CI Pipeline / rust-surface (push) Failing after 16s
CI Pipeline / go-surface (push) Failing after 19s
CI Pipeline / gitea-offline (push) Successful in 18s
Auto-version and Release / release (push) Successful in 51s
CI Pipeline / type-check (push) Failing after 50s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / unit-tests (push) Canceled after 1m11s
CI Pipeline / lint (push) Canceled after 1m11s
deploy / deploy (push) Canceled after 56s
CI Pipeline / canary (push) Canceled after 1m16s
2026-10-13 09:27:24 +01:00
Nick d00f07d3ea chore(store): close night_mode dichotomy contract BUILDER-2026-10-13T03:16:06Z-57d4cc-factory-gap-nm (parity 150f5b86, phase B 709c2ca4)
CI Pipeline / best-practices (push) Successful in 10s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / rust-surface (push) Failing after 18s
CI Pipeline / go-surface (push) Failing after 21s
CI Pipeline / gitea-offline (push) Successful in 16s
Auto-version and Release / release (push) Successful in 58s
CI Pipeline / type-check (push) Failing after 52s
CI Pipeline / lint (push) Failing after 1m29s
CI Pipeline / canary (push) Failing after 2m24s
deploy / deploy (push) Failing after 16m13s
CI Pipeline / unit-tests (push) Failing after 17m52s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Failing after 6s
2026-10-13 09:05:10 +01:00
Nick 150f5b86cb feat(night_mode): close PARTIAL gaps — dichotomy wave 2026-10-13 08:45:36 +01:00
Nick c6148532d7 chore(store): close self_model dichotomy contract BUILDER-2026-10-13T00:23:43Z-53857a-factory-batch-i (parity dac4889c, phase B 99bde7ba)
CI Pipeline / rust-surface (push) Failing after 17s
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / go-surface (push) Failing after 25s
CI Pipeline / documentation (push) Successful in 6s
CI Pipeline / gitea-offline (push) Successful in 17s
Auto-version and Release / release (push) Successful in 1m0s
CI Pipeline / type-check (push) Failing after 50s
CI Pipeline / lint (push) Failing after 1m26s
CI Pipeline / canary (push) Failing after 2m24s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
deploy / deploy (push) Canceled after 4m0s
CI Pipeline / unit-tests (push) Canceled after 4m1s
2026-10-13 08:23:19 +01:00
Nick 8a08f9b4be feat(provider_budget): close PARTIAL gaps — dichotomy wave
CI Pipeline / best-practices (push) Successful in 11s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / rust-surface (push) Failing after 17s
CI Pipeline / go-surface (push) Failing after 20s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / type-check (push) Canceled after 29s
deploy / deploy (push) Canceled after 47s
Auto-version and Release / release (push) Canceled after 50s
CI Pipeline / lint (push) Canceled after 45s
CI Pipeline / unit-tests (push) Canceled after 45s
CI Pipeline / canary (push) Canceled after 46s
2026-10-13 08:04:24 +01:00
Nick dac4889c0b feat(self_model): port to FULL Rust — dichotomy wave 2026-10-13 07:57:34 +01:00
Nick b973b96a1e feat(work_manager): close PARTIAL gaps — dichotomy wave
CI Pipeline / rust-surface (push) Failing after 20s
CI Pipeline / go-surface (push) Failing after 20s
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
Auto-version and Release / release (push) Canceled after 51s
CI Pipeline / unit-tests (push) Canceled after 45s
CI Pipeline / lint (push) Canceled after 46s
CI Pipeline / gitea-offline (push) Canceled after 19s
CI Pipeline / type-check (push) Canceled after 26s
CI Pipeline / canary (push) Canceled after 46s
deploy / deploy (push) Canceled after 56s
2026-10-13 07:45:50 +01:00
Nick 0e8cc14a09 chore(store): close failure_auto_filer dichotomy contract BUILDER-2026-10-13T06:30:42Z-b381e6-factory-gap-faf (feat 5cadd401, phase B 8aa48134)
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / documentation (push) Successful in 8s
CI Pipeline / rust-surface (push) Failing after 17s
CI Pipeline / go-surface (push) Failing after 19s
CI Pipeline / gitea-offline (push) Successful in 22s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
Auto-version and Release / release (push) Canceled after 51s
CI Pipeline / type-check (push) Canceled after 1m1s
CI Pipeline / lint (push) Canceled after 1m10s
CI Pipeline / unit-tests (push) Canceled after 1m10s
deploy / deploy (push) Canceled after 56s
CI Pipeline / canary (push) Canceled after 1m16s
2026-10-13 07:37:04 +01:00
Nick 89ec2943da fix(verify): truth-name pattern covers truth_*.json (sleep_time transcript shape); claims — sleep_time, drift_resume verified
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / rust-surface (push) Failing after 16s
CI Pipeline / go-surface (push) Failing after 19s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 31s
CI Pipeline / gitea-offline (push) Canceled after 17s
CI Pipeline / lint (push) Canceled after 37s
CI Pipeline / type-check (push) Canceled after 25s
CI Pipeline / unit-tests (push) Canceled after 37s
Auto-version and Release / release (push) Canceled after 45s
deploy / deploy (push) Canceled after 45s
2026-10-13 07:36:35 +01:00
Nick 5503267d6c chore(store): merge concurrent batch state (round 1 + batch-f)
CI Pipeline / best-practices (push) Successful in 10s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / rust-surface (push) Failing after 19s
CI Pipeline / go-surface (push) Failing after 20s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / type-check (push) Canceled after 26s
CI Pipeline / canary (push) Canceled after 41s
Auto-version and Release / release (push) Canceled after 45s
CI Pipeline / lint (push) Canceled after 46s
CI Pipeline / unit-tests (push) Canceled after 46s
deploy / deploy (push) Canceled after 26s
2026-10-13 07:34:54 +01:00
Nick a0d0215ee0 feat(meaningful_events): port to FULL Rust — dichotomy wave
Language verdict: RUST per docs/language-dichotomy-ledger.md (Law 4 —
deterministic trigger evaluation; the wall CLOCK is host-side by nature
(now passed per op, never null across FFI)).

- me_should_fire/me_fire_due/me_mark_fired doc-envelope FFI (me_*
  symbols; free via capability_scoring cs_free_string — no free
  re-export); me_loader mirroring broker_loader.py.
- Facade delegation with RUNE_ME_CORE=python pin; kernel floor on any
  kernel error; INT now keeps the Python floor in mark_fired (the
  oracle stores the value as-is; the kernel wire is float).
- Python laws replicated exactly: decision ordering (unknown → stop →
  absent → rate → fires), state truthiness (0/''/null are absent),
  falsy last_fired → 0, STRICTLY-LESS rate gate (equal fires),
  Python int() truncation toward zero INSIDE the reason string,
  fire_due in table (insertion) order, mark_fired shallow-copy with
  unknown-trigger recording.
- 96-case frozen oracle truth (RUNE_ME_CORE=python pinned, deep-copied
  inputs, every trigger class × every branch, truncation + boundary +
  future-last cases) embedded in the crate and replayed VERBATIM by the
  branch battery; live parity 1296/1296 (96 frozen + 1200 fuzz, seed
  2479); pytest 56 passed (kernel auto) and 32 per pin BOTH ways;
  clippy -D warnings clean.
2026-10-13 07:30:18 +01:00
Nick 3ada312a35 chore(store): merge concurrent batch state (factory-gap-ltr/faf + batch-f inference_paths) 2026-10-13 07:27:33 +01:00
Nick 3612786d33 feat(build_mode): close PARTIAL gaps — dichotomy wave
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / rust-surface (push) Failing after 16s
CI Pipeline / go-surface (push) Failing after 19s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 41s
Auto-version and Release / release (push) Canceled after 47s
CI Pipeline / type-check (push) Canceled after 32s
deploy / deploy (push) Canceled after 47s
CI Pipeline / lint (push) Canceled after 46s
CI Pipeline / unit-tests (push) Canceled after 46s
Port the 12 audit-missing fns of src/rune/build_mode.py name-preserving
into the existing Go impl (contract BUILDER-2026-10-13T02:02:02Z-dad27f-
factory-gap-bm): _load_state/_save_state (ledger IO seam, buildsDir
injected), assess_complexity, and the full start_* phase-transition
family — the build-pipeline state machine frozen transition-by-transition
in declaration order via the SHARED freeze_truth harness (extended
backward-compatibly: dotted fn resolution + recv receiver rebuild for
class-based modules + the pinned clock its docstring promised, envelope
files carry frozen_now so --verify needs no env).

43 frozen cases byte-identical against the live oracle; _save_state byte
contract pinned by ledger_load_fixture.json (Python json.dump(asdict,
indent=2), phases in dict-insertion order via ledger first-occurrence);
_load_state error text pinned. Coverage 20/33 → 33/33 (audit-named).
2026-10-13 07:21:00 +01:00
Nick 2b4e0d595b chore(store): close local_tool_runtime dichotomy contract BUILDER-2026-10-13T06:10:03Z-450c18-factory-gap-ltr (parity d6cbc059, phase B f9ab75fd)
Auto-version and Release / release (push) Successful in 45s
deploy / deploy (push) Skipped
CI Pipeline / lint (push) Canceled after 0s
CI Pipeline / unit-tests (push) Canceled after 0s
CI Pipeline / go-surface (push) Canceled after 0s
CI Pipeline / rust-surface (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 0s
CI Pipeline / best-practices (push) Canceled after 0s
CI Pipeline / documentation (push) Canceled after 0s
CI Pipeline / type-check (push) Canceled after 0s
CI Pipeline / gitea-offline (push) Canceled after 0s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
2026-10-13 07:19:20 +01:00
Nick 2fd1a14ac6 chore(store): close failure_auto_filer dichotomy contract BUILDER-2026-10-13T05:56:22Z-3258b3-factory-gap-faf (feat 5cadd401, phase B 8aa48134)
CI Pipeline / best-practices (push) Successful in 7s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / rust-surface (push) Failing after 14s
CI Pipeline / go-surface (push) Failing after 17s
CI Pipeline / gitea-offline (push) Successful in 17s
Auto-version and Release / release (push) Successful in 43s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / lint (push) Canceled after 49s
deploy / deploy (push) Canceled after 55s
CI Pipeline / canary (push) Canceled after 50s
CI Pipeline / unit-tests (push) Canceled after 58s
CI Pipeline / type-check (push) Canceled after 46s
2026-10-13 07:18:27 +01:00
Nick 251fa36df1 feat(inference_paths): port to Go — dichotomy wave
LEDGER VERDICT: GO (docs/language-dichotomy-ledger.md) — the journal
write is I/O-bound file IO (decision tree: I/O-bound → Go) and the
census is simple counting over a static table (Laws 3/7: simple
operations stay in the caller's language; FFI overhead would exceed
the compute benefit — the census_report fold is ~16 increments).

parity: every public function of inference_paths ported — the CENSUS
table (all 16 call sites, insertion order preserved, notes verbatim),
trace_side_path's record shape (schema_version 1, kind side_path,
module/function/model/task_id/duration_ms, at) with the no-clock law
(`at` is a kernel argument — the oracle renders it via
time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()); the freeze pins
time.gmtime), and census_report (total / by_kind fold / the EXCLUDED
list with documented reasons). Boundary law: the JOURNAL attempt
(rune.inference_trace import + record_trace + the journaled flag)
stays in the Python facade — the Go kernel owns the record shape and
the report. ORACLE DIVERGENCE NOTE (observable behavior pinned, not
fixed): the oracle's journal path is currently dead — InferenceTrace's
signature drifted (requires resolved_context_window/input_budget/
model_calls; the oracle passes prompt_tokens/output_tokens/cost), so
trace_side_path ALWAYS returns journaled=False via the except branch.
The frozen truth records that faithfully; the facade keeps its own
float duration_ms (Python renders 0.0 where Go marshals 0 — the
battery compares semantically). Journal attempts in the battery write
to throwaway temp dirs, never the real journal. gen_inference_paths_
truth.py freezes 7 cases (record defaults/full/zero/float/empty +
journal-failure branch + full census report); replay mode re-verifies
the live oracle 7/7. Go battery: go test replays truth.json VERBATIM +
the `inference-paths replay` CLI — 7/7; gofmt clean, go vet clean;
test_inference_paths.py 6/6 (no Python-side delegation pin — Go ports
are standalone per recall-uplift precedent).
2026-10-13 07:01:40 +01:00
Nick d6cbc05951 feat(local_tool_runtime): close PARTIAL gaps — dichotomy wave
Name-preserving 1:1 port of the 22 functions the audit named missing
against the src/rune/local_tool_runtime.py oracle: _find_capability_executor,
_extract_context_length, context_length, reset_context_length_cache,
supports_tools, supports_thinking, _positive_int, _model_capabilities,
resume, approve, reject, _expose_tools, _deduplicate, _tool_message,
_event_to_state, _event_from_state, _request_to_state, _request_from_state,
_with_fallback_prompt (plus _post/_model_capabilities-side context caching
and the tool-protocol validation/spans core the loop needs). IO sits behind
injectable seams (PostFunc, LoopTransport, ToolExecutor, cloud/local
transport constructors, RecordFailure, ResetDiscoveredWindows, ParamOrder).

Frozen truth: scripts/gen_local_tool_runtime_truth.py exercises every
branch against the LIVE oracle with deep-copied inputs; truth.json
(embedded, byte-deterministic) replays 96 rows in Go — full envelopes,
chat payloads, executor calls, pending states. Documented divergences:
Python bool-sub-int quirk in _extract_context_length (Go rejects bools),
uuid call_ids in text-fallback envelopes (wildcard-matched), exception
TYPE names (message parity only).

Audit: local_tool_runtime 8/30 PARTIAL -> 30/30 FULL. Go: build/gofmt/vet/
-race green. Python oracle tests: 23 passed (delegation live and
RUNE_LOCAL_TOOL_RUNTIME_CORE=python pinned). Contract
BUILDER-2026-10-13T00:04:53Z-0b0047-factory-gap-ltr.
2026-10-13 07:01:01 +01:00
Nick 5cadd40157 feat(failure_auto_filer): close PARTIAL gaps — dichotomy wave 2026-10-13 06:55:59 +01:00
Nick 617d2d8ece feat(sleep_time): close PARTIAL gaps — dichotomy wave
Port the 18 missing sleep_time.py functions name-preserving to
src/go/sleep-time (kernels.go + kernel_dispatch.go) under the pure/IO
split law: deterministic cores in Go, IO (db, files, subprocess, http,
flock) behind injectable seams. 38-case branch truth (truth_gaps.json)
frozen from the live oracle with a pinned clock and deep-copied inputs,
replayed as a hard Go gate (truth_gaps_test.go) — 100% live parity on
the new fns. Wire live RUNE_SLEEP_TIME_CORE delegation in the facade
(_go_kernel JSON surface, 8 kernel call sites) with the python pin and
binary-missing fallbacks; both modes green (pytest, both ways). Go fn
coverage 8/26 -> 26/27 (the 27th is _go_kernel, the delegation glue
itself).
2026-10-13 06:49:19 +01:00
Nick 4825d17cc7 feat(memory_consolidation): close PARTIAL gaps — dichotomy wave
CI Pipeline / rust-surface (push) Failing after 20s
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / go-surface (push) Failing after 24s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / type-check (push) Canceled after 22s
Auto-version and Release / release (push) Canceled after 48s
CI Pipeline / unit-tests (push) Canceled after 46s
CI Pipeline / lint (push) Canceled after 46s
CI Pipeline / canary (push) Canceled after 47s
CI Pipeline / gitea-offline (push) Canceled after 20s
deploy / deploy (push) Canceled after 50s
Contract BUILDER-2026-10-13T02:44:35Z-411615-factory-gap-mc. The 12
audit-named missing fns ported name-preserving into
src/go/memory-consolidation (ConsolidationNow, ConsolidationMemoryOracle,
ConsolidationNeuronOracle, LoadKnowledge/SaveKnowledge/LoadLessons/
SaveLessons/LoadConnections/SaveConnections, consolidateNeuron,
consolidateMemory, getRelevantKnowledge) plus the remaining 4 stragglers
(getRelevantLessons, getRelevantConnections, formatKnowledgeForPrompt,
getStatus) — 23/23 fn coverage, audit FULL. Logic 1:1 with the Python
oracle; IO and non-portables behind injectable seams (Clock, Compressor,
EntryLookup, store paths). Truth frozen through the SHARED harness
(scripts/freeze_truth.py + scripts/mc_freeze_seams/sitecustomize.py rig:
RUNE_COGNITION_CORE/RUNE_MEMORY_CORE pinned python, frozen clock,
hermetic MC_FREEZE_HOME, module-level seam bindings so the harness can
getattr the class methods) — 41 rows, byte-identical --verify vs the
live oracle, embedded VERBATIM and replayed by the go test battery and
the binary replay gate (PARITY OK 41/41; fresh re-freeze byte-identical
= live parity 100%). gofmt/vet clean; delegation tests green live
(CC_RUST_LIB kernel, 7/7) and oracle-pinned (RUNE_COGNITION_CORE=python).
Divergence, documented: Python hash() ids are process-randomized — the
entry-none branch pins the established id_prefix/entry_none shape
(truth_constructors.json precedent) instead of a non-portable hash.
2026-10-13 06:13:25 +01:00
Nick df71beeb15 fix(verify): find -o expression needs grouping + add frozen_truth.json to truth-name set
CI Pipeline / documentation (push) Successful in 7s
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / rust-surface (push) Failing after 13s
CI Pipeline / go-surface (push) Failing after 16s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / gitea-offline (push) Canceled after 21s
CI Pipeline / canary (push) Canceled after 31s
deploy / deploy (push) Canceled after 15s
Auto-version and Release / release (push) Canceled after 37s
CI Pipeline / type-check (push) Canceled after 25s
CI Pipeline / lint (push) Canceled after 35s
CI Pipeline / unit-tests (push) Canceled after 35s
Bare 'find . -name A -o -name B' without parens skips matches
unexpectedly; pane_authority's truth file (frozen_truth.json, 26 rows)
was missed by the ungrouped expression and missing name variant.
2026-10-13 06:08:03 +01:00
Nick 922ecbb093 feat(skill_compiler): port to FULL Rust — dichotomy wave
Language verdict: RUST per docs/language-dichotomy-ledger.md (Law 4 —
deterministic hashing/assembly law; the replay CALLABLE is host-side by
nature and stays in the facade).

- sk_sequence_id/sk_candidate_skill/sk_default_step_check/sk_sandbox_
  gate/sk_promote doc-envelope FFI (sk_* symbols; free via
  capability_scoring cs_free_string — no free re-export); sk_loader
  mirroring broker_loader.py.
- Facade delegation with RUNE_SKC_CORE=python pin; kernel floor on any
  kernel error.
- Python laws replicated exactly: json.dumps(steps, sort_keys=True)
  BYTE law via pyjson::dumps_sorted + sha256[:12] (unicode, quotes,
  nested structures verified); 'evidence or {}' falsy chain; default
  shape check ('shape-ok'/'missing action'); passed=all with Python
  truthiness and VACUOUS-TRUE empty steps (missing steps key too);
  promote truthiness gate (missing/empty sandbox and passed=False all
  block).
- 33-case frozen oracle truth (RUNE_SKC_CORE=python pinned, deep-copied
  inputs, every public function + branch) embedded in the crate and
  replayed VERBATIM by the branch battery; live parity 1624/1624 (24
  frozen + 1600 fuzz, seed 2479); pytest 21 passed BOTH ways
  (RUNE_SKC_CORE=python and auto); clippy -D warnings clean.
- Documented edge (not in corpus): integral float step values round-
  trip as '3' through pyjson where Python would hash '3.0' — replay
  scripts carry dict/list/str/int by construction.
2026-10-13 05:50:34 +01:00
Nick b278437a77 feat(state_checkpoint): port to FULL Rust — dichotomy wave 2026-10-13 05:49:05 +01:00
Nick 29e7947282 feat(audit): FULL-based headline per Nick directive — progress measured in finished modules
CI Pipeline / documentation (push) Successful in 8s
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / rust-surface (push) Failing after 13s
CI Pipeline / go-surface (push) Failing after 16s
CI Pipeline / gitea-offline (push) Successful in 17s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / lint (push) Canceled after 35s
CI Pipeline / unit-tests (push) Canceled after 35s
CI Pipeline / canary (push) Canceled after 36s
CI Pipeline / type-check (push) Canceled after 30s
Auto-version and Release / release (push) Canceled after 39s
deploy / deploy (push) Canceled after 26s
Headline is now module-based: FULL/total (22% — 43/192), function-level
demoted to secondary detail. Mixing complete and in-flight work in one
number flatters progress; FULL is the only honest denominator.
PARTIAL rising is the funnel filling (NOT TOUCHED -> PARTIAL on landing),
not completion stalling — FULL went 42->44 in the same window.
2026-10-13 05:33:46 +01:00
Nick acafb72178 feat(pane_authority): port to FULL Rust — dichotomy wave
Language verdict: RUST per docs/language-dichotomy-ledger.md (Law 4 —
pure deterministic classification/apply law; no I/O, no clock, the
whole module crosses FFI).

- pa_classify_utterance/pa_apply_to_task doc-envelope FFI (pa_* symbols;
  free via capability_scoring cs_free_string — no free re-export);
  pa_loader mirroring broker_loader.py.
- Facade delegation with RUNE_PA_CORE=python pin; kernel floor on any
  kernel error.
- Python laws replicated exactly: (text or "") null law, control
  first-word OR '{verb} the task'/'{verb} everything' substring law,
  phrase-match verb="stop" law (even when the phrase matched a
  different control word), status = verb+"ped" unless pause (the
  oracle's 'cancelped' quirk frozen verbatim, not corrected), CHAT
  amendment promotes visibly (needs_confirm=True), WORK amendment sets
  directive, dict(task) shallow-copy semantics.
- 26-case frozen oracle truth (RUNE_PA_CORE=python pinned, deep-copied
  inputs, every public function + branch) embedded in the crate and
  replayed VERBATIM by the branch battery; live parity 826/826 (26
  frozen + 800 fuzz, seed 2479); pytest 19 passed BOTH ways
  (RUNE_PA_CORE=python and auto); clippy -D warnings clean.
2026-10-13 04:39:11 +01:00
Nick 14805261d2 feat(outcome_utility): port to FULL Rust — dichotomy wave (batch-h)
Language verdict (docs/language-dichotomy-ledger.md): RUST — Law 4/W6:
deterministic scoring/clamping compute (utility caps, floors, bounded
decay); no I/O, pure decision math.

- src/rust/outcome_utility: doc-envelope FFI (ou_apply_outcome,
  ou_apply_stale, ou_retrieval_alone, ou_record_verified_outcome,
  ou_free_string); frozen-truth battery embedded (battery.rs) — 97
  frozen-oracle cases replayed VERBATIM, bit-exact.
- src/rune/ou_loader.py: ctypes loader mirroring broker_loader.py;
  RUNE_OU_CORE=python pin honored inside the loader.
- src/rune/outcome_utility.py: facade delegation; the utility TABLE
  stays Python (storage in the caller's language); RUNE_OU_CORE=python
  pins the oracle floor.
- scripts/gen_outcome_utility_truth.py: frozen corpus generator
  (poisoned-truth law: oracle-only, deep-copied inputs, all branches).
- tests/test_outcome_utility_port.py: frozen replay VERBATIM, pin
  probe, facade delegation, oracle sanity, seeded live-parity sweep
  (500 rounds, seed 2479) — parity 100%.

Verification: cargo test green (97/97 frozen), cargo clippy -D
warnings 0, pytest 6/6 both pins, ruff clean.
Contract BUILDER-2026-10-13T00:04:22Z-4156e1-factory-batch-h
(builder=factory-batch-h) — building.
2026-10-13 04:28:57 +01:00
Nick 678b390cb9 chore(store): close persona_gate dichotomy contract BUILDER-2026-10-13T02:46:21Z-e4c445-factory-gap-pg (parity 0b77dce2, phase B bddc981c)
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / documentation (push) Successful in 7s
CI Pipeline / rust-surface (push) Failing after 14s
CI Pipeline / go-surface (push) Failing after 17s
CI Pipeline / gitea-offline (push) Successful in 21s
Auto-version and Release / release (push) Successful in 37s
CI Pipeline / type-check (push) Failing after 51s
CI Pipeline / lint (push) Failing after 1m10s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 2m6s
CI Pipeline / unit-tests (push) Canceled after 2m11s
deploy / deploy (push) Canceled after 1m55s
2026-10-13 04:27:14 +01:00
Nick 2b87a88aa2 feat(factory): mechanical layer-7 connection checks in verify script
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 3s
CI Pipeline / rust-surface (push) Failing after 15s
CI Pipeline / go-surface (push) Failing after 18s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
deploy / deploy (push) Canceled after 26s
CI Pipeline / type-check (push) Canceled after 31s
CI Pipeline / canary (push) Canceled after 44s
Auto-version and Release / release (push) Canceled after 45s
CI Pipeline / unit-tests (push) Canceled after 45s
CI Pipeline / lint (push) Canceled after 45s
- 7a/7b language-dependent: Rust = ctypes loader exists per facade import
  (abbreviated stems: subsystem_health -> sh_loader); Go = go build +
  exec/service connection (Go kernels are services by verdict, no .so).
- 7c: battery must reference the truth FILE (catches self-generated truth).
- 7d: CI gate presence check.
- WARN is now neutral (was incrementing FAIL — a pre-existing bug).
Verified green on both a known-good Rust landing (subsystem_health 8 PASS)
and Go landing (forge 7 PASS).
2026-10-13 04:11:00 +01:00
Nick 0b77dce264 feat(persona_gate): close PARTIAL gaps — dichotomy wave 2026-10-13 03:45:08 +01:00
Nick cdf8ca9cfa chore(store): close execution_trace dichotomy contract BUILDER-2026-10-13T00:42:49Z-0b35b2-factory-batch-g (parity 4bda61cd, phase B f67f51e7)
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 10s
CI Pipeline / rust-surface (push) Failing after 17s
CI Pipeline / go-surface (push) Failing after 21s
CI Pipeline / gitea-offline (push) Successful in 26s
Auto-version and Release / release (push) Successful in 47s
CI Pipeline / type-check (push) Failing after 1m3s
CI Pipeline / lint (push) Failing after 1m26s
CI Pipeline / canary (push) Failing after 3m41s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / unit-tests (push) Canceled after 11m11s
deploy / deploy (push) Canceled after 10m50s
2026-10-13 03:40:15 +01:00
Nick e978510b0b feat(project_registry): port to FULL Rust — dichotomy wave 2026-10-13 03:22:54 +01:00
Nick 4bda61cdc5 feat(execution_trace): port to FULL Rust — dichotomy wave
Language verdict: RUST per docs/language-dichotomy-ledger.md (W6 law —
deterministic record assembly with many fields; the journal FILE I/O
stays host-side per Law 7, the parse + receipt-assembly laws cross FFI).

- et_read_outcome_events/et_build_receipt/et_trace_task doc-envelope FFI
  (et_* symbols; free via capability_scoring cs_free_string — no free
  re-export); et_loader mirroring broker_loader.py.
- Facade delegation with RUNE_ET_CORE=python pin; kernel floor on any
  kernel error.
- Python laws replicated: malformed-line skip, falsy task_id skip,
  duplicate task_id last-wins, assigned_model→payload.model falsy
  chain, payload-status-key-present (even null) law, completed_at
  fallback, task_record or {task_id} falsy replacement, None-None→null.
- Fuzz divergence caught pre-landing: the oracle CRASHES (AttributeError)
  on non-object journal lines ([1,2], 5, "x") — kernel now errors
  (AttributeError envelope) so the facade reproduces the oracle crash
  identically instead of silently skipping.
- 20-case frozen oracle truth (RUNE_ET_CORE=python pinned, deep-copied
  inputs, every public function + branch) embedded in the crate and
  replayed VERBATIM by the branch battery; live parity 820/820 (20
  frozen + 800 fuzz, seed 2479); pytest 24 passed BOTH ways
  (RUNE_ET_CORE=python and auto); clippy -D warnings clean.
2026-10-13 03:06:44 +01:00
Nick 278b389ca8 chore(store): register batch-g dichotomy contracts (execution_trace, pane_authority, skill_compiler, meaningful_events) — verifying 2026-10-13 03:06:44 +01:00
Nick 29ce279702 feat(drift_resume): port to FULL Rust — dichotomy wave
parity: every public function of drift_resume ported branch-for-branch —
classify_drift (the 'matches is True' / 'matches is None' IDENTITY
checks — truthy non-True falls through to reality-differs; missing key
and explicit null both mean unverifiable), the stale_ok/user_locked
truthiness lattice, Python str() evidence renderings (str(None)='None',
str(True)='True', ints bare) with dict.get defaults applying ONLY on a
missing key (present-empty renders verbatim, present-null renders
'None'); reconcile (observer stays in the Python facade — the kernel
receives the observations; blocking-class filter preserves drift order,
resume = no blocking); detect_structural_drift (§18H: component filter,
the ext→identities falsy-source or-chain, identities.user_locked 'is
True' lock — truthy non-True is NOT locked, the exists check treats a
DIRECTORY source as present, moved-twin = first basename match over the
facade's sorted relative-path listing — unique-basename scenarios make
the oracle's rglob-first-match order-independent, evidence +
reconciliation strings exact). Replaces the old 11-line resume_state
stub crate (no consumers). Boundary law: the observer callable and the
filesystem walk stay in the facade; the kernel is a pure function of
their results. dr_loader mirrors dc_loader (doc-envelope FFI,
cs_free_string, DR_RUST_LIB override); facade delegation with
RUNE_DR_CORE=python pin. Battery: 3 tests replay 35 frozen-oracle cases
VERBATIM (include_str!). Live parity 35/35 facade + 35/35 kernel;
clippy 0; test_drift_resume + the §18H held-out suites green live AND
pinned (the one pre-existing failure on master, evidence_provenance
ep_loader FileNotFoundError, is unrelated to this module).
2026-10-13 02:51:26 +01:00
Nick 7b86d15e67 chore(factory): commit spawn gate + verify script + ladder doc + claims
CI Pipeline / documentation (push) Successful in 9s
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / rust-surface (push) Failing after 14s
CI Pipeline / go-surface (push) Failing after 17s
CI Pipeline / gitea-offline (push) Successful in 16s
Auto-version and Release / release (push) Successful in 34s
CI Pipeline / type-check (push) Failing after 45s
CI Pipeline / lint (push) Failing after 1m4s
CI Pipeline / canary (push) Failing after 2m12s
deploy / deploy (push) Failing after 15m41s
CI Pipeline / unit-tests (push) Failing after 17m4s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Failing after 4s
These lived untracked since 2026-10-11 — nearly lost to a stash drop.
Factory law files belong on master. Claims: 42 landed, 32 in_flight.
2026-10-13 02:06:45 +01:00
Nick 379409b5b6 feat(factory): shared freeze_truth.py harness — one law for oracle truth freezing
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 9s
CI Pipeline / rust-surface (push) Failing after 14s
CI Pipeline / go-surface (push) Failing after 18s
CI Pipeline / gitea-offline (push) Successful in 17s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / lint (push) Canceled after 36s
CI Pipeline / unit-tests (push) Canceled after 36s
CI Pipeline / canary (push) Canceled after 36s
Auto-version and Release / release (push) Canceled after 37s
CI Pipeline / type-check (push) Canceled after 29s
deploy / deploy (push) Canceled after 25s
Pinned-core, no-clock, deep-copy, verbatim-embedding conventions in ONE
place. Includes --verify mode: re-freeze from live oracle and byte-compare
against the frozen file (catches self-consistent misreads at tick time).
Smoke-tested against rune.work_manager.
2026-10-13 01:40:18 +01:00
Nick 2c2b2b5a16 fix(audit): concatenate Go+Rust corpus per module (no side shadowing) + classify *_loader family and ffi smoke harness as FFI machinery
CI Pipeline / type-check (push) Canceled after 0s
CI Pipeline / gitea-offline (push) Canceled after 0s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
deploy / deploy (push) Canceled after 0s
Auto-version and Release / release (push) Canceled after 39s
CI Pipeline / canary (push) Canceled after 43s
CI Pipeline / go-surface (push) Canceled after 43s
CI Pipeline / best-practices (push) Canceled after 43s
CI Pipeline / lint (push) Canceled after 43s
CI Pipeline / rust-surface (push) Canceled after 52s
CI Pipeline / unit-tests (push) Canceled after 52s
CI Pipeline / documentation (push) Canceled after 52s
- verification_layer was miscounted NOT TOUCHED: the Rust stub crate
  shadowed the full Go port in the corpus. Concatenate both sides.
- The *_loader family is the programme's own ctypes delegation glue
  (strangler-fig stage-3 burn, same category as dunders) — machinery,
  not port surface. ffi_query_memory_smoke is a smoke harness (TEST).
- Honest counts: 46% (1083/2366) | 40 FULL | 98 PARTIAL | 54 NOT TOUCHED.
2026-10-13 00:08:35 +01:00
Nick 14325d34c6 feat(subsystem_health): port to FULL Rust — dichotomy wave 2026-10-12 19:43:53 +01:00
Nick d15a9f26c4 chore(store): register intent_continuity dichotomy contract BUILDER-2026-10-12T18:32:30Z-386148-factory-batch-b (verifying) 2026-10-12 19:36:58 +01:00
Nick 008f02984d feat(intent_continuity): port to FULL Rust — dichotomy wave 2026-10-12 19:35:22 +01:00
Nick 08187fd2ea feat(rune_profiler): port to FULL Rust — dichotomy wave 2026-10-12 19:27:21 +01:00
Nick 2d7df37a4f chore(store): register recall_uplift dichotomy contract BUILDER-2026-10-12T18:04:15Z-710b89-factory-batch-b (verifying) 2026-10-12 19:09:00 +01:00
Nick 4369c1a54e feat(subconscious_pass): port to FULL Rust — dichotomy wave 2026-10-12 19:07:02 +01:00
Nick 85a965e993 feat(recall_uplift): port to FULL Rust — dichotomy wave 2026-10-12 19:06:44 +01:00