Skip to content

feat(claude-memory): route model-era instruction findings to audit-instructions (0.3.2)#893

Merged
kyle-sexton merged 1 commit into
mainfrom
feat/868-memory-reciprocal-route
Jul 21, 2026
Merged

feat(claude-memory): route model-era instruction findings to audit-instructions (0.3.2)#893
kyle-sexton merged 1 commit into
mainfrom
feat/868-memory-reciprocal-route

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

Adds the reciprocal scope-boundary note to claude-memory:audit: model-era instruction-content findings now route to claude-config:audit-instructions, completing the one-way partition that skill declared toward claude-memory in #800. Deliberately split out of the #800 PR to keep each PR single-plugin.

Closes #868

What ships

  • audit SKILL.md — new "Scope boundary (route out)" section: claude-memory owns instruction-layer health (structure, size, placement, index integrity); model-era content fit (prior-model workarounds, over-prescriptive scaffolding, bare prohibitions without rationale, reasoning-echo directives, stale example scaffolding) routes to /claude-config:audit-instructions. Seam-phrased per docs/conventions/seam-phrasing/README.md: install gate ("when that plugin is installed"), stated fallback (observations stay in the report criteria-free — never a checklist finding, never silently dropped), ownership framing on both sides.
  • claude-memory 0.3.2 + CHANGELOG entry per changelog-parity.

Verification

  • Local gates green: check-changed-skills (check-skill PASS, 0 errors; 1 pre-existing no-Gotchas warning), changelog-parity --check + --check-bump, generate-catalog --check, validate-plugin-contracts, skill-portability lint, markdownlint.
  • Fresh-context acceptance verifier: 5/5 criteria PASS — seam-phrasing shape (gate + fallback + ownership) confirmed against the convention doc; zero literal trigger-phrase collisions with audit-instructions' description and no check-ID enumeration; partition texts mirror without contradiction.

Related

🤖 Generated with Claude Code

…structions (0.3.2)

Add the reciprocal scope-boundary note to the audit skill: model-era
instruction-content findings route to claude-config:audit-instructions
when that plugin is installed, seam-phrased per
docs/conventions/seam-phrasing (gate + fallback). Absent the plugin,
observations stay in the report criteria-free instead of being judged
against the health checklist or dropped. Completes the one-way
partition audit-instructions declared toward this skill in #800.

Refs: #868
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: ee68a177-59bc-40c2-bb73-a66d20bd1923
@claude

claude Bot commented Jul 21, 2026

Copy link
Copy Markdown

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


PR Review: feat(claude-memory): route model-era instruction findings to audit-instructions (0.3.2)

  • Gather context and understand the request
  • Review changed files
  • Verify seam-phrasing convention compliance
  • Check changelog and version bump
  • Post review findings

Summary

This PR completes the two-way partition between claude-memory:audit (instruction-layer health) and claude-config:audit-instructions (model-era content fit). The audit-instructions skill already declared the inbound direction in #800; this adds the reciprocal route-out note. The change is documentation-only and purely additive — no script or behavioral changes.

Seam-phrasing conformance ✅

Checked against docs/conventions/seam-phrasing/README.md. All three required elements are present at the instructed invocation site (SKILL.md lines 37–46):

Element Shape required Present
Gate Named plugin + installed-ness condition "When that plugin is installed"
Fallback Explicit, not "skip silently" "keep each as a criteria-free observation … never silently dropped"
Ownership framing Names what the collaborator owns "owned by the \claude-config` plugin's `audit-instructions` skill"` ✓

Partition symmetry ✅

Cross-checked against audit-instructions/SKILL.md lines 41–49. The two sides are consistent without overlap:

  • claude-memory:audit → owns structural health (I1–I5 equivalent), routes model-era content findings out
  • audit-instructions → runs model-era checks I6–I11 on memory-layer surfaces, routes I1–I5 hygiene out to claude-memory:audit

No content seam is claimed by both, no content seam falls through both. The partition texts mirror without contradiction.

Version bump ✅

0.3.1 → 0.3.2 is appropriate. This is an additive documentation-only change — a patch bump per semver. The plugin.json and CHANGELOG.md are in sync.

Changelog entry ✅

Entry follows Keep a Changelog format consistently with prior entries. The model-era categories listed in the CHANGELOG (prior-model workarounds, over-prescriptive scaffolding, bare prohibitions, reasoning-echo directives, stale example scaffolding) correctly mirror the enumeration in both SKILL.md and the audit-instructions description, making the partition legible from the changelog alone.

Section placement ✅

The new section sits between the scope table and argument parsing — a natural location (establishes what's in scope → what routes out → how to invoke). No disruption to the existing skill structure.

One minor observation

The SKILL.md route-out instruction says findings should be routed "rather than judging them against this checklist" but does not say what to do with findings that arise during the course of an audit already in progress — e.g., if the auditor encounters a model-era signal mid-run while checking structure. The fallback branch ("when it is not installed, keep each as a criteria-free observation") handles the not-installed case clearly. The installed case could be read as "route = skip here entirely" or "route = mention in a routing subsection." Given that audit-instructions has its own explicit Routing subsection in Phase D, this ambiguity is low-risk in practice. Worth considering a future clarifying phrase like "note it in a routing subsection rather than…" but not blocking.

Verdict

Ready to merge. Clean, focused, and well-reasoned. Completes the partition symmetrically, seam-phrasing is correct, and the scope of change matches the PR description exactly.

@claude

claude Bot commented Jul 21, 2026

Copy link
Copy Markdown

Claude finished @kyle-sexton's task in 58s —— View job


Security Review

  • Gather PR diff and changed files
  • Review SKILL.md changes for injection surfaces or unsafe patterns
  • Review plugin.json changes for supply-chain or config risks
  • Review CHANGELOG.md changes
  • Synthesize findings and post review

No security issues found.

This PR makes three purely additive, documentation-nature changes:

plugins/claude-memory/.claude-plugin/plugin.json — semver bump 0.3.1 → 0.3.2 only. No new dependencies, no new permissions blocks, no new remote MCP server entries, no supply-chain surface added.

plugins/claude-memory/CHANGELOG.md — prose changelog entry only. No executable content.

plugins/claude-memory/skills/audit/SKILL.md (permalink)** — adds a static "Scope boundary (route out)" section. The added text is trusted plugin-author instruction prose; it introduces no shell execution, no untrusted-input interpolation, no template injection surface, no credential handling, and no external network call. The routing directive (/claude-config:audit-instructions) targets a first-party companion plugin in the same marketplace — not an external or unvetted trust boundary. The fallback behavior (criteria-free observation, never silently dropped) is conservative and information-preserving.

No GitHub Actions files were modified. No permissions widening, no pull_request_target / workflow_run patterns, no github context interpolation in run: blocks, no loosened or unpinned dependency pins.

@kyle-sexton
kyle-sexton merged commit 3fd5cdd into main Jul 21, 2026
23 checks passed
@kyle-sexton
kyle-sexton deleted the feat/868-memory-reciprocal-route branch July 21, 2026 19:10
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.

claude-memory:audit — add reciprocal boundary note routing model-era instruction findings to claude-config:audit-instructions

1 participant