42 lines
2.5 KiB
Markdown
42 lines
2.5 KiB
Markdown
# 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 an `operation` field 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:
|
|
|
|
```powershell
|
|
. .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](../../release-interface-operation-contract-20260906.md).
|