Validate metadata queries against semantic path shapes
This commit is contained in:
@@ -87,7 +87,10 @@ successful result. Callback panics remain programming failures.
|
||||
|
||||
### Layered metadata
|
||||
|
||||
`Result.Metadata` describes every final canonical path. Exact surviving input paths
|
||||
`Result.Metadata` describes every final canonical path. Queries retain explicit
|
||||
key/index distinctions using actual effective and historical container shapes;
|
||||
only parsed numeric tokens are resolved contextually. A descendant that never
|
||||
existed is not historical merely because an atomic ancestor was replaced. Exact surviving input paths
|
||||
are explicit and have a base or profile origin; omitted paths have a default origin.
|
||||
An explicit parent mapping does not make omitted children explicit. Null state and
|
||||
available source coordinates are retained. `History` records the Go-zero or application
|
||||
|
||||
@@ -157,6 +157,12 @@ agree while preserving reasons, dependencies, origins and redaction.
|
||||
|
||||
## 6. P2 — Preserve semantic path kinds and reject nonexistent explanation paths
|
||||
|
||||
Status: complete. Metadata retains value-free effective/historical path shapes;
|
||||
queries validate explicit segment kinds, and explanation omits absent-to-absent
|
||||
operations for paths that never existed. Regressions cover wrong-kind and parsed
|
||||
numeric queries, out-of-range indices, no-output failures and removed descendants.
|
||||
Full tests pass with the issue-8 TMPDIR workaround; vet, build and whitespace pass.
|
||||
|
||||
Evidence: [metadata.go](../../metadata.go) indexes queries solely by `Path.String`,
|
||||
losing explicit key/index distinctions. [explain.go](../../explain.go),
|
||||
`applicationOperationPath`, considers an atomic ancestor relevant even when the
|
||||
|
||||
Reference in New Issue
Block a user