Skip to content

chore: add PR template enforcing tenet citation + Foundry compatibility + mockup fields#51

Merged
keyxmakerx merged 1 commit into
mainfrom
claude/fm-pr-template
May 22, 2026
Merged

chore: add PR template enforcing tenet citation + Foundry compatibility + mockup fields#51
keyxmakerx merged 1 commit into
mainfrom
claude/fm-pr-template

Conversation

@keyxmakerx

Copy link
Copy Markdown
Owner

Cites: 2026-05-21-core-tenets §T-O5 (lands mechanism M-O5.1); §T-B1, §T-B3, §T-O2 (referenced from the template's self-check); 2026-05-19-dispatch-workflow.md §amendment-2026-05-21; dispatches/foundry/FM-PR-TEMPLATE.md
Security implication: none — pure convention; the template is markdown-only with no runtime effect
Consumer-verified: n/a — no wire surface
Foundry compatibility: n/a — not Foundry-runtime-touching (docs file)
Mockup: n/a — no UI change

What this changes

Adds .github/pull_request_template.md to chronicle-foundry-module so every PR opened against this repo surfaces the binding tenets, security implication, Foundry version compatibility, and mockup status up front. Mirrors the Chronicle PR template (chronicle#328) with Foundry-specific tweaks. This PR's own description follows the template format (self-demonstrating).

Why

Lands mechanism M-O5.1 (decisions/2026-05-21-core-tenets.md §3) — the convention-side enforcement of T-O5 tenet citation discipline. Without a template the citation field is easy to forget; with the template the field is friction-bearing to omit.

The Foundry-specific variations over chronicle#328:

  • Foundry compatibility field (replaces the n/a slot on the Chronicle side) — every Foundry-runtime-touching PR declares which Foundry versions it was tested against (v12 / v13 / v14).
  • Foundry-runtime test-plan checkbox — explicit reminder that local-only tests (node:test) don't cover ApplicationV2, hooks, or Foundry's _parsePartHTML behavior.
  • T-B2 plugin-isolation self-check is phrased from the consumer side: "this module IS the foundry-vtt plugin half; changes stay within it." Chronicle's version asks the reverse question (no foundry-vtt literals outside the owning plugin).

Test plan

  • node --test tools/test-*.mjs passes locally (250/250)
  • node tools/check-package-descriptor.mjs passes (descriptor unchanged but ran for hygiene)
  • File present at .github/pull_request_template.md
  • No prior template existed (stop-and-flag condition did not fire)
  • CI passes (no Go / JS / templ surface changed; only .github/ markdown)
  • PR description uses the template's own format (recursive self-demonstration per acceptance criterion 3)

Tenet self-check

  • T-B1 security: n/a — template is markdown-only; no auth/input/secrets surface
  • T-B2 plugin isolation: n/a for this PR; the template enforces T-B2 going forward via the self-check section
  • T-B3 production UI: n/a — no UI change
  • T-B4 dual-audience docs: template serves both humans (PR authors) and AI sessions (dispatch executors); single artifact, no audience-split

Stop-and-flag

None encountered during execution.


Status report at cordinator/reports/foundry/2026-05-22-fm-pr-template.md (separate commit on claude/setup-working-memory-vROh3).

🤖 Cites dispatches/foundry/FM-PR-TEMPLATE.md. Generated by Claude Code.


Generated by Claude Code

…ty + mockup fields

Lands mechanism M-O5.1 (tenet citation field on every PR) on the
chronicle-foundry-module side. Mirrors the Chronicle PR template
(chronicle#328) with Foundry-specific tweaks: Foundry version
compatibility field, Foundry-runtime test-plan checkbox, T-B2
plugin-isolation self-check phrased from the consumer side ("this module
IS the foundry-vtt plugin half").

Convention-only enforcement; a contributor can blank-fill fields. CI-side
validation of required fields is future M-O5.1 work.

Cites: 2026-05-21-core-tenets §T-O5 (lands M-O5.1)
       2026-05-21-core-tenets §T-B1 §T-B3 §T-O2 (referenced from the template's self-check)
       2026-05-19-dispatch-workflow.md §amendment-2026-05-21
@keyxmakerx keyxmakerx merged commit 966e7b4 into main May 22, 2026
1 check 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