Skip to content

docs(planning): cite testing:plan's test-type table as the SSOT (#264) - #734

Merged
kyle-sexton merged 2 commits into
mainfrom
fix/264-testing-plan-ssot
Jul 20, 2026
Merged

docs(planning): cite testing:plan's test-type table as the SSOT (#264)#734
kyle-sexton merged 2 commits into
mainfrom
fix/264-testing-plan-ssot

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

Summary

"What test type for a given change" knowledge lived in three sites: testing:plan's file-type classification table (the actual table), planning:plan Step 2's test-strategy guidance, and planning:design's test-seam posture thread. Per the issue's framing, testing:plan's table is the source of truth — the other two should cite it, not grow a competing take.

Empirical note: the triage comment named testing:write/README as also carrying the table; verified they do not — the classification table exists only in testing:plan. So no table dedup was needed, only pointers from the two planning sites. All edits are therefore in the planning plugin.

Fix

Added one-line pointers (pointer-not-copy — no table restated) at the two planning sites that touch test-type/level reasoning, each placed alongside the existing /tdd:principles reference (which covers test-design WHY; /testing:plan covers which type per change — complementary, not competing):

  • plugins/planning/skills/plan/SKILL.md — Step 2 test-strategy bullet
  • plugins/planning/skills/plan/context/plan-template.md — Test Strategy section
  • plugins/planning/skills/design/SKILL.md — test-seam posture thread (seam altitude → test type)

planning bumped 0.22.1 → 0.22.2 with a CHANGELOG entry. testing:plan (the SSOT) is unchanged; no other plugin's files were touched.

Verification

$ bash scripts/validate-plugins.sh
All plugin manifests and the catalog validated.  (exit 0)

$ bash scripts/check-changelog-parity.sh --check-bump origin/main
Every plugin whose version changed vs origin/main has a '## [<version>]' CHANGELOG.md entry.  (exit 0)

$ bash scripts/check-changed-skills.sh origin/main
CHECK-SKILL design: PASS — 0 errors, 2 warning(s)
CHECK-SKILL plan:   PASS — 0 errors, 2 warning(s)
3 skill(s) checked, 0 failed.  (exit 0)   # warnings pre-existing, not introduced here

$ typos <changed files> --config _typos.toml
(no findings)

$ npx markdownlint-cli2 <changed .md files>
Summary: 0 error(s)

Closes #264

Related

Co-Authored-By: Claude noreply@anthropic.com

What-test-type-per-change knowledge lived in three sites: testing:plan's
file-type classification table (the actual table), planning:plan Step 2's
test-strategy guidance, and planning:design's test-seam posture thread.
The latter two now cite testing:plan's table as the single source of
truth instead of growing a competing test-type take.

Pointer-only (one line each, alongside the existing /tdd:principles ref
which covers test-design WHY); no table restated, no behavior change.

Co-Authored-By: Claude <noreply@anthropic.com>
@kyle-sexton kyle-sexton added the automated Opened by automation. label Jul 20, 2026
@claude

claude Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 29s —— View job


PR Review

  • Load tools and initialize
  • Read PR diff and changed files
  • Verify pointer wording and placement
  • Check that testing:plan SSOT exists with the referenced table
  • Validate version bump and CHANGELOG entry

Summary: Clean, minimal documentation pointer change. The SSOT table exists and matches what's referenced; no table duplication occurs; all three insertion points are correctly placed.

SSOT verification

The classification table exists at plugins/testing/skills/plan/SKILL.md covering exactly the five categories cited in the pointers (unit / integration / e2e / architecture / analyzer). ✓

Per-file review

design/SKILL.mdline 96
Pointer appended cleanly to the test-seam posture thread. "Cite it, don't restate" is an appropriate instruction at this site since the design skill produces a durable artifact (design-threads.md) — the author should reference the table, not reproduce it.

plan/SKILL.mdline 93
One minor readability note: the inserted clause front-loads the SSOT reference before the existing /tdd:principles guidance, making the bullet quite dense. The semicolon join between "…is the SSOT;" and "invoke /tdd:principles" is grammatically valid but the result is a long, compound instruction. Not a correctness issue — just something to keep in mind if this bullet is touched again.

plan-template.mdline 80
Pointer appended to the existing callout blockquote. "Cite it rather than restating" is appropriate here since the template embeds into produced plan documents. The dual pointer (SKILL.md instructs the AI; plan-template.md instructs via the artifact) is intentional and consistent with how the other template callouts work.

Minor consistency note

The three pointers use slightly different names for the same table:

  • design/SKILL.md + plan/SKILL.md → "classification table"
  • plan-template.md → "test-type table"

Both resolve unambiguously to the same location in /testing:plan, so this is cosmetic, not a correctness issue.

Version bump and CHANGELOG

Patch bump (0.22.1 → 0.22.2) is correct for a pointer-only change. CHANGELOG entry at CHANGELOG.md#L6-L15 accurately describes the scope as "Pointer only; no restated table, no behavior change". ✓

Overall

No bugs, no security issues, no correctness problems. The PR does exactly what it says: establishes /testing:plan's table as the SSOT by pointing at it rather than growing competing knowledge at the two planning sites. Looks good to merge.

@kyle-sexton

Copy link
Copy Markdown
Contributor Author

Post-green review pass complete (rule 8). Bot review: clean, SSOT verified to exist and match, pointer placement correct at all 3 sites, no table duplication. One cosmetic wording-consistency nit ("classification table" vs "test-type table" naming) — not fixed, both resolve unambiguously to the same location.

No threads to resolve, CI fully green (13/13).

Flipping to ready for review; handing off to the babysit lane for merge.

@claude

claude Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 42s —— View job


PR Review

  • Load tools and initialize
  • Read PR diff and changed files
  • Verify SSOT table exists and pointer wording is correct
  • Check version bump and CHANGELOG entry
  • Validate no unintended changes in non-planning files

Summary: Clean, minimal pointer-only change. The SSOT table exists and all three insertion points correctly reference it without restating content. No correctness issues, no security concerns.

SSOT verification

The classification table exists at plugins/testing/skills/plan/SKILL.md with exactly the five categories the pointers enumerate (unit / integration / e2e / architecture / analyzer). ✓

Per-file review

plan/SKILL.mdline 93
Pointer inserted cleanly into the test strategy bullet, citing the SSOT before the /tdd:principles reference. The two are correctly framed as complementary authorities: SSOT for which type; /tdd:principles for how to write. The semicolon join produces a long compound sentence, but it's readable and grammatically sound.

design/SKILL.mdline 96
Pointer appended to the test-seam posture thread with "cite it, don't restate" — appropriate since design-threads.md is a durable artifact that should reference rather than copy test-type guidance. ✓

plan-template.mdline 80
Pointer embedded in the blockquote callout alongside the existing /tdd:principles instruction. "Cite it rather than restating" is the right instruction here — the template embeds into produced plan documents. ✓

Minor cosmetic note

The three pointers use slightly different names for the same table:

  • plan/SKILL.md → "file-type classification table"
  • design/SKILL.md → "classification table"
  • plan-template.md → "test-type table"

All three unambiguously resolve to the same location in /testing:plan. Not a correctness issue.

Version bump and CHANGELOG

Patch bump (0.22.1 → 0.22.2) is appropriate for a pointer-only documentation change. The CHANGELOG entry accurately characterizes the scope: "Pointer only; no restated table, no behavior change." ✓

Overall

No bugs, no security issues, no correctness problems. The change correctly centralizes test-type authority in /testing:plan by pointing the two planning sites at it rather than letting competing knowledge grow. Looks good to merge.

@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: 327fc4aaea

ℹ️ 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 plugins/planning/skills/plan/SKILL.md Outdated
The three new pointers to /testing:plan's test-type table were bare
unguarded cross-plugin references. planning declares no testing
dependency and guarantees every skill works standalone, so per the
plugin philosophy's design boundary (a bare unguarded cross-plugin
reference is a defect) and the seam-phrasing convention, each pointer
now carries the "when the testing plugin is installed" gate and a
documented "apply standard test-design judgment" fallback — matching
the adjacent /tdd:principles (if installed) references. Pointer-only;
no behavior change.

Co-Authored-By: Claude <noreply@anthropic.com>
@claude

claude Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 47s —— View job


PR Review

  • Load tools and initialize
  • Read PR diff and changed files
  • Evaluate Codex concern: missing testing dependency in planning plugin
  • Check PLUGIN-PHILOSOPHY.md presence-gate rules
  • Check planning plugin.json and README for standalone guarantee
  • Post final review

Summary: The PR now has two commits. The first (327fc4a) adds the SSOT pointers; the second (8946d41) directly addresses the Codex P2 concern by adding presence gates and fallbacks. The branch is clean and correct.

Codex concern: resolved ✓

The concern was valid against the first commit — bare unguarded cross-plugin references are defects per PLUGIN-PHILOSOPHY.md line 29. The second commit fixes all three sites, each now carrying the full seam-phrasing shape (gate + fallback + ownership) per the seam-phrasing convention:

Site Gate Fallback
plan/SKILL.md L93 "when the testing plugin is installed" "otherwise apply standard test-design judgment"
design/SKILL.md L96 "when the testing plugin is installed" "otherwise apply standard test-design judgment"
plan-template.md L80 "when the testing plugin is installed" "otherwise apply standard test-design judgment"

All three sites are now conformant. planning/README.md already documents the standalone guarantee ("Adjacent capabilities are invoked when installed and substituted with inline guidance when absent"), so no README update is needed.

Minor notes (cosmetic only)

Table naming still inconsistent (pre-existing nit from prior reviews, not introduced by the second commit):

  • plan/SKILL.md → "file-type classification table"
  • design/SKILL.md → "classification table"
  • plan-template.md → "test-type table"

All resolve unambiguously to the same location in /testing:plan. No correctness issue.

CHANGELOG reflects first commit only. The second commit's presence-gating (a correction within the same patch version) isn't mentioned in the 0.22.2 entry. Since it's still "pointer only; no behavior change," the omission doesn't violate the changelog parity check — but an author who finds this entry later won't know the pointers are guarded. Not a blocker; something to tighten if the entry is edited again.

Overall

No bugs, no security issues, no philosophy violations. The Codex concern is fully resolved; the standalone guarantee holds. Looks good to merge.

@kyle-sexton
kyle-sexton merged commit 7f4bf89 into main Jul 20, 2026
20 checks passed
@kyle-sexton
kyle-sexton deleted the fix/264-testing-plan-ssot branch July 20, 2026 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated Opened by automation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(testing): make testing:plan's test-type classification table the cited SSOT

1 participant