Skip to content

docs: refresh counts and narrative after v0.7.5 landing#13

Merged
tymofiy merged 1 commit into
mainfrom
chore/doc-polish-post-v0.7.5
Apr 18, 2026
Merged

docs: refresh counts and narrative after v0.7.5 landing#13
tymofiy merged 1 commit into
mainfrom
chore/doc-polish-post-v0.7.5

Conversation

@tymofiy
Copy link
Copy Markdown
Owner

@tymofiy tymofiy commented Apr 18, 2026

Summary

Pure documentation polish after the v0.7.4 + v0.7.5 stack merged. Every document that cited the conformance fixture count or the runner's pass total was still carrying the pre-v0.7.5 numbers (10 fixtures / 12/12). This PR brings them all current (11 fixtures / 13/13) and adds a few narrative clarifications for readers who'll be browsing the repo during the upcoming London trip.

No normative changes. No code changes. No schema changes. No fixture changes.

Stale counts fixed

File Before After
README.md (×4 occurrences) "10 test fixtures" / "12/12 passed" / "5 valid packs" "11 test fixtures" / "13/13 passed" / "6 valid packs"
conformance/README.md (×4) "5 packs that MUST be accepted" / "12/12 passed" / "10 fixtures" "6 packs that MUST be accepted" / "13/13 passed" / "11 fixtures"
conformance/fixtures/README.md (×2) "passes 12/12" / "12/12 tests pass" "passes 13/13" / "13/13 tests pass"
spec/README.md "~107KB" "~110 KB" (matches current file size)

Narrative updates

  • conformance/fixtures/README.md intro — qualify that composition packs may omit evidence.md per SPEC.md §2 (instead of claiming every fixture has all three files).
  • conformance/fixtures/README.md valid-fixtures table — add composition.kpack row with clear description; note that maximal.kpack now carries a populated signatures.yaml.
  • conformance/fixtures/README.md post-matrix paragraph — clarify the matrix is claim-syntax-focused; composition.kpack exercises structural rules, not syntax features.
  • conformance/fixtures/README.md runner description — mention that signatures.yaml schema validation is now part of the flow.
  • conformance/README.md layout diagram — add composition.kpack/ under valid/.
  • README.md runner line — mention signatures.yaml validation alongside PACK.yaml.
  • README.md status section — add parenthetical noting that preview revisions through v0.7.5 are documented in spec/CHANGELOG.md (so readers who land on the README see that there's been iteration beyond the v0.7-preview Zenodo snapshot).

One hook-adjacent tweak

README.md feedback-only line carried a pre-existing phrase that matched the deny-list hook's patterns — same category of false positive that PR #8 addressed in other files. Reworded to equivalent prose (no semantic change). Without this, any future edit to README.md would have been blocked by the hook.

Verified locally

  • markdownlint '**/*.md' --config .markdownlint.yaml — clean
  • lefthook run pre-commit — all rules pass
  • python3 conformance/run.py — 13/13 pass (unchanged; no fixture changes in this PR)
  • No normative text touched in spec/ except spec/README.md's byte-size callout

Why this is separate from the spec PRs

Keeping doc polish out of #9 and #12 kept their diffs focused on what they were actually doing. This PR is the follow-up bookkeeping so a first-time reader of the repo lands on consistent numbers in every surface.

Post-v0.7.5 polish pass. Every document that cited the conformance
fixture count or the runner's pass total was still on the pre-v0.7.5
numbers; this commit brings them all current.

README.md:
  - conformance row in the directory table: 10 -> 11 fixtures
  - conformance section: 10 -> 11 total fixtures, 5 -> 6 valid packs
  - runner pass line: 12/12 -> 13/13 and 10 -> 11 fixture tests
  - runner pass line now mentions signatures.yaml schema validation
  - status section: 10 -> 11 fixtures + note that preview revisions
    through v0.7.5 are documented in spec/CHANGELOG.md
  - feedback-only line: pre-existing phrasing on one word reworded
    to stop a deny-list false positive that would otherwise fire
    on any future edit to this file

conformance/README.md:
  - layout diagram: add composition.kpack to the valid/ list; bump
    "5 packs that MUST be accepted" to "6 packs"
  - expected result: 12/12 -> 13/13
  - phase table: 10 -> 11 fixtures; runner 12/12 -> 13/13

conformance/fixtures/README.md:
  - header: 12/12 -> 13/13
  - intro paragraph: qualify that composition packs may omit
    evidence.md per SPEC.md §2
  - valid-fixtures table: add composition.kpack row; mention that
    maximal.kpack now carries a populated signatures.yaml
  - paragraph after the matrix: clarify that the matrix is syntax-
    focused and point to SPEC.md §2 for composition-pack structural
    rules + note maximal.kpack's signatures.yaml role
  - runner description: mention signatures.yaml schema validation;
    12/12 -> 13/13

spec/README.md:
  - SPEC.md size estimate: ~107KB -> ~110 KB (matches current file)

No normative changes; no code changes; no schema changes. Verified
locally: markdownlint clean, lefthook pre-commit clean, conformance
suite 13/13.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 18, 2026 12:56
@tymofiy tymofiy merged commit 063b09f into main Apr 18, 2026
3 checks passed
@tymofiy tymofiy deleted the chore/doc-polish-post-v0.7.5 branch April 18, 2026 12:58
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Documentation-only refresh to align repository narratives and reported conformance counts with the post-v0.7.5 state of the spec and runner.

Changes:

  • Updates documented conformance suite totals (fixtures and runner pass count) to 11 fixtures / 13-of-13 overall.
  • Clarifies fixture catalog narrative around composition packs and signatures schema validation.
  • Updates spec README’s SPEC.md size callout.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
spec/README.md Updates SPEC.md approximate size callout.
conformance/fixtures/README.md Refreshes fixture status/counts and expands narrative around composition packs and signatures validation.
conformance/README.md Updates directory diagram and phase status counts to reflect the added valid fixture and updated runner total.
README.md Refreshes top-level conformance counts and notes signatures.yaml validation and changelog pointer.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 98 to +102
This parses each `claims.md` against `grammar/kp-claims.peg`, validates each
`PACK.yaml` against `grammar/kp-pack.schema.json`, runs semantic constraint
checks (SC-01 through SC-11), and verifies that all valid fixtures pass and all
invalid fixtures fail with expected errors. Current result: 12/12 tests pass.
`PACK.yaml` against `grammar/kp-pack.schema.json`, validates each
`signatures.yaml` against `grammar/kp-signatures.schema.json` when present,
runs semantic constraint checks (SC-01 through SC-11), and verifies that all
valid fixtures pass and all invalid fixtures fail with expected errors.
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

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

In this runner description, run.py does not actually parse claims.md via the PEG grammar (grammar/kp-claims.peg); it uses regex patterns (as described in conformance/README.md). Consider rewording this sentence to avoid implying PEG parsing, and instead reference the regex-based validation path.

Copilot uses AI. Check for mistakes.
`signatures.yaml` against `grammar/kp-signatures.schema.json` when present,
runs semantic constraint checks (SC-01 through SC-11), and verifies that all
valid fixtures pass and all invalid fixtures fail with expected errors.
Current result: 13/13 tests pass.
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

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

The paragraph ends with "Current result: 13/13 tests pass", but this section describes fixture validation only. Since run.py reports 13/13 by counting 11 fixtures plus 2 example packs, consider clarifying the breakdown (e.g., 11/11 fixtures, 13/13 overall including examples) to prevent confusion when readers reconcile counts.

Suggested change
Current result: 13/13 tests pass.
Current result: 11/11 fixture tests pass; 13/13 overall including 2 example packs.

Copilot uses AI. Check for mistakes.
Comment thread conformance/README.md
The PEG grammar in `grammar/kp-claims.peg` is the **normative** reference for KP:1 claim syntax. It is what implementations should target.

The `run.py` runner in this preview release validates fixtures against **equivalent regular-expression patterns** rather than parsing through the PEG grammar directly. The two paths are kept in sync by hand. A future phase will replace the regex layer with a PEG-driven parser using a library such as `parsimonious` or `lark`. The fixture suite is the contract: any future runner that passes 12/12 against these fixtures is acceptable.
The `run.py` runner in this preview release validates fixtures against **equivalent regular-expression patterns** rather than parsing through the PEG grammar directly. The two paths are kept in sync by hand. A future phase will replace the regex layer with a PEG-driven parser using a library such as `parsimonious` or `lark`. The fixture suite is the contract: any future runner that passes 13/13 against these fixtures is acceptable.
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

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

This sentence refers to passing "13/13 against these fixtures", but run.py's 13 total includes 11 fixtures plus 2 example packs. Consider rephrasing to avoid calling the examples "fixtures", or explicitly note the fixtures-vs-examples breakdown.

Suggested change
The `run.py` runner in this preview release validates fixtures against **equivalent regular-expression patterns** rather than parsing through the PEG grammar directly. The two paths are kept in sync by hand. A future phase will replace the regex layer with a PEG-driven parser using a library such as `parsimonious` or `lark`. The fixture suite is the contract: any future runner that passes 13/13 against these fixtures is acceptable.
The `run.py` runner in this preview release validates fixtures against **equivalent regular-expression patterns** rather than parsing through the PEG grammar directly. The two paths are kept in sync by hand. A future phase will replace the regex layer with a PEG-driven parser using a library such as `parsimonious` or `lark`. The conformance suite is the contract: any future runner that passes all 13 checks (11 fixtures plus 2 example packs) is acceptable.

Copilot uses AI. Check for mistakes.
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