swayfx-mosaic/tooling/probes/step20c-static-runtime-followup/README.md

4.2 KiB
Raw Permalink Blame History

Static focus/input/standard-return fixture

EXPERIMENTAL / FROZEN HISTORICAL FAILURE. No production integration. Read the protocol. The previous static campaign remains sealed and is never replayed.

This fixture creates one campaign-owned LAB outside Git, copies the hash-qualified static compositor unchanged and rebuilds only three historical C17 clients from manifest-verified source/generated protocols. The old client executables were not manifest entries, so their observed hashes are contextual only. An exclusive ~/swayfx-mosaic-static-followup-v1.owner file binds the campaign to one LAB. Never delete/reset it, its ledger, or replace the LAB to retry.

Offline checks before launch:

PYTHONDONTWRITEBYTECODE=1 python tooling/probes/step20c-static-runtime-followup/test-budget.py
PYTHONDONTWRITEBYTECODE=1 python tooling/probes/step20c-static-runtime-followup/test-offline.py

Historical commands, preserved for provenance only — DO NOT execute prepare.py or run.py again; the historical budget is exhausted:

PYTHONDONTWRITEBYTECODE=1 python tooling/probes/step20c-static-runtime-followup/prepare.py
# Use the printed LAB path; execute the retained exact fixture copy there.
PYTHONDONTWRITEBYTECODE=1 python "$LAB/fixture/run.py" "$LAB"
PYTHONDONTWRITEBYTECODE=1 python tooling/probes/step20c-static-runtime-followup/collect.py "$LAB"

The flock ledger reserves run, PNG, named click, camera and pointer moves before execution. No refund/reset. Runtime is private mode 0700; all swaymsg use explicit -s, child environments discard inherited desktop sockets. Only owned process groups are stopped. The deadline is 150 seconds, per-log bound 64 MiB. Sources, raw protocol/client/scene logs, PNGs, IPC snapshots, timestamps, serials, exit codes and result manifests stay external. The collector creates manifests once; verification is read-only with collect.py "$LAB" --verify.

Reference border none is applied to its measured con_id, never to the shared App ID (which also identifies the H1 filler). H2 full RGB must be identical before input; no crop/tolerance. Clicks use measured painted interiors. The standard-return command explicitly targets the H1 con_id after H2 gains focus. Popup tests and native output-buffer/PNG identity remain NOT TESTED.

The protocol describes independent source reconstruction for a future authorized campaign if historical binaries disappear. Do not silently rebuild or substitute the compositor in this campaign. Historical LAB paths identify retained evidence, not a permanent production dependency.

Actual execution — no retry permitted

LAB /home/fy59/swayfx-mosaic-static-followup-nhwejz6u, run consumed. Verdict INCONCLUSIVE, architecture UNDECIDED. The runner stopped before the first PNG because it incorrectly required current_border_width=0 after border none. Actual IPC had border none, stored width 2, empty deco_rect and 800×600 window_rect. The filler retained normal decorations; target/workspace 1 were focused. The source confirms that border none changes the border enum, not stored thickness. This is a fixture defect, not an observed rendered border.

The executed runner is intentionally unchanged, including the erroneous predicate. It is historical experimental source, not a validated replay harness. A future authorized campaign must correct that semantic check and add its regression before a separately budgeted run; this campaign may not be resumed or repeated. No PNG, click or splith command was executed. Camera 0→160 and applied clip were observed. All principal RGB/input/standard gates remain NOT TESTED. The collector records those omissions explicitly and verifies owned-process/socket cleanup.

Freeze receipt

The preservation task verified every entry of the original 24-source and 46-evidence manifests without rewriting them. All Python files match the sealed final-fixture; run.py matches the historical executed fixture, including the invalid width assertion. Offline tests and --verify remain read-only checks of this exhausted campaign. Publication preserves INCONCLUSIVE / UNDECIDED, zero PNG and zero clicks; it does not convert the fixture into a validated runner. A new campaign uses a separate directory and budget.