Conversation
Acceptance:
- Flip docs/promotions/P0001 promotion_status: proposed -> accepted
- Update tags array ("proposed" -> "accepted")
- Fill Review Notes with operator decision (klappy, 2026-05-05)
Execution:
- canon/constraints/definition-of-done.md: append two MUST bullets to
"## Operating Constraints" (no verified claim without artifact;
return NEEDS_ARTIFACTS not PASS when evidence absent)
- canon/constraints/definition-of-done.md: append one entry to
"## Failure Modes" ("Unverified Completion")
Aligns canon with the Validation Agent's existing enforcement
(infra/orchestrator/services/validation.js determineVerdict()).
Second of 8 stuck proposals being walked through to acceptance + execution.
Previous: P0009 (PR #167). Next in queue: P0008 (release-validation-gate
amendment for the validator-deliverable convention).
Canon Quality —
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Combined acceptance + execution of promotion P0001 — aligns the canonical Definition of Done with the Validation Agent's already-enforced behavior.
Acceptance (1 file)
docs/promotions/P0001-completion-requires-artifacts.mdpromotion_status: proposed→accepted"proposed"→"accepted"accepted(2026-05-05)Execution (1 file, +3 lines net)
canon/constraints/definition-of-done.md## Operating Constraints— two new MUST bullets:MUST NOT mark a claim as verified without at least one artifact that demonstrates the claimed outcomeMUST return NEEDS_ARTIFACTS (not PASS) when a completion claim exists but the supporting evidence is absentcanon/constraints/definition-of-done.md## Failure Modes— one new entry:**"Unverified Completion"**: Accepting a "done" / "finished" / "shipped" claim without corresponding artifacts (screenshots, logs, links, command output). The validation pathway MUST return NEEDS_ARTIFACTS, not PASSWhy this matters
Per P0001's evidence section, the Validation Agent (
infra/orchestrator/services/validation.js) already returnsNEEDS_ARTIFACTSviadetermineVerdict()when claims have no matching artifacts. Until now this was enforced at code level only — Canon did not state the rule. After this merge, the constraint is citeable fromoddkit_searchand the Librarian, so future agents reading Definition of Done preflight see the rule explicitly.Position in the 8-proposal sweep
DoD
promotion_statusflipped toacceptedNote
Low Risk
Low risk documentation-only change that tightens Definition of Done language and promotion status without affecting runtime behavior.
Overview
Updates the canon Definition of Done to explicitly require artifacts before marking completion claims as verified, and to mandate returning
NEEDS_ARTIFACTS(notPASS) when evidence is missing.Marks promotion
P0001as accepted by updating frontmatter/status and filling in review notes to record the decision and rationale.Reviewed by Cursor Bugbot for commit d282da9. Bugbot is set up for automated code reviews on this repo. Configure here.