Correct archived probe warning baseline from validation rules
This commit is contained in:
@@ -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.
|
||||
|
||||
+252
@@ -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.
|
||||
Reference in New Issue
Block a user