Skip to content

feat(github-actions-conventions): add the work function unblock - #791

Merged
kyle-sexton merged 2 commits into
mainfrom
feat/vocabulary-work-auto-unblock
Oct 16, 2026
Merged

kyle-sexton merged 2 commits into
mainfrom
feat/vocabulary-work-auto-unblock

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

Refs: melodic-software/claude-code-plugins#7599

Summary

claude-code-plugins PR #7625 adds the lane work-auto-unblock, which promotes issues whose last blocker closed. resolve-config there rejects a lane not named <stage>-<function> from the vocabulary, and the work stage lists no matching function word.

Fix

In components/github-actions-conventions/vocabulary.json, functions.work gains unblock with status in-use and the purpose "Promote issues whose last blocker closed." The lane is named work-unblock rather than work-auto-unblock: naming-lint.mjs requires every function word to start with a listed verb, and auto is not one. unblock is already a verb (#770).

Verification

  • npm run test:github-actions-conventions: 14 pass, 0 fail (exit 0).
  • npm run lint:github-actions-conventions: 0 findings, 0 blocking (exit 0).
  • biome check components/github-actions-conventions/vocabulary.json: clean (exit 0).

Related

After the merge, the standards sync lands the copy in claude-code-plugins (.github/standards/).

🤖 Generated with Claude Code

@kyle-sexton
kyle-sexton marked this pull request as ready for review October 16, 2026 17:53
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

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-16T17:55:30.544920Z 36d43cf 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.

@claude

claude Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

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


Code review

  • Gather context (diff, CLAUDE.md/AGENTS.md, REVIEW.md, standards contract)
  • Review components/github-actions-conventions/vocabulary.json change
  • Check related tooling (naming-lint.mjs, schema, tests) and the PR's claimed verification
  • Check paved-path / standards-index implications (none apply — this repo has no standards index)
  • Verify candidate finding adversarially, post findings

Scope: this PR only touches components/github-actions-conventions/vocabulary.json, adding a functions.work entry for unblock. Confirmed the pattern matches vocabulary.schema.json (purpose is optional, status enum is in-use/reserved), the function-word-leads-with-a-verb rule in naming-lint.mjs (the verb unblock is already in the verbs list, pre-existing, not touched by this diff), and the per-stage uniqueness check. Duplicate function names across stages (pr already has an unblock, now work does too) is an existing pattern in this file (e.g. verify appears under both pr and post-merge), so that's not an issue.

One finding posted inline: the new entry's status: "in-use" looks premature — this component's own README defines reserved as "a planned lane," nothing in this repo or rename-map.json currently uses the work-unblock slot, and the intended consumer (claude-code-plugins#7625) is unmerged and still named work-auto-unblock. The sibling resolve-issue entry in the same array is in an identical "planned, not yet built" situation and is marked reserved. This doesn't affect lint behavior (naming-lint.mjs never reads status) — it's a documentation-accuracy point.

Not independently verified: this sandbox has no installed node_modules for the component and I don't have permission to run npm install/npm run test/npm run lint, so I could not independently re-run the test/lint/biome commands the PR body cites. Those results are author-claimed, not independently confirmed here.

No other findings.

claude-lane-summary: lane=claude-review sha=36d43cf170f6e0c2232ced322294802840421f09 run=38943126585

@claude

claude Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

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


Security review complete

  • Gather context (PR diff, changed files)
  • Review diff for security-relevant findings
  • Post final summary

Scope: components/github-actions-conventions/vocabulary.json (+6/-1) — adds a single unblock entry (name, status, purpose) to the functions.work array.

Findings: None. This is a static data-only change consumed by naming-lint.mjs through plain string comparisons (no eval, dynamic require/import, or shell execution on vocabulary field values). No secrets, no injection surface, no authorization/access-control logic touched, and no instruction-surface deletion (nothing removed or softened — only an addition).

claude-lane-summary: lane=claude-security-review sha=36d43cf170f6e0c2232ced322294802840421f09 run=38943126306

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

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

Comment thread components/github-actions-conventions/vocabulary.json Outdated
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

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

… lands

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

claude Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

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


Security review complete

  • Gather context (incremental diff, AGENTS.md, pr-body-contract rule)
  • Invoke /review:security-review for the incremental diff in components/github-actions-conventions/vocabulary.json
  • Post final findings

Scope: incremental review since 36d43cf, limited to components/github-actions-conventions/vocabulary.json. The only change in that range is the unblock entry's status flipping from "in-use" to "reserved" (addressing the earlier inline review comment on this same lane) — see the line now.

Findings: None. This is a one-word value change in a static JSON vocabulary file, read only as plain string data by naming-lint.mjs (no eval, no dynamic code loading, no shell execution on this value). It isn't an instruction-surface change (not CLAUDE.md/AGENTS.md/a rules file/a hook allowlist) — vocabulary.json is lint input data, not instructions governing agent or CI behavior — and it doesn't touch triggers, permissions, secrets, or action/dependency pins. No security-relevant surface.

claude-lane-summary: lane=claude-security-review sha=9e368905ead60975f41723778b6257cf6f267579 run=38944221846

@claude

claude Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

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


Code review complete

  • Gather context (incremental diff since 36d43cf, PR body, prior review comment)
  • Review the one-line change in components/github-actions-conventions/vocabulary.json
  • Verify against prior finding / vocabulary schema
  • Post findings

Scope: incremental review of the diff since 36d43cf, which touches only components/github-actions-conventions/vocabulary.json (one line):

-        "status": "in-use",
+        "status": "reserved",

This flips the work.unblock entry's status from in-use to reserved, directly addressing the finding this lane posted on the prior commit (that in-use was premature since the only intended consumer, claude-code-plugins#7625, is unmerged and still named work-auto-unblock).

Confirmed the result now matches the sibling resolve-issue entry's shape (reserved + purpose, same array) and the schema's in-use/reserved enum. naming-lint.mjs doesn't read status, so this has no effect on lint behavior — consistent with the earlier finding. No new issues introduced by this change.

Not independently verified: no CI/test run was performed in this pass; the PR body's npm run test/lint/biome output is author-claimed.

No findings.

claude-lane-summary: lane=claude-review sha=9e368905ead60975f41723778b6257cf6f267579 run=38944221300

@kyle-sexton
kyle-sexton merged commit fff4f7a into main Oct 16, 2026
22 checks passed
@kyle-sexton
kyle-sexton deleted the feat/vocabulary-work-auto-unblock branch October 16, 2026 18:05
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.

1 participant