fix(ci): re-pin public_demo lane SHA after showcase content drift (#807)
Gate A1 and related cognition-path changes shifted the showcase determinism fingerprint (86db25b6…) while the lane pin still reflected the pre-drift artifact (e323adb3…). Re-pin to the CI-verified SHA 2895df08… and refresh v1_dev.json + CLAIMS.md. Hermetic demo hygiene: use no_load_state for register-tour, learning- loop, and multi-hop showcase adapters, and isolate CORE_ENGINE_STATE_DIR in the public_demo lane runner so local engine_state/ pollution cannot affect eval output or wall-clock.
This commit is contained in:
parent
99fb14e1ef
commit
7e1951915a
7 changed files with 18 additions and 7 deletions
|
|
@ -39,7 +39,7 @@ is a CI failure (`.github/workflows/lane-shas.yml`).
|
|||
| ADR-0095 | `miner_loop_closure` | Miner-sourced proposals route through single reviewed teaching path | `evals/miner_loop_closure/results/v1_dev.json` | `9f071733abe7dcacf759f928548ce738fb639af3fd6e4c621a651b306d7e77ce` |
|
||||
| ADR-0096 | `fabrication_control_summary` | Phantom endpoints / cross-pack non-bridges / sibling collapses refuse | `evals/fabrication_control/results/v1_summary.json` | `01e1b6b711141f2b4a14551d7df3ea482d8d6dd7b364a25c509f4f8d08cda8a8` |
|
||||
| ADR-0098 | `demo_composition` | Demos compose from shipped modules; no parallel mechanism | `evals/demo_composition/results/v1_dev.json` | `3a3d09f3a87462737e615c2dd3481b9e13e5ff8fadee0043c37873494ded556d` |
|
||||
| ADR-0099 | `public_demo` | Public showcase runs deterministically under 30s; all claims supported | `evals/public_demo/results/v1_dev.json` | `e323adb35ea17987991395424c603ff93bca08c11bc2713bd9f6338e86bb269f` |
|
||||
| ADR-0099 | `public_demo` | Public showcase runs deterministically under 30s; all claims supported | `evals/public_demo/results/v1_dev.json` | `2895df080b91618aefc2df407c637ff419fbb6dae33233c90262688c103411ea` |
|
||||
| ADR-0104 | `curriculum_loop_closure` | Curriculum-sourced proposals route through single reviewed teaching path | `evals/curriculum_loop_closure/results/v1_dev.json` | `b46d56b2d209172cc3ffaf3776dc8dcfe55093f13587c5cb67372be6dfa23e8d` |
|
||||
| ADR-0131 | `math_teaching_corpus_v1` | Math teaching corpus replays deterministically; all chains pass exit criterion (correct_rate=1.0, wrong=0) | `evals/math_teaching_corpus/v1/report.json` | `eaf160d145da29f9050ede8d58bf111b0f651dd40aeae9201857d0b97e014dd4` |
|
||||
| ADR-0206 | `deductive_logic_v1` | Propositional entailment scored against an independent truth-table oracle; dev+holdout+external 716/716 correct, wrong=0, refused=0 | `evals/deductive_logic/report.json` | `97a230949016e38d5e3f37a69e4245b320575ee70e5af92ff7607f7b05f74b5f` |
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ class MultiHopTraceDemo:
|
|||
transitive_surface=True,
|
||||
composed_surface=True,
|
||||
)
|
||||
runtime = ChatRuntime(config=config)
|
||||
runtime = ChatRuntime(config=config, no_load_state=True)
|
||||
response = runtime.chat(self.prompt)
|
||||
|
||||
surface = response.surface or ""
|
||||
|
|
|
|||
|
|
@ -387,7 +387,7 @@ def _scene5_replay_now_grounded(transient: Path) -> SceneResult:
|
|||
_tg._CORPUS_PATH = transient # type: ignore[assignment]
|
||||
_tg.TEACHING_CORPORA = swapped_specs # type: ignore[misc]
|
||||
_tg.clear_teaching_caches()
|
||||
rt2 = ChatRuntime()
|
||||
rt2 = ChatRuntime(no_load_state=True)
|
||||
response = rt2.chat(_DEMO_PROMPT)
|
||||
finally:
|
||||
_tg._CORPUS_PATH = real_path # type: ignore[assignment]
|
||||
|
|
@ -440,7 +440,7 @@ def run_demo(*, emit_json: bool = False) -> dict[str, Any]:
|
|||
_VERBOSE = not emit_json
|
||||
|
||||
active_bytes_before = _active_bytes()
|
||||
rt = ChatRuntime()
|
||||
rt = ChatRuntime(no_load_state=True)
|
||||
sink = _BufferSink()
|
||||
rt.attach_discovery_sink(sink)
|
||||
rt.attach_contemplation(enabled=True)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
{
|
||||
"case_id": "determinism_run_to_run_byte_equality",
|
||||
"details": {
|
||||
"sha256": "a78769179151c9825e7989c51ae21df0172a8e2d5e8a146e766ba1f60250bb21"
|
||||
"sha256": "86db25b63152567cd5ff685be5f0a6c90d10f423ea69f210ef9b47e36d20ceba"
|
||||
},
|
||||
"divergence": null,
|
||||
"passed": true
|
||||
|
|
|
|||
|
|
@ -180,8 +180,16 @@ def _fail(case_id: str, divergence: str) -> dict[str, Any]:
|
|||
|
||||
|
||||
def run() -> dict[str, Any]:
|
||||
import os
|
||||
|
||||
from core.demos.showcase import run_showcase
|
||||
|
||||
# Hermetic lane: demos must not load the developer's lived engine_state/.
|
||||
os.environ.setdefault(
|
||||
"CORE_ENGINE_STATE_DIR",
|
||||
tempfile.mkdtemp(prefix="public_demo_engine_state_"),
|
||||
)
|
||||
|
||||
tmp_root = Path(tempfile.mkdtemp(prefix="public_demo_lane_"))
|
||||
try:
|
||||
run_a = run_showcase(output_dir=tmp_root / "run_a")
|
||||
|
|
|
|||
|
|
@ -92,7 +92,10 @@ def _print_header() -> None:
|
|||
|
||||
def _run_one_register(register_id: str) -> list[dict[str, Any]]:
|
||||
"""Run the prompt sequence under ``register_id`` and return per-cell records."""
|
||||
runtime = ChatRuntime(config=RuntimeConfig(register_pack_id=register_id))
|
||||
runtime = ChatRuntime(
|
||||
config=RuntimeConfig(register_pack_id=register_id),
|
||||
no_load_state=True,
|
||||
)
|
||||
pipeline = CognitiveTurnPipeline(runtime=runtime)
|
||||
cells: list[dict[str, Any]] = []
|
||||
for prompt in _PROMPTS:
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ PINNED_SHAS: dict[str, str] = {
|
|||
"domain_contract_validation": "98ace04e3f02bbc5a8ad655bb6593c3f1ee64cb67014f1122fe6c3c85f48d22f",
|
||||
"fabrication_control_summary": "01e1b6b711141f2b4a14551d7df3ea482d8d6dd7b364a25c509f4f8d08cda8a8",
|
||||
"demo_composition": "3a3d09f3a87462737e615c2dd3481b9e13e5ff8fadee0043c37873494ded556d",
|
||||
"public_demo": "e323adb35ea17987991395424c603ff93bca08c11bc2713bd9f6338e86bb269f",
|
||||
"public_demo": "2895df080b91618aefc2df407c637ff419fbb6dae33233c90262688c103411ea",
|
||||
"math_teaching_corpus_v1": "eaf160d145da29f9050ede8d58bf111b0f651dd40aeae9201857d0b97e014dd4",
|
||||
"deductive_logic_v1": "97a230949016e38d5e3f37a69e4245b320575ee70e5af92ff7607f7b05f74b5f",
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue