docs(phase-08): create Nyquist validation track phase plan (8 plans, sequential)
This commit is contained in:
@@ -40,7 +40,15 @@ Full details: [`milestones/v1.0-ROADMAP.md`](milestones/v1.0-ROADMAP.md)
|
|||||||
1. An operator can open any of the 7 v1.0 phase folders and read a `VALIDATION.md` where every success criterion maps to exactly one observable check with cited evidence (commit, test name, file path, or screenshot)
|
1. An operator can open any of the 7 v1.0 phase folders and read a `VALIDATION.md` where every success criterion maps to exactly one observable check with cited evidence (commit, test name, file path, or screenshot)
|
||||||
2. An operator can open `.planning/milestones/v1.0-VALIDATION-INDEX.md` and see a single pass/fail roll-up across all 7 phases with links to each phase's validation file
|
2. An operator can open `.planning/milestones/v1.0-VALIDATION-INDEX.md` and see a single pass/fail roll-up across all 7 phases with links to each phase's validation file
|
||||||
3. Any validation gap surfaced during the Nyquist pass appears in the index as either a v1.1 defect ticket (linked to the fixing phase) or an explicitly deferred item with written rationale
|
3. Any validation gap surfaced during the Nyquist pass appears in the index as either a v1.1 defect ticket (linked to the fixing phase) or an explicitly deferred item with written rationale
|
||||||
**Plans**: TBD
|
**Plans**: 8 plans
|
||||||
|
- [ ] 08-01-PLAN.md — Audit Phase 1 (Foundation) into Nyquist-compliant 01-VALIDATION.md (NYQ-01)
|
||||||
|
- [ ] 08-02-PLAN.md — Audit Phase 2 (Driver Management) + record POST /drivers/upload 500 gap (NYQ-01)
|
||||||
|
- [ ] 08-03-PLAN.md — Audit Phase 3 (Printer Configuration) into Nyquist Record (NYQ-01)
|
||||||
|
- [ ] 08-04-PLAN.md — Audit Phase 4 (Script Generation) with SYSTEM-context attestation notes (NYQ-01)
|
||||||
|
- [ ] 08-05-PLAN.md — Audit Phase 5 (Package Export) with RTVAL-01 byte-level evidence (NYQ-01)
|
||||||
|
- [ ] 08-06-PLAN.md — Audit Phase 6 (Wire Icon into .intunewin) into Nyquist Record (NYQ-01)
|
||||||
|
- [ ] 08-07-PLAN.md — Audit Phase 7 (Dashboard & Nav Polish) into Nyquist Record (NYQ-01)
|
||||||
|
- [ ] 08-08-PLAN.md — Compile v1.0-VALIDATION-INDEX.md, triage gaps, human sign-off (NYQ-02, NYQ-03)
|
||||||
|
|
||||||
### Phase 9: UX Tech Debt Closure
|
### Phase 9: UX Tech Debt Closure
|
||||||
**Goal**: The three carried-over UX defects are fixed and live-verified in a real browser so the rolled-out build is the polished one.
|
**Goal**: The three carried-over UX defects are fixed and live-verified in a real browser so the rolled-out build is the polished one.
|
||||||
|
|||||||
@@ -0,0 +1,108 @@
|
|||||||
|
---
|
||||||
|
phase: 08-nyquist-validation-track
|
||||||
|
plan: 01
|
||||||
|
type: execute
|
||||||
|
wave: 1
|
||||||
|
depends_on: []
|
||||||
|
files_modified:
|
||||||
|
- .planning/phases/01-foundation/01-VALIDATION.md
|
||||||
|
autonomous: true
|
||||||
|
requirements: [NYQ-01]
|
||||||
|
must_haves:
|
||||||
|
truths:
|
||||||
|
- "Phase 1 VALIDATION.md contains a Nyquist Record with exactly one observable check per Phase 1 success criterion"
|
||||||
|
- "Every Phase 1 Nyquist Record row cites evidence (test + file:line, commit SHA + file:line, artifact path, or dated VERIFICATION.md link)"
|
||||||
|
- "Phase 1 frontmatter nyquist_compliant flag correctly reflects audit outcome"
|
||||||
|
- "Gaps surfaced for Phase 1 (e.g. upload-to-real-Intune spike) are marked status=fail-fix-v1.1 with link to fixing phase, or deferred with rationale"
|
||||||
|
artifacts:
|
||||||
|
- path: ".planning/phases/01-foundation/01-VALIDATION.md"
|
||||||
|
provides: "Phase 1 Nyquist Record table + updated frontmatter"
|
||||||
|
contains: "## Nyquist Record"
|
||||||
|
key_links:
|
||||||
|
- from: ".planning/phases/01-foundation/01-VALIDATION.md"
|
||||||
|
to: ".planning/milestones/v1.0-ROADMAP.md"
|
||||||
|
via: "one row per Phase 1 success criterion"
|
||||||
|
pattern: "## Nyquist Record"
|
||||||
|
- from: ".planning/phases/01-foundation/01-VALIDATION.md gap rows"
|
||||||
|
to: ".planning/phases/10-real-world-runtime-validation"
|
||||||
|
via: "fail-fix-v1.1 link for upload-to-real-Intune spike"
|
||||||
|
pattern: "fail-fix-v1.1.*RTVAL-01|Phase 10"
|
||||||
|
---
|
||||||
|
|
||||||
|
<objective>
|
||||||
|
Audit Phase 1 (Foundation) against Nyquist rules: every success criterion maps to exactly one observable check with cited evidence. Upgrade `01-VALIDATION.md` in place by adding a `## Nyquist Record` section and updating frontmatter.
|
||||||
|
|
||||||
|
Purpose: First of 7 per-phase audits that feed the v1.0-VALIDATION-INDEX.md rollup (NYQ-02) and gap triage (NYQ-03).
|
||||||
|
Output: Upgraded `.planning/phases/01-foundation/01-VALIDATION.md` with Nyquist Record + audited frontmatter.
|
||||||
|
</objective>
|
||||||
|
|
||||||
|
<execution_context>
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
|
||||||
|
</execution_context>
|
||||||
|
|
||||||
|
<context>
|
||||||
|
@.planning/PROJECT.md
|
||||||
|
@.planning/ROADMAP.md
|
||||||
|
@.planning/STATE.md
|
||||||
|
@.planning/REQUIREMENTS.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-CONTEXT.md
|
||||||
|
@.planning/milestones/v1.0-ROADMAP.md
|
||||||
|
@.planning/phases/01-foundation/01-VALIDATION.md
|
||||||
|
@.planning/phases/01-foundation/01-VERIFICATION.md
|
||||||
|
@.planning/phases/01-foundation/01-01-SUMMARY.md
|
||||||
|
@.planning/phases/01-foundation/01-02-SUMMARY.md
|
||||||
|
@.planning/phases/01-foundation/01-03-SUMMARY.md
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<tasks>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 1: Build Phase 1 Nyquist Record and upgrade 01-VALIDATION.md</name>
|
||||||
|
<files>.planning/phases/01-foundation/01-VALIDATION.md</files>
|
||||||
|
<action>
|
||||||
|
1. Read `.planning/milestones/v1.0-ROADMAP.md` and extract the full success-criterion list for Phase 1 (Foundation). These are the canonical rows (NOT the v1.1 ROADMAP.md view).
|
||||||
|
2. For each success criterion, derive exactly ONE observable check. No hand-wavy "code looks right". Observable means: runs a test, greps a file, reads an artifact, or confirms a dated manual verification.
|
||||||
|
3. For each observable check, locate evidence in priority order:
|
||||||
|
a) Test evidence: `pytest <path>::<testname>` + file:line (trust recorded-green runs; do NOT re-run)
|
||||||
|
b) Commit evidence: commit SHA + file:line (use `git log` + `git blame` as needed)
|
||||||
|
c) File-artifact evidence: path to generated artifact
|
||||||
|
d) Manual-check evidence: link to dated note in 01-VERIFICATION.md (ONLY if no automated path)
|
||||||
|
4. Preserve ALL existing sections of 01-VALIDATION.md verbatim (Sampling Rate, Per-Task Verification Map, Wave 0 Requirements, Manual-Only Verifications, Validation Sign-Off). Do NOT delete historical record.
|
||||||
|
5. Append a new top-level section `## Nyquist Record` ABOVE the Validation Sign-Off section with a table:
|
||||||
|
`| # | Success Criterion | Observable Check | Evidence | Status | Notes |`
|
||||||
|
Status values: `pass`, `fail-fix-v1.1`, `deferred-v1.2`, `wont-do`.
|
||||||
|
Any `fail-fix-v1.1` row MUST cite the fixing phase (Phase 9/10/11) in the Notes column.
|
||||||
|
Any `deferred-v1.2` / `wont-do` row MUST have written rationale in Notes.
|
||||||
|
6. Known Phase 1 gap: the Manual-Only "Upload to real Intune tenant" row from existing 01-VALIDATION.md is a spike. Record as `fail-fix-v1.1` linking to Phase 10 / RTVAL-01 (which is now Complete per REQUIREMENTS.md) — so this can likely resolve to `pass` citing the Phase 10 RUNTIME-VALIDATION.md signoff. Auditor decides at audit time.
|
||||||
|
7. Update frontmatter:
|
||||||
|
- Set `nyquist_compliant: true` ONLY if every Nyquist Record row is `pass` or explicit-deferred. Otherwise leave `false` and the index plan (08-08) will confirm rollup.
|
||||||
|
- Add `nyquist_audited: 2026-04-13` (or date of audit run).
|
||||||
|
- Add `nyquist_auditor: Sébastien QUEROL` (or agent-recorded value; CONTEXT says Claude has discretion on wording).
|
||||||
|
8. Do NOT touch source code. This plan writes only to `.planning/phases/01-foundation/01-VALIDATION.md`.
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>grep -q "^## Nyquist Record" .planning/phases/01-foundation/01-VALIDATION.md && grep -q "nyquist_audited:" .planning/phases/01-foundation/01-VALIDATION.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
01-VALIDATION.md contains a `## Nyquist Record` table with one row per Phase 1 success criterion (per milestones/v1.0-ROADMAP.md), every row has an Observable Check and cited Evidence, frontmatter has nyquist_audited date + auditor name, and any fail-fix-v1.1 row links to the fixing phase.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
</tasks>
|
||||||
|
|
||||||
|
<verification>
|
||||||
|
- `## Nyquist Record` section exists in 01-VALIDATION.md
|
||||||
|
- Row count matches Phase 1 success criteria count from milestones/v1.0-ROADMAP.md
|
||||||
|
- Every row has non-empty Observable Check + Evidence cells
|
||||||
|
- No row has status outside {pass, fail-fix-v1.1, deferred-v1.2, wont-do}
|
||||||
|
- Frontmatter has nyquist_audited + nyquist_auditor keys
|
||||||
|
</verification>
|
||||||
|
|
||||||
|
<success_criteria>
|
||||||
|
Phase 1 Nyquist audit complete: 01-VALIDATION.md upgraded in place with a Nyquist Record where every success criterion has one observable check with cited evidence; gaps tracked with links to fixing phases.
|
||||||
|
</success_criteria>
|
||||||
|
|
||||||
|
<output>
|
||||||
|
After completion, create `.planning/phases/08-nyquist-validation-track/08-01-SUMMARY.md`
|
||||||
|
</output>
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
---
|
||||||
|
phase: 08-nyquist-validation-track
|
||||||
|
plan: 02
|
||||||
|
type: execute
|
||||||
|
wave: 2
|
||||||
|
depends_on: [08-01]
|
||||||
|
files_modified:
|
||||||
|
- .planning/phases/02-driver-management/02-VALIDATION.md
|
||||||
|
autonomous: true
|
||||||
|
requirements: [NYQ-01]
|
||||||
|
must_haves:
|
||||||
|
truths:
|
||||||
|
- "Phase 2 VALIDATION.md contains a Nyquist Record with exactly one observable check per Phase 2 success criterion"
|
||||||
|
- "Every Phase 2 Nyquist Record row cites evidence (test + file:line, commit SHA + file:line, artifact path, or dated VERIFICATION.md link)"
|
||||||
|
- "POST /drivers/upload 500 gap is recorded as fail-fix-v1.1 linked to Phase 9 / UX-01"
|
||||||
|
- "Phase 2 frontmatter has nyquist_audited + nyquist_auditor"
|
||||||
|
artifacts:
|
||||||
|
- path: ".planning/phases/02-driver-management/02-VALIDATION.md"
|
||||||
|
provides: "Phase 2 Nyquist Record table + updated frontmatter"
|
||||||
|
contains: "## Nyquist Record"
|
||||||
|
key_links:
|
||||||
|
- from: ".planning/phases/02-driver-management/02-VALIDATION.md gap row"
|
||||||
|
to: ".planning/phases/09-ux-tech-debt-closure"
|
||||||
|
via: "fail-fix-v1.1 link for POST /drivers/upload 500"
|
||||||
|
pattern: "fail-fix-v1.1.*UX-01|Phase 9"
|
||||||
|
---
|
||||||
|
|
||||||
|
<objective>
|
||||||
|
Audit Phase 2 (Driver Management, DRV-01..05) against Nyquist rules. Upgrade `02-VALIDATION.md` in place with a `## Nyquist Record` section and updated frontmatter. Must record the pre-surfaced `POST /drivers/upload` 500 gap as `fail-fix-v1.1` → Phase 9 / UX-01 (per CONTEXT.md deferred-ideas block).
|
||||||
|
|
||||||
|
Purpose: Second of 7 per-phase audits feeding the milestone index.
|
||||||
|
Output: Upgraded `.planning/phases/02-driver-management/02-VALIDATION.md`.
|
||||||
|
</objective>
|
||||||
|
|
||||||
|
<execution_context>
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
|
||||||
|
</execution_context>
|
||||||
|
|
||||||
|
<context>
|
||||||
|
@.planning/ROADMAP.md
|
||||||
|
@.planning/STATE.md
|
||||||
|
@.planning/REQUIREMENTS.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-CONTEXT.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-01-SUMMARY.md
|
||||||
|
@.planning/milestones/v1.0-ROADMAP.md
|
||||||
|
@.planning/phases/02-driver-management/02-VALIDATION.md
|
||||||
|
@.planning/phases/02-driver-management/02-VERIFICATION.md
|
||||||
|
@.planning/phases/02-driver-management/02-01-SUMMARY.md
|
||||||
|
@.planning/phases/02-driver-management/02-02-SUMMARY.md
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<tasks>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 1: Build Phase 2 Nyquist Record and upgrade 02-VALIDATION.md</name>
|
||||||
|
<files>.planning/phases/02-driver-management/02-VALIDATION.md</files>
|
||||||
|
<action>
|
||||||
|
Follow the exact methodology established in 08-01 (see 08-01-SUMMARY.md for the evidence-lookup pattern used):
|
||||||
|
1. Extract Phase 2 success criteria from `.planning/milestones/v1.0-ROADMAP.md` (DRV-01..05 scope).
|
||||||
|
2. Derive one observable check per criterion.
|
||||||
|
3. Locate evidence (test > commit > artifact > manual), preserving the priority order from CONTEXT.md.
|
||||||
|
4. Preserve all existing sections of 02-VALIDATION.md verbatim.
|
||||||
|
5. Append `## Nyquist Record` with rows `| # | Success Criterion | Observable Check | Evidence | Status | Notes |`.
|
||||||
|
6. **MANDATORY:** Add a `fail-fix-v1.1` row for `POST /drivers/upload` HTTP 500 (reported 2026-04-13 during Phase 8 kickoff — see CONTEXT.md deferred-ideas). Link to Phase 9 / UX-01. This is non-negotiable per the locked decision in CONTEXT.md. Even if UX-01 is now marked Complete in REQUIREMENTS.md, the historical gap against Phase 2 must be recorded; if UX-01 is complete, cite the fixing commit and flip status accordingly (e.g. `pass` with a Notes pointer: "fixed in Phase 9 commit <SHA>").
|
||||||
|
7. Update frontmatter: `nyquist_audited: <date>`, `nyquist_auditor: <name>`. Set `nyquist_compliant: true` only if all rows resolve.
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>grep -q "^## Nyquist Record" .planning/phases/02-driver-management/02-VALIDATION.md && grep -qi "drivers/upload" .planning/phases/02-driver-management/02-VALIDATION.md && grep -q "nyquist_audited:" .planning/phases/02-driver-management/02-VALIDATION.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
02-VALIDATION.md has a complete Nyquist Record, the POST /drivers/upload 500 gap is recorded with a link to Phase 9 / UX-01, and frontmatter is updated.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
</tasks>
|
||||||
|
|
||||||
|
<verification>
|
||||||
|
- `## Nyquist Record` section exists in 02-VALIDATION.md
|
||||||
|
- Row count matches Phase 2 success criteria from milestones/v1.0-ROADMAP.md
|
||||||
|
- A row referencing `POST /drivers/upload` and Phase 9 / UX-01 exists
|
||||||
|
- Frontmatter has nyquist_audited + nyquist_auditor keys
|
||||||
|
</verification>
|
||||||
|
|
||||||
|
<success_criteria>
|
||||||
|
Phase 2 Nyquist audit complete with the driver-upload 500 gap formally tracked.
|
||||||
|
</success_criteria>
|
||||||
|
|
||||||
|
<output>
|
||||||
|
After completion, create `.planning/phases/08-nyquist-validation-track/08-02-SUMMARY.md`
|
||||||
|
</output>
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
---
|
||||||
|
phase: 08-nyquist-validation-track
|
||||||
|
plan: 03
|
||||||
|
type: execute
|
||||||
|
wave: 3
|
||||||
|
depends_on: [08-02]
|
||||||
|
files_modified:
|
||||||
|
- .planning/phases/03-printer-configuration/03-VALIDATION.md
|
||||||
|
autonomous: true
|
||||||
|
requirements: [NYQ-01]
|
||||||
|
must_haves:
|
||||||
|
truths:
|
||||||
|
- "Phase 3 VALIDATION.md contains a Nyquist Record with exactly one observable check per Phase 3 success criterion"
|
||||||
|
- "Every Phase 3 row cites evidence from the accepted evidence types"
|
||||||
|
- "PRNT-03 Alpine.js IP->port verification gap is tracked (resolved via Phase 9 / UX-02 or deferred)"
|
||||||
|
- "Phase 3 frontmatter has nyquist_audited + nyquist_auditor"
|
||||||
|
artifacts:
|
||||||
|
- path: ".planning/phases/03-printer-configuration/03-VALIDATION.md"
|
||||||
|
provides: "Phase 3 Nyquist Record table + updated frontmatter"
|
||||||
|
contains: "## Nyquist Record"
|
||||||
|
key_links:
|
||||||
|
- from: ".planning/phases/03-printer-configuration/03-VALIDATION.md"
|
||||||
|
to: ".planning/milestones/v1.0-ROADMAP.md"
|
||||||
|
via: "one row per Phase 3 success criterion"
|
||||||
|
pattern: "## Nyquist Record"
|
||||||
|
---
|
||||||
|
|
||||||
|
<objective>
|
||||||
|
Audit Phase 3 (Printer Configuration, PRNT-01..05) against Nyquist rules. Upgrade `03-VALIDATION.md` in place.
|
||||||
|
|
||||||
|
Purpose: Third of 7 per-phase audits feeding the milestone index.
|
||||||
|
Output: Upgraded `.planning/phases/03-printer-configuration/03-VALIDATION.md`.
|
||||||
|
</objective>
|
||||||
|
|
||||||
|
<execution_context>
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
|
||||||
|
</execution_context>
|
||||||
|
|
||||||
|
<context>
|
||||||
|
@.planning/ROADMAP.md
|
||||||
|
@.planning/STATE.md
|
||||||
|
@.planning/REQUIREMENTS.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-CONTEXT.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-02-SUMMARY.md
|
||||||
|
@.planning/milestones/v1.0-ROADMAP.md
|
||||||
|
@.planning/phases/03-printer-configuration/03-VALIDATION.md
|
||||||
|
@.planning/phases/03-printer-configuration/03-VERIFICATION.md
|
||||||
|
@.planning/phases/03-printer-configuration/03-01-SUMMARY.md
|
||||||
|
@.planning/phases/03-printer-configuration/03-02-SUMMARY.md
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<tasks>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 1: Build Phase 3 Nyquist Record and upgrade 03-VALIDATION.md</name>
|
||||||
|
<files>.planning/phases/03-printer-configuration/03-VALIDATION.md</files>
|
||||||
|
<action>
|
||||||
|
Apply the same methodology as 08-01 and 08-02:
|
||||||
|
1. Extract Phase 3 (PRNT-01..05) success criteria from `.planning/milestones/v1.0-ROADMAP.md`.
|
||||||
|
2. One observable check per criterion; evidence in priority order (test > commit > artifact > manual).
|
||||||
|
3. Preserve all existing sections verbatim; append `## Nyquist Record` above the sign-off section.
|
||||||
|
4. Record the PRNT-03 Alpine.js IP->port live-browser verification item. Per CONTEXT.md this was a known UX gap absorbed into Phase 9 / UX-02 (now Complete). Cite the Phase 9 fix commit if available, or mark `fail-fix-v1.1` → Phase 9 / UX-02 with resolution note.
|
||||||
|
5. Update frontmatter (`nyquist_audited`, `nyquist_auditor`, `nyquist_compliant` if fully resolved).
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>grep -q "^## Nyquist Record" .planning/phases/03-printer-configuration/03-VALIDATION.md && grep -q "nyquist_audited:" .planning/phases/03-printer-configuration/03-VALIDATION.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
03-VALIDATION.md has a complete Nyquist Record with one row per Phase 3 success criterion, evidence cited, PRNT-03 gap status recorded, and frontmatter updated.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
</tasks>
|
||||||
|
|
||||||
|
<verification>
|
||||||
|
- `## Nyquist Record` section exists in 03-VALIDATION.md
|
||||||
|
- Row count matches Phase 3 success criteria from milestones/v1.0-ROADMAP.md
|
||||||
|
- PRNT-03 IP->port row exists with either pass+citation or fail-fix-v1.1 → Phase 9
|
||||||
|
- Frontmatter has nyquist_audited + nyquist_auditor keys
|
||||||
|
</verification>
|
||||||
|
|
||||||
|
<success_criteria>
|
||||||
|
Phase 3 Nyquist audit complete.
|
||||||
|
</success_criteria>
|
||||||
|
|
||||||
|
<output>
|
||||||
|
After completion, create `.planning/phases/08-nyquist-validation-track/08-03-SUMMARY.md`
|
||||||
|
</output>
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
---
|
||||||
|
phase: 08-nyquist-validation-track
|
||||||
|
plan: 04
|
||||||
|
type: execute
|
||||||
|
wave: 4
|
||||||
|
depends_on: [08-03]
|
||||||
|
files_modified:
|
||||||
|
- .planning/phases/04-script-generation/04-VALIDATION.md
|
||||||
|
autonomous: true
|
||||||
|
requirements: [NYQ-01]
|
||||||
|
must_haves:
|
||||||
|
truths:
|
||||||
|
- "Phase 4 VALIDATION.md contains a Nyquist Record with exactly one observable check per Phase 4 success criterion"
|
||||||
|
- "Every Phase 4 row cites evidence from the accepted evidence types"
|
||||||
|
- "SYSTEM-context / pnputil / $PSScriptRoot checks resolved via Phase 10 RTVAL-02..04 attestation (or tracked as fail-fix)"
|
||||||
|
- "Phase 4 frontmatter has nyquist_audited + nyquist_auditor"
|
||||||
|
artifacts:
|
||||||
|
- path: ".planning/phases/04-script-generation/04-VALIDATION.md"
|
||||||
|
provides: "Phase 4 Nyquist Record table + updated frontmatter"
|
||||||
|
contains: "## Nyquist Record"
|
||||||
|
key_links:
|
||||||
|
- from: ".planning/phases/04-script-generation/04-VALIDATION.md runtime rows"
|
||||||
|
to: ".planning/phases/10-real-world-runtime-validation/10-RUNTIME-VALIDATION.md"
|
||||||
|
via: "attestation-only PASS for RTVAL-02/03/04 (per STATE.md note)"
|
||||||
|
pattern: "RTVAL-0[234]|attestation"
|
||||||
|
---
|
||||||
|
|
||||||
|
<objective>
|
||||||
|
Audit Phase 4 (Script Generation, SCR-01..05) against Nyquist rules. Upgrade `04-VALIDATION.md` in place. Pay special attention to SYSTEM-context claims (pnputil, $PSScriptRoot) — per STATE.md these are attestation-only PASSes from Phase 10 and the audit must reflect that weakened audit trail in the Notes column.
|
||||||
|
|
||||||
|
Purpose: Fourth of 7 per-phase audits feeding the milestone index.
|
||||||
|
Output: Upgraded `.planning/phases/04-script-generation/04-VALIDATION.md`.
|
||||||
|
</objective>
|
||||||
|
|
||||||
|
<execution_context>
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
|
||||||
|
</execution_context>
|
||||||
|
|
||||||
|
<context>
|
||||||
|
@.planning/ROADMAP.md
|
||||||
|
@.planning/STATE.md
|
||||||
|
@.planning/REQUIREMENTS.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-CONTEXT.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-03-SUMMARY.md
|
||||||
|
@.planning/milestones/v1.0-ROADMAP.md
|
||||||
|
@.planning/phases/04-script-generation/04-VALIDATION.md
|
||||||
|
@.planning/phases/04-script-generation/04-VERIFICATION.md
|
||||||
|
@.planning/phases/04-script-generation/04-01-SUMMARY.md
|
||||||
|
@.planning/phases/04-script-generation/04-02-SUMMARY.md
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<tasks>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 1: Build Phase 4 Nyquist Record and upgrade 04-VALIDATION.md</name>
|
||||||
|
<files>.planning/phases/04-script-generation/04-VALIDATION.md</files>
|
||||||
|
<action>
|
||||||
|
Apply the established methodology:
|
||||||
|
1. Extract Phase 4 (SCR-01..05) success criteria from `.planning/milestones/v1.0-ROADMAP.md`.
|
||||||
|
2. One observable check per criterion; evidence in priority order.
|
||||||
|
3. Preserve all existing sections; append `## Nyquist Record`.
|
||||||
|
4. For any criterion that requires runtime SYSTEM-context proof (pnputil staging, $PSScriptRoot resolution, detect/uninstall under SYSTEM): evidence is the Phase 10 RUNTIME-VALIDATION.md report. **Mark Notes explicitly that RTVAL-02/03/04 are attestation-only PASSes per STATE.md** — the audit records this weakened audit trail faithfully, it does not hide it. Status may still be `pass` since Phase 10 signed off with explicit acknowledgement, but Notes must say "attestation-only per STATE.md 2026-04-13".
|
||||||
|
5. Update frontmatter.
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>grep -q "^## Nyquist Record" .planning/phases/04-script-generation/04-VALIDATION.md && grep -q "nyquist_audited:" .planning/phases/04-script-generation/04-VALIDATION.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
04-VALIDATION.md has a complete Nyquist Record, SYSTEM-context rows cite Phase 10 with the attestation-only caveat in Notes, and frontmatter is updated.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
</tasks>
|
||||||
|
|
||||||
|
<verification>
|
||||||
|
- `## Nyquist Record` section exists in 04-VALIDATION.md
|
||||||
|
- Row count matches Phase 4 success criteria
|
||||||
|
- Any row citing SYSTEM-context / pnputil / $PSScriptRoot has the "attestation-only" note
|
||||||
|
- Frontmatter has nyquist_audited + nyquist_auditor keys
|
||||||
|
</verification>
|
||||||
|
|
||||||
|
<success_criteria>
|
||||||
|
Phase 4 Nyquist audit complete with honest recording of the attestation-only runtime evidence.
|
||||||
|
</success_criteria>
|
||||||
|
|
||||||
|
<output>
|
||||||
|
After completion, create `.planning/phases/08-nyquist-validation-track/08-04-SUMMARY.md`
|
||||||
|
</output>
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
---
|
||||||
|
phase: 08-nyquist-validation-track
|
||||||
|
plan: 05
|
||||||
|
type: execute
|
||||||
|
wave: 5
|
||||||
|
depends_on: [08-04]
|
||||||
|
files_modified:
|
||||||
|
- .planning/phases/05-package-export/05-VALIDATION.md
|
||||||
|
autonomous: true
|
||||||
|
requirements: [NYQ-01]
|
||||||
|
must_haves:
|
||||||
|
truths:
|
||||||
|
- "Phase 5 VALIDATION.md contains a Nyquist Record with exactly one observable check per Phase 5 success criterion"
|
||||||
|
- "Every Phase 5 row cites evidence from the accepted evidence types"
|
||||||
|
- "Byte-level .intunewin conformance row cites Phase 10 RTVAL-01 (tenant ingestion PASS)"
|
||||||
|
- "Phase 5 frontmatter has nyquist_audited + nyquist_auditor"
|
||||||
|
artifacts:
|
||||||
|
- path: ".planning/phases/05-package-export/05-VALIDATION.md"
|
||||||
|
provides: "Phase 5 Nyquist Record table + updated frontmatter"
|
||||||
|
contains: "## Nyquist Record"
|
||||||
|
key_links:
|
||||||
|
- from: ".planning/phases/05-package-export/05-VALIDATION.md"
|
||||||
|
to: ".planning/phases/10-real-world-runtime-validation/10-RUNTIME-VALIDATION.md"
|
||||||
|
via: "RTVAL-01 tenant ingestion evidence"
|
||||||
|
pattern: "RTVAL-01"
|
||||||
|
---
|
||||||
|
|
||||||
|
<objective>
|
||||||
|
Audit Phase 5 (Package Export, PKG-01..05) against Nyquist rules. Upgrade `05-VALIDATION.md` in place. The .intunewin byte-layout criterion gets its strongest evidence from Phase 10 RTVAL-01 (tenant ingestion PASS on fixed build, commits 74535ea + 7716246).
|
||||||
|
|
||||||
|
Purpose: Fifth of 7 per-phase audits feeding the milestone index.
|
||||||
|
Output: Upgraded `.planning/phases/05-package-export/05-VALIDATION.md`.
|
||||||
|
</objective>
|
||||||
|
|
||||||
|
<execution_context>
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
|
||||||
|
</execution_context>
|
||||||
|
|
||||||
|
<context>
|
||||||
|
@.planning/ROADMAP.md
|
||||||
|
@.planning/STATE.md
|
||||||
|
@.planning/REQUIREMENTS.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-CONTEXT.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-04-SUMMARY.md
|
||||||
|
@.planning/milestones/v1.0-ROADMAP.md
|
||||||
|
@.planning/phases/05-package-export/05-VALIDATION.md
|
||||||
|
@.planning/phases/05-package-export/05-VERIFICATION.md
|
||||||
|
@.planning/phases/05-package-export/05-01-SUMMARY.md
|
||||||
|
@.planning/phases/05-package-export/05-02-SUMMARY.md
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<tasks>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 1: Build Phase 5 Nyquist Record and upgrade 05-VALIDATION.md</name>
|
||||||
|
<files>.planning/phases/05-package-export/05-VALIDATION.md</files>
|
||||||
|
<action>
|
||||||
|
Apply the established methodology:
|
||||||
|
1. Extract Phase 5 (PKG-01..05) success criteria from `.planning/milestones/v1.0-ROADMAP.md`.
|
||||||
|
2. One observable check per criterion; evidence in priority order.
|
||||||
|
3. Preserve all existing sections; append `## Nyquist Record`.
|
||||||
|
4. For byte-level .intunewin conformance: cite commits 74535ea (HMAC over IV+ciphertext) and 7716246 (Detection.xml alignment) plus Phase 10 RTVAL-01 PASS (tenant ingestion confirmation). This is the only strong artifact-backed runtime row in Phase 10 per STATE.md.
|
||||||
|
5. For Phase 5 test evidence, consult `tests/test_intunewin.py` and `tests/test_packages.py` (visible in git status) for test names.
|
||||||
|
6. Update frontmatter.
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>grep -q "^## Nyquist Record" .planning/phases/05-package-export/05-VALIDATION.md && grep -q "nyquist_audited:" .planning/phases/05-package-export/05-VALIDATION.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
05-VALIDATION.md has a complete Nyquist Record, byte-level conformance row cites RTVAL-01 evidence, and frontmatter is updated.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
</tasks>
|
||||||
|
|
||||||
|
<verification>
|
||||||
|
- `## Nyquist Record` section exists in 05-VALIDATION.md
|
||||||
|
- Row count matches Phase 5 success criteria
|
||||||
|
- Byte-layout row references RTVAL-01 or commits 74535ea / 7716246
|
||||||
|
- Frontmatter has nyquist_audited + nyquist_auditor keys
|
||||||
|
</verification>
|
||||||
|
|
||||||
|
<success_criteria>
|
||||||
|
Phase 5 Nyquist audit complete.
|
||||||
|
</success_criteria>
|
||||||
|
|
||||||
|
<output>
|
||||||
|
After completion, create `.planning/phases/08-nyquist-validation-track/08-05-SUMMARY.md`
|
||||||
|
</output>
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
---
|
||||||
|
phase: 08-nyquist-validation-track
|
||||||
|
plan: 06
|
||||||
|
type: execute
|
||||||
|
wave: 6
|
||||||
|
depends_on: [08-05]
|
||||||
|
files_modified:
|
||||||
|
- .planning/phases/06-wire-icon-intunewin/06-VALIDATION.md
|
||||||
|
autonomous: true
|
||||||
|
requirements: [NYQ-01]
|
||||||
|
must_haves:
|
||||||
|
truths:
|
||||||
|
- "Phase 6 VALIDATION.md contains a Nyquist Record with exactly one observable check per Phase 6 success criterion"
|
||||||
|
- "Every Phase 6 row cites evidence from the accepted evidence types"
|
||||||
|
- "Phase 6 frontmatter has nyquist_audited + nyquist_auditor"
|
||||||
|
artifacts:
|
||||||
|
- path: ".planning/phases/06-wire-icon-intunewin/06-VALIDATION.md"
|
||||||
|
provides: "Phase 6 Nyquist Record table + updated frontmatter"
|
||||||
|
contains: "## Nyquist Record"
|
||||||
|
key_links:
|
||||||
|
- from: ".planning/phases/06-wire-icon-intunewin/06-VALIDATION.md"
|
||||||
|
to: ".planning/milestones/v1.0-ROADMAP.md"
|
||||||
|
via: "one row per Phase 6 success criterion"
|
||||||
|
pattern: "## Nyquist Record"
|
||||||
|
---
|
||||||
|
|
||||||
|
<objective>
|
||||||
|
Audit Phase 6 (Wire Icon into .intunewin — a gap closure phase from v1.0) against Nyquist rules. Upgrade `06-VALIDATION.md` in place.
|
||||||
|
|
||||||
|
Purpose: Sixth of 7 per-phase audits feeding the milestone index.
|
||||||
|
Output: Upgraded `.planning/phases/06-wire-icon-intunewin/06-VALIDATION.md`.
|
||||||
|
</objective>
|
||||||
|
|
||||||
|
<execution_context>
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
|
||||||
|
</execution_context>
|
||||||
|
|
||||||
|
<context>
|
||||||
|
@.planning/ROADMAP.md
|
||||||
|
@.planning/STATE.md
|
||||||
|
@.planning/REQUIREMENTS.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-CONTEXT.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-05-SUMMARY.md
|
||||||
|
@.planning/milestones/v1.0-ROADMAP.md
|
||||||
|
@.planning/phases/06-wire-icon-intunewin/06-VALIDATION.md
|
||||||
|
@.planning/phases/06-wire-icon-intunewin/06-VERIFICATION.md
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<tasks>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 1: Build Phase 6 Nyquist Record and upgrade 06-VALIDATION.md</name>
|
||||||
|
<files>.planning/phases/06-wire-icon-intunewin/06-VALIDATION.md</files>
|
||||||
|
<action>
|
||||||
|
Apply the established methodology:
|
||||||
|
1. Extract Phase 6 success criteria from `.planning/milestones/v1.0-ROADMAP.md` (this is a gap-closure phase so criteria may be narrower than the earlier build phases — audit what actually exists there).
|
||||||
|
2. One observable check per criterion; evidence in priority order.
|
||||||
|
3. Locate the SUMMARY files in the phase directory (ls the phase dir first — Phase 6 was a single-plan gap closure) and extract evidence citations from them.
|
||||||
|
4. Preserve all existing sections; append `## Nyquist Record`.
|
||||||
|
5. Update frontmatter.
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>grep -q "^## Nyquist Record" .planning/phases/06-wire-icon-intunewin/06-VALIDATION.md && grep -q "nyquist_audited:" .planning/phases/06-wire-icon-intunewin/06-VALIDATION.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
06-VALIDATION.md has a complete Nyquist Record matching Phase 6 success criteria, evidence cited, frontmatter updated.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
</tasks>
|
||||||
|
|
||||||
|
<verification>
|
||||||
|
- `## Nyquist Record` section exists in 06-VALIDATION.md
|
||||||
|
- Row count matches Phase 6 success criteria
|
||||||
|
- Frontmatter has nyquist_audited + nyquist_auditor keys
|
||||||
|
</verification>
|
||||||
|
|
||||||
|
<success_criteria>
|
||||||
|
Phase 6 Nyquist audit complete.
|
||||||
|
</success_criteria>
|
||||||
|
|
||||||
|
<output>
|
||||||
|
After completion, create `.planning/phases/08-nyquist-validation-track/08-06-SUMMARY.md`
|
||||||
|
</output>
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
---
|
||||||
|
phase: 08-nyquist-validation-track
|
||||||
|
plan: 07
|
||||||
|
type: execute
|
||||||
|
wave: 7
|
||||||
|
depends_on: [08-06]
|
||||||
|
files_modified:
|
||||||
|
- .planning/phases/07-dashboard-nav-polish/07-VALIDATION.md
|
||||||
|
autonomous: true
|
||||||
|
requirements: [NYQ-01]
|
||||||
|
must_haves:
|
||||||
|
truths:
|
||||||
|
- "Phase 7 VALIDATION.md contains a Nyquist Record with exactly one observable check per Phase 7 success criterion"
|
||||||
|
- "Every Phase 7 row cites evidence from the accepted evidence types"
|
||||||
|
- "UX-03 individual script download links gap recorded (resolved via Phase 9 / UX-03 or deferred)"
|
||||||
|
- "Phase 7 frontmatter has nyquist_audited + nyquist_auditor"
|
||||||
|
artifacts:
|
||||||
|
- path: ".planning/phases/07-dashboard-nav-polish/07-VALIDATION.md"
|
||||||
|
provides: "Phase 7 Nyquist Record table + updated frontmatter"
|
||||||
|
contains: "## Nyquist Record"
|
||||||
|
key_links:
|
||||||
|
- from: ".planning/phases/07-dashboard-nav-polish/07-VALIDATION.md"
|
||||||
|
to: ".planning/phases/09-ux-tech-debt-closure"
|
||||||
|
via: "UX-03 script download links evidence"
|
||||||
|
pattern: "UX-03|Phase 9"
|
||||||
|
---
|
||||||
|
|
||||||
|
<objective>
|
||||||
|
Audit Phase 7 (Dashboard & Navigation Polish — second v1.0 gap-closure phase) against Nyquist rules. Upgrade `07-VALIDATION.md` in place.
|
||||||
|
|
||||||
|
Purpose: Seventh and last per-phase audit. Completes NYQ-01 coverage across all 7 v1.0 phases.
|
||||||
|
Output: Upgraded `.planning/phases/07-dashboard-nav-polish/07-VALIDATION.md`.
|
||||||
|
</objective>
|
||||||
|
|
||||||
|
<execution_context>
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
|
||||||
|
</execution_context>
|
||||||
|
|
||||||
|
<context>
|
||||||
|
@.planning/ROADMAP.md
|
||||||
|
@.planning/STATE.md
|
||||||
|
@.planning/REQUIREMENTS.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-CONTEXT.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-06-SUMMARY.md
|
||||||
|
@.planning/milestones/v1.0-ROADMAP.md
|
||||||
|
@.planning/phases/07-dashboard-nav-polish/07-VALIDATION.md
|
||||||
|
@.planning/phases/07-dashboard-nav-polish/07-VERIFICATION.md
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<tasks>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 1: Build Phase 7 Nyquist Record and upgrade 07-VALIDATION.md</name>
|
||||||
|
<files>.planning/phases/07-dashboard-nav-polish/07-VALIDATION.md</files>
|
||||||
|
<action>
|
||||||
|
Apply the established methodology:
|
||||||
|
1. Extract Phase 7 success criteria from `.planning/milestones/v1.0-ROADMAP.md`.
|
||||||
|
2. One observable check per criterion; evidence in priority order.
|
||||||
|
3. Preserve all existing sections; append `## Nyquist Record`.
|
||||||
|
4. UX-03 individual script download links was a carried-over gap from Phase 7 (per STATE.md). It is now resolved in Phase 9 / UX-03 (Complete). Cite the Phase 9 fix commit or mark the row pass with a pointer to Phase 9 / UX-03.
|
||||||
|
5. Update frontmatter.
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>grep -q "^## Nyquist Record" .planning/phases/07-dashboard-nav-polish/07-VALIDATION.md && grep -q "nyquist_audited:" .planning/phases/07-dashboard-nav-polish/07-VALIDATION.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
07-VALIDATION.md has a complete Nyquist Record, UX-03 resolution recorded, frontmatter updated.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
</tasks>
|
||||||
|
|
||||||
|
<verification>
|
||||||
|
- `## Nyquist Record` section exists in 07-VALIDATION.md
|
||||||
|
- Row count matches Phase 7 success criteria
|
||||||
|
- UX-03 row references Phase 9
|
||||||
|
- Frontmatter has nyquist_audited + nyquist_auditor keys
|
||||||
|
</verification>
|
||||||
|
|
||||||
|
<success_criteria>
|
||||||
|
Phase 7 Nyquist audit complete. All 7 v1.0 phases now have Nyquist Records — NYQ-01 is fully satisfied once 08-08 verifies the rollup.
|
||||||
|
</success_criteria>
|
||||||
|
|
||||||
|
<output>
|
||||||
|
After completion, create `.planning/phases/08-nyquist-validation-track/08-07-SUMMARY.md`
|
||||||
|
</output>
|
||||||
@@ -0,0 +1,208 @@
|
|||||||
|
---
|
||||||
|
phase: 08-nyquist-validation-track
|
||||||
|
plan: 08
|
||||||
|
type: execute
|
||||||
|
wave: 8
|
||||||
|
depends_on: [08-01, 08-02, 08-03, 08-04, 08-05, 08-06, 08-07]
|
||||||
|
files_modified:
|
||||||
|
- .planning/milestones/v1.0-VALIDATION-INDEX.md
|
||||||
|
- .planning/phases/01-foundation/01-VALIDATION.md
|
||||||
|
- .planning/phases/02-driver-management/02-VALIDATION.md
|
||||||
|
- .planning/phases/03-printer-configuration/03-VALIDATION.md
|
||||||
|
- .planning/phases/04-script-generation/04-VALIDATION.md
|
||||||
|
- .planning/phases/05-package-export/05-VALIDATION.md
|
||||||
|
- .planning/phases/06-wire-icon-intunewin/06-VALIDATION.md
|
||||||
|
- .planning/phases/07-dashboard-nav-polish/07-VALIDATION.md
|
||||||
|
- .planning/REQUIREMENTS.md
|
||||||
|
autonomous: false
|
||||||
|
requirements: [NYQ-02, NYQ-03]
|
||||||
|
must_haves:
|
||||||
|
truths:
|
||||||
|
- "An operator can open .planning/milestones/v1.0-VALIDATION-INDEX.md and see a single flat pass/fail table across all 7 v1.0 phases"
|
||||||
|
- "The index header shows audit date, auditor, and overall tally (X/Y pass, Z deferred, W fail-fix)"
|
||||||
|
- "Every gap row in the index has status in {fail-fix-v1.1, deferred-v1.2, wont-do} with non-empty rationale"
|
||||||
|
- "Every fail-fix-v1.1 row links to a real fixing phase (9, 10, or 11)"
|
||||||
|
- "Every per-phase VALIDATION.md has a dated sign-off checkbox matching the index sign-off"
|
||||||
|
- "REQUIREMENTS.md NYQ-01/02/03 are ticked [x] after sign-off"
|
||||||
|
artifacts:
|
||||||
|
- path: ".planning/milestones/v1.0-VALIDATION-INDEX.md"
|
||||||
|
provides: "Single flat pass/fail roll-up across 7 phases with gap triage column"
|
||||||
|
contains: "| Phase | # | Criterion | Status | Evidence | Gap Link |"
|
||||||
|
- path: ".planning/REQUIREMENTS.md"
|
||||||
|
provides: "NYQ-01..03 marked complete"
|
||||||
|
contains: "[x] **NYQ-01**"
|
||||||
|
key_links:
|
||||||
|
- from: ".planning/milestones/v1.0-VALIDATION-INDEX.md"
|
||||||
|
to: ".planning/phases/{01..07}-*/NN-VALIDATION.md"
|
||||||
|
via: "markdown links from each index row to its phase Nyquist Record"
|
||||||
|
pattern: "phases/0[1-7]-.*VALIDATION.md"
|
||||||
|
- from: ".planning/milestones/v1.0-VALIDATION-INDEX.md fail-fix rows"
|
||||||
|
to: ".planning/phases/{09,10,11}-*"
|
||||||
|
via: "fixing-phase back-links"
|
||||||
|
pattern: "fail-fix-v1.1.*Phase (9|10|11)"
|
||||||
|
---
|
||||||
|
|
||||||
|
<objective>
|
||||||
|
Aggregate all 7 per-phase Nyquist Records into a single milestone-level index (`.planning/milestones/v1.0-VALIDATION-INDEX.md`), triage every gap against Phases 9/10/11, obtain human sign-off, replicate sign-off into each phase's VALIDATION.md frontmatter, and tick NYQ-01/02/03 in REQUIREMENTS.md.
|
||||||
|
|
||||||
|
Purpose: Closes NYQ-02 (single pass/fail rollup) and NYQ-03 (gap triage) and formally closes Phase 8.
|
||||||
|
Output: New `v1.0-VALIDATION-INDEX.md`, updated 7 phase VALIDATION.md files, updated REQUIREMENTS.md.
|
||||||
|
</objective>
|
||||||
|
|
||||||
|
<execution_context>
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md
|
||||||
|
@C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md
|
||||||
|
</execution_context>
|
||||||
|
|
||||||
|
<context>
|
||||||
|
@.planning/ROADMAP.md
|
||||||
|
@.planning/STATE.md
|
||||||
|
@.planning/REQUIREMENTS.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-CONTEXT.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-01-SUMMARY.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-02-SUMMARY.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-03-SUMMARY.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-04-SUMMARY.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-05-SUMMARY.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-06-SUMMARY.md
|
||||||
|
@.planning/phases/08-nyquist-validation-track/08-07-SUMMARY.md
|
||||||
|
@.planning/milestones/v1.0-ROADMAP.md
|
||||||
|
@.planning/phases/01-foundation/01-VALIDATION.md
|
||||||
|
@.planning/phases/02-driver-management/02-VALIDATION.md
|
||||||
|
@.planning/phases/03-printer-configuration/03-VALIDATION.md
|
||||||
|
@.planning/phases/04-script-generation/04-VALIDATION.md
|
||||||
|
@.planning/phases/05-package-export/05-VALIDATION.md
|
||||||
|
@.planning/phases/06-wire-icon-intunewin/06-VALIDATION.md
|
||||||
|
@.planning/phases/07-dashboard-nav-polish/07-VALIDATION.md
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<tasks>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 1: Compile v1.0-VALIDATION-INDEX.md rollup</name>
|
||||||
|
<files>.planning/milestones/v1.0-VALIDATION-INDEX.md</files>
|
||||||
|
<action>
|
||||||
|
Create a NEW file `.planning/milestones/v1.0-VALIDATION-INDEX.md`. Structure (per CONTEXT.md locked decisions):
|
||||||
|
|
||||||
|
1. **Frontmatter:** milestone: v1.0, type: validation-index, audit_date: <date>, auditor: <name>, status: draft.
|
||||||
|
|
||||||
|
2. **Header block** above the table:
|
||||||
|
- Title: `# v1.0 Validation Index — Nyquist Rollup`
|
||||||
|
- Audit date + auditor
|
||||||
|
- Overall tally line: `**Tally:** X/Y pass, Z deferred, W fail-fix-v1.1, U wont-do` — compute from all 7 per-phase Nyquist Records
|
||||||
|
- One-sentence context: "Single flat pass/fail roll-up of every v1.0 success criterion across Phases 1–7. Source of truth for NYQ-02 and NYQ-03."
|
||||||
|
|
||||||
|
3. **Flat table** (NOT per-phase subsections — CONTEXT.md explicitly requires a single flat greppable table):
|
||||||
|
`| Phase | # | Criterion | Status | Evidence | Gap Link |`
|
||||||
|
- One row per success criterion across all 7 phases (total rows = sum of Phase 1..7 criteria)
|
||||||
|
- `Phase` cell: short label like "1-Foundation"
|
||||||
|
- `#` cell: criterion number within its phase
|
||||||
|
- `Criterion` cell: short paraphrase (full text lives in the per-phase VALIDATION.md)
|
||||||
|
- `Status` cell: pass | fail-fix-v1.1 | deferred-v1.2 | wont-do
|
||||||
|
- `Evidence` cell: markdown link to the per-phase VALIDATION.md Nyquist Record row (`[01-VALIDATION.md#nyquist-record](../phases/01-foundation/01-VALIDATION.md#nyquist-record)`) or direct cite
|
||||||
|
- `Gap Link` cell: empty for pass rows; for fail-fix-v1.1 rows → link to fixing phase (Phase 9/10/11); for deferred/wont-do → rationale sentence (MANDATORY, no empty cells per CONTEXT.md)
|
||||||
|
|
||||||
|
4. **Gap validation block** below the table:
|
||||||
|
- Sub-list of every fail-fix-v1.1 row with a sanity check: does the linked fixing phase actually own the fix? If any fail-fix-v1.1 row points to a phase that does NOT contain the fix, the CONTEXT.md rule says "the roadmap is wrong and must be amended before Phase 8 closes" — flag this loudly in the file and STOP; surface it in the wave-8 checkpoint.
|
||||||
|
|
||||||
|
5. **Sign-off line** at the bottom (unchecked initially, flipped in Task 3):
|
||||||
|
`- [ ] Nyquist audit complete — <date> — <auditor>`
|
||||||
|
|
||||||
|
Do NOT modify source code. This writes only to `.planning/milestones/`.
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>test -f .planning/milestones/v1.0-VALIDATION-INDEX.md && grep -q "| Phase | # | Criterion | Status | Evidence | Gap Link |" .planning/milestones/v1.0-VALIDATION-INDEX.md && grep -q "Nyquist audit complete" .planning/milestones/v1.0-VALIDATION-INDEX.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
v1.0-VALIDATION-INDEX.md exists with frontmatter, header + tally, flat table containing one row per v1.0 success criterion across all 7 phases, gap cells populated for every non-pass row, and an unchecked sign-off line. Any roadmap-mismatch fail-fix rows are loudly flagged.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
<task type="checkpoint:human-verify" gate="blocking">
|
||||||
|
<name>Task 2: Human sign-off on v1.0-VALIDATION-INDEX.md</name>
|
||||||
|
<files>.planning/milestones/v1.0-VALIDATION-INDEX.md</files>
|
||||||
|
<action>Pause execution. Present the index and per-phase VALIDATION.md files to the human for review per the how-to-verify block. Do not proceed to Task 3 until a resume signal is received.</action>
|
||||||
|
<verify><automated>grep -q "Nyquist audit complete" .planning/milestones/v1.0-VALIDATION-INDEX.md</automated></verify>
|
||||||
|
<done>Human has reviewed the index and spot-checked two per-phase VALIDATION.md files and posted an approval resume signal (or returned corrections to Task 1).</done>
|
||||||
|
<what-built>
|
||||||
|
`.planning/milestones/v1.0-VALIDATION-INDEX.md` with a flat pass/fail table across all 7 v1.0 phases, gap triage column populated, and tally computed. Seven per-phase VALIDATION.md files each carry a `## Nyquist Record` with cited evidence.
|
||||||
|
</what-built>
|
||||||
|
<how-to-verify>
|
||||||
|
1. Open `.planning/milestones/v1.0-VALIDATION-INDEX.md`. Confirm:
|
||||||
|
- Header tally numbers add up to the total criterion count across Phases 1–7 (cross-check with milestones/v1.0-ROADMAP.md).
|
||||||
|
- Every row has non-empty Status, Evidence, and (for non-pass rows) Gap Link.
|
||||||
|
- Every fail-fix-v1.1 row links to a real fixing phase (9, 10, or 11).
|
||||||
|
- No row has status "needs investigation" or similar escape hatches — Nyquist requires a decision.
|
||||||
|
2. Spot-check two per-phase VALIDATION.md files (pick any two of phases 1–7). Confirm each has:
|
||||||
|
- `## Nyquist Record` section present
|
||||||
|
- One row per success criterion
|
||||||
|
- Cited evidence for each row (test, commit, artifact, or dated manual ref)
|
||||||
|
- Frontmatter has `nyquist_audited` and `nyquist_auditor`
|
||||||
|
3. Review any `fail-fix-v1.1` flag from Task 1's gap validation block. If a row is wrongly linked (fix does NOT live in the cited phase), halt and fix the roadmap before resuming.
|
||||||
|
4. Decision to make: approve sign-off, or send back for corrections.
|
||||||
|
</how-to-verify>
|
||||||
|
<resume-signal>Type "approved — signed off by <name>" or describe corrections needed.</resume-signal>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
<task type="auto">
|
||||||
|
<name>Task 3: Finalize sign-off — flip flags, tick requirements, replicate into per-phase files</name>
|
||||||
|
<files>
|
||||||
|
.planning/milestones/v1.0-VALIDATION-INDEX.md,
|
||||||
|
.planning/phases/01-foundation/01-VALIDATION.md,
|
||||||
|
.planning/phases/02-driver-management/02-VALIDATION.md,
|
||||||
|
.planning/phases/03-printer-configuration/03-VALIDATION.md,
|
||||||
|
.planning/phases/04-script-generation/04-VALIDATION.md,
|
||||||
|
.planning/phases/05-package-export/05-VALIDATION.md,
|
||||||
|
.planning/phases/06-wire-icon-intunewin/06-VALIDATION.md,
|
||||||
|
.planning/phases/07-dashboard-nav-polish/07-VALIDATION.md,
|
||||||
|
.planning/REQUIREMENTS.md
|
||||||
|
</files>
|
||||||
|
<action>
|
||||||
|
Only run this task AFTER Task 2 returns "approved". Use the auditor name + sign-off date provided in the resume signal.
|
||||||
|
|
||||||
|
1. In `v1.0-VALIDATION-INDEX.md`:
|
||||||
|
- Flip frontmatter `status: draft → signed-off`
|
||||||
|
- Tick the sign-off line: `- [x] Nyquist audit complete — <date> — <auditor>`
|
||||||
|
|
||||||
|
2. In EACH of the 7 per-phase VALIDATION.md files:
|
||||||
|
- Flip frontmatter `nyquist_compliant: false → true` if (and only if) every row in that phase's Nyquist Record is pass or explicit-deferred
|
||||||
|
- Ensure `nyquist_audited: <date>` and `nyquist_auditor: <name>` match the index sign-off
|
||||||
|
- In the existing "Validation Sign-Off" section, tick the "nyquist_compliant: true set in frontmatter" box and add a dated sign-off line mirroring the index.
|
||||||
|
|
||||||
|
3. In `.planning/REQUIREMENTS.md`:
|
||||||
|
- Tick `[ ] **NYQ-01**` → `[x] **NYQ-01**` (only if all 7 phase VALIDATION.md files have complete Nyquist Records)
|
||||||
|
- Tick `[ ] **NYQ-02**` → `[x] **NYQ-02**` (index exists with flat rollup)
|
||||||
|
- Tick `[ ] **NYQ-03**` → `[x] **NYQ-03**` (every gap has status + rationale + fixing-phase link or written deferral)
|
||||||
|
- Update the Traceability table NYQ-01/02/03 rows: Status Pending → Complete
|
||||||
|
|
||||||
|
4. Do NOT touch ROADMAP.md or STATE.md here — the orchestrator's post-phase hooks handle those.
|
||||||
|
</action>
|
||||||
|
<verify>
|
||||||
|
<automated>grep -q "^- \[x\] Nyquist audit complete" .planning/milestones/v1.0-VALIDATION-INDEX.md && grep -q "^- \[x\] \*\*NYQ-01\*\*" .planning/REQUIREMENTS.md && grep -q "^- \[x\] \*\*NYQ-02\*\*" .planning/REQUIREMENTS.md && grep -q "^- \[x\] \*\*NYQ-03\*\*" .planning/REQUIREMENTS.md</automated>
|
||||||
|
</verify>
|
||||||
|
<done>
|
||||||
|
Index is signed off, all 7 per-phase VALIDATION.md files have matching sign-off stamps and (where applicable) nyquist_compliant: true, and REQUIREMENTS.md shows NYQ-01/02/03 as [x] Complete.
|
||||||
|
</done>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
</tasks>
|
||||||
|
|
||||||
|
<verification>
|
||||||
|
- v1.0-VALIDATION-INDEX.md exists, has flat table, has tally header, has signed-off sign-off line
|
||||||
|
- All 7 per-phase VALIDATION.md files have matching nyquist_audited date
|
||||||
|
- REQUIREMENTS.md NYQ-01, NYQ-02, NYQ-03 all show [x]
|
||||||
|
- REQUIREMENTS.md Traceability table rows for NYQ-01..03 show Complete
|
||||||
|
- Every fail-fix-v1.1 row in the index links to a real Phase 9/10/11
|
||||||
|
</verification>
|
||||||
|
|
||||||
|
<success_criteria>
|
||||||
|
Phase 8 closes with:
|
||||||
|
1. NYQ-01 satisfied: all 7 v1.0 phases have Nyquist-compliant VALIDATION.md
|
||||||
|
2. NYQ-02 satisfied: single flat pass/fail rollup at .planning/milestones/v1.0-VALIDATION-INDEX.md
|
||||||
|
3. NYQ-03 satisfied: every gap is either linked to a fixing phase or explicitly deferred with rationale
|
||||||
|
4. Human sign-off recorded in both the index and each per-phase VALIDATION.md
|
||||||
|
</success_criteria>
|
||||||
|
|
||||||
|
<output>
|
||||||
|
After completion, create `.planning/phases/08-nyquist-validation-track/08-08-SUMMARY.md`
|
||||||
|
</output>
|
||||||
Reference in New Issue
Block a user