diff --git a/docs/testing.md b/docs/testing.md index 4b6c28eff8..4fc5755f99 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -272,6 +272,11 @@ cases. Share setup without hiding inputs or expected evidence. For successful `.ok` assertion adds no coverage. Protocol fixtures must reject unmodeled commands and preserve actual producer reply shapes. +For comparison normalization, include a legitimate equivalent pair and a +distinct pair that would collapse if representation tags or scope were lost. +For learned identifiers, cover conflicting pairs and reused values in different +collections; mappings must remain one-to-one within their declared scope. + Packed bridge validation uses Python's standard-library AST and tar readers with `-I -S`: caller-local modules, `PYTHONPATH`, and site startup hooks must not replace those readers or execute during validation. Controlled `ast.py` diff --git a/docs/tool-design.md b/docs/tool-design.md index 2650128e13..ab4417e9f3 100644 --- a/docs/tool-design.md +++ b/docs/tool-design.md @@ -62,6 +62,9 @@ satisfy. A plan without execution does not establish runtime behavior. - Keep observed, derived, and inferred relationships distinct. Preserve unresolved edges and partial provider facts instead of requiring every provider to supply the same metadata. + When a format constructor changes defaults or flags, retain the source + values and use separately derived effective values only for operations + whose semantics require them. - For caller/callee reads, `relationship_coverage` describes only the provider-observed direct relationship set. `complete` means that set was returned without a known read limit; it does not claim every possible runtime