Skip to content

Finalize structured goldens, harness coverage, and compare output semantics#112

Merged
corymhall merged 1 commit intomasterfrom
st-ac3.17.3.7-finalize-goldens-harness-docs
Mar 2, 2026
Merged

Finalize structured goldens, harness coverage, and compare output semantics#112
corymhall merged 1 commit intomasterfrom
st-ac3.17.3.7-finalize-goldens-harness-docs

Conversation

@corymhall
Copy link
Member

@corymhall corymhall commented Feb 27, 2026

Summary

This PR finalizes the compare structured-output wave by aligning contracts, goldens, and harness coverage across compare and cmd paths.

It also captures finalized output semantics for capped text rendering and full structured JSON output.

What Changed

  • Finalized structured compare/cmd golden harness coverage for AWS mini fixtures.
  • Updated compare/cmd tests and fixture expectations to the finalized contracts.
  • Kept JSON structured output uncapped while keeping text output capped.
  • Refined requiredness/remap severity/breaking classification to match the final policy.
  • Updated README/docs and supporting command/test plumbing required for end-to-end parity.

Why

This closes the loop on behavior, tests, and documentation so reviewers can validate a stable end-state at the stack tip.

It ensures the same semantics are exercised by both compare package tests and command harness tests.

Context

closes #83
closes #84

@corymhall
Copy link
Member Author

corymhall commented Feb 27, 2026

This change is part of the following stack:

Change managed by git-spice.

@corymhall corymhall changed the title st-ac3.17.3.7-finalize-goldens-harness-docs: squash branch history Finalize structured goldens, harness coverage, and compare output semantics Feb 27, 2026
@corymhall corymhall marked this pull request as ready for review February 27, 2026 13:41
@corymhall corymhall requested a review from a team February 27, 2026 13:42
@corymhall corymhall force-pushed the st-ac3.17.3.6.1-maxitems-rename-normalization branch from b7a0038 to a1a7b82 Compare March 2, 2026 11:16
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from c45c4a0 to cedeaf8 Compare March 2, 2026 11:16
@corymhall corymhall force-pushed the st-ac3.17.3.6.1-maxitems-rename-normalization branch from a1a7b82 to 599b8b7 Compare March 2, 2026 11:57
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from cedeaf8 to 33ce676 Compare March 2, 2026 11:57
@corymhall corymhall force-pushed the st-ac3.17.3.6.1-maxitems-rename-normalization branch from 599b8b7 to 6c7341a Compare March 2, 2026 15:27
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from 33ce676 to 27431e1 Compare March 2, 2026 15:27
@corymhall corymhall force-pushed the st-ac3.17.3.6.1-maxitems-rename-normalization branch from 6c7341a to 9204a23 Compare March 2, 2026 15:30
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from 27431e1 to b8af9b1 Compare March 2, 2026 15:30
@corymhall corymhall force-pushed the st-ac3.17.3.6.1-maxitems-rename-normalization branch from 9204a23 to fb61a2b Compare March 2, 2026 15:34
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from b8af9b1 to 9dc5e27 Compare March 2, 2026 15:34
@corymhall corymhall force-pushed the st-ac3.17.3.6.1-maxitems-rename-normalization branch from fb61a2b to 36c0bb9 Compare March 2, 2026 15:36
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from 9dc5e27 to 1617f5b Compare March 2, 2026 15:36
corymhall added a commit that referenced this pull request Mar 2, 2026
…#110)

## Summary
This PR integrates field/type lookup decisions into compare generation
and simplifies command-layer behavior accordingly.

It removes reliance on downstream shaping assumptions by making the
engine classification path authoritative.

## What Changed
- Integrated field/type equivalence checks into compare engine
type-change handling.
- Tightened type-equivalence handling for map/value shape edge cases.
- Updated text rendering and cmd tests to validate one-pass behavior.
- Kept command flow focused on rendering result data instead of semantic
reinterpretation.

## Why
Field/type normalization decisions should happen during change
generation, not after rendering.

This keeps output deterministic and reduces fragile command-layer logic.

## Context
- Depends on #108 lookup primitives and #109 token integration.
- Enables final rename-aware and fixture parity work in #111/#112.

## Testing
- `go test ./internal/compare ./compare ./internal/cmd -count=1`
@corymhall corymhall force-pushed the st-ac3.17.3.6.1-maxitems-rename-normalization branch from 36c0bb9 to 692d99c Compare March 2, 2026 15:54
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from 1617f5b to 68d96bc Compare March 2, 2026 15:55
@corymhall corymhall force-pushed the st-ac3.17.3.6.1-maxitems-rename-normalization branch from 692d99c to b969162 Compare March 2, 2026 15:59
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from 68d96bc to 0fca1f5 Compare March 2, 2026 15:59
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch 3 times, most recently from fabe893 to 76ad7da Compare March 2, 2026 16:16
corymhall added a commit that referenced this pull request Mar 2, 2026
…111)

## Summary
This PR improves rename-aware and maxItems-related transition handling
using real AWS fixture coverage.

It focuses on turning noisy or split diagnostics into clearer
single-cause type/rename messages where metadata evidence supports that
outcome.

## What Changed
- Added real AWS normalization fixture tests and fixture data.
- Added/updated normalization helpers for rename-aware field and type
transitions.
- Refined compare engine handling for ref/array boundary transitions.
- Added coverage for type-ref token parsing and related normalization
edge cases.
- Updated supporting normalize/compare tests and helper wiring needed by
these scenarios.

## Why
Real fixture coverage is required to validate that normalization
behavior matches expected user-facing diagnostics.

This hardens behavior before final golden/harness consolidation.

## Context
- Builds on engine integration from #110.
- Feeds the final golden/harness pass in #112.

> Note: I had to upgrade to Go 1.25 in this since I brought in new
dependencies

## Testing
- `go test ./internal/normalize ./internal/compare ./compare -count=1`
Base automatically changed from st-ac3.17.3.6.1-maxitems-rename-normalization to master March 2, 2026 16:18
Squash details:
- Branch: st-ac3.17.3.7-finalize-goldens-harness-docs
- Base: st-ac3.17.3.6.1-maxitems-rename-normalization
- Squashed commits: 5

Original commits:
- d62d2c0 Finalize structured goldens and document lookup-first invariants
- 49e3e5b Finalize compare goldens and harness alignment
- c75d878 cmd compare: add repo file download support
- fff9d8f Process wave review: preserve diagnostics and upgrade lint
- f8bfc38 compare: make JSON uncapped, text capped; tighten requiredness/remap severity
@corymhall corymhall force-pushed the st-ac3.17.3.7-finalize-goldens-harness-docs branch from 76ad7da to 43ff40a Compare March 2, 2026 16:19
@corymhall corymhall merged commit 2fb8f88 into master Mar 2, 2026
3 checks passed
@corymhall corymhall deleted the st-ac3.17.3.7-finalize-goldens-harness-docs branch March 2, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants