Correct archived probe warning baseline from validation rules

This commit is contained in:
2026-10-01 17:50:45 -07:00
parent 2aac3e8353
commit f754ad85d3
4 changed files with 347 additions and 11 deletions
@@ -1,8 +1,11 @@
# Issue 38 bounded geometry experiment
Source preparation for `715036e132677dd2bc2fb37ed316d93dc9987aec`. No compilation,
current-router execution, GUI selection, or feature acceptance is claimed by this
directory. The parent owns execution/publication. Windows only; Linux/WSL excluded.
Core source baseline `715036e132677dd2bc2fb37ed316d93dc9987aec`. The parent compiled
the probe at `2aac3e83532166dc45cd3519cc5d89b3e84d57f3`; its first test run passed
one test and failed four at admission because the expected warning baseline was
incomplete. The corrected baseline awaits rerun; geometry generation did not run.
No GUI selection or feature acceptance is claimed. The parent owns execution and
publication. Windows only; Linux/WSL excluded.
The Rust example uses `persistence::decode`, `validation::validate`,
`projection::project_view`, and `routing::route_diagram`. It accepts schema JSON or
@@ -42,10 +45,12 @@ The probe fails if a recognized fixture view's full projected inventory differs,
including kind, semantic endpoints, ports, projected endpoints, and trace flag.
Do not treat the eight-card count alone as a semantic acceptance check.
The explicit archived warning baseline is ten `work_without_behavior_context`
and fourteen `exchange_without_behavior_context` diagnostics. It was prepared
from the input records and coverage rules; first execution must confirm it, not
silently regenerate it from observed diagnostics. The release1 baseline is its
The explicit archived warning baseline is **60**: ten `work_without_behavior_context`,
fourteen `exchange_without_behavior_context`, one `missing_system`, and ten
`unallocated_leaf`, and 25 `empty_port_contract` diagnostics. The first 24-warning
baseline omitted the last three families. [The correction review](warning-baseline-review.md) derives their
identities, fields, and messages independently from input records and validation
rules; it does not regenerate expectations from observed diagnostics. The release1 baseline is its
existing one-warning `expected-diagnostics.json`. Every error, missing warning,
extra warning, or changed warning field/message fails admission. No automatic
warning acceptance or migration-based fixture replacement is performed.
@@ -166,5 +166,257 @@
"element": "00000000-0000-0000-0000-00000001adbd",
"code": "exchange_without_behavior_context",
"field": null
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-0000000186a0",
"code": "missing_system",
"field": "elements",
"message": "Identify the SA system of interest."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-000000018704",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Sensor A' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-000000018706",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Sensor B' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-000000018708",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Ingest' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-00000001870a",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Validate' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-00000001870c",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Archive' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-00000001870e",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Correlate' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-000000018710",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Plan' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-000000018712",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Dispatch' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-000000018714",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Actuator' to a performer."
},
{
"severity": "Warning",
"element": "00000000-0000-0000-0000-000000018716",
"code": "unallocated_leaf",
"field": "allocation",
"message": "Allocate leaf 'Operator' to a performer."
},
{
"severity": "Warning",
"element": "01abf25b-82c2-51bc-adbc-73cf6f411b2d",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "14c74a31-2041-59ac-877a-bc8aa0548896",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "169224b3-b692-540d-ac73-1435e2a87b04",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "193bd9b2-e1dd-5764-8f41-777884d3a5ea",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "1c6a0a70-81b3-5c39-a2fd-c3d5b9a112c0",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "224d8f5f-2a81-5315-b7b6-24fe0cd9e95d",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "2fcb392a-80e8-5be4-990c-79de2be0a19b",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "406e76e5-affd-59a2-bf1b-c3b3b22d3dd2",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "51641731-5387-5d58-9bcb-2074acdbe23d",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "6f72f5b2-e6c2-5700-a7d5-f945d076fcb8",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "7d27cb1e-8dc7-5ebe-9407-a1d05e547562",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "8661fe68-51aa-5c8c-827f-e7abea0f6b66",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "9244d718-d53a-54cb-a920-5b5312576da6",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "b1949371-949b-5cb5-acab-485dc4de2e80",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "b4b5d6dc-a2b2-59b0-8898-32dc2e7aa906",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "bbee14f0-a8d5-5a0d-90e3-01f2d4c5e088",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "d865e245-0fe6-5c21-a872-d57863a1f857",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "d9647cdb-2fcd-5b3f-94b4-ed2a3b8ebf66",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "e3f59e03-53c7-5d99-97f0-f52542e939c7",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "e9dc0338-4237-5cc0-9e7f-7031b51c4772",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "ebfcf690-4ac5-5976-864c-337d844b6cd6",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "edb626b5-7d99-5015-9faf-71a06232d86e",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "f9d7dbf7-a221-5e51-a58f-530d4ca176e7",
"code": "empty_port_contract",
"field": "outgoing_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "fdf21c35-cd98-5e9a-9a35-faa453f137ca",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
},
{
"severity": "Warning",
"element": "fe1b5efc-983a-593c-a02f-affd40ff5a2f",
"code": "empty_port_contract",
"field": "incoming_items",
"message": "This function port has no declared exchange items."
}
]
@@ -1,6 +1,6 @@
{
"declared_base": "715036e132677dd2bc2fb37ed316d93dc9987aec",
"status": "Source preparation only; no compiled or runtime evidence",
"status": "Initial probe compilation succeeded at 2aac3e83532166dc45cd3519cc5d89b3e84d57f3; first test run: 1 passed, 4 failed due to incomplete expected warnings. Source-derived baseline corrected to 60; rerun and geometry generation pending.",
"files": [
{
"path": "crates/oa-core/src/model.rs",
@@ -64,8 +64,8 @@
},
{
"path": "harness/experiments/diagram-readability-20260929/mixed-dispatch-expected-diagnostics.json",
"bytes": 6187,
"sha256": "240033ff6b0664580234e5211521a533d9227c8e250e8afaf3c85e95c485cec1"
"bytes": 14337,
"sha256": "be6747f4bec4f285b411dfbc934ab63ee46e64403354652d73ec7a801d1c0b2d"
},
{
"path": "harness/experiments/diagram-readability-20260929/mixed-answer-key.json",
@@ -76,6 +76,11 @@
"path": "harness/experiments/diagram-readability-20260929/eight-answer-key.json",
"bytes": 5337,
"sha256": "8968fcc625e8584168ebb6b82f622307bdeb3db4c9c4fdbbc9fbdde3683a6efb"
},
{
"path": "crates/oa-core/src/ports.rs",
"bytes": 45413,
"sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80"
}
],
"historical_archive_url": "http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/raw/commit/4fcb65c0d3ec7aabf2315bb3f08b64a7cdd2af99/harness/experiments/boundary-order-20260925/evidence/boundary-order-3e21c1bc.zip",
@@ -85,5 +90,14 @@
"probe_source": {
"path": "crates/oa-core/examples/diagram_readability_probe.rs",
"sha256": "41e2d5b3f170138b87bf30c9b40971c221a62864558294db2be4e61b7b139989"
}
},
"initial_test_failure": {
"source_commit": "2aac3e83532166dc45cd3519cc5d89b3e84d57f3",
"log": ".local/probe-tests-failed24.log",
"log_sha256": "897de362a2d001a83a6880138bc498a28b92602a350ac25405ee38fe81124cc8",
"result": "1 passed; 4 failed admission; geometry generation not run",
"correction": "Add 1 missing_system, 10 unallocated_leaf, and 25 empty_port_contract warnings from model records and validation/ports rules; no model or probe changes",
"rationale": "warning-baseline-review.md"
},
"baseline_review": "Independent critic verified all 60 exact rows, no duplicates, original 24 rows unchanged, and original input hash preserved. Rerun pending."
}
@@ -0,0 +1,65 @@
# Archived warning baseline correction
The parent compiled source `2aac3e83532166dc45cd3519cc5d89b3e84d57f3` and reported
one test passed / four failed at strict admission. The original expected baseline
contained 24 warnings. Geometry generation did not run. The failed log remains at
`.local/probe-tests-failed24.log`; its SHA256 is recorded in `provenance.json` for later
publication by the parent. This correction has not been compiled or executed by
the research agent.
Independent source inspection establishes the following additional 36 warnings.
An intermediate, unexecuted 35-warning correction covered system/allocation rules
only; independent critique caught the additional 25 typed-port warnings before rerun.
No diagnostic output was imported to construct them, and the original model bytes
remain unchanged (SHA256 81d25af021cbad18af4262a220ba60372e51ca19083b7e80f2b19196baf05990).
* `crates/oa-core/src/validation.rs:253–264` warns when any element is SA and no
element is a System. The archived model has 10 SA Functions and 25 SA Ports,
with no System. Therefore exactly one `missing_system` warning belongs to
project `00000000-0000-0000-0000-0000000186a0`, field `elements`, message
`Identify the SA system of interest.`
* `validation.rs:339–351` warns for each leaf work element with no effective
performer. All ten Functions below have no Function child (their own parents
are null; any children are Ports). All 14 relations are FunctionalExchanges;
there are no Allocations, RoleAssignments, or RoleRealizations. The resolver
at `validation.rs:2865–2893` consequently returns no performer for each.
Each receives severity `Warning`, code `unallocated_leaf`, field `allocation`,
and message `Allocate leaf '<name>' to a performer.` The warning helper at
`validation.rs:45–53` retains the supplied element ID and severity.
| Element ID suffix (prefix `00000000-0000-0000-0000-000000`) | Exact name |
| --- | --- |
| 018704 | Sensor A |
| 018706 | Sensor B |
| 018708 | Ingest |
| 01870a | Validate |
| 01870c | Archive |
| 01870e | Correlate |
| 018710 | Plan |
| 018712 | Dispatch |
| 018714 | Actuator |
| 018716 | Operator |
* `crates/oa-core/src/ports.rs:774–815` warns for an empty typed FunctionInput or
FunctionOutput item list. All 25 archived Ports have these SA typed contracts:
13 FunctionInputs with empty `incoming_items`, and 12 FunctionOutputs with empty
`outgoing_items`. Their warning element is the exact Port identity, severity
`Warning`, code `empty_port_contract`, field respectively `incoming_items` or
`outgoing_items`, and message `This function port has no declared exchange items.`
The expected JSON records each identity explicitly. `validation.rs:413` dispatches
these elements to the port validator. No generic legacy or component contracts
occur, so the separate legacy/orientation warning rules do not apply.
The complete model inventory is 35 elements (10 Functions and 25 Ports), 14 relations
(all FunctionalExchange, with empty carried-item lists), two views, and no traces.
There are no sequences, occurrences, states, capabilities, data objects, or other
relation families to trigger their specific warning rules. The behavior-context,
system, allocation, and typed-port rules exhaust the applicable warning families.
The existing 24 expected warning records remain intact. The corrected 60-record
baseline remains exact: missing, extra, changed-field, changed-message, or error
diagnostics still fail. These warnings describe the deliberately incomplete
archived synthetic architecture; accepting them as a fixture baseline does not
certify architectural completeness. No production rule, probe admission policy,
model record, route, or test was weakened. The parent must rerun the tests before
claiming successful admission or current-router geometry.