Skip to content

feat(parity): add manifest-declared v2 gate exclusions (#90 PR 8b) - #105

Merged
entelecheia merged 2 commits into
mainfrom
feat/90-pr8b-parity-gate-docs
Aug 15, 2026
Merged

feat(parity): add manifest-declared v2 gate exclusions (#90 PR 8b)#105
entelecheia merged 2 commits into
mainfrom
feat/90-pr8b-parity-gate-docs

Conversation

@entelecheia

Copy link
Copy Markdown
Member

Summary

Epic #90 PR 8b: explicit, auditable gate exclusions for the v2 parity contract, plus the certification/documentation/release-gate doc sweep.

  • gate_exclusions: a v2 manifest may declare gates measured-but-not-blocking (optional array of the 8 v2 gate names, unique, fail-fast on unknown/duplicate/non-list). Measurement and passed_gates/failed_gates are unchanged; eligibility follows the new blocking_failed_gates (failed minus excluded). Scorecard and scoreboard echo excluded_gates + blocking_failed_gates as required fields; with no exclusions the schemas keep the legacy strict rule, so the public CI profile is behaviorally unchanged (fixtures updated with empty arrays).
  • Residual gap analysis: fresh private composite run on merged main (post 7a/7b) passes page_count/media_box/render_issues/determinism, declares fonts excluded, and still blocks on text/raster/roi. Content-free aggregate analysis recorded in docs/design/21-pdf-parity section 4.4: text deltas are extraction order plus a small fixed symbol/ASCII set (99.17% char-multiset identical, zero Hangul differences); raster divergence is uniform across pages (consistent with the 8 known font substitutions) plus two layout-shift pages; only the page-2 diagram ROI fails. Fixes deferred.
  • Docs (EN+KO): release-readiness gains the private Hancom-receipt gate item, the parity gate item with mandatory exclusion disclosure, and the residual-blocking-gates item; 12-feature-gaps section 0.5 records PRs 7a/7b/8a/8b; 05-rendering stale CELL-pagination note corrected; README certification section notes the 8a evidence checks.

Verification

  • scripts/check.sh OK (public parity skip on the Poppler pin as usual).
  • 29 tools/test_pdf_parity.py tests including 4 new exclusion tests; schema smoke checks confirm an exclusion-assisted pass validates while a hidden one fails.
  • Private composite run: blocking_failed_gates = [text, raster, roi], exit 1 as documented.

Epic #90 stays open: text/raster/roi fixes, approved font faces, and the independent Hancom verification receipt remain.

Let a v2 parity manifest declare selected gates measured-but-not-
blocking via an optional gate_exclusions array. Every gate is still
measured and reported; eligibility is computed over the new
blocking_failed_gates (failed minus excluded), and scorecard plus
scoreboard echo excluded_gates/blocking_failed_gates as required
fields so an exclusion-assisted pass cannot be mistaken for a full
pass. With no exclusions declared the schemas keep the legacy strict
rule, so the public CI profile is validated exactly as before.

Also documents the residual private-profile gaps (text, raster, roi)
as content-free aggregates in 21-pdf-parity, adds the private
Hancom-receipt and parity gate items to release-readiness, records
PRs 7a/7b/8a/8b in the feature-gap history, and refreshes the stale
CELL-pagination note in 05-rendering (EN+KO).
Copilot AI lite review requested due to automatic review settings August 15, 2026 22:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bd6be62c5a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread schemas/pdf-parity-scorecard-v2.schema.json
The v2 scorecard and scoreboard schemas now enforce, for each of the
eight gates, that a failed non-excluded gate must appear in
blocking_failed_gates and that a blocking gate must be failed and not
excluded, so a scorecard can no longer validate an exclusion-assisted
pass over a non-excluded failure.
@entelecheia
entelecheia merged commit c774ec5 into main Aug 15, 2026
5 checks passed
@entelecheia
entelecheia deleted the feat/90-pr8b-parity-gate-docs branch August 15, 2026 22:56
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.

2 participants