Add semantic paths and safe diagnostics
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Status and ownership
|
||||
|
||||
Status: implementation in progress; Stage 1 is complete and later stages are
|
||||
Status: implementation in progress; Stages 1–2 are complete and later stages are
|
||||
pending.
|
||||
|
||||
Audience: a `gpt-5.6-terra` coding agent implementing one stage per prompt, in
|
||||
@@ -333,7 +333,25 @@ Acceptance:
|
||||
|
||||
## Stage 2 — Implement semantic paths and safe diagnostic records
|
||||
|
||||
Status: pending.
|
||||
Status: complete.
|
||||
|
||||
Completion evidence (2026-09-06):
|
||||
|
||||
- Implemented immutable key/index paths, strict JSON Pointer parsing, canonical
|
||||
spelling, parsed numeric-token preservation, and private traversal intent in
|
||||
[`path.go`](../../path.go).
|
||||
- Implemented detached metadata/provenance records and empty/unknown query behavior
|
||||
in [`records.go`](../../records.go) and [`metadata.go`](../../metadata.go).
|
||||
- Implemented canonical diagnostic ordering, related-location normalization,
|
||||
control-safe rendering, short/error writer propagation, and defensive
|
||||
`LoadError` access in [`diagnostic.go`](../../diagnostic.go). No raw values,
|
||||
parser errors, source parsing, or loading surface was introduced.
|
||||
- Added focused tests for escaped slash/tilde/empty/dotted/numeric keys, literal
|
||||
dot/percent tokens, malformed escapes, builder immutability, detached nested
|
||||
records, `errors.As`, ordering independence, control escaping, and failing/short
|
||||
writers. Verified `go test ./...`, `go vet ./...`, `go build ./...`, and
|
||||
`git diff --check` with Go 1.26.7 on linux/amd64. No deviations were required;
|
||||
metadata population and configuration lifecycle behavior remain later work.
|
||||
|
||||
Read: feature [paths](initial.md#paths-and-presence),
|
||||
[diagnostics](initial.md#provenance-diagnostics-and-redaction), public metadata API.
|
||||
|
||||
Reference in New Issue
Block a user