Record independent routing corpus decision and preserved evidence

This commit is contained in:
2026-09-24 19:12:27 -07:00
parent 4fb3cdc721
commit ae86111f22
8 changed files with 1046 additions and 0 deletions
+13
View File
@@ -498,3 +498,16 @@ editing remains separate from semantic reconnect. The [decision and evidence
map](edge-attachments-20260922.md) records alternatives, lifecycle rules,
independent falsifiers, evaluators and the Process/Scenario applicability limits.
This is branch-specific work; it does not establish an integrated release.
## Retain released routing after independent corpus comparison — 2026-09-25
Issue #32's [fixed comparison](experiments/routing-independent-20260925/results.md)
rejects adoption of target-join J and bounded-lane L at this checkpoint. Optimized
timings pass the declared screen, but a fixed edge-ID permutation worsens shared
runs under both candidates; workshop label conflicts also increase. L's large
workshop overlap improvement does not establish native traceability. Keep released
`715036e` routing for the separate explicit Arrange-reset candidate. Preserve the
experiments and stop tuning this corpus. Reconsider adoption only with meaningful
named trace-task improvements, no newly ambiguous task, and appropriate runtime
evidence. This is a branch-specific decision, not a completed Arrange feature or
integrated release; the linked record retains rejected alternatives and limits.
@@ -21,6 +21,12 @@ records J/P/PL/L and closes this fixture-tuning experiment. L passes 188 selecte
checks and strict core Clippy, but residual ambiguity and a runtime cost signal
require broader, independently selected evidence before production adoption.
The [frozen independent corpus comparison](experiments/routing-independent-20260925/results.md)
passes its optimized timing screen but exposes additional ID-order and label
tradeoffs. Retain released routing for the separate route-reset work; J/L remain
experiments without native traceability acceptance. Its complete inputs, raw
receipts, corrected evaluator and independent reviews are published together.
## Question and existing evidence
Can explicit Auto-layout produce a readable arrangement that accounts for
@@ -0,0 +1,37 @@
# Independent routing analysis/supervisor source review
Static review before result analysis; no compiler, router, GUI or evaluator execution. Reviewed analyzer SHA256 `115258fe13f76ad77daacf0937955b14c497a4618e86a84c42c7e4ce845c1f24` and supervisor SHA256 `903c1c21971e7c5d73875db7df578c442496a17f98e4dde7a437d5f116f54604`. Line references below refer to those bytes.
## Actionable findings
1. Analyzer lines237–238 can falsely pass the rubric's no-new-penetration gate: total counts alone allow a new edge/node penetration to replace an old one. Compare identities from edge_node_details and node_collision_details using edge/node or unordered node pairs; retain segment/location/length changes for review. Keep the total vector, but do not label a lower/equal count as proof of no new affected object. This is material to automated acceptance; fix before relying on the report, without rerunning routers.
2. Lines116–118 check that each pin lies somewhere on the route and that fractions are sorted/in-range, but never bind a fraction to its corresponding pin. Wrong fractions or traversal assignment can pass. Interpolate the recorded polyline at each cumulative-length fraction and require the corresponding pin within tolerance. Current corpus has only one main authored pin, so multiple-pin order coverage is explicitly limited; it still supplies a nonvacuous fraction-position check.
Small useful consistency check at lines119–123: verify emitted source/target tips equal routed_edges.points first/last before using them as the physical-port oracle. The current producer directly emits those endpoints, so this is defensive evidence consistency rather than a demonstrated router defect. Do not require automatic non-port endpoint equality across variants.
## Sound scope and limitations
The analyzer requires exact case sets, optimized timing metadata, seven valid uncensored samples, stable full-route repetitions, unchanged Projects, independently recomputed medians/maxima, absolute100/200ms guardrails and declared relative guardrails. It binds raw receipt stream hashes, binary size/hash to the build receipt and current corpus hashes. Failures stay in the output and cause nonzero analysis status; no native/production acceptance is claimed. Nonfinite JSON is rejected. Per-edge warning-set comparison is appropriately stronger than total warning count. The model permutation inversion is meaningful for this explicitly named fixture; route-order sensitivity remains an observation rather than an equality requirement.
Effective pins and promoted-owner suspension are checked against full frozen Projects and projected definitions. Explicit non-port attachments and folded nonempty authored pins are absent from the corpus, as already recorded; do not claim those contracts fully exercised. Semantic-port checking skips absent projected ports, which is appropriate only with projection/folding evidence retained; do not generalize it as proof of hidden semantic-port placement. Projected nodes/ports/edges compare exactly, whereas legal automatic attachment sides remain observations.
Supervisor runs the declared released/J/L/L/J/released timing sequence, then separate geometry runs. It refuses existing attempt directories, checks binary/corpus before launch and after completion, captures stdout/stderr raw hashes, and has90s process timeout/kill. This is a finite whole-process timeout, not a guaranteed5s interruption of an individual route call. It preserves timed-out/nonzero receipts rather than silently omitting them; analyzer rejects them. Censored exit0 is also rejected by complete/sample checks. Build/source identity ultimately depends on parent's build-admission record, correctly noted by analyzer. No major timing-scope defect found.
## Corpus alias correction and actual byte evidence
Inspected source fix `f0eae74912061455453acd7ec17e2ddbe498ee2c`: after stable secondary placement reidentification, set alias to feedback_review_{i}. This addresses the observed random alias suffix without changing topology or geometry. The earlier source review established deterministic ID construction, not byte-identical generation; the original two generation folders remain preserved as counterevidence to the stronger claim.
Read-only comparison now confirms all six files in `.local/routing-independent-corpus-v2-20260925`, its `-v2-repeat-` counterpart and the frozen checked-in corpus at `f674e36c8b75dfa95246eabb672e36c937aec31b` are byte-identical. This is observed repeat-generation equality after correction, not an untested source inference. Manifest SHA256 `a58a6956e26b414e88fafd4fdb92e006050653a4149178f08df84128e3917717`.
No request for broader framework changes or additional fixtures before this finite run. Apply the two concrete analysis fixes, retain the corpus limits, then assess actual results separately.
## Findings closed by source re-review
Reviewed corrected analyzer SHA256 `91383f12dc1c895f1b1dcffe6d99acc3358f0a2795fd9aff35baab2625dbc79d`, still without executing it or reading routing outcomes. Both material findings are addressed:
- collision_changes now keys edge penetration by edge/node/header-only identity and node collisions by unordered node pair. Added identities fail explicitly; removed/changed details and before/after route/node geometry remain in the report. This closes the equal-count substitution false pass.
- point_at_fraction independently computes cumulative polyline length and interpolates each reported pin fraction, then checks corresponding authored pin distance within0.001 world units. Empty, nonfinite and degenerate polylines receive explicit handling. This closes the unbound fraction-position check. Multiple-pin traversal coverage remains limited by the one-pin corpus, not falsely asserted.
The small optional endpoint-record consistency suggestion is not promoted to a blocking defect: producer fields are directly derived from the same point list. No outstanding material source-review finding prevents analysis of this finite corpus.
Also reviewed commit `095ab3b35847654d40e7bab9815c2bceb77484d1`: it extracts the same constraints, endpoint and routed-edge JSON mapping expressions into local Vec values before the outer json! macro. Field names, sources and iteration order remain unchanged; no router/corpus behavior change found. The preceding optimized build recursion-depth failure remains a failed build, not successful validation. Parent's rebuild outcome is outside this source review.
@@ -0,0 +1,41 @@
# Independent routing corpus contact review
Reviewed the completed three-variant geometry outputs and independent axis-interval audit, without builds, router reruns, GUI input or visual/native acceptance. All five cases are present for each of `released`, `j` and `lanes`. The audit's three recorded input SHA256 values match the actual geometry files reread for this review.
Evidence: `.local/routing-independent-contacts-20260925.json`, SHA256 `40b62731db7dc332b13021fa1f13bed176455feb2fb13d15998c761a4623b492`; standalone script `.local/audit-routing-corpus-contacts-20260925.py`, SHA256 `a6d95610a45faa3b4417df3c82059967d9729975fcf39dd1e9359ff1a20e0036`. The recorded primitive witnesses passed. The script uses independent axis-aligned interval intersection, rather than the Rust determinant intersection implementation.
## Agreement and measured tradeoffs
All **60 comparisons agree exactly**: raw unique point contacts, strict proper crossings, common-physical-terminal point contacts, and raw pairwise positive shared length, across 15 case/variant combinations. No nonzero numeric difference was found. These agreements validate these finite observations, not all possible geometry or a quality threshold.
Each table entry is **shared length / proper crossings / raw point contacts**. Shared lengths are diagram units; point contacts include proper crossings and T/vertex/end contacts.
| Case | Released | J | Lanes |
| --- | ---: | ---: | ---: |
| Workshop original | 1042 / 6 / 22 | 1074 / 5 / 23 | 602 / 5 / 23 |
| Workshop folded | 1096 / 7 / 20 | 1096 / 7 / 20 | 1096 / 7 / 20 |
| Mixed dispatch | 132 / 0 / 5 | 132 / 0 / 5 | 132 / 0 / 5 |
| Mixed, reversed edge IDs | 132 / 0 / 4 | 233.5999755859375 / 0 / 5 | 233.5999755859375 / 0 / 5 |
| Sparse 40 nodes | 496 / 24 / 32 | 372 / 25 / 31 | 372 / 25 / 31 |
The original workshop's lanes result reduces overlap substantially, while its nonproper contacts rise from 16 to 18: released has 8 T + 8 vertex contacts; lanes has 13 T + 5 vertex contacts. J has 11 T + 7 vertex contacts and a small overlap increase. The folded case's listed metrics are unchanged; this does not assert point-for-point route equality.
Both candidates worsen overlap in the edge-ID-permuted mixed case, adding one T contact (released 1 T + 3 vertex contacts; candidates 2 T + 3). The nonpermuted mixed case stays at 2 T + 3 vertex contacts. Consequently these observations do not establish ID-order invariance. Sparse routing trades 124 fewer shared units and one fewer raw contact for one additional proper crossing. Neither candidate uniformly dominates released routing on this corpus. These facts should remain visible in an adoption decision rather than being collapsed into a favorable single score.
## Ports, folded endpoints, and authored pin interpretation
All three variants' emitted tips for the two mixed cases match their referenced semantic ports' emitted positions **and projected owner IDs**: 28 ends per case, no missing ports or mismatch. The sparse case similarly matches all 110 ends per variant. This is a consistency check between independently selected records in the geometry output; it does not certify fixed-anchor fraction computation against source or prove all semantic conservation.
The common-terminal point count is zero in all 15 observations, despite deliberately reused semantic ports. This is not evidence that routes never share tips: a positive collinear shared interval is not enumerated as infinitely many point contacts. The interval audit explicitly retains common-terminal classifications. For example, mixed dispatch contains four segment-pair overlap intervals on edge pairs with a common terminal, three of which contain the common terminal itself. The permuted candidates contain five such intervals, still three containing the terminal. No common-tip overlap is subtracted from the raw length.
The original workshop projects 12 nodes/12 edges; folded projects 9 nodes/11 edges in all variants. Resolving relation endpoints through actual port owners and stored placements identifies four folded endpoint promotions in each output: target of `sa_relay_to_rescue`, source of `sa_direct_advice`, target of `validated_distress_report`, and source of `sa_advice_to_relay`. Original workshop has no such owner promotion. These are legitimate folded presentation changes, not semantic reconnections. Both workshop source cases have zero authored route records, so they cannot establish preservation or passage of suspended authored pins.
In each mixed case and each variant, the one authored feedback waypoint `(300,-100)` lies on the emitted route at arc distance 1392, and ordered passage is observed. The original sentinel edge is `00000000-0000-0000-0000-00000001adbd`; the reversed-ID counterpart is `00000000-0000-0000-0000-00000001adb0`. This verifies six concrete waypoint passages, not general retention of every route field. The other-view sentinel is not rendered by these selected-view observations and is left to the separate metadata analyst. Emitted geometry lacks `custom_suspended`; the audit deliberately reports absence/passage without calling every absent pin a failure.
## Mathematical and evidence limits
Contacts deduplicate per edge pair and coordinate within EPS=0.0001; a physical location shared by three edges may count three pairwise contacts. Proper means interior to both tested segments; a visually crossing route at a bend or redundant vertex can instead appear under T/vertex classification. Labels describe primitive geometry, not perceived topology or usability. Positive collinear intervals are summed per segment pair with multiplicity, not union length; shared-run endpoints can also appear as point contacts when another segment pair supplies a point witness. Common-terminal classification requires equal projected owner plus coincident physical endpoint, and never exempts a raw count.
The script rejects nonorthogonal segments and uses axis tolerance, unlike Rust's determinant/quantization details. Tiny near-tolerance geometry may produce different results even though every metric agrees here. Stroke width, arrowheads, port labels, glyphs, perceptual traceability, runtime and native interaction are outside this audit. Automatic non-port attachment choices may legitimately differ between routers and are not treated as preservation failures.
The parent is separately diagnosing emitted f32 serialization/model-comparison differences. This review does not resolve that issue or infer changed accepted input Projects from decimal spellings. Expected corpus inputs remain the frozen inputs; complete stored metadata/source/Project preservation belongs to the separate audit. There is no visual or native acceptance claim.
@@ -0,0 +1,55 @@
# Independent routing decision review
**Recommendation: retain the released router in the Arrange-reset candidate. Keep J and L as published experiments; do not tune further on either corpus.** The new evidence supports a meaningful L overlap improvement in one realistic view, but does not satisfy the predeclared native trace-task adoption gate and includes label/ID-order regressions. This is a bounded decision, not a finding that the released router is already satisfactory.
## Exact runs and integrity
Optimized variants: released-equivalent router at `4fb3cdc721e6fb8d70141b9c8f59809c53e7f16c`; J at `3ea0e23b70edfcaf61b1e900afb00254c7e80f75`; L at `095ab3b35847654d40e7bab9815c2bceb77484d1`. These are evaluator-bearing source pins, not three releases. Frozen corpus commit `f674e36c8b75dfa95246eabb672e36c937aec31b` and manifest hash `a58a6956e26b414e88fafd4fdb92e006050653a4149178f08df84128e3917717`.
Independently checked all nine timing/geometry receipts: process exit0, no timeout, corpus/binary unchanged, raw stdout/stderr lengths and SHA256 match receipts. Recomputed timing summaries for six runs ×five cases ×seven samples=210 measured calls, all complete/uncensored with full-route repeat equality and unchanged Project flags. No rerun, compilation or native action performed during this audit.
## Practical timing result
The predefined100ms median/200ms maximum and relative1.25×baseline+1ms screening checks pass. Observed median ranges across the two interleaved passes:
| Variant | Workshop original | Mixed original | Mixed reversed IDs | Sparse40 |
|---|---:|---:|---:|---:|
| Released |0.541–0.663ms|0.213–0.215ms|0.179–0.202ms|2.260–2.704ms|
| J |0.441–0.716ms|0.259–0.285ms|0.331–0.477ms|2.225–2.306ms|
| L |0.577–0.579ms|0.407–0.422ms|0.365–0.589ms|2.966–3.210ms|
Maximum observed measured call6.196ms; every case median below3.3ms. The+1ms relative allowance intentionally matters when baseline calls are submillisecond; passing it does not mean zero overhead. L is slower on sparse/mixed cases but comfortably passes these modest-corpus absolute screens. The earlier debug routing_geometry suite4.30→16.43s remains a separate cost signal; it cannot override or be substituted for these optimized route-only observations. Neither dataset proves a general latency bound, scaling law, p95, worst-case timeout or native input responsiveness.
## Quality tradeoffs against released routing
| Case | J | L |
|---|---|---|
| Workshop original |sharing1042→1074; proper6→5; contacts22→23; label/node11→13; label/stroke5→6|sharing1042→602; proper6→5; contacts22→23; label/node11→12; label/stroke5→6; length+24; area+12756|
| Workshop folded |reported scalar vector unchanged|unchanged|
| Mixed original |unchanged|unchanged|
| Mixed reversed IDs |sharing132→233.5999756; contacts4→5|same regression|
| Sparse40 |sharing496→372; proper24→25; contacts32→31; label/stroke15→13; area+8960|same changes|
L removes440 raw shared units in workshop (970→530 nonterminal), a substantial improvement worth retaining as evidence. It still adds a label/node collision and unrelated label/stroke intersection. J's smaller scoring patch is theoretically motivated and improved the earlier diamond, yet this realistic workshop and fixed-ID permutation expose regressions. Fewer proper crossings or contacts cannot automatically excuse shared trunks, obscured labels or wrong-turn ambiguity. The unchanged folded case and mixed original do not make ID sensitivity disappear.
Earlier37-scene evidence remains consistent with a non-dominating tradeoff: J solved diamond's extra trunk but regressed original bipartite overlap; P offered no layered benefit; L/PL improved layered bipartite only11 shared units and left104 nonterminal units. P+L traded baseline overlap for an isolated crossing. These are finite observations rather than an adoption score. Do not select favorable graph IDs or add another penalty coefficient after seeing results.
## Analysis-v1 failure remains explicit
The current analysis has six `frozen_project_exact` failures, one per mixed case/variant. Independent inspection of mixed original shows only typed fractional values expanded by serde_json::Value: anchor offsets0.3/0.6 and label fractions0.4 become their exact f32-to-f64 expansions. This supports the representation-mismatch diagnosis, not a blanket tolerance waiver. Parent's separate typed-normalization-v2 check must close every discrepancy at schema-known f32 fields while keeping identities, strings, arrays and other numeric fields exact. Preserve analysis-v1 and its failed status. This review does not silently relabel those six failures as passed.
All other existing analysis checks pass, including projected identity/geometry, effective pins/fractions, physical visible semantic-port tips, warning sets, and no-new node/penetration identities. That is scoped evaluator evidence, not independent verification of every hidden-port or explicit-attachment case. The independent contact audit is available and bound below; native task assessment remains absent.
## Adoption boundary
The frozen rubric requires correct source-to-target trace tasks and no newly ambiguous task elsewhere. No native trace-task result exists; approximate core label rectangles cannot prove actual text readability. Therefore neither J nor L earns production adoption merely by passing timing. Keep the reset candidate independent on released routing and verify its explicit reset/history/source contract. If future native evaluation is undertaken, use the already frozen named tasks and report uncertainty/wrong turns without changing fixture geometry. Do not broaden this into indefinite tuning or silently change the adoption rubric.
Evidence SHA256: analysis-v1 `1634f06ef7c4e50ebcbec64423a9a8730c08c822bf0023572e62ca0281c96302`; independent contact audit `40b62731db7dc332b13021fa1f13bed176455feb2fb13d15998c761a4623b492`. No production acceptance, #32 closure or native observation claimed.
## Typed-serialization finding closed
Reviewed v2 analyzer SHA256 `a72895248175fc56667d7b86cb4120a840d931e74ab1149e9649bb82d179f1ae`. Its comparison policy applies exact IEEE754 binary32 bit equality ONLY at schema-declared Diagram node PortAnchor.offset and route EdgeLabel.fraction paths. It requires finite numeric values in[0,1], preserves dict keys/list lengths, and compares every other field and type exactly. It does not apply a global numeric tolerance or alter raw evidence.
Independently inspected all15 reported Project comparisons:30 differing leaves across exactly six mixed-case/variant observations, five typed fractional paths each. Every pair independently packs to identical binary32 bytes. No other differences are reported. V2 has zero failed checks. Verified script/output and original-before/original-after hashes directly against current bytes; original failed report remains `1634f06e...` unchanged. V2 report SHA256 `88af679275d85dad44a10dfb1eb4da94b861125c5948062c450635bdeb9814fd`.
This closes the six representation-related Project equality failures without rerouting, changing the corpus or weakening other-field equality. Earlier section records the truthful v1 state and is superseded only on that finding. The production recommendation is unchanged: retain released routing for the reset candidate; J/L remain experiments pending the unmet native trace-task criterion. No timing or geometry quality numbers were changed by this normalization review.
@@ -0,0 +1,744 @@
{
"archive": "routing-independent-evidence.zip",
"bytes": 6545295,
"sha256": "fe88b4dccb41a639c7cca421d057c77652bfbdbeb908651e56b5a10274b0cdb6",
"member_byte_readback": true,
"members": [
{
"path": "binaries/j/build.json",
"bytes": 556,
"sha256": "88556a6d32ce1fd13c8831c88701e91eed5e195bce3daf440ddfaa9bf63d0973"
},
{
"path": "binaries/lanes/build.json",
"bytes": 570,
"sha256": "c20aa7deaf068d1923f0cadd6dec34dc3150a4a6d1859db4421a0091fce5487e"
},
{
"path": "binaries/released/build.json",
"bytes": 570,
"sha256": "e6d1676f9b89fcf711edd1cdaa149d578c15ccfcdfe893a8b6c7ab430fd947f5"
},
{
"path": "corpus/manifest.json",
"bytes": 10593,
"sha256": "a58a6956e26b414e88fafd4fdb92e006050653a4149178f08df84128e3917717"
},
{
"path": "corpus/mixed_dispatch.json",
"bytes": 32787,
"sha256": "81d25af021cbad18af4262a220ba60372e51ca19083b7e80f2b19196baf05990"
},
{
"path": "corpus/mixed_dispatch_edge_ids_reversed.json",
"bytes": 32787,
"sha256": "25c95be6b6e7ad9ebcdc83aacc13fbbaa5a56651ba2843f8d1658c075ed789f8"
},
{
"path": "corpus/subsystems_40_sparse.json",
"bytes": 124043,
"sha256": "ad0ee7a0ab9c9f3c5f26a6d839f6627a82aa38858a3d5cc1ca87f5a8d795533e"
},
{
"path": "corpus/workshop_sa_folded.json",
"bytes": 102922,
"sha256": "ea5fd285d11795e5e543e4144349c32c92a5b328b8c5e2d1be8b75b70703dc97"
},
{
"path": "corpus/workshop_sa_original.json",
"bytes": 102923,
"sha256": "cc9b26390594513c11b3d85b768d244b2df8e7bed8cb76c4bdf0dc24db1d2ef6"
},
{
"path": "routing-corpus-checks-20260925/01-generate/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/01-generate/command/context.json",
"bytes": 3599,
"sha256": "e780b950bbb8087003017e3649a507b738c3425ae09b64aa10301f0cb5520431"
},
{
"path": "routing-corpus-checks-20260925/01-generate/command/inputs-after.json",
"bytes": 1735049,
"sha256": "784d52a2766b11aba0a1c0c3f3a225b30e3e4ca0186c8b59f329f805992a5de4"
},
{
"path": "routing-corpus-checks-20260925/01-generate/command/inputs-before.json",
"bytes": 1735049,
"sha256": "784d52a2766b11aba0a1c0c3f3a225b30e3e4ca0186c8b59f329f805992a5de4"
},
{
"path": "routing-corpus-checks-20260925/01-generate/command/output.log",
"bytes": 100,
"sha256": "20f06b14f491c24c6951a4f5a75336919b666190a41f83295c733d488727ba08"
},
{
"path": "routing-corpus-checks-20260925/01-generate/command/result.json",
"bytes": 4244,
"sha256": "82d0cc88d8013ec8c05c9276c85300338eb19010473f2aabb35f8a2e7ced31e1"
},
{
"path": "routing-corpus-checks-20260925/01-generate/command/stderr.log",
"bytes": 366,
"sha256": "e439707594bbff491ca818d2cfd3ea66b3871943a036c131be8a684ade3292e4"
},
{
"path": "routing-corpus-checks-20260925/01-generate/environment.json",
"bytes": 9466,
"sha256": "d9d984528a82c0db3c2e009db91104d7b7c1233921793802bbeb87677f35daf8"
},
{
"path": "routing-corpus-checks-20260925/01-generate/orchestration.log",
"bytes": 171,
"sha256": "c5399c8626075ecac0187eef141e9c59dc022ce54c32445ea6c2aa0f593ad887"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/command/context.json",
"bytes": 3613,
"sha256": "8e383c2c18b49227c24b423f7908b442c3988d16516c61eafeeafdf45bb569d2"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/command/inputs-after.json",
"bytes": 1735049,
"sha256": "784d52a2766b11aba0a1c0c3f3a225b30e3e4ca0186c8b59f329f805992a5de4"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/command/inputs-before.json",
"bytes": 1735049,
"sha256": "784d52a2766b11aba0a1c0c3f3a225b30e3e4ca0186c8b59f329f805992a5de4"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/command/output.log",
"bytes": 107,
"sha256": "be957352ab5ae1aca47ae57d39765985f2417b91ee974583864a5ae104140019"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/command/result.json",
"bytes": 4272,
"sha256": "96601902508ef873612be164bc6adfbe7be799d1bcd63d68b27aeaa3dbed1f04"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/command/stderr.log",
"bytes": 257,
"sha256": "16f676779879f4832ef510d76fa6f63abf83c191eb393d388d885b15c6cdbbc5"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/environment.json",
"bytes": 9466,
"sha256": "d9d984528a82c0db3c2e009db91104d7b7c1233921793802bbeb87677f35daf8"
},
{
"path": "routing-corpus-checks-20260925/02-generate-repeat/orchestration.log",
"bytes": 178,
"sha256": "9cabeb98b46d4944fdf5867951bfbd9227ac32dc19ffb097dde76ad84cad7ab5"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/command/context.json",
"bytes": 3608,
"sha256": "bb9b5d39f9d36accbb9d10c5694ec5a333482d93fb060485adb59ab22f6fb9c2"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/command/inputs-after.json",
"bytes": 1735049,
"sha256": "a492a98cf40cb84d1fa9d46e5d11f0a98a2bf2ec03dd030013ebcdfc04d5521a"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/command/inputs-before.json",
"bytes": 1735049,
"sha256": "a492a98cf40cb84d1fa9d46e5d11f0a98a2bf2ec03dd030013ebcdfc04d5521a"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/command/output.log",
"bytes": 103,
"sha256": "58bd78b19f839933c31ca11f902daa5b38c0d14720003cca2dced8bf9249fc44"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/command/result.json",
"bytes": 4265,
"sha256": "965c9a3c82c8f2f2bd4b82158e2b15340b4f00fe427d19ca040ec54b3c92443c"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/command/stderr.log",
"bytes": 369,
"sha256": "1fe1b633ee58c0f1249354057013547561c8f4aa946d16b70553ab6102eb0b50"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/environment.json",
"bytes": 9466,
"sha256": "d9d984528a82c0db3c2e009db91104d7b7c1233921793802bbeb87677f35daf8"
},
{
"path": "routing-corpus-checks-20260925/03-generate-fixed/orchestration.log",
"bytes": 177,
"sha256": "22d5231c06be3af285ec1f4df4946292660dcfc70318c92fb23f4f9099e4e66a"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/command/context.json",
"bytes": 3622,
"sha256": "4b12917c2770834c59ed9be866e1132bc3056d6913eeae68ce95cdc494c47bdc"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/command/inputs-after.json",
"bytes": 1735049,
"sha256": "a492a98cf40cb84d1fa9d46e5d11f0a98a2bf2ec03dd030013ebcdfc04d5521a"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/command/inputs-before.json",
"bytes": 1735049,
"sha256": "a492a98cf40cb84d1fa9d46e5d11f0a98a2bf2ec03dd030013ebcdfc04d5521a"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/command/output.log",
"bytes": 110,
"sha256": "c3bec5cc117c1465de6872a49274c9cd622c117c5061b9b3a8a9141643e94a95"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/command/result.json",
"bytes": 4293,
"sha256": "bc1535e096dc19f27b405bb22cd6087ede32f69e1a171ab4b2a3a095ea2bbe5c"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/command/stderr.log",
"bytes": 260,
"sha256": "c061b9732c764caa80dc2bcba37f5b41eab0f45db45d9e3dd2eac4e20c7245b4"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/environment.json",
"bytes": 9466,
"sha256": "d9d984528a82c0db3c2e009db91104d7b7c1233921793802bbeb87677f35daf8"
},
{
"path": "routing-corpus-checks-20260925/04-generate-fixed-repeat/orchestration.log",
"bytes": 184,
"sha256": "497d19bd6fbaf3dfb4a6e4d54667dfc0275a9d484ca8658d9d9d91c0c9090ec1"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/command/context.json",
"bytes": 3567,
"sha256": "3940fa319e4587151d0db7f1c6dd1263ea2cd1a9305e3c487a0d8bd841f8a34f"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/command/inputs-after.json",
"bytes": 1738623,
"sha256": "03047439b559a298fc4ef0ca6cc3b113e4a53fa5df8e0456aeeab43d86f52441"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/command/inputs-before.json",
"bytes": 1738623,
"sha256": "03047439b559a298fc4ef0ca6cc3b113e4a53fa5df8e0456aeeab43d86f52441"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/command/output.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/command/result.json",
"bytes": 4219,
"sha256": "eee254721a983e49ffe929f1e0f70b06853565a23d261a326620c69529c947ce"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/command/stderr.log",
"bytes": 1905,
"sha256": "67da03bbab8006a70245e7b96ee5493793de0d5e5914f2c0bdc876ca2208d726"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/environment.json",
"bytes": 9470,
"sha256": "1cda80470e5893747b1aad7eda5ef51d57069441e810698cd7f94f7a7521bfe5"
},
{
"path": "routing-corpus-checks-20260925/05-build-lanes/orchestration.log",
"bytes": 176,
"sha256": "b35f03c05260c4c01e72a9c8234da36783676b741e887dba9497115e7c8ecb0e"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/command/context.json",
"bytes": 3573,
"sha256": "100c5a4d5eb776805b67f4a2f4a6304578cedd527f1b34ec74348535ee8c959c"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/command/inputs-after.json",
"bytes": 1738623,
"sha256": "1dbd1badc2494426719bd0e19eccf804f301d9f47bdb50ea7772a32d9c9b9008"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/command/inputs-before.json",
"bytes": 1738623,
"sha256": "1dbd1badc2494426719bd0e19eccf804f301d9f47bdb50ea7772a32d9c9b9008"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/command/output.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/command/result.json",
"bytes": 4234,
"sha256": "67fdba73a040aae0fbcc06fc2f1e27c6d1dc24d8c4dcb1f9d92dd58d7ea1aedb"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/command/stderr.log",
"bytes": 179,
"sha256": "b3986da5974723f61b3a8257786c9c0721e32f14534c35ae3cb92a119987723c"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/environment.json",
"bytes": 9470,
"sha256": "1cda80470e5893747b1aad7eda5ef51d57069441e810698cd7f94f7a7521bfe5"
},
{
"path": "routing-corpus-checks-20260925/06-build-lanes-fixed/orchestration.log",
"bytes": 180,
"sha256": "6da6086f8bbbaad90e3cefb8d9ac58ee7ef384601c2523381f0e6321c58bd2b3"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/command/context.json",
"bytes": 3563,
"sha256": "a3234c8d6b2e7258b1a3d39555fe58e459020bc0b3205440cdfd851d8c6b8cfe"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/command/inputs-after.json",
"bytes": 1738623,
"sha256": "447b0f3be97b1d4885e3c6c72308e75e78b78c8f3cd5d15711f3088896bec345"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/command/inputs-before.json",
"bytes": 1738623,
"sha256": "447b0f3be97b1d4885e3c6c72308e75e78b78c8f3cd5d15711f3088896bec345"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/command/output.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/command/result.json",
"bytes": 4204,
"sha256": "ce07dc5193bf2d5c875f19e576e821d303a414ab2f4ac31a9b0f281c24cb2c5a"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/command/stderr.log",
"bytes": 179,
"sha256": "e35e1e1566c879a49cb498a2b309a2c9193bbbd80cca790da79b6615f94ef187"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/environment.json",
"bytes": 9470,
"sha256": "1cda80470e5893747b1aad7eda5ef51d57069441e810698cd7f94f7a7521bfe5"
},
{
"path": "routing-corpus-checks-20260925/07-build-j/orchestration.log",
"bytes": 170,
"sha256": "8c4c6481f5aa21a6ef8ef53ed37420cde0da80f67e782c9ee9cb04ef5e909c3d"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/command/context.json",
"bytes": 3570,
"sha256": "60e081d0c2a3903e9cd1cf2bb961138c90824993857251dc6960709fa59d5261"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/command/inputs-after.json",
"bytes": 1738623,
"sha256": "16189a473862e3793be91a9d46063dff43cef609b19a8f87472d56eb2230b3fd"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/command/inputs-before.json",
"bytes": 1738623,
"sha256": "16189a473862e3793be91a9d46063dff43cef609b19a8f87472d56eb2230b3fd"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/command/output.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/command/result.json",
"bytes": 4225,
"sha256": "7745afe769aba3141cf258cd6c0b9344b5ceb84c37f9698f9433c5b4a8fb7659"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/command/stderr.log",
"bytes": 179,
"sha256": "8d6a94bea51603e4d6e7f296942356b2772b352ae9b406be8da946c755b69799"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/environment.json",
"bytes": 9470,
"sha256": "1cda80470e5893747b1aad7eda5ef51d57069441e810698cd7f94f7a7521bfe5"
},
{
"path": "routing-corpus-checks-20260925/08-build-released/orchestration.log",
"bytes": 177,
"sha256": "59b278df15f857851ad8d748a9f116ca7be21fadeb6fc6900049a205524921b0"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/command/changes.patch",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/command/context.json",
"bytes": 3519,
"sha256": "99ffd62ac4ff9900612bb0bc3e785a0f92d0ff63ffd8695f69110858f83e4a1c"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/command/inputs-after.json",
"bytes": 1738623,
"sha256": "16189a473862e3793be91a9d46063dff43cef609b19a8f87472d56eb2230b3fd"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/command/inputs-before.json",
"bytes": 1738623,
"sha256": "16189a473862e3793be91a9d46063dff43cef609b19a8f87472d56eb2230b3fd"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/command/output.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/command/result.json",
"bytes": 4176,
"sha256": "b836499659fb9229b4f44f97c7056e44ddb02f97fb736f69ca8ea264d6654a6a"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/command/stderr.log",
"bytes": 177,
"sha256": "c97eb40db6f4904093faae2961f0360dad2986b4be3a36ffc14ff6b83218477c"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/environment.json",
"bytes": 9466,
"sha256": "d9d984528a82c0db3c2e009db91104d7b7c1233921793802bbeb87677f35daf8"
},
{
"path": "routing-corpus-checks-20260925/09-observer-clippy/orchestration.log",
"bytes": 178,
"sha256": "1ca36161f9ff64871b19ff64cbbec01f889a4bfdc1344910bc08ca46b6bc286c"
},
{
"path": "routing-corpus-runs-20260925/01-released/receipt.json",
"bytes": 2682,
"sha256": "b9d83c9930c9cbbcdc069bb86bab557171eeebbe1ff1357fa98efe8e26642e3c"
},
{
"path": "routing-corpus-runs-20260925/01-released/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/01-released/stdout.jsonl",
"bytes": 11218,
"sha256": "ae4056cac47d41d6ab8f3585cb53c5a6d734dc60d3d7ddc3af84e97a7e41ecfc"
},
{
"path": "routing-corpus-runs-20260925/02-j/receipt.json",
"bytes": 2654,
"sha256": "7a1b3b837d512b9be3c8649644ac374a5732364e62090c18038e8b0ab994c683"
},
{
"path": "routing-corpus-runs-20260925/02-j/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/02-j/stdout.jsonl",
"bytes": 11219,
"sha256": "847db6381f23a9c4c4a2a01e0c2aa9adec65671ab99d136247e9f79385e5b8d9"
},
{
"path": "routing-corpus-runs-20260925/03-lanes/receipt.json",
"bytes": 2677,
"sha256": "750965ee4205793bfdcc66fd4080e3aa438df808c0844e62df0381b83f1c810f"
},
{
"path": "routing-corpus-runs-20260925/03-lanes/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/03-lanes/stdout.jsonl",
"bytes": 11221,
"sha256": "1f9e91d34c6ab828be8412ad4015e0bdef443e1f94f16b309355bb11ed2cb3f8"
},
{
"path": "routing-corpus-runs-20260925/04-lanes/receipt.json",
"bytes": 2678,
"sha256": "d5ad4ee28ba4b15b68afefc7957e995c13d3bf53bd6f3e0c4be1363039067763"
},
{
"path": "routing-corpus-runs-20260925/04-lanes/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/04-lanes/stdout.jsonl",
"bytes": 11221,
"sha256": "9600f47829425938d72f12666324e8fba45def4c6c5ee6073fb81c46383daf91"
},
{
"path": "routing-corpus-runs-20260925/05-j/receipt.json",
"bytes": 2656,
"sha256": "65ee12d5b456f0d097d085b1a6f226655f36977cc2b875056a9b5a35625a0f2f"
},
{
"path": "routing-corpus-runs-20260925/05-j/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/05-j/stdout.jsonl",
"bytes": 11220,
"sha256": "b3611d72e9c193aace8d0e05980b1860eb12d48ad26b7a8b57613fdfa07fbc20"
},
{
"path": "routing-corpus-runs-20260925/06-released/receipt.json",
"bytes": 2683,
"sha256": "9c6e8e9ef1012c6718744d2fe968e49c5ebc38ad190e910a68b81e558e7d67a6"
},
{
"path": "routing-corpus-runs-20260925/06-released/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/06-released/stdout.jsonl",
"bytes": 11220,
"sha256": "989af06061fbce0dcfd6bf164fec02362546a1702ae9a5cb144842861fdd3748"
},
{
"path": "routing-corpus-runs-20260925/analysis-receipts.json",
"bytes": 1816,
"sha256": "b5c091729f2496c764abec53ca9167580d308b8bdc78797bb902c54607634e54"
},
{
"path": "routing-corpus-runs-20260925/geometry-j/receipt.json",
"bytes": 2680,
"sha256": "81680314df505602fe2f05eb8f7e87296b92d66f1b30c0688a24a7a793a26152"
},
{
"path": "routing-corpus-runs-20260925/geometry-j/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/geometry-j/stdout.jsonl",
"bytes": 470513,
"sha256": "23874838cc63ac640c941939599af225762ffc3d1fa07ca0a954dc97a1d40db2"
},
{
"path": "routing-corpus-runs-20260925/geometry-lanes/receipt.json",
"bytes": 2701,
"sha256": "92dff19e9740315382c2a86d7270e5c4f553524d0a294f08791925fc6afca8de"
},
{
"path": "routing-corpus-runs-20260925/geometry-lanes/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/geometry-lanes/stdout.jsonl",
"bytes": 470437,
"sha256": "07ddac7f8515797a433aef9a0306850eadc457411666325a9f710c68473f9c68"
},
{
"path": "routing-corpus-runs-20260925/geometry-released/receipt.json",
"bytes": 2707,
"sha256": "d957c153fb80bcf2b95f0ba863f0f899bac29368e85d272bfcda4ea3bf97083e"
},
{
"path": "routing-corpus-runs-20260925/geometry-released/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "routing-corpus-runs-20260925/geometry-released/stdout.jsonl",
"bytes": 470144,
"sha256": "9a31a676f23dea2f41daec39497f569d68231fa0fd66e5a1a476be97d5d61ac2"
},
{
"path": "routing-independent-corpus-20260925/manifest.json",
"bytes": 10593,
"sha256": "a58a6956e26b414e88fafd4fdb92e006050653a4149178f08df84128e3917717"
},
{
"path": "routing-independent-corpus-20260925/mixed_dispatch.json",
"bytes": 32796,
"sha256": "9f0c3bb9e06028ca38746014e34638660760323044aad8e594ebd89b056edc7a"
},
{
"path": "routing-independent-corpus-20260925/mixed_dispatch_edge_ids_reversed.json",
"bytes": 32796,
"sha256": "2de27d96c21ed3a2d63a66eea44ce78744d66709956cd7db232f9178979f5789"
},
{
"path": "routing-independent-corpus-20260925/subsystems_40_sparse.json",
"bytes": 124043,
"sha256": "ad0ee7a0ab9c9f3c5f26a6d839f6627a82aa38858a3d5cc1ca87f5a8d795533e"
},
{
"path": "routing-independent-corpus-20260925/workshop_sa_folded.json",
"bytes": 102922,
"sha256": "ea5fd285d11795e5e543e4144349c32c92a5b328b8c5e2d1be8b75b70703dc97"
},
{
"path": "routing-independent-corpus-20260925/workshop_sa_original.json",
"bytes": 102923,
"sha256": "cc9b26390594513c11b3d85b768d244b2df8e7bed8cb76c4bdf0dc24db1d2ef6"
},
{
"path": "routing-independent-corpus-repeat-20260925/manifest.json",
"bytes": 10593,
"sha256": "a58a6956e26b414e88fafd4fdb92e006050653a4149178f08df84128e3917717"
},
{
"path": "routing-independent-corpus-repeat-20260925/mixed_dispatch.json",
"bytes": 32796,
"sha256": "6c6708e2b5fa8224246dac428d42068f44436c05b28aba0483b69190504cadf1"
},
{
"path": "routing-independent-corpus-repeat-20260925/mixed_dispatch_edge_ids_reversed.json",
"bytes": 32796,
"sha256": "9378a170ac70992035536b50cb07b851dcfec28acc08ef92f2465edeaee93abe"
},
{
"path": "routing-independent-corpus-repeat-20260925/subsystems_40_sparse.json",
"bytes": 124043,
"sha256": "ad0ee7a0ab9c9f3c5f26a6d839f6627a82aa38858a3d5cc1ca87f5a8d795533e"
},
{
"path": "routing-independent-corpus-repeat-20260925/workshop_sa_folded.json",
"bytes": 102922,
"sha256": "ea5fd285d11795e5e543e4144349c32c92a5b328b8c5e2d1be8b75b70703dc97"
},
{
"path": "routing-independent-corpus-repeat-20260925/workshop_sa_original.json",
"bytes": 102923,
"sha256": "cc9b26390594513c11b3d85b768d244b2df8e7bed8cb76c4bdf0dc24db1d2ef6"
},
{
"path": "tools-and-analysis/analyze-routing-independent-20260925.py",
"bytes": 19925,
"sha256": "2816a8f56b888b28b611e0045b533f7bd2da1b06222430423b595463dc377903"
},
{
"path": "tools-and-analysis/analyze-routing-independent-v2-20260925.py",
"bytes": 22830,
"sha256": "a72895248175fc56667d7b86cb4120a840d931e74ab1149e9649bb82d179f1ae"
},
{
"path": "tools-and-analysis/audit-routing-corpus-contacts-20260925.py",
"bytes": 12483,
"sha256": "a6d95610a45faa3b4417df3c82059967d9729975fcf39dd1e9359ff1a20e0036"
},
{
"path": "tools-and-analysis/freeze-routing-corpus-20260925.py",
"bytes": 1452,
"sha256": "31317e3b66e7407d6ca68a6ee6087837b52e31341989dbd2401997220444d04b"
},
{
"path": "tools-and-analysis/preserve-routing-binaries-20260925.py",
"bytes": 1209,
"sha256": "969142ee22eee24d40a21e4ad854720a484c6e30325a92a9e6fc262001076b97"
},
{
"path": "tools-and-analysis/routing-independent-analysis-20260925.json",
"bytes": 7649923,
"sha256": "1634f06ef7c4e50ebcbec64423a9a8730c08c822bf0023572e62ca0281c96302"
},
{
"path": "tools-and-analysis/routing-independent-analysis-review-20260925.md",
"bytes": 6513,
"sha256": "dd07a61afb4717256565953f629d9e312b38dbca56fcc2c8b8db01f7230a45a4"
},
{
"path": "tools-and-analysis/routing-independent-analysis-v2-20260925-receipt.json",
"bytes": 2100,
"sha256": "16d036d4bf061ea35d297fc8d765ff6ff639825bc86fa065787d0cfc13427cd9"
},
{
"path": "tools-and-analysis/routing-independent-analysis-v2-20260925.json",
"bytes": 7687929,
"sha256": "88af679275d85dad44a10dfb1eb4da94b861125c5948062c450635bdeb9814fd"
},
{
"path": "tools-and-analysis/routing-independent-contact-review-20260925.md",
"bytes": 6764,
"sha256": "1e90af45a96adc6f3cda418c3c3a4362b2bb773c46df66fbd40508bf032a4e0e"
},
{
"path": "tools-and-analysis/routing-independent-contacts-20260925.json",
"bytes": 213737,
"sha256": "40b62731db7dc332b13021fa1f13bed176455feb2fb13d15998c761a4623b492"
},
{
"path": "tools-and-analysis/routing-independent-decision-review-20260925.md",
"bytes": 7539,
"sha256": "de8fc5cb4ec10bffa9780e80c272d9aa55eeedf4ea2cc7b81aeff45f77040e7c"
},
{
"path": "tools-and-analysis/run-routing-analysis-20260925.py",
"bytes": 1632,
"sha256": "0a5d44c80eb59841b5c9323c8e13370b30dc60b29e200de2fa8ab54a4ad6f338"
},
{
"path": "tools-and-analysis/run-routing-binaries-20260925.py",
"bytes": 2882,
"sha256": "903c1c21971e7c5d73875db7df578c442496a17f98e4dde7a437d5f116f54604"
},
{
"path": "tools-and-analysis/run-routing-corpus-check-20260925.py",
"bytes": 2793,
"sha256": "2726a397bd4ecb4dcfff6fc170a66ce2655229079f42335faa2a4bfe4a202f6d"
},
{
"path": "tools-and-analysis/run.py",
"bytes": 13814,
"sha256": "698ed7182726c77fa4a1c85fc6dd08187ed20689941f57e749e3f0bc845f3252"
},
{
"path": "tools-and-analysis/select-routing-variant-20260925.py",
"bytes": 930,
"sha256": "bee977f62516d2e610a4aa5addfc9f17af8c61103b5f69c61733b6e38a257ffa"
}
],
"excluded": "Executables reproducible from identified source/build commands; binary hashes preserved. New frozen inputs are also committed alongside this archive."
}
@@ -0,0 +1,150 @@
# Independent routing corpus comparison
Issue [32](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/32).
**Decision: retain the released router for the separate Arrange-reset candidate.**
J and L remain experiments. L provides a substantial workshop overlap improvement,
but both candidates worsen a fixed ID-permutation case and neither has native
traceability acceptance. The timing screen passes on this corpus; the earlier
debug-suite cost concern is not reproduced here and is not thereby disproved.
No release, merge, issue closure, Linux build or native UI acceptance is claimed.
## Inputs and identified code
The [corpus plan](corpus-plan.md), [timing protocol](timing-protocol.md) and
[adoption rubric](adoption-rubric.md) preceded routing observations. Five complete
Projects are committed under [corpus](corpus/manifest.json): saved SA workshop,
its single collapsed-placement variant, ten-function mixed dispatch with shared
and distinct ports and an authored pin/label, fixed reversal of its fourteen
edge IDs, and a flat forty-function/fifty-five-exchange sparse workload.
All inputs validate; repeated corrected generation is byte-identical.
Generator source `a879341c` initially produced differing random suffixes in three
secondary-view placement aliases. Two original generations are retained in the
archive. `f0eae749` assigns fixed aliases; two new generations agree in all six
files, frozen at `f674e36c`. This was corrected before any routing observation.
The corpus manifest SHA256 is
`a58a6956e26b414e88fafd4fdb92e006050653a4149178f08df84128e3917717`.
Generation receipts and every input hash are retained.
| Variant | Router source | Common-harness build commit |
| --- | --- | --- |
| Released | `715036e132677dd2bc2fb37ed316d93dc9987aec` | `4fb3cdc721e6fb8d70141b9c8f59809c53e7f16c` |
| J: target-join scoring | `08656b18bf8934cf264469cf68fc6dea97c15cbb` | `3ea0e23b70edfcaf61b1e900afb00254c7e80f75` |
| L: J plus bounded lane coordinates | `e8ec6dbb3160f62476a5557f14605f68959f65fe` | `095ab3b35847654d40e7bab9815c2bceb77484d1` |
These are three router sources in one identical evaluator, not whole historic
product builds. Only `crates/oa-core/src/routing.rs` differs among their build
commits. Windows Rust 1.98.1 stable gnullvm/LLVM mingw, Cargo release profile,
one build job and incremental disabled. Original tool/configuration/source-tree
receipts identify the environment; executable hashes are in `binaries/*/build.json`
inside the evidence archive. Copies were preserved before another build replaced
the shared target outputs. No compiler or other evaluator ran during timings.
The first optimized attempt at `f674e36c` failed on the expanded geometry JSON
macro's recursion depth. `095ab3b3` extracts three serialization expressions
without changing their schema or routing. All three final builds passed;
the failed receipt remains in the archive. Strict core/all-target Clippy also
passes at `4fb3cdc7` (`09-observer-clippy`).
## Timing result
The fixed order was released→J→L→L→J→released. Each invocation loads/projects
outside the clock, then performs one retained warmup and seven measured routing
calls per case. All 210 measured calls completed without censorship or timeout;
each complete RoutedView and its endpoints equalled that invocation's warmup.
All nine timing/geometry receipts confirm unchanged input files and binaries.
The table gives the two invocation medians in milliseconds (first / second),
not a percentile or scaling guarantee.
| Case | Released | J | L |
| --- | --- | --- | --- |
| Workshop original | 0.541 / 0.663 | 0.716 / 0.441 | 0.579 / 0.577 |
| Workshop folded | 0.409 / 0.623 | 0.406 / 0.419 | 0.567 / 0.638 |
| Mixed dispatch | 0.215 / 0.213 | 0.285 / 0.259 | 0.422 / 0.407 |
| Mixed IDs reversed | 0.179 / 0.202 | 0.477 / 0.331 | 0.589 / 0.365 |
| Forty-function sparse | 2.260 / 2.704 | 2.225 / 2.306 | 2.966 / 3.210 |
Maximum observed measured call: 6.1959 ms. Every case passes the predeclared 100 ms
median/200 ms maximum screen and candidate ≤ 1.25×baseline + 1 ms rule in both rounds,
including L versus J. At sub-millisecond medians, the absolute1ms allowance and
visible run-to-run variation matter; do not market ratios as precise speedups.
This finite result does not dismiss the earlier 16.43 s versus 4.30 s debug geometry
suite observations, certify pathological dense scenes, or establish native
interaction latency. One existing folded route reports NoClearPath in every
variant: completing a fast call is not proof it found a clear route.
## Quality and invariants
| Case | Pairwise shared length: released / J / L | Proper crossings: released / J / L | Raw point contacts: released / J / L |
| --- | --- | --- | --- |
| Workshop original | 1042 / 1074 / 602 | 6 / 5 / 5 | 22 / 23 / 23 |
| Workshop folded | 1096 / 1096 / 1096 | 7 / 7 / 7 | 20 / 20 / 20 |
| Mixed dispatch | 132 / 132 / 132 | 0 / 0 / 0 | 5 / 5 / 5 |
| Mixed IDs reversed | 132 / 233.5999756 / 233.5999756 | 0 / 0 / 0 | 4 / 5 / 5 |
| Forty-function sparse | 496 / 372 / 372 | 24 / 25 / 25 | 32 / 31 / 31 |
L removes 440 shared units from the workshop, but estimated label/node collisions
increase 11→12 (J: 13), label/stroke intersections 5→6, route length 5744→5768 and
drawing area 786620→799376. J increases workshop sharing by 32 despite reducing
proper crossings by one. Sparse sharing improves 124 under both candidates while
adding a proper crossing; estimated label/node collisions remain 70. The ordinary
mixed case is unchanged. Under the fixed semantic edge-ID reversal, both
candidates add 101.5999756 shared units relative to released routing. Released
routing itself changes two of fourteen route polylines under permutation;
J/L change four. No favorable edge order was chosen after observation.
All variants preserve frozen Rust model values, projected nodes/ports/edges,
semantic-port tips and authored constraints, with exact canonical JSON/source
round trips. No new missing route, nonfinite coordinate, edge/node penetration,
node collision identity or per-edge warning was observed. The folded scene
retains four PromotedEndpoints warnings plus one NoClearPath on the fourth edge;
these are recorded, not masked or called successes. Four promoted owner pairs
are independently identified. Its saved Project has no authored routes, so this
does not prove suspension/restoration of nonempty folded pins.
The [independent contact review](contact-review.md) confirms all 60 metric
comparisons across fifteen geometry observations using separate axis arithmetic.
It retains raw proper/T/bend/endpoint contacts and shared intervals, including
common semantic terminals. Six mixed-case authored waypoint passages and 498
mixed/sparse semantic endpoint tips agree. This is geometry evidence, not glyph,
port-label, arrowhead, native trace-task or editing acceptance.
The initial analysis reported six full-Project mismatches: five numeric leaves
per mixed Project, repeated across the three routers. Direct Project JSON writes
short f32 decimals, whereas `json!(Project)` through serde_json::Value expands
them to f64 decimals. Only PortAnchor.offset and EdgeLabel.fraction differ,
at 0.3/0.4/0.6; all thirty leaves have identical binary32 bits. V2 compares exact
bits only at these explicitly typed schema paths; every other field remains
exact, with changed-field and adjacent-f32 negative checks. Original failed
analysis, script and receipts remain unchanged. The independently reviewed v2
analysis has zero failed checks; this is not an aggregate quality acceptance.
The new record supplements the prior [nine-fixture comparison](../auto-layout-20260925/results-lanes.md).
## Consequence and reproduction
The [decision review](decision-review.md) supports retaining released routing.
Stop this fixed comparison without further parameter tuning. Preserve J/L as
diagnostic alternatives; reopening adoption requires demonstrated named trace
task improvements without new ambiguity and appropriate native/runtime evidence.
The separate reset candidate addresses stale authored constraints with the
released router; connection-aware node arrangement, label quality and complete
Arrange acceptance remain open in issue 32.
From each identified build commit, using the recorded Windows toolchain:
```text
cargo build --release --locked --offline -p oa-core --example routing_cost_probe --example auto_layout_probe
target/release/examples/routing_cost_probe.exe harness/experiments/routing-independent-20260925/corpus/manifest.json
target/release/examples/auto_layout_probe.exe --route-corpus harness/experiments/routing-independent-20260925/corpus/manifest.json
```
Preserve each executable before switching source, and run the fixed interleaved
order without compilation. The protocol requires an external 90 s per-process
timeout because the internal 5 s censor is checked only after a call returns.
Portable analysis scripts, original outputs, build receipts, corrected and
failed analyses, source/configuration inventories and archive-member hashes are
in [evidence/manifest.json](evidence/manifest.json). Local absolute paths in raw
receipts identify this machine; peers must build from the linked commits and
use their own filesystem/toolchain setup. No local path is a shared artifact.