Skip to content

lint-v1: ship Pattern C lint catalog (off-cycle reference artifacts)#9

Merged
Ronkupper merged 1 commit into
mainfrom
feat/lint-v1
May 22, 2026
Merged

lint-v1: ship Pattern C lint catalog (off-cycle reference artifacts)#9
Ronkupper merged 1 commit into
mainfrom
feat/lint-v1

Conversation

@Ronkupper
Copy link
Copy Markdown
Owner

Off-cycle Pattern C ship per PRISM-workshop/design/tooling_conventions_micro_dds_rev1.md decisions C1–C8. No PRISM.md content change.

What's in this PR

  • lint_rules.md (catalog v1) — contributor-facing catalog. Seven entries: two active (PRISM-LINT-01 / named-refs-resolve error, PRISM-LINT-02 / named-refs-orphan-anchor info), five reserved (-03 -04 -05 -07 gated on Pattern A; -06 gated 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 -06 will activate on merge of that PR.
  • scripts/lint/lint_named_refs.py — Python lint script. NDJSON output by default; --text flag for human-readable; --severities flag for selective emission. PRISM-LINT-01 consolidates three error-class structural failures (broken-ref, slug-collision, mixed-ref-style) with the internal sub-mode preserved in NDJSON context field. 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 / ::warning annotations; 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/03PRISM-LINT-01 / named-refs-resolve; REF-04PRISM-LINT-02 / named-refs-orphan-anchor. Sub-mode (broken-ref / slug-collision / mixed-ref-style / orphan-anchor) preserved in NDJSON for diagnosability. Workshop's scripts/lint_named_refs.py retires immediately per C5 (handled in PRISM-workshop PR #3).

Verification

  • python scripts/lint/lint_named_refs.py PRISM.md against 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.yml clean.

Merge sequence

Recommend merging this PR first so the lint workflow exists on main when PR #8 re-runs CI. Tag lint-v1 on this PR's merge commit; tag v2.1.0 on PR #8's merge commit.

Provenance

  • Combined micro-DD: PRISM-workshop/design/tooling_conventions_micro_dds_rev1.md decisions C1–C8 + amendment.
  • Build handoff: PRISM-workshop/handoffs/tooling_conventions_micro_dds_build.md.

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.
@github-actions
Copy link
Copy Markdown

Informational lint findings

55 info-level findings (non-blocking).

Rule File:Line Message
PRISM-LINT-02 PRISM.md:103 orphan section 'what-v2-0-2-does-not-cover' (never referenced)
PRISM-LINT-02 PRISM.md:151 orphan section 'construct-list' (never referenced)
PRISM-LINT-02 PRISM.md:205 orphan section 'visual-map' (never referenced)
PRISM-LINT-02 PRISM.md:366 orphan section 'lifecycle-slots' (never referenced)
PRISM-LINT-02 PRISM.md:383 orphan section 'band-legend' (never referenced)
PRISM-LINT-02 PRISM.md:396 orphan section 'cross-section-quick-find' (never referenced)
PRISM-LINT-02 PRISM.md:1821 orphan section 'probe-ordering-recommended-sequence' (never referenced)
PRISM-LINT-02 PRISM.md:1970 orphan section 'lens-schema-what-orchestration-consumes' (never referenced)
PRISM-LINT-02 PRISM.md:2000 orphan section 'specialist-pass-promotion' (never referenced)
PRISM-LINT-02 PRISM.md:2112 orphan section 'parked-v2-design-ideas' (never referenced)
PRISM-LINT-02 PRISM.md:2492 orphan section 'monitor-severity-report-format' (never referenced)
PRISM-LINT-02 PRISM.md:2707 orphan section 'filename-patterns' (never referenced)
PRISM-LINT-02 PRISM.md:2732 orphan section 'bump-atomicity-routine' (never referenced)
PRISM-LINT-02 PRISM.md:2839 orphan section 'what-v1-xs-atomic-template-carried-that-v2-reshapes' (never referenced)
PRISM-LINT-02 PRISM.md:2866 orphan section 'cloud-drive-and-persistence' (never referenced)
PRISM-LINT-02 PRISM.md:2873 orphan section 'mobile-platform-cues' (never referenced)
PRISM-LINT-02 PRISM.md:2890 orphan section 'multi-vendor-cues' (never referenced)
PRISM-LINT-02 PRISM.md:2898 orphan section 'recovery-cues' (never referenced)
PRISM-LINT-02 PRISM.md:2970 orphan section 'why-this-matters' (never referenced)
PRISM-LINT-02 PRISM.md:3129 orphan appendix 'samsung-file-explorer-llm-downloaded-files-invisible-until-indexing-catches-up' (never referenced)
PRISM-LINT-02 PRISM.md:3152 orphan appendix 'broken-file-clipboard-operations-in-llm-mobile-apps' (never referenced)
PRISM-LINT-02 PRISM.md:3177 orphan appendix 'artifact-handoff-together-present-document-with-instructions' (never referenced)
PRISM-LINT-02 PRISM.md:3206 orphan appendix 'session-retrieval-point-me-to-the-relevant-session' (never referenced)
PRISM-LINT-02 PRISM.md:3272 orphan appendix 'glossary' (never referenced)
PRISM-LINT-02 PRISM.md:3338 orphan appendix 'spec-v2-0-source-mapping' (never referenced)
PRISM-LINT-02 PRISM.md:3406 orphan appendix 'decision-tag-index' (never referenced)
PRISM-LINT-02 PRISM.md:3418 orphan appendix 'structural-stable' (never referenced)
PRISM-LINT-02 PRISM.md:3440 orphan appendix 'methodological-stable' (never referenced)
PRISM-LINT-02 PRISM.md:3449 orphan appendix 'methodological-review-if-substrate-shifts' (never referenced)
PRISM-LINT-02 PRISM.md:3454 orphan appendix 'methodological-review-if-vendor-landscape-changes' (never referenced)
PRISM-LINT-02 PRISM.md:3459 orphan appendix 'vendor-dependent-review-if-orchestration-vendor-changes' (never referenced)
PRISM-LINT-02 PRISM.md:3464 orphan appendix 'vendor-dependent-review-if-vendor-landscape-changes' (never referenced)
PRISM-LINT-02 PRISM.md:3469 orphan appendix 'operator-scaffolding-stable' (never referenced)
PRISM-LINT-02 PRISM.md:3477 orphan appendix 'empirical-review-annually' (never referenced)
PRISM-LINT-02 PRISM.md:3496 orphan appendix 'v1-x-v2-surface-drift' (never referenced)
PRISM-LINT-02 PRISM.md:3503 orphan appendix 'sessions-and-lifecycle' (never referenced)
PRISM-LINT-02 PRISM.md:3515 orphan appendix 'probes' (never referenced)
PRISM-LINT-02 PRISM.md:3538 orphan appendix 'monitors' (never referenced)
PRISM-LINT-02 PRISM.md:3556 orphan appendix 'standing-principles' (never referenced)
PRISM-LINT-02 PRISM.md:3575 orphan appendix 'other-constructs' (never referenced)
PRISM-LINT-02 PRISM.md:3592 orphan appendix 'nomenclature-changes' (never referenced)
PRISM-LINT-02 PRISM.md:3610 orphan appendix 'templates-compendium' (never referenced)
PRISM-LINT-02 PRISM.md:3615 orphan appendix 'prism-execution-envelope' (never referenced)
PRISM-LINT-02 PRISM.md:3636 orphan appendix 'prism-execution-self-check' (never referenced)
PRISM-LINT-02 PRISM.md:3658 orphan appendix 'prism-execution-output' (never referenced)
PRISM-LINT-02 PRISM.md:3681 orphan appendix 'vendor-selection-block' (never referenced)
PRISM-LINT-02 PRISM.md:3694 orphan appendix 'whats-next' (never referenced)
PRISM-LINT-02 PRISM.md:3724 orphan appendix 'vendor-triangulation-delta' (never referenced)
PRISM-LINT-02 PRISM.md:3742 orphan appendix 'migration-handoff' (never referenced)
PRISM-LINT-02 PRISM.md:3773 orphan appendix 'probe-1-coverage-grading-output' (never referenced)

…and 5 more.

@Ronkupper Ronkupper merged commit c9b44e7 into main May 22, 2026
2 checks passed
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.
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