Skip to content

Test-DesignState.ps1: 9 findings against this repository's own tree (ContractListUnreadable, ProjectorFailed, TrackerUnavailable, etc.) #375

Description

@The-Running-Dev

/verify, run against chore/work-mirror-sync (#374) and previously against main at 7c86a22 (.claude/verify-report.json history, commit 8128a0f), finds 9 Pester failures under tools/Test-DesignState.Tests.ps1 and tools/Read-DesignState.Tests.ps1 when they run against this repository's own real tree (not a fixture). All 9 reproduce identically on main — confirmed by removing design/state/work/ from the tree and re-running, which does not change the failure set, so the mirrored-issue files are ruled out as the cause.

The findings

  1. S4.6unit/command/track and unit/document/agents-md exist and their closures are complete. Expected $true, got $false.
  2. GlobDisagreement (Plan the post-MVP programme (W24-W26) and the simulation kind split #74) — this repository's own table and its own enumeration agree. Expected $null/empty, got ContractListUnreadable: GlobTableNotFound: design/20-contract.md.
  3. S12.5 — the check exits 0 against this repository, and names the largest closure and its size. Expected 0, got 2; findings include dozens of [UnrecordedArtifact] (every .claude/commands/*.md, most tools/*.ps1, most design/*.md lack an active unit record naming them as Anchor), dozens of [LogEntryUnrecorded] (90-decisions.md log headings with no decision record naming them as Anchor), [RegionMalformed] in design/00-brief.md, design/10-design.md, design/20-contract.md, design/30-slices.md, design/90-decisions.md (closing marker for the human-doc region doesn't match the innermost open region), [ContractListUnreadable], [ProjectorFailed] (exit 1), and [TrackerUnavailable] for all 48 issues mirrored under design/state/work/ — despite gh auth status confirming an authenticated session and gh issue view <n> succeeding standalone for the same issue numbers when run directly.
  4. S7.9 — the projector runs against this repository and ProjectionStale does not fire. ProjectorFailed, exit 1; ProjectionStale uncomputed.
  5. S16.1/S16.2 — one Contract record per design/20-contract.md Public-surface entry, OwnerMismatch reports none. Expected 9, got 0.
  6. S16.5design/state-index.md's consumers region lists real consumers. design/state-index.md does not exist.
  7. S17.2 — every invariant row in the real Invariants section sits inside the single invariants region. Expected an index > -1, got -1.
  8. S18.6EnforcementUnevidenced rejects this repository's own superseded decision once its SupersededBy line is removed. design/state/decisions/2026-08-03-ticking-checkbox-is-the-users.md does not exist.
  9. S7.2-DryRun against the real repository writes nothing. Expected 0, got 7 refusals (same [UnrecordedArtifact]/[LogEntryUnrecorded]/[RegionMalformed] set as W0: CI workflow, docs-template install, and published documentation #3).

A tenth, separate failure — CI workflow: the Run Pester tests step is authenticated (#79) — is already tracked by #79 and is excluded here.

Why this matters

These are the tools this repository's own design/state/ mechanism depends on (AGENTS.md, Safe Start and the Agent Kit tables). [ProjectorFailed] and [ContractListUnreadable] in particular mean the projection and contract-enumeration machinery cannot currently evaluate against this repository's real tree at all — the design-state gate is silently uncomputed rather than clean, which is exactly the substitution S12.5/S7.9 exist to catch.

Not diagnosed

Root cause is not isolated below "content edited in design/30-slices.md/design/90-decisions.md, or a structural state introduced sometime before 7c86a22" — narrowing further needs someone to bisect which commit first introduced the drift, which /verify does not do.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions