- 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)
124 lines
4.8 KiB
Python
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())
|