feat(naming): fold running-retro tournament lessons into name-it-better#862
Conversation
Four lessons recorded in the running-retro naming round, now part of the method: a terms-of-art brief field with researched (not recalled) field meanings; per-entry blocklist provenance (user-stated vs agent-inferred, inferred entries are proposals to confirm); the sentence-form test as an early merge filter for utterance names; and a temporal-neutrality constraint for skills loadable as primed context. Naming 0.2.0 -> 0.3.0. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 47s —— View job PR Review: feat(naming): fold running-retro tournament lessons into name-it-better
SummaryClean, well-scoped PR. All four retro lessons land in the correct sections of the skill, the version bump is appropriate, and the CHANGELOG accurately reflects the changes. No security or architectural concerns.
|
| Rule | Status |
|---|---|
| Repo-agnostic (no hardcoded paths) | ✅ Still uses consuming-project convention resolution |
| Configurable without editing the plugin | ✅ No new baked-in values |
Plugin-form-safe (${CLAUDE_PLUGIN_ROOT} references) |
✅ context/sources.md references are plugin-relative |
| Versioned | ✅ Explicit semver bump |
| Security review | ✅ No code execution, remote MCP, secrets, or egress |
Verdict
Approve. The four lessons are correctly integrated, the version bump is right, and no issues block merge. The legacy-blocklist-provenance gap and missing CHANGELOG dates are both worth a follow-up but neither is introduced by this PR.
|
Claude finished @kyle-sexton's task in 53s —— View job Security Review — PR #862
No security issues found. All three changed files are purely documentation and skill-instruction prose. Here is the surface area examined:
None of these additions introduce command execution, shell interpolation, template injection surfaces, remote content fetching, or elevated privilege. The internal path references (
GitHub Actions — no Supply chain / dependencies — no package manifests, lock files, or action pins modified. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 541ee3deb8
ℹ️ 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".
|
Claude finished @kyle-sexton's task in 1m 18s —— View job PR Review — feat(naming): fold running-retro tournament lessons into name-it-better
Both Codex P2 findings are confirmed valid against the current text. Details below. Finding 1 — Inferred blocklist entries still hard-disqualify at merge (P2, confirmed)Location: The provenance rule introduced in this PR says agent-inferred entries are "a proposal to confirm with the user, never a silently hard constraint." But the merge step at L139–144 says to "disqualify any candidate… that contains a word-level blocklist entry" — with no provenance check. The enforcement step makes no distinction between user-stated and agent-inferred entries, so an inferred entry still causes silent hard disqualification. The stated guarantee has no teeth. What the merge step needs to say (or equivalent): disqualify candidates containing a user-stated or user-confirmed blocklist word; flag candidates containing an agent-inferred entry for the human to review rather than silently dropping them. Finding 2 — Sentence-form test absent from tournament pre-filter (P2, confirmed)Location: The tournament section explicitly enumerates the filters it inherits before the bracket begins: reject-list, blocklist, and collision check. It does not include the sentence-form test. A contentless utterance name like bare The fix is small: add the sentence-form test for utterance names to the tournament's pre-bracket filter list alongside the three it already inherits. Other notes (non-blocking, pre-existing)
VerdictTwo correctness issues require changes before merge. Both are introduced by this PR: the provenance guarantee is stated but not enforced at merge time, and the sentence-form test is missing from the tournament path. Both are small, targeted fixes. The rest of the PR is clean. |
|
Claude finished @kyle-sexton's task in 1m 11s —— View job Security Review — PR #862
No security issues found. All three changed files are prose and a version/keyword update. Here is the surface area examined:
None of these additions introduce shell interpolation, command injection, path traversal (
GitHub Actions — no Supply chain / dependencies — no package manifests, lock files, or action pins modified. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 619e8ccab5
ℹ️ 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".
…lters Codex review findings: the merge step disqualified candidates on ANY blocklist word, contradicting the new provenance rule — agent-inferred entries now flag instead of disqualify, user-stated entries still hard disqualify; and tournament mode's pre-bracket filters now include the sentence-form test and the same provenance-aware blocklist behavior. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 55s —— View job PR Review — feat(naming): fold running-retro tournament lessons into name-it-better
Status of previous P2 findingsFinding 1 — Inferred blocklist entries hard-disqualify at merge: ✅ Fixed (commit The merge step at L141–146 now correctly distinguishes provenance:
The provenance guarantee now has teeth at the enforcement point. Finding 2 — Sentence-form test absent from tournament pre-filter: ✅ Fixed (commit The tournament section at L186–193 now explicitly names the sentence-form test as one of the inherited merge filters applied before the bracket begins. The provenance rule is also wired in here correctly. Remaining open finding (P2)Temporal-neutrality constraint not wired into merge filters or tournament pre-bracket The temporal-neutrality rule is stated at L80–84 in the modality-layer discussion: "A skill loadable as primed context at conversation start must also be temporally neutral: the name has to read valid before any work exists." The merge step at L133–148 added the sentence-form test as an explicit filter, but did not add temporal neutrality alongside it. The tournament pre-bracket at L186–193 has the same gap. The sentence-form test does not cover this case — it asks whether a candidate reads as the imperative you would say, cold. A name like The fix is parallel to what was done for the sentence-form test: add temporal neutrality as an explicit early filter at the merge step for skills that can fire as primed context, and reference it in the tournament pre-bracket list. Other notes (pre-existing, non-blocking)
VerdictThe two P2 findings from the previous review are correctly fixed. One P2 finding — temporal neutrality not enforced at the merge and tournament filter steps — is still open and was raised by Codex's second review. Small, targeted fix needed before merge. |
|
Claude finished @kyle-sexton's task in 1m 25s —— View job Security Review — PR #862
No security issues found. Three files changed; all are prose and a version/keyword update. Surface area examined:
Version string bumped
Four prose additions and associated updates to the merge step and tournament section:
The updated merge step (replacing hard-blocklist disqualification with a provenance-aware split) and the tournament pre-filter update both contain only policy text. No template substitution, no
Changelog prose only. No executable content. GitHub Actions — No Supply chain / dependencies — No package manifests, lock files, or action pins modified. |
Third Codex finding: the cold-loadable constraint was stated only in the skill special-case bullet, so a completed-work-presupposing candidate could still survive scoring or win a bracket. The early merge filter and the tournament pre-bracket checks now fail such names alongside the sentence-form test. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 16s —— View job PR Review — feat(naming): fold running-retro tournament lessons into name-it-better
All three P2 findings raised across the review history are confirmed fixed in the current HEAD. Details below. P2 Finding 1 — Blocklist provenance enforced at merge ✅ FixedLocation: The merge step now explicitly distinguishes: P2 Finding 2 — Sentence-form test in tournament pre-bracket filter ✅ FixedLocation: The tournament section now explicitly states that "the default pass's merge filters still apply BEFORE the elimination rounds begin — including the sentence-form and temporal-neutrality tests for utterance and cold-loadable names." Contentless idioms like bare P2 Finding 3 — Temporal-neutrality test enforced as a filter ✅ FixedLocations: The merge step now includes the temporal-neutrality test as an explicit early filter alongside the sentence-form test: "a candidate that presupposes completed work fails before scoring, however accurate it is once work exists." The tournament section mirrors this. The constraint stated at L82–84 is now enforced at all decision points. Other files — LGTM
Pre-existing notes (non-blocking, carry forward)
VerdictApprove. All three P2 correctness findings are resolved and correctly enforced at every relevant decision point (merge step + tournament pre-bracket). The skill's stated guarantees now match its enforcement logic. No security concerns; CLAUDE.md rules satisfied. |
|
Claude finished @kyle-sexton's task in 1m 30s —— View job Security Review — PR #862
No security issues found. Three files changed; all are prose, keyword formatting, and a version bump. Full surface area examined:
Version string bumped
Four prose additions plus wiring into the merge step and tournament section:
No template substitution, path traversal (
Changelog prose only. No executable content. GitHub Actions — No Supply chain / dependencies — No package manifests, lock files, or action pins modified. |
What
Folds the four naming-tournament lessons recorded during the running-retro naming round (batch ledger, "Naming-skill lessons this round") into
name-it-better; naming 0.2.0 → 0.3.0.reflect(agent-lit: output-critique-retry),introspect(type inspection), andself-review(repo-colonized for diff review) all misleading; the honest field term wasretrospectiveminus cadence.take-stock, barecheck) across r1-r2.critique-your-own-runfailure class).Gates
claude plugin validate .— PASSmarkdownlint-cli2— 0 errorsskill-quality check name-it-better— PASS (0 errors; 1 pre-existing soft line-target warning, file was already over 200 before this change)Related
🤖 Generated with Claude Code