Files
rune/scripts/admit_wave_shared_build_integrity.py
T
Nick 834eece4d7 feat(runtime+facade): batch landing — receipt presentation, compaction, composer depth, themes, Sleight wiring, gitignore hygiene, taxonomy
- K27 receipt presentation: full decision+evidence+effect packages,
  expandable sections, UNKNOWN-never-success in every dimension state,
  spine verdicts via evidence.Evaluate (read-only import)
- 2.6-depth compaction: append-per-message (O(1) tail line, 198 bytes
  steady-state), compaction every 64 appends (512/channel hot), cool
  archives per memory-continuity contract, nothing deleted, exact-by-ID
  across compaction+restart+tamper, legacy checkpoints heal on load
- K27 composer depth: 3-line input per old TUI contracts (§2.3 history
  walk, placeholder, stash/restore), deterministic natural-language
  resolution (40+ pinned phrases), palette natural-tier + ctrl+p bind,
  Accessibility profile (keyboard-only/no-color/reduced-motion)
- K27 themes: 10 fixed Go theme tables (byte-exact from Textual 8.2.8,
  not guessed; nord/dracula-default/monokai/solarized/catppuccin/tokyo-
  night/flexoki/gruvbox), /theme command (mirrors _cmd_theme exactly),
  live-editor data shape (staged per-token preview overrides), base bg
  rgb(30,30,40), no-drift drift test anchoring Go to retiring Python
- Sleight live wiring: operator._context_broker registers seventh
  contributor 'continuity' (bucket 2, fail-closed); K16 allowlist
  amended (memory_continuity.working_set); matrices now run against
  the live road; 102 tests green
- .gitignore hygiene: directory-level traps fixed (internal/ re-includes
  .go/.json/.md only; root-anchored /index/ /journal/ /state/; fixtures
  + testdata re-included at any depth); 6-test frozen gate; unified_check
  member wired; real git add (no -f) proven on testmod/internal
- Receipts, compaction, composer, themes, sleight-wiring, hygiene all
  under ADMIT contracts (101+ contracts, 0 research-gate violations)
- main.go NOT landed (chat-live P1 wave owns it, still in flight)
2026-10-17 22:00:03 +01:00

124 lines
4.8 KiB
Python

"""Admission dispatch for wave shared-build-integrity (2026-10-16).
classify + activate + admit (the headless scaffolding entry law,
scripts/admit_wave_i3_live_task_tree.py pattern): the shared-module
build-integrity gate machinery on the existing rune project, owner
directive dispatched. DECLARED EXEMPTION: the touched surface is the
gate machinery itself (unified_check / check_landing / the frozen boot
smoke test) — approved as this wave's own scope by the owner dispatch
(approval_ref below), not an ungoverned edit.
"""
import json
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src"))
from rune import construction_activation as cact # noqa: E402
from rune import construction_admission as cadm # noqa: E402
from rune import construction_mode as cmode # noqa: E402
from rune import scaffold as sc # noqa: E402
ROOT = os.path.join(os.path.dirname(__file__), "..")
OBJECTIVE = (
"close the shared-module build-integrity hole mechanically (owner "
"directive, 2026-10-16: a sibling wave's syntax error in "
"src/go/rune-entry broke the whole shared module for every other "
"wave and the user's boot because no gate built the shared module "
"before landing): (1) unified_check go_suite gains a compile-first "
"go build pass on tui and src_go_suite merges build-then-test into "
"one per-module pass where any module that fails to BUILD is RED — "
"never AMBER, never baseline-able, a sibling's in-flight state does "
"not excuse it; (2) check_landing.py runs the same sweep "
"(scripts/go_build_sweep.py, the one shared law) on the landed "
"sha's exported tree and refuses any landing that leaves a Go "
"module unbuildable (fix is always 'fix the build', never 'skip "
"the gate'); (3) a frozen pty boot smoke test in tui/cmd/rune-tui "
"boots the real face with RUNE_LIB_REPO at the repo so the entry "
"and event-bus binaries build from source, asserting the library "
"seam reaches runtime lib:connected"
)
AFFECTED = [
"scripts/go_build_sweep.py",
"scripts/unified_check.py",
"scripts/check_landing.py",
"tests/test_check_landing.py",
"tui/cmd/rune-tui/boot_smoke_test.go",
]
def main() -> int:
store = os.path.join(ROOT, "store", "scaffold")
scaffold = sc.Scaffold(store, "rune")
md = cmode.classify_mode(
OBJECTIVE,
target_project="rune",
project_exists=True,
affected_surface=AFFECTED,
)
print("classified mode:", md.mode)
need = {
"need_id": "need-wave-shared-build-integrity",
"objective": OBJECTIVE,
"origin": "worker",
"project": "rune",
"task_ref": "wave-shared-build-integrity",
"affected_surface": AFFECTED,
"evidence_refs": [
"scripts/unified_check.py",
"scripts/check_landing.py",
"tui/runtime/lib/lib.go",
"tui/cmd/rune-tui/main.go",
"AGENTS.md",
],
}
act = cact.activate(md, need=need, scaffold=scaffold,
builder="wave-shared-build-integrity")
print("activated:", act.get("activated"), act.get("mode"))
env = cadm.admit(
act,
objective=OBJECTIVE,
builder="wave-shared-build-integrity",
affected_surface=AFFECTED,
evidence_refs=need["evidence_refs"],
origin="worker",
task_ref="wave-shared-build-integrity",
expected_new_entities=[
"scripts/go_build_sweep.py (the one build law both gates run)",
"tui/cmd/rune-tui boot smoke test (frozen pty boot)",
],
expected_runtime_effects=[
"unified_check refuses to pass while any Go module (tui + "
"src/go) does not build",
"landing gate refuses landings whose landed sha leaves any "
"Go module unbuildable",
"tui test suite REDs when the library seam cannot build the "
"real rune-entry/event-bus binaries",
],
verification_obligations=[
"red-first: broken tui syntax error => go_suite RED "
"compile-first (proven: 0.6s fail-fast)",
"red-first: broken src/go module => src_go_suite RED with "
"the module named, not baseline-able",
"red-first: landed tree with unbuildable module => "
"check_landing exit 1 (tests/test_check_landing.py)",
"green: boot smoke reaches runtime lib:connected on the "
"real repo; red: broken rune-entry REDs it",
"full unified_check run recorded honestly",
],
approval_ref="user:wave-shared-build-integrity dispatch",
contract_id="ADMIT-wave-shared-build-integrity",
project_store=store,
project_id="rune",
)
print(json.dumps(env, indent=2, default=str)[:2400])
return 0 if env.get("success") else 1
if __name__ == "__main__":
sys.exit(main())