2eb3227ad0ec57fb259d12f754a183dfafb94de2
6
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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. |
||
|
|
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. |
||
|
|
c0ec3135c6 |
feat(drift_ledger): port remaining cores to FULL Rust — dichotomy wave
DICHOTOMY VERDICT (dichotomy law, #2479 tranche): drift_ledger's
deterministic cores complete their Rust port in src/rust/drift_ledger —
the check() alert loop (anchor-vs-snapshot baseline, the constitution's
ANY-content-change strict check, max(prev_size,1) floor, pct/limit
round-3 with Python ties-to-even semantics, root-cause diff per alert),
snapshot/anchor entry assembly (size = the oracle's len() CHARACTER count),
the auto-fix routing and the retroactive fix() gate. SQLite store IO
(read_block/restore_topic) and file IO (load/save ledger, journal,
surface_alert) stay facade seams by design — the clock travels in the
doc envelope.
Wiring: dl_loader.py grows dl_ledger_path/dl_snapshot_entry/
dl_anchor_record/dl_check_alerts/dl_fix_decision (doc-envelope FFI,
oracle-verbatim dict unwrap, free via capability_scoring cs_free_string
— no free symbol re-export); facade delegation in drift_ledger.py with
the RUNE_DL_CORE=python pin and byte-identical python fallbacks.
Truth: scripts/gen_drift_ledger_truth.py freezes 87 cases from the live
oracle across EVERY public function and branch (sha, diff caps/truncation,
ledger path joins, load/save ledger bytes, store read filters and order,
journal/surface_alert file formats, snapshot/anchor/check/auto_fix/fix
end-to-end flows with frozen clock, restore_topic directive preservation
+ priority map, handle_hook, main CLI exits, and the kernel-level
k_snapshot/k_anchor/k_alerts/k_auto_fix/k_fix groups) — battery 8 tests
replay it VERBATIM; live parity 87/87 byte-identical under RUNE_DL_CORE=auto.
Audit instrument fixes (bug-first, with proof): module_to_keys now maps
hyphenated legacy twins to their underscore implementation (drift-ledger.py
— the same ledger — was scored NOT TOUCHED against an empty corpus) and
curator gains its curator-core alias (a FULL Go port since
|
||
|
|
4649df1ccc |
feat(construction_patterns_builtin): port to FULL Rust — dichotomy wave
RUST verdict (dichotomy law, #2479 tranche): construction_patterns_
builtin.py's registry surface is ported to src/rust/construction_
patterns_builtin — the four builtin pattern docs (capability-module-
adaptation, release-deployment-change, ui-tui-structural-change, store-
schema-evolution) served verbatim from frozen_cpb_patterns.json (deep-
copied from the live oracle's to_dict() output incl. __init__-sorted
provenance order), PATTERN_REGISTRY_REVISION, and get_pattern's full
branch set (hit per pattern_id, unknown/empty-id miss -> None, revision
match passthrough, revision mismatch with the oracle's exact ValueError
message).
Wiring: cpb_loader.py ctypes loader mirroring cs_loader.py/broker_
loader.py (doc-envelope FFI cpb_registry_revision/cpb_patterns/cpb_
get_pattern, free via capability_scoring cs_free_string — never
re-exported, CPB_RUST_LIB override), facade delegation in construction_
patterns_builtin.get_pattern with RUNE_CPB_CORE=python fallback pin and
strangler fallback to the Python registry when the .so is absent.
Truth: frozen_cpb_truth.json — 17 cases from the live oracle (deep-
copied inputs, RUNE_CPB_CORE=python pinned, every public fn and every
branch incl. all four patterns and the revision-mismatch raise),
replayed VERBATIM by the in-crate cfg(test) branch battery. Live parity
check (scripts/check_cpb_parity.py): 16/16 facade + kernel-surface
cases. clippy: 0 warnings. Consumer suites green (test_construction_
pattern 30, project_build_lifecycle, provider_ownership).
Audit fix (fix-first with proof): dichotomy_audit.py now aliases
curator -> curator-core (ported FULL Go in
|
||
|
|
55ad089c3f |
feat(spine): port to FULL Rust — dichotomy wave
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
CI Pipeline / best-practices (push) Canceled after 3s
CI Pipeline / rust-surface (push) Canceled after 13s
Auto-version and Release / release (push) Canceled after 19s
deploy / deploy (push) Canceled after 20s
CI Pipeline / go-surface (push) Canceled after 16s
CI Pipeline / canary (push) Canceled after 16s
CI Pipeline / unit-tests (push) Canceled after 21s
CI Pipeline / lint (push) Canceled after 21s
Facade kernels ported to the rune_spine Rust core (RUST verdict, issue #2479 tranche, contract BUILDER-2026-10-11T08:06:21Z-1a7a76-factory-wave): - sf_sorted/sf_save_text/sf_entity/sf_declared_surfaces/ sf_project_meta_surfaces/sf_ingest_umbrellas_data FFI via doc-envelope - facade delegation wired (RUNE_SPINE_CORE=python pins the strangler fallback; entity returns the live dict to preserve mutation semantics) - REAL divergence fixed pre-wiring: the Rust ingest refusal message was missing the oracle's exact text; battery caught the save redaction boundary (spine.save does NOT redact — that is structural_store.save) - battery: 26 frozen-oracle cases replayed verbatim in-crate (45/45 crate tests, clippy clean); live parity 26/26 vs the Python oracle - 135 spine-adjacent Python tests green (delegation live); pinned fallback mode identical to pre-batch behavior - dichotomy audit: spine 5/30 -> 20/35 functions matched (rune_spine crate registered in the alias table) Dichotomy verdict: spine PARTIAL — pure kernels Rust-authoritative; gather/IO and _py_* fallback oracles stay Python by the zero-dep split law. |
||
|
|
40a2f58fad |
feat(scripts): dichotomy_audit.py — standing function-level completion instrument
Replaces the one-off audit with a re-runnable instrument: per-module AST function extraction, name-preserving matching against Go/Rust sources, FULL/PARTIAL/NOT-TOUCHED verdicts with missing-function naming. Current honest measure: 13% function-level (290/2225 fns; 7 FULL / 50 PARTIAL / 121 NOT TOUCHED) — the true queue, regenerated with --write after every wave. |