Files
ARCADIA-Studio/harness/fixtures/release1-native/semantic-keyed.steps.md
T

67 lines
3.8 KiB
Markdown

# Semantic keyed native fixture
Open semantic-keyed.arcadia. This ignored fixture has 36 elements, 2 relationships,
2 named manual traces and pre-recorded explicit paired Annotation/Binding facts.
The normal Traceability "Review semantics…" entry needs no trace creation.
No diagram is required. All files here are local QA artifacts.
## 1. Take one qualified message value
Select trace "Navigation origin latitude review" (alias navigation_latitude_review)
and open Review semantics. Direction: Operational → System.
Enable Show unchanged if the historical paired fact is hidden.
Select the Annotation whose OA qualified field is
"OA Navigation origin / OA Navigation latitude" and whose SA field is
"SA Navigation origin / SA Navigation latitude". The destination-path annotation
is a separate sibling and must remain unchanged.
Click "Choose / change exact row identities…", retain the prefilled explicit
OA/SA keys, then "Use these addresses and review row". This deliberately installs
the typed path/field reference pairs; recorded history alone does not infer them.
Click "Take Operational". The System expression should become
`latitude_deg + 0.25` from `latitude_deg`. Additional changes: 0.
Apply once. The sibling expression stays `second independent` at its original
position. Compare the resulting accepted project with semantic-keyed.after-take.json
and exact single-file source with semantic-keyed.after-take.arcadia.
Undo restores semantic-keyed.json/source; Redo restores after-take.
## 2. Reject and repair one binding Candidate
Continue from after-take. Select trace "Rendezvous participant binding review"
(alias rendezvous_binding_review), Review semantics, Operational → System.
Enable Show unchanged if needed. Select the paired Binding keyed by
"OA Rendezvous referenced" / "SA Rendezvous referenced".
Click "Choose / change exact row identities…" and then
"Use these addresses and review row" to retain that explicit pair.
Click "Set final value…"; leave Include in destination collection checked.
Choose local lifeline "SA Rendezvous extra local". The sibling binding already
uses it, so preview must reject with:
`duplicate_lifeline_binding: Scenario-use lifeline bindings are one-to-one.`
Apply must stay disabled; source/project/history remain exactly after-take.
The chosen invalid local and presence draft must remain visible across tab changes.
Repair the local picker to "SA Rendezvous alternate". Additional changes: 0.
Apply once. Only the selected row's local lifeline changes; the sibling binding
and row order remain intact. Compare accepted project/source with
semantic-keyed.after-repair.json / semantic-keyed.after-repair.arcadia.
One Undo restores after-take exactly; Redo restores after-repair. Save/reopen must
preserve the exact leading comment and all typed review history.
## Validated core oracles
`semantic-keyed.validation.txt`: all three projects pass core validation,
production source and JSON decode round trips; successful plans have zero impacts.
`semantic-keyed.take-request.json` and `semantic-keyed.take-plan.json`: direct core
Take oracle against initial project.
`semantic-keyed.invalid-request.json` and `semantic-keyed.invalid.txt`: rejected
Candidate against after-take; the accepted project is unchanged.
`semantic-keyed.repair-request.json` and `semantic-keyed.repair-plan.json`: repaired
Candidate against after-take.
`semantic-keyed.manifest.json`: exact trace, occurrence, field and lifeline IDs.
Source oracles were generated through source_project::update_bundle, retaining
unmodified declarations and the fixture comment, rather than replacing the whole
file with a freshly formatted model. Generator source is generate-semantic-keyed.rs;
it reuses the production-tested r3_semantic payload/scenario-use constructors.
Standalone rustc output stays in this directory; Cargo and shared outputs untouched.