Skip to content

Clarify verifier post-remediation evidence - #8

Merged
nsticco merged 2 commits into
mainfrom
fix/moonspec-verify-current-head
Sep 2, 2026
Merged

nsticco merged 2 commits into
mainfrom
fix/moonspec-verify-current-head

Conversation

@nsticco

@nsticco nsticco commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • rebuild verifier classifications from the current candidate head after remediation
  • treat pre-publication state as expected input to verification
  • honor repository-defined managed-agent test boundaries portably
  • align source-direct regression coverage with the current paths-only discovery contract

Verification

  • python3 tools/validate_bundle.py
  • MoonSpec tests: 17 passed
  • projection write/check passed
  • moonspec-verify skill validation passed

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 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-09-02T17:24:24.220613Z d998f74 PR opened
ℹ️ 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.

@nsticco
nsticco merged commit 9e11e11 into main Sep 2, 2026
2 checks passed

@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: d998f74ac5

ℹ️ 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".

## Source Acceptance Matrix Verification

When `artifacts/moonspec/source-acceptance.json` or `artifacts/moonspec/acceptance-assessment.json` exists and its `featureId` matches the active feature or source-direct baseline, verify every repo-verifiable source row. Do not choose `FULLY_IMPLEMENTED` unless every required repo-verifiable source row is satisfied.
When `artifacts/moonspec/source-acceptance.json` or `artifacts/moonspec/acceptance-assessment.json` exists and its `featureId`, source, feature directory, issue reference, or requirement IDs match the selected verification baseline, verify every repo-verifiable source row for that baseline. Do not choose `FULLY_IMPLEMENTED` unless every required repo-verifiable source row for the selected baseline is satisfied. In source-direct verification mode, ignore stale or unrelated acceptance artifacts whose source metadata does not match the selected source.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Require feature-specific identity before accepting artifacts

Do not treat requirement-ID overlap as sufficient to associate an acceptance artifact with the selected baseline. MoonSpec features commonly reuse IDs such as FR-001 and SCN-001, so an unrelated stale artifact can match solely by those generic IDs and incorrectly add its rows as blocking requirements, directly defeating the instruction to ignore unrelated artifacts in source-direct mode. Require matching source, feature ID/directory, or issue identity; use requirement IDs only after that association is established.

AGENTS.md reference: AGENTS.md:L29-L31

Useful? React with 👍 / 👎.

- issue-brief verification inputs
- an explicitly provided `spec.md` or feature directory
- an active feature directory discovered from repository context
- an active feature directory discovered from repository context (run `.specify/scripts/bash/check-prerequisites.sh --json --paths-only` to discover it without requiring `plan.md` or `tasks.md`)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Mirror the new verifier safeguards into the slash command

Updating only the discovery invocation here leaves the projected Markdown /moonspec.verify command without this commit's post-remediation reinspection, pre-publication, and managed-agent test-boundary rules. MoonMind installs this file directly under .specify/templates/commands/ via bundle/projections/moonmind.yaml, so users of that command can still preserve stale findings or run forbidden host-local tests even though invoking the skill directly behaves correctly. Add the corresponding safeguards to this standalone command asset and cover them in the command regression test.

Useful? React with 👍 / 👎.

Comment on lines +130 to +132
`FULLY_IMPLEMENTED`. Gate on those outcomes only when the selected baseline
explicitly makes publication itself part of this verification step and the
workflow has already supplied the resulting publication evidence.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Fail when required publication evidence is absent

When the selected baseline explicitly makes publication part of this verification step, requiring the workflow to have already supplied publication evidence before the outcome can gate the verdict creates a false-pass path: an absent deployment, merge, or issue-closure result is precisely the missing evidence that should prevent FULLY_IMPLEMENTED. In post-publication verification or any baseline with an explicit publication acceptance criterion, classify missing evidence as a gap or NO_DETERMINATION rather than skipping the requirement.

Useful? React with 👍 / 👎.

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