From d282da9fa8af50616ffdf96a6a85ff35e98f7df0 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 5 May 2026 02:50:16 +0000 Subject: [PATCH] =?UTF-8?q?P0001:=20accept=20+=20execute=20=E2=80=94=20com?= =?UTF-8?q?pletion=20claims=20require=20artifacts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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/constraints/definition-of-done.md | 3 +++ .../P0001-completion-requires-artifacts.md | 16 +++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/canon/constraints/definition-of-done.md b/canon/constraints/definition-of-done.md index 49a559c2..6c1ca788 100644 --- a/canon/constraints/definition-of-done.md +++ b/canon/constraints/definition-of-done.md @@ -47,6 +47,8 @@ This policy is a specific application of the foundational axiom that every claim - MUST NOT claim "done" without evidence; the correct response is "This is not complete yet" - MUST label partial completion explicitly with what was verified and what remains - MUST validate document deliverables against the Writing Canon checklist (`canon/meta/writing-canon.md`) before claiming completion +- MUST NOT mark a claim as verified without at least one artifact that demonstrates the claimed outcome +- MUST return `NEEDS_ARTIFACTS` (not `PASS`) when a completion claim exists but the supporting evidence is absent --- @@ -68,6 +70,7 @@ This policy is a specific application of the foundational axiom that every claim - **"I reviewed the code"**: Treating inspection as observation of behavior - **"I didn't have time to test"**: Treating explanation as exemption from evidence - **"The document exists"**: Treating file creation as completion without validating progressive disclosure structure +- **"Unverified Completion"**: Accepting a "done" / "finished" / "shipped" claim without corresponding artifacts (screenshots, logs, links, command output). The validation pathway MUST return `NEEDS_ARTIFACTS`, not `PASS` --- diff --git a/docs/promotions/P0001-completion-requires-artifacts.md b/docs/promotions/P0001-completion-requires-artifacts.md index d7180dca..4f4cdab6 100644 --- a/docs/promotions/P0001-completion-requires-artifacts.md +++ b/docs/promotions/P0001-completion-requires-artifacts.md @@ -6,8 +6,8 @@ exposure: nav tier: 3 voice: neutral stability: evolving -tags: ["promotions", "proposed", "validation", "evidence"] -promotion_status: proposed +tags: ["promotions", "accepted", "validation", "evidence"] +promotion_status: accepted --- # P0001: Completion Claims Require Artifacts @@ -85,16 +85,14 @@ Add to Failure Modes: ## Status -`proposed` +`accepted` (2026-05-05) ## Review Notes -(To be filled during review) - -- **Reviewer**: -- **Decision**: -- **Date**: -- **Notes**: +- **Reviewer**: klappy (operator) +- **Decision**: `accepted` +- **Date**: 2026-05-05 +- **Notes**: Oldest backlog item in the `proposed` queue. The Validation Agent (`infra/orchestrator/services/validation.js`) already enforces this at code level via `determineVerdict()` — this canon edit aligns the written constraint with the enforced behavior. Accepted as drafted; execution committed in the same PR appends two MUST bullets to `## Operating Constraints` and one new entry to `## Failure Modes` of `canon/constraints/definition-of-done.md`. ## Execution Record