feat(re-anchor): add script-the-deterministic-work corrector (0.3.0)#293
Conversation
c1c5f3e to
9389f03
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c1c5f3e183
ℹ️ 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 2m 10s —— View job PR Review —
|
Sixth discipline corrector for the re-anchor plugin: re-anchor the discipline that purely deterministic sub-work (counting, diffing, sorting, transforming, matching, sweeping, arithmetic) gets a script that runs and returns real output, and the model reasons only afterward over that output — then audit the work in flight for transforms done by hand and re-derive them from a script's result. The tier boundary re-anchors the consuming org's enforceability-tiers convention: deterministic → script it; detect-then-judge → script the detect half, the verdict stays judgement; reasoning-only → never script. The in-task "script it now" application has no standards doc yet, so the skill flags that gap (candidate upstream addition) rather than inventing a rubric — same pattern as tighten-your-output's markdown-terseness gap. Distinct from a standing-automation capability: recurring checks route to a hook; this corrector owns the one-off, session-time script. Thin delta over the shared re-anchor/audit/correct engine; four evals mirror the sibling shape. Minor version bump (added skill), plugin.json description + keywords, README table + section, CHANGELOG, and the regenerated root catalog. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…nistic-work Extends the corrector to the generation direction (prompt 11, same principle): deterministic scaffolds — PR bodies, issue bodies, reports, skill skeletons, config boilerplate — get emitted by a script or a template, preferring a native mechanism where one exists (a repo's pull-request / issue templates already emit the scaffold at no generation cost), and the model fills only the judgment slots. Same core discipline as the analysis direction: reserve model output for judgment; the structure is deterministic. Thin delta — a "Generation, not just analysis" subsection, one audit bullet, a fifth eval for the generation case, and the plugin.json / README / CHANGELOG / catalog descriptions broadened to name both directions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
9389f03 to
b0daefc
Compare
|
Claude finished @kyle-sexton's task in 1m 36s —— View job PR Review —
|
|
Claude finished @kyle-sexton's task in 1m 17s —— View job PR Review —
|
| Skill | Shortest trigger |
|---|---|
| do-your-research | "cite that" |
| follow-our-standards | "follow the standards" |
| point-dont-copy | "you copied that" |
| reason-dont-recite | "you're deferring to precedent" |
| tighten-your-output | "tighten this" |
| script-the-deterministic-work | "script it" ← generic |
With the plugin installed, a user asking Claude to "script it" (meaning: write them a bash or Python script) fires the drift corrector instead. The remaining triggers ('script the deterministic work', 'don't eyeball that', 'you counted that by hand', 'compute that, don't estimate', 'diff it with a tool', 'stop hand-tallying', 'run it instead of guessing') already cover every legitimate re-anchor invocation without ambiguity.
Fix: Remove 'script it' from the description trigger list on line 3. Fix this →
P3 — Gotcha header density (pre-existing, non-blocking)
File: plugins/re-anchor/skills/script-the-deterministic-work/SKILL.md#L129
"Reason after over results" here means where the computation happens
"After over" with two different semantic roles (temporal / about) in sequence makes the header dense on first read. The body is clear; the header should introduce what the body clarifies. Not blocking.
What's good
- Generation direction. The
b0daefcextension is well-scoped: deterministic structure (PR bodies, issue bodies, config boilerplate, skill skeletons) belongs in a script or native template; model output belongs in the judgment slots. The "prefer a native mechanism" note is the right practical nuance. No method leakage. - Eval feat(hook-telemetry): marketplace-wide telemetry contract + markdown-formatter producer #5. Tests the generation path cleanly: prompt is realistic, expected output names the right behavior (emit scaffold from template, fill judgment slots with model output), three expectations are independently testable.
- Tier vocabulary. Three-tier shape is clearly stated, sourcing ladder is explicit, portable-baseline fallback is present for consuming projects with no such convention.
- Standards gap handling. Flags the in-task scripting gap honestly; does not invent a rubric. Cites the
tighten-your-outputprecedent pattern correctly. - Scope boundary. "Distinct from standing automation" makes the one-off vs. recurring distinction crisp; eval ci: onboard to the CI platform (ci-workflows + standards) #4 tests the routing behavior concretely.
- Metadata. Version bump (0.1.0 → 0.2.0) is correct for an additive skill. CHANGELOG entry is accurate and well-structured. Keywords extended appropriately. Catalog regenerated.
Remove 'script it' and this is ready to merge.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 796a892e64
ℹ️ 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 56s —— View job PR Review —
|
| Skill | Shortest trigger |
|---|---|
| do-your-research | 'cite that' |
| follow-our-standards | 'follow the standards' |
| point-dont-copy | 'you copied that' |
| reason-dont-recite | 'you're deferring to precedent' |
| tighten-your-output | 'tighten this' |
| script-the-deterministic-work | 'script it' ← generic |
With the plugin installed, a user asking Claude to "script it" (meaning: write them a bash or Python script) fires the drift corrector instead. The remaining triggers — 'script the deterministic work', 'don't eyeball that', 'you counted that by hand', 'compute that, don't estimate', 'diff it with a tool', 'stop hand-tallying', 'run it instead of guessing' — already cover every legitimate re-anchor invocation pattern without ambiguity.
Fix: Remove 'script it' from the description trigger list on line 3. Fix this →
P2 — Cross-plugin routing reference doesn't name the concrete invocable skill
File: plugins/re-anchor/skills/script-the-deterministic-work/SKILL.md#L105
That is the territory of a config/automation-gaps capability: institutionalize the check so it never reaches review again.
config/automation-gaps is not an invocable command. The concrete skill is /claude-config:automation-gaps, which exists in this repo at plugins/claude-config/skills/automation-gaps/. The codebase-health plugin handles this correctly — its SKILL.md says: "if the claude-config plugin is installed, route those to /claude-config:audit and /claude-config:automation-gaps; otherwise state they are out of scope." The re-anchor skill uses a vague label that the model cannot act on when the plugin is installed.
The same vague reference appears in eval #4's expected_output and expectations fields in evals/evals.json#L44.
Fix: In SKILL.md line 105, replace a config/automation-gaps capability with \/claude-config:automation-gaps` (when the claude-config plugin is installed). In evals.json, update the expected_outputandexpectationsstrings in eval #4 to match — e.g.,"Routes the recurring rule to `/claude-config:automation-gaps` (when installed) rather than absorbing it"`. Fix this →
P3 — Gotcha header density (pre-existing, non-blocking)
File: plugins/re-anchor/skills/script-the-deterministic-work/SKILL.md#L129
"Reason after over results" here means where the computation happens
"After over" with two different semantic roles (temporal / about) in sequence makes the header dense on first read. The body is clear; the header should introduce what it clarifies. Not blocking.
What's good
- Structural fidelity. Correctly delegates to
re-anchor-audit-correct.mdand adds only discipline-specific content. No method leakage. - Tier vocabulary. Three-tier shape (deterministic / detect-then-judge / reasoning-only) is well-stated; sourcing ladder and portable-baseline fallback are both present.
- Generation direction. The
b0daefcextension — deterministic structure emits from a script or native template, model output reserves for judgment slots — is well-scoped. "Prefer a native mechanism" is the right practical nuance. - Standards gap handling. Honest about the missing in-task-scripting convention; cites the
tighten-your-outputprecedent for the gap-flagging pattern; does not invent a rubric. - Scope boundary. "Distinct from standing automation" makes the one-off vs. recurring split crisp; eval ci: onboard to the CI platform (ci-workflows + standards) #4 tests the routing behavior concretely.
- Evals. Five evals covering distinct behaviors: happy path, over-application guard, gap-flagged-not-invented, standing-automation routing, generation path. All expectations are independently testable.
- Metadata. Version bump (0.1.0 → 0.2.0) is correct; CHANGELOG entry accurate; keywords extended; marketplace tag and catalog in sync.
Two fixes — remove 'script it' from line 3, update the config/automation-gaps reference to name the concrete /claude-config:automation-gaps skill — and this is ready to merge.
…capability name - 'script it' alone reads as a script-authoring work order; the trigger list now carries the corrector-shaped utterances plus an explicit not-for-script-authoring exclusion. - The standing-automation route names the real installed capability (/claude-config:automation-gaps) with prose degradation, replacing the nonexistent config/automation-gaps token. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 28s —— View job PR Review —
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a8e48d72ad
ℹ️ 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".
…igger Review finding: 'diff it with a tool'-shaped first-turn requests are the task itself, not drift. The description now scopes the corrector to mid-flight/retrospective drift and start-of-work posture. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 52s —— View job PR Review —
|
…es 0.3.0 Main shipped re-anchor 0.2.0 (recheck-against-upstream[-deep], pick-for-the-problem, mind-your-maxims) underneath this PR's identical version target. Resolved as a stacked release: this branch's script-the-deterministic-work entry becomes 0.3.0 above main's 0.2.0; description, keywords, catalog row, and marketplace tags are the union; root README catalog regenerated. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 3m 10s —— View job PR Review —
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2b8e34ec44
ℹ️ 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".
…orm orders Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 10s —— View job PR Review —
|
Summary
Adds a sixth discipline corrector to the
re-anchorplugin:/re-anchor:script-the-deterministic-work. It re-anchors the disciplinethat purely deterministic sub-work â^@^T counting, diffing, sorting,
transforming, matching, sweeping across files, arithmetic â^@^T gets a
script that runs and returns real output, and the model reasons only
afterward over that output. Then it audits the work in flight for
transforms executed by hand and re-derives them from a script's result.
Firing it is a re-anchor, not an accusation; the audit may return clean.
The skill is a thin delta over the shared re-anchor/audit/correct engine
(
plugins/re-anchor/context/re-anchor-audit-correct.md) â^@^T it adds onlywhat is specific to scripting deterministic work.
The tier boundary (cited, not restated)
The boundary of what to script re-anchors the consuming org's
enforceability-tiers.mdconvention, used as the boundary tool so theskill does not degrade into "automate everything":
stays model judgement (a flag is a candidate, never the ruling).
confidence.
Flagged standards gap
enforceability-tiers.mdclassifies conventions by tier and routes arecurring finding to the mechanism its tier permits. It does not
cover the in-task move this skill re-anchors â^@^T "this task needs a count
or a diff now, so script it now." That application has no dedicated
standards convention, so the skill flags the gap rather than inventing a
rubric, exactly as
tighten-your-outputflags its markdown-terseness gap(standards#164). Companion issue filed: melodic-software/standards#169.
Distinct from standing automation
A recurring deterministic check routes to a standing hook (a
config/automation-gaps capability). This corrector owns the complementary
one-off, session-time case: make a script now, often throwaway,
feed it the input, reason over its output.
Changes
skills/script-the-deterministic-work/(SKILL.md + 4 evalsmirroring the sibling shape).
plugin.json: version0.1.0â^F^R0.2.0(added skill = minor bump,matching the
session-flowkeep-going precedent), description, keywords.[0.2.0]; marketplace tag.scripts/generate-catalog.mjs(neverhand-edited).
Verification
markdownlint-cli2(MD013=80): clean.skill-qualitystatic check: PASS â^@^T 0 errors, 0 warnings.generate-catalog.mjs --check: in sync.validate-plugin-contracts.mjs: passed.claude plugin validate --strict: passed.Related
No linked issue — the work was contracted via the in-repo
repeated-prompts-to-skillsPLAN (Round 2, corrector #6), not apre-existing ticket. Companion standards gap filed as
melodic-software/standards#169. Name locked
script-the-deterministic-workvia the blind-generator naming protocol.ð^_¤^V Generated with Claude Code
Contracted as corrector #6 of the re-anchor Round 2 grouping.