7.6 KiB
Resize port-policy falsifiers: source-only handoff
Root-owned issue16 experiment. This is a separate source-only branch, preserving the passed three-mode experiment unchanged. No policy code, root tracked inputs, compiler/Cargo, native application or Gitea was changed by this follow-up.
- Worktree:
C:/Users/User/Documents/Git/ARCADIA-Studio/.local/resize-port-falsifiers-20260912 - Branch:
codex/resize-port-falsifiers-956atf-20260912 - Base:
7e25b3d3907693cbbf03bb51b5e08b01d743a934 - Commit:
a95db10ce73d639f59eb1ec1153de26f4967881c(Add isolated resize stability and port exit falsifiers) - Only changed tracked file:
crates/oa-core/tests/experimental_port_policy_falsifiers.rs, SHA-2560a659fad3e5afcf563bacb2f10467bb2428c385ce991c1e7eb8c04207efb3255. rustfmt --edition 2024andgit diff --cached --checkpassed. Committed worktree clean. No compilation or execution has occurred. No compiler lease is held.
Question and predicted outcomes
The independent review resize-port-policy-independent-review-20260912.md predicts two regressions in the unchanged candidate. Both tests encode prospective acceptance criteria and are deliberately expected to fail; they have no should_panic/ignore wrapper. An observed failure is evidence against the candidate, not a production regression or a reason to relax the evaluator.
a_point_one_height_increase_does_not_needlessly_flip_twelve_of_twenty_ports: one owner with 20 deterministic Standard/Unset ports, each linked by a real BoundaryExchange to one distant right peer. All three policies project and route the full fixture at heights 259.9, 260, 260.1. Prediction: CapacityAware adjacent side changes[12,0], controls[0,0]. The prior assignment remains within new capacities and has nominal glyph separation. Zero changes preserve it; one move suffices to occupy the new preferred-side slot. The fixture-specific criterion allows at most one adjacent side change and preserves exact alternative rectangles. Spacing-only crowding is reported, not concealed by its stability.capacity_spillover_does_not_add_a_blocked_mandatory_stub_above_the_owner: eight ports, owner(0,0)/224×160, far peer(1908,336)/184×132, unrelated actor(0,-150)/224×132. Prediction: CapacityAware spills a port to Top(112,0)with mandatory stub(112,-18), crossing the unrelated inflated obstacle's y interval[-162,-6]; its exchange reportsNoClearPath. Controls keep Right exits and clear routes; Current grows to height232. The criterion forbids new blocked mandatory stubs or warnings while maintaining the fixed alternative rectangle.
Every Project has deterministic identities, passes actual candidate validation and canonical source roundtrip, and remains unmutated by projection/routing. Every route is checked against actual port endpoints and orthogonality. Diagnostics record each port side/position, owner bounds, side counts, minimum same-side gap, every route point/warning, total route length and bends. All policies are measured before the final prospective criterion assertion, unless a more basic fixture invariant fails.
The mandatory-stub oracle uses a separately implemented segment/slab intersection against all inflated visible nodes, excluding each port's own owner. It does not call the router's private rectangle checker or infer collision from warning text. Fixtures assert all nodes are flat, so ancestor/header exceptions do not apply. Blocked-port diagnostics link each collision to its actual exchanges and indicate whether every affected edge reported NoClearPath.
Next serialized execution
After root releases its compiler gate, use exact committed inputs, root absolute .local/toolchain/env.ps1, --locked, jobs1, and a target inside this new worktree. Do not overwrite either root native-oracle artifacts or the passed baseline target. Proposed command:
cargo test --locked --jobs 1 -p oa-core --test experimental_port_policy_falsifiers -- --nocapture --test-threads=1
Set OA_PORT_POLICY_RECEIPTS to a new absolute directory beneath the run's uniquely stamped receipt directory. Each measured frame writes canonical .arcadia, serialized actual .projection.json, and detailed .routing.txt artifacts there using create-new semantics. Reusing that directory intentionally errors instead of overwriting prior evidence. These are exact returned experimental frames suitable for a later compact render; ordinary desktop/export entrypoints remain Current. Nine threshold frames and three obstacle frames mean 36 small artifact files. Tests also print enough geometry for diagnosis when the environment variable is omitted.
Expected first run: two selected tests, two acceptance failures, with controls passing and concrete candidate counterexamples preserved. If compilation, validation, controls, endpoint or geometry premises differ, retain that result and diagnose before changing tests or policy. No counterexample has been established by execution yet. No broad allocator redesign or policy promotion is included.
Prepared standalone path, not executed
C:/Users/User/Documents/Git/ARCADIA-Studio/.local/standalone-port-falsifiers.py can avoid rebuilding the unchanged core. Helper SHA-256: 2000af782ec8cb489cfa9385b9f7da01a5df4dcaaaf6aef5847eff5661ee99c2. Python AST syntax parsing passed; the helper itself has not executed. The committed test blob hash was independently checked against the exact a95 commit. No compiler lease is held.
After root grants the next serialized lease, initialize root absolute .local/toolchain/env.ps1, then use the bundled Python with a unique label:
python .local/standalone-port-falsifiers.py build resize-falsifiers-a95db10-01
python .local/standalone-port-falsifiers.py run resize-falsifiers-a95db10-01
The build step verifies both worktree commits and tracked cleanliness, all baseline recorded source/configuration/lock inputs in both worktrees, the sole a95 diff, exact test bytes, passing baseline receipts/log hashes, rustc/linker identity and root toolchain environment. It derives the comparison fingerprint from the recorded passing executable, resolves oa_core and serde_json by dependency fingerprint value with exactly one match, verifies the core rlib against the recorded baseline digest, and confirms serde_json agrees with the core's own fingerprint. It records and checks every available external library artifact in the frozen baseline dependency directory before/after standalone rustc --test; no Cargo, cache copying/hardlinks, or root target output is used. The baseline comparison binary and available protected root oldcore rlib are checked unchanged too.
The run step rechecks stamped inputs and binary, requires exactly the two intended tests from --list, and executes each with --exact --nocapture --test-threads=1. Each case gets its own create-new geometry directory. Exit101 plus the corresponding prospective-criterion message is labeled an expected acceptance failure; it is not relabeled a pass. A fixture/compile/runtime problem lacks that marker and remains distinguishable. Both cases run even if the first test fails, unless input integrity changes. Overall exit101 preserves failure semantics. Each process has command, start/end/duration, exit and hashed log receipts; model/projection/route artifacts are hashed in case receipts. New outputs live only under .local/native-qa/UNIQUE-LABEL and existing output files are never overwritten.
If the standalone compilation exposes Cargo-only assumptions or dependency identity mismatches, preserve the receipt and use the fresh isolated Cargo target fallback above. No performance result is claimed before execution.