Skip to content

docs(songwriting): settle object-writer's effort pin at medium after the eval - #6058

Merged
kyle-sexton merged 3 commits into
mainfrom
chore/object-writer-pin-settled
Oct 3, 2026
Merged

kyle-sexton merged 3 commits into
mainfrom
chore/object-writer-pin-settled

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

No related issue: settles the provisional pin from #5920 using the G1 eval

Summary

songwriting:object-writer is pinned effort: medium, and its effort note called the pin provisional pending an eval. The eval ran on 2026-10-03. The pin stays at medium and is no longer provisional.

Fix

  • plugins/songwriting/agents/object-writer.md: the effort note states the settled reason (medium matched high on pass rate and write quality; low failed the long and character cases), keeps the pointer to model-config's "Choose an effort level", sets As of to 2026-10-03, and sets the recheck trigger to the next model release, a change to the object-writing eval suite, or the model-config table's medium or high rows changing.
  • docs/upstream/claude-dev-spending-your-effort-blog.md: row E4 moves from provisional to settled.
  • songwriting 1.5.3 with a CHANGELOG entry.

Verification

Eval design: 6 object-writing eval cases (ids 1, 2, 5-8) x 3 runs x low/medium/high, using scratch plugin copies with the pin set per arm. Observed per-turn effort matched the arm in every run. Grading was blind.

Arm Pass rate Run-to-run spread Blind write quality (1-5)
low 88% 7 pts 4.23
medium 93% 2 pts 4.40
high 94% 2 pts 4.47

low failed length and seed drift on the 10-minute case and first-person voice on the character case, where medium and high passed 3/3. medium vs high is a tie at n=3.

Checks: scripts/check-changelog-parity.sh --check-bump origin/main and scripts/validate-plugins.sh pass. The songwriting plugin has no agent tests or scripts.

Related

#5920, #6019

🤖 Generated with Claude Code

…the eval

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kyle-sexton
kyle-sexton marked this pull request as ready for review October 3, 2026 06:27
@kyle-sexton
kyle-sexton enabled auto-merge (squash) October 3, 2026 06:27
@claude

claude Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

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


Review complete

Summary

Scoped to the 4 changed files (docs table row, plugin.json version bump, CHANGELOG.md, and object-writer.md's effort note). This is a low-risk documentation/metadata change (no code paths touched), consistent with the project's AGENTS.md conventions for effort-pin notes (pointer, as-of date, recheck trigger all present) and the version/changelog bump looks correctly paired.

1 finding, posted inline on plugins/songwriting/CHANGELOG.md:11:

The new changelog entry reads "found medium level with high on pass rate and blind-graded write quality" — this is missing a verb and doesn't parse. The parallel sentence added in object-writer.md's effort note (same commit) correctly says "medium matched high on pass rate and on blind-graded write quality." The changelog entry should use the same wording so the shipped documentation of record is unambiguous.

Everything else checked out:

  • plugin.json 1.5.2 → 1.5.3 matches the new CHANGELOG section.
  • The docs/upstream/claude-dev-spending-your-effort-blog.md E4 row update is internally consistent and uses the correct "matched" wording.
  • The eval case IDs cited in the PR body (1, 2, 5-8) correspond to the actual effort-relevant cases in plugins/songwriting/skills/object-writing/evals/evals.json (cases 3 and 4 are routing-only and correctly excluded).
  • No restating of the author's own eval-run claims as independently verified — those numbers are author-reported and not something this review re-ran.

@claude

claude Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

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


Security review: no issues found

  • Gather context (PR diff, changed files)
  • Check skip gate (security-relevant surface?)
  • Review changed files for security issues
  • Check instruction-surface deletion lens
  • Post final findings

Scope reviewed (gh pr diff 6058, head 30d13a7):

  • docs/upstream/claude-dev-spending-your-effort-blog.md — table row E4 wording update (provisional → settled)
  • plugins/songwriting/.claude-plugin/plugin.json — version bump 1.5.2 → 1.5.3
  • plugins/songwriting/CHANGELOG.md — new changelog entry
  • plugins/songwriting/agents/object-writer.md — effort-pin note: rationale, As of, and recheck trigger updated

Skip gate applied. This PR has no security-relevant surface: it's a documentation and version-metadata change recording the outcome of an eval. No code execution paths, auth/access-control logic, injection surfaces, secret/token handling, or CI workflow permissions are touched.

Instruction-surface deletion lens checked. The object-writer.md effort note changes from "provisional" to "settled" with a new rationale and recheck trigger (object-writer.md#L147-L158). This isn't a guardrail removal — the pin value itself (medium) is unchanged, no enforcement mechanism (hook, validator, permission rule) is loosened, and the recheck trigger is actually more specific than before (named triggers instead of "the eval reports"). No finding.

No security issues identified in this PR.

@github-actions

github-actions Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

claude-security-review has reviewed this pull request through ef6cf72; a later push is reviewed from there.

@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: 30d13a73c1

ℹ️ 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 docs/upstream/claude-dev-spending-your-effort-blog.md
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T06:28:58.123935Z 30d13a7 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Comment thread plugins/songwriting/CHANGELOG.md Outdated
@github-actions

github-actions Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

claude-review has reviewed this pull request through ef6cf72; a later push is reviewed from there.

…in-settled

# Conflicts:
#	plugins/songwriting/.claude-plugin/plugin.json
#	plugins/songwriting/CHANGELOG.md
@claude

claude Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

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


Security review: no issues found

Scope reviewed (git diff origin/main...HEAD, head ef6cf7271f1a7faf46129771fae2fdabf4cc9465):

Skip gate applied (no re-review needed). I diffed the content of these 4 files against the previously security-reviewed commit (30d13a7, reviewed with no findings) and the content is byte-for-byte identical except for the plugin version number (1.5.3 → 1.6.1), which only moved because this branch merged main (picking up an unrelated 1.6.0 prerequisites-declaration bump). The merge introduced no new lines in these files and no security-relevant surface: no code execution paths, auth/access-control logic, injection surfaces, secret/token handling, or CI workflow permissions are touched. This remains a documentation and version-metadata change recording an eval outcome.

Instruction-surface deletion lens checked (unchanged from prior review). The object-writer.md effort note moves from "provisional" to "settled" with a new rationale and recheck trigger. This isn't a guardrail removal — the pin value itself (medium) is unchanged, no enforcement mechanism (hook, validator, permission rule) is loosened, and the recheck trigger is more specific than before (named triggers instead of "the eval reports"). No finding.

No security issues identified in this PR. (Note: a code-review finding about a garbled sentence in CHANGELOG.md line 11 — "found medium level with high" missing a verb — was already flagged by the code-review lane; that's a wording/correctness issue, not a security concern, so it's out of scope here.)

@claude

claude Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

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


Todo

Summary

Skip gate applied (condition 4: this head already has a successful review from this lane that still applies).

Comparing the content of the 4 changed files between the previously-reviewed commit (30d13a7) and the current head (ef6cf727), the only difference is the songwriting plugin version number (1.5.3 → 1.6.1 in plugin.json and the matching CHANGELOG heading) — a mechanical bump produced by merging origin/main into this branch, since main had independently bumped the same plugin to 1.6.0 in the interim. No other line in docs/upstream/claude-dev-spending-your-effort-blog.md, plugins/songwriting/CHANGELOG.md, or plugins/songwriting/agents/object-writer.md changed from the version this lane already reviewed through 30d13a7.

That prior review (this lane, "claude-review") already flagged the one in-scope finding — the garbled CHANGELOG sentence at plugins/songwriting/CHANGELOG.md:11 ("found medium level with high on pass rate..." is missing a verb) — and it is unresolved as of this head, since the text didn't change. Per the skip gate, this lane doesn't re-post a duplicate finding against unchanged content; the existing inline comment from the prior run still stands and applies here.

No new inline comments posted this run.

The changelog sentence matches object-writer.md, and the provenance
record no longer lists the finished effort eval as held work.

Co-authored-by: ksextonmelodic <ksextonmelodic@gmail.com>
@kyle-sexton
kyle-sexton merged commit b3691e5 into main Oct 3, 2026
11 checks passed
@kyle-sexton
kyle-sexton deleted the chore/object-writer-pin-settled branch October 3, 2026 07:44
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.

2 participants