host/observer: tag the live prop-recovery row with the real wire value
Verification-round follow-up to 1b01847. The phase-3r live row proves
carrier 1 survives the bind, which is the property F1 destroyed — but
it tagged its fixture sink with `peerspeak.owned=true`, not the `1`
the contract pins and peerspeak actually emits. It would have passed
even if the real literal did not.
Adds PEERSPEAK_OWNED_VALUE so the fixture can name the producer's
value, and asserts it against the shared contract file alongside the
other two literals. The sink's name still deliberately avoids the
`peerspeak_owned_` prefix, so carrier 2 cannot stand in for carrier 1
in that row.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -251,10 +251,11 @@ fn ownership_carriers_match_the_cross_repo_fixture() {
|
||||
|
||||
assert_eq!(super::PEERSPEAK_OWNED_PROP, get("prop_key"));
|
||||
assert_eq!(super::PEERSPEAK_OWNED_NODE_PREFIX, get("node_name_prefix"));
|
||||
assert_eq!(super::PEERSPEAK_OWNED_VALUE, get("prop_value"));
|
||||
|
||||
// The value the producer pins must be one this consumer reads as truthy.
|
||||
// `truthy` lives at the observer boundary; assert the property of it that
|
||||
// matters here rather than reaching across modules for the function.
|
||||
// …and that value must be one this consumer reads as truthy. `truthy`
|
||||
// lives at the observer boundary; assert the property of it that matters
|
||||
// here rather than reaching across modules for the function.
|
||||
let value = get("prop_value");
|
||||
assert!(
|
||||
value != "false" && value != "0",
|
||||
|
||||
Reference in New Issue
Block a user