test(source): author explicit trace and reject actual typed case spellings

This commit is contained in:
2026-09-24 20:38:33 -07:00
parent 33b86a4d6b
commit 520e50ce62
2 changed files with 33 additions and 2 deletions
@@ -54,11 +54,27 @@ fn current_formatter_roundtrips_complete_ordinary_examples_and_history() {
let input = example_bundle();
let before = input.clone();
let compiled = compile_bundle(&input, ProjectLimits::default()).unwrap();
let example = compiled.decoded.project;
let mut example = compiled.decoded.project;
assert!(example.elements.values().any(|e| e.layer() == Layer::Oa));
assert!(example.elements.values().any(|e| e.layer() == Layer::Sa));
assert!(!example.diagrams.is_empty());
assert!(!example.traces.is_empty());
// The published example has no traces: author an explicit participant link
// rather than assuming that the example already exercises this record class.
let trace_id = Id::from_u128(0x188b_0000_0000_0000_0000_0000_0000_0001);
let trace = Trace {
id: trace_id,
alias: "rescue_participant_trace".into(),
name: "Coordination participant realization".into(),
description: "Relates the operational coordination team to its selected system.".into(),
oa: Id::parse_str("00000000-0000-4000-8000-000000000102").unwrap(),
sa: Id::parse_str("00000000-0000-4000-8000-000000000301").unwrap(),
kind: TraceKind::Participant,
baseline: None,
};
assert_eq!(example.elements[&trace.oa].kind(), Kind::Entity);
assert_eq!(example.elements[&trace.sa].kind(), Kind::System);
assert!(example.traces.insert(trace_id, trace.clone()).is_none());
assert_eq!(example.traces[&trace_id], trace);
let historical =
crate::persistence::decode(include_bytes!("../tests/fixtures/v4-reviewed-prose.json"))
.unwrap();
@@ -165,7 +181,9 @@ fn typed_analysis_future_headers_and_limits_still_refuse() {
"sa_property",
"oa_check",
"sa_check",
"oa_analysis",
"oa_case",
"sa_analysis",
"sa_case",
"oa_engineering_property",
"sa_engineering_property",
@@ -51,3 +51,16 @@ single6 token, and expect only6->8 during migration. All exact file/comment/modu
whole-model, caller ownership and recompilation assertions remain, as does the
original test name. This is a static finding before execution, not a reported
runtime failure; no other legacy evaluator or formatter is changed.
## Focused fixture repair after initial execution
Parent's focused run at 33b86a4d completed five tests and failed one: the example
bundle has no trace records, contrary to the new fixture's nonempty assertion.
The repair explicitly authors a Participant trace from fixed OA rescue-team UUID
102 to fixed SA system UUID301, checks endpoint kinds and the complete trace,
and includes it in the unchanged whole-model source/bundle roundtrip assertions.
Historical reviewed-prose trace/baseline coverage remains. Independent source
review also identified the actual short case spellings oa_analysis/sa_analysis;
both now appear in the ordinary refusal table alongside the invalid case aliases.
Production and the other evaluators are unchanged. These corrections are not a
runtime pass claim; the initial five-pass/one-failure record remains preserved.