Skip to content

feat(skills): replace curated verification-before-completion with native original#107

Merged
pentaxis93 merged 11 commits intomainfrom
issue-94/native-verification-before-completion
Mar 9, 2026
Merged

feat(skills): replace curated verification-before-completion with native original#107
pentaxis93 merged 11 commits intomainfrom
issue-94/native-verification-before-completion

Conversation

@pentaxis93
Copy link
Owner

Summary

  • Replace the upstream verification-before-completion skill (obra/superpowers) with a groundwork-native original
  • Skill reframed as a universal gate discipline (like ground) preventing false completion claims, not a pipeline-specific integration point
  • Evidence standards (BDD coverage, doc review) belong in pipeline contracts, not in this skill

Changes

Created:

  • skills/verification-before-completion/SKILL.md — native skill preserving Iron Law, gate function, common-failures table, anti-rationalization patterns, red flags. Adds Lifecycle Role, Corruption Modes, cross-references. Removes superpowers-specific vocabulary.
  • skills/verification-before-completion/LICENSE-UPSTREAM — MIT attribution to obra/superpowers

Updated:

  • agents.toml — dependency changed from obra/superpowers to pentaxis93/groundwork
  • skills/skills.toml — updated provider, removed rev pin
  • CHANGELOG.md — added Changed entry, corrected curated skill count
  • ARCHITECTURE.md — updated upstream skills list (TDD, verification, code review no longer upstream)
  • docs/architecture/pipeline-contract.md — "Curated middle skills" → "Middle skills"
  • crates/groundwork-cli/src/main.rs — added verification-before-completion to shipped skills test expectation

Issue(s)

Closes #94

Test plan

  • All 137 cargo tests pass (including updated managed_specs_follow_shipped_skill_order_and_flat_paths)
  • All 17 cross-references to verification-before-completion verified intact
  • No stale superpowers:verification references in active files
  • Skill-creator eval: 100% assertion pass rate with skill vs 25% without (3 test scenarios: pagination fix confidence, subagent trust, dark mode linter-only)

🤖 Generated with Claude Code

pentaxis93 and others added 4 commits March 9, 2026 11:04
…ive original

Replace the upstream obra/superpowers verification-before-completion skill
with a groundwork-native original. The skill is a universal gate discipline
(like ground) preventing false completion claims, not a pipeline-specific
integration point. Evidence standards belong in pipeline contracts.

Preserves core discipline from upstream: Iron Law, gate function
(identify/run/read/verify/claim), common-failures table, anti-rationalization
patterns, red flags, and key verification patterns.

Adds: YAML frontmatter with origin metadata, Lifecycle Role section
establishing pipeline position, Corruption Modes section (performative
verification, partial verification, stale evidence, claim-first), and
cross-references to test-first/documentation/propose.

Removes: superpowers-specific vocabulary ("your human partner", "if you lie
you'll be replaced").

Refs #94

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When codex exec review emits no final agent message, --output-last-message writes an empty file and the workflow silently skips inline comments. Parse codex-review.jsonl for the last agent_message event as a fallback and fail the step if no final message exists in either output.

Refs #101
When Codex output cannot be parsed into line-addressable findings, the workflow previously returned without posting any PR comment. Add an issue-comment fallback that upserts the overall review text (with truncation safety) so every run leaves visible review output.

Refs #101
Post the overall Codex review comment on every run, then parse and post line-addressable findings as an additional layer. This guarantees visible review output even when inline parsing succeeds or fails.

Refs #101
@github-actions
Copy link

github-actions bot commented Mar 9, 2026

I did not identify any introduced defects that would break existing behavior, tests, or core workflow correctness. The changes appear internally consistent across manifests, docs, tests, and CI wiring.

Raw outputs: codex-review.md, codex-review.jsonl

Use REVIEW_BOT_TOKEN when present for github-script API calls, with fallback to the default github.token. This allows customizing the comment author without changing behavior when no custom token is configured.

Refs #101
Remove hardcoded github-actions[bot] checks so overall and summary comments are updated/deleted by marker regardless of which token identity posts them.

Refs #101
Comment on lines 258 to 260
for (const comment of existingComments) {
if (comment.user?.login === "github-actions[bot]" && comment.body?.includes(MARKER)) {
if (comment.body?.includes(MARKER)) {
await github.rest.pulls.deleteReviewComment({
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Restrict inline comment deletion to bot-authored comments

This loop now deletes any review comment whose body contains <!-- codex-inline-review -->, regardless of author. A human reviewer can accidentally or intentionally include that marker (for example by quoting prior bot output), and their comment will be deleted on the next run. The previous author check prevented this data loss, so deletion should stay scoped to the bot account(s) used by this workflow.

Comment on lines +220 to +224
const existingOverall = issueComments.find(
(comment) =>
typeof comment.body === "string" &&
comment.body.includes(OVERALL_MARKER)
);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Scope overall review upsert to bot-authored issue comments

The overall-review upsert selects the first issue comment containing <!-- codex-overall-review --> without checking author, so it can overwrite someone else’s PR comment if they include that marker text. This is a regression from safer ownership checks and can silently clobber user-authored discussion; matching should include the expected bot identity before updating.

Resolve comment ownership via REVIEW_COMMENT_AUTHOR_LOGIN or authenticated token login, then use that login for comment upsert/cleanup. This prevents clobbering non-bot comments while still supporting custom comment tokens.

Refs #101
Drop the static 'Codex final review output.' line so the overall PR comment starts directly with review content.
@pentaxis93 pentaxis93 merged commit 90f4444 into main Mar 9, 2026
1 check passed
@pentaxis93 pentaxis93 deleted the issue-94/native-verification-before-completion branch March 9, 2026 12:37
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.

task(skills): replace curated verification-before-completion with groundwork-native original

1 participant