lint-v1: ship Pattern C lint catalog (off-cycle reference artifacts)#9
Merged
Conversation
No PRISM.md content change. Closes Pattern C per PRISM-workshop/design/tooling_conventions_micro_dds_rev1.md decisions C1-C8. Artifacts: - lint_rules.md (catalog v1) — contributor-facing catalog with seven entries: two active (PRISM-LINT-01 named-refs-resolve error; PRISM-LINT-02 named-refs-orphan-anchor info), five reserved (PRISM-LINT-03/04/05/07 gated on Pattern A; PRISM-LINT-06 gated on Pattern B Phase B1 — both now active as of v2.1.0). - scripts/lint/lint_named_refs.py — Python lint script. NDJSON output by default; --text flag for human-readable; --severities flag for selective emission. Consolidates broken-ref / slug-collision / mixed-ref-style under PRISM-LINT-01; emits PRISM-LINT-02 for orphan anchors. Self-contained (slug-derivation inlined; no workshop-script dependency). - .github/workflows/lint.yml — PR-only workflow with two jobs: lint-required (error + warning; translates NDJSON to GitHub annotations; best-effort schema validation against workshop-hosted prism_frontmatter.schema.json) and lint-info (info; posts NDJSON summary as sticky PR comment). - CONTRIBUTING.md — new section 'Reviewing PRs — rendered-diff convention' per C7. Catalog rename in NDJSON output: the four workshop PRISM-REF-NN IDs (REF-01/02/03 error; REF-04 info) consolidate to PRISM-LINT-01 (all three error-class structural failures) and PRISM-LINT-02 (orphan). Internal sub-mode preserved in NDJSON 'context' field for diagnosability. Workshop's scripts/lint_named_refs.py retires immediately per C5 (handled in a separate workshop-side commit). Migration scripts in workshop stay (one-shot, different maintenance cadence). Tagging: lint-v1 after merge.
Informational lint findings55 info-level findings (non-blocking).
…and 5 more. |
Ronkupper
added a commit
that referenced
this pull request
May 22, 2026
Off-cycle Pattern C ship per design/tooling_conventions_micro_dds_rev1.md C1-C8. No PRISM.md content change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Off-cycle Pattern C ship per
PRISM-workshop/design/tooling_conventions_micro_dds_rev1.mddecisions C1–C8. NoPRISM.mdcontent change.What's in this PR
lint_rules.md(catalog v1) — contributor-facing catalog. Seven entries: two active (PRISM-LINT-01 / named-refs-resolveerror,PRISM-LINT-02 / named-refs-orphan-anchorinfo), five reserved (-03-04-05-07gated on Pattern A;-06gated on Pattern B Phase B1). Both gates clear with the parallel v2.1.0 bundle PR Release v2.1.0 — tooling conventions: Pattern A + B Phase B1 + D #8, so-06will activate on merge of that PR.scripts/lint/lint_named_refs.py— Python lint script. NDJSON output by default;--textflag for human-readable;--severitiesflag for selective emission.PRISM-LINT-01consolidates three error-class structural failures (broken-ref, slug-collision, mixed-ref-style) with the internal sub-mode preserved in NDJSONcontextfield. Self-contained: slug-derivation inlined; no workshop-script dependency..github/workflows/lint.yml— PR-only workflow with two jobs:lint-required(error + warning; translates NDJSON to GitHub::error/::warningannotations; best-effort frontmatter-schema validation against the workshop-hosted schema, gracefully skipped when the workshop repo isn't reachable from CI).lint-info(info; posts NDJSON-rendered summary as a sticky PR comment).CONTRIBUTING.md— new section "Reviewing PRs — rendered-diff convention" per C7.Catalog rename
The four workshop rule IDs (
PRISM-REF-01/02/03/04) consolidate to the public catalog:REF-01/02/03→PRISM-LINT-01 / named-refs-resolve;REF-04→PRISM-LINT-02 / named-refs-orphan-anchor. Sub-mode (broken-ref/slug-collision/mixed-ref-style/orphan-anchor) preserved in NDJSON for diagnosability. Workshop'sscripts/lint_named_refs.pyretires immediately per C5 (handled inPRISM-workshopPR #3).Verification
python scripts/lint/lint_named_refs.py PRISM.mdagainst v2.0.2 main: 0 error, 55 info. Against the parallel v2.1.0 bundle: 0 error, 56 info (one new C.9 anchor orphan, expected).yamllint .github/workflows/lint.ymlclean.Merge sequence
Recommend merging this PR first so the lint workflow exists on
mainwhen PR #8 re-runs CI. Taglint-v1on this PR's merge commit; tagv2.1.0on PR #8's merge commit.Provenance
PRISM-workshop/design/tooling_conventions_micro_dds_rev1.mddecisions C1–C8 + amendment.PRISM-workshop/handoffs/tooling_conventions_micro_dds_build.md.