Skip to content

Explain refused and partially read trace tags in matrix (PLAT-1150) - #124

Merged
kreneskyp merged 4 commits into
mainfrom
fix/plat-1150-matrix-diagnostics
Nov 8, 2026
Merged

kreneskyp merged 4 commits into
mainfrom
fix/plat-1150-matrix-diagnostics

Conversation

@kreneskyp

Copy link
Copy Markdown
Contributor

quire matrix silently discarded the engine's explanations of source-tag ranges and IDs outside the declared trace grammar. At quire-driver e7f6e89, ranges already produce range-in-trace-tag and IDs dropped after and already appear in unmatched_tags; selecting only coverage_matrix hid both.

Emit those existing engine facts as warnings on stderr in markdown, JSON and TSV. JSON diagnostics retain reason, path and line. Stdout matrix data, binding semantics and strict verdict stay unchanged. Source ranges remain forbidden by FR-050-AC-50/FR-051-AC-28; Trace lists continue to use the module-declared comma grammar. FR-026-AC-15 documents the behavior.

Validation: pre-fix regression fails; Rust/Python/TypeScript cases pass in every format, typed warning checks retain locations, and comma-list healthy controls restore strict success with no tag warnings. Full local workspace suite passes 279 tests (one deliberately ignored network test); lint and formatting pass. The real driver checkout's JSON matrix is byte-identical before/after, while stderr now names the six dropped quire-cache IDs and the forbidden ranges. Includes the one-line Linux-only unused-mut correction independently verified by PLAT-1149's green Linux CI.

Tracking: https://linear.app/agent-ix/issue/PLAT-1150. This PR changes no engine pin and is independent of PLAT-1149's fix stack.

@kreneskyp
kreneskyp marked this pull request as ready for review November 8, 2026 16:58
@kreneskyp
kreneskyp requested a review from a team as a code owner November 8, 2026 16:58

@kreneskyp kreneskyp left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lead review (diff only): PLAT-1150 quire matrix now sends engine diagnostics and unmatched trace tags to stderr (structured under JSON diagnostics) with stdout payload and strict verdict unchanged. After merging current main: FR-026-AC-15 collision resolved by renumbering this criterion to FR-026-AC-16; matrix.rs ported to the ix-cli-kit Record/DiagnosticFields stream types after #131. Gate: fmt-check and lint clean; tests green except it_144 (host lacks python jsonschema, not this change). No findings.

@kreneskyp
kreneskyp merged commit 6dee33b into main Nov 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant