Existing-core interface-operation expressivity probe
probe.rs is a standalone executable using the unchanged shared core. It writes
three deterministic complete model/source snapshots under a supplied directory.
There is no proposed DTO implemented in this helper and no native input.
Observed result, 2026-09-06:
- Valid baseline:12 elements/5 relations, one System/Actor pair, two Standard ports, one boundary/interface, two Synchronous parameterless Operation items, two participant lifelines and two Calls.
- Both Calls' typed bodies are identical. Their names express different intent; neither Call references its intended item/allocation identity.
- Using item or allocation as the existing exchange reference rejects with
occurrence_exchange; adding anoperationfield to the typed JSON rejects as unknown. No undiscovered existing selector is being relabeled missing. - Renaming then deleting Reset preserves the Call body and leaves the Call structurally valid, because there is no maintained operation-use reference.
- Explicit functional refinement distinguishes the two messages and preserves the same boundary, but adds6 elements (two Functions/four ports) and10 relationships. It is a real alternative when that refinement is intended, not a zero-cost encoding of the unrefined interface-only model.
- All three output models pass complete source and JSON round trips. No core or desktop production file was changed.
The first helper compile lacked explicit validation imports; initial construction
also used the disabled generic Port factory and reversed Allocation/PortAllocation
directions. Those helper errors were corrected before the successful full run.
They are not product defects. Final compilation used -D warnings and succeeded.
Reproduce only after coordinating stable rlibs/shared resources:
. .local/toolchain/env.ps1
rustc --edition 2024 -D warnings -C linker=clang.exe --extern oa_core=.local/target-gnullvm/debug/deps/liboa_core-6c8da57367eec642.rlib --extern serde_json=.local/target-gnullvm/debug/deps/libserde_json-da2c4f333fc47818.rlib -L dependency=.local/target-gnullvm/debug/deps harness/fixtures/interface-operation-probe/probe.rs -o .local/native-fixtures/interface-operation-probe.exe
.local/native-fixtures/interface-operation-probe.exe NEW_OUTPUT_DIRECTORY
Final output is retained in .local/native-fixtures/interface-operation-probe.log.
The tracked output/ files are probe oracles, not native acceptance fixtures.
See the proposed contract.