Skip to content

feat(v06): golden-path proof — contract, evidence, deterministic check#176

Merged
Luis85 merged 23 commits into
developfrom
feat/v06-golden-path
May 13, 2026
Merged

feat(v06): golden-path proof — contract, evidence, deterministic check#176
Luis85 merged 23 commits into
developfrom
feat/v06-golden-path

Conversation

@Luis85
Copy link
Copy Markdown
Owner

@Luis85 Luis85 commented May 2, 2026

Status — IN REVIEW

Scope

Replace desk-only tutorial caveat with verified golden-path demo (contract + executed evidence). Demo entry path = plugin-first (Layer 1 CLI + Layer 2 plugin), not git clone.

Tasks

Task Owner Description
T-V06-003 analyst Define demo subject, expected artifacts, evidence note format, validation scope, success criteria
T-V06-004 qa Run / deterministically validate the demo; record date/commit/commands/caveats; remove desk caveat

Implementation outline (pickup order)

  1. T-V06-003 — Contract doc (docs/golden-path-contract.md). Define demo subject, plugin-first install path (Layer 1 CLI specorator init + Layer 2 plugin), required artifacts shape, evidence-note schema (date / commit / commands / caveats), validation scope, success criteria.
  2. Example artifacts (examples/<demo-slug>/). Full lifecycle (idea → retrospective) produced by following the contract from an empty project.
  3. Deterministic check (scripts/check-*.ts) — validates the example: state, traceability, frontmatter, links. Register in tools/automation-registry.yml.
  4. Evidence note (examples/<demo-slug>/EVIDENCE.md) — exact date, commit SHA, commands run, caveats.
  5. Tutorial update — remove desk-only caveat; tutorial walks the plugin-first install path and points to evidence.
  6. Stage 7 logging — append per-task entry to specs/version-0-6-plan/implementation-log.md.

Files of interest

  • New docs/golden-path-contract.md
  • New examples/<demo-slug>/ (lifecycle artifacts + EVIDENCE.md)
  • New scripts/check-*.ts deterministic check
  • tools/automation-registry.yml — register new check
  • Tutorial doc(s) referenced from README

Spec references

Test scenario

ID Scenario Expected
TEST-V06-002 First-time user follows golden-path docs Docs point to verified artifacts + evidence from live / deterministic run

Definition of Done

  • T-V06-003 contract doc landed
  • T-V06-004 example folder + EVIDENCE.md landed
  • Demo entry path is plugin-first (Layer 1 + Layer 2 install)
  • Deterministic check passes against the example
  • Tutorial caveat removed
  • Stage 7 entry appended to implementation-log.md
  • npm run verify green
  • PR title feat(v06): ... (Conventional Commits PR-title CI)

Coordination

  • No file overlap with other Wave 1 PRs.
  • T-V06-012 (positioning) cites this evidence after merge.
  • T-V06-014 (release readiness) re-runs the deterministic check.

Workflow refs

Adds implementer brief for the golden-path slice of v0.6 (T-V06-003 +
T-V06-004) — demo contract, evidence note format, deterministic check, and
tutorial update outline. CLAR-V06-003 must be resolved on #91 before
implementation starts.

Refs #91
Adds tools/automation-registry.yml cross-PR collision note (PR-C/D/E),
Stage 7 implementation-log DoD line, and Stage 7 reference in workflow refs.

Refs #91
@Luis85 Luis85 changed the base branch from main to develop May 3, 2026 22:33
@Luis85 Luis85 added the roadmap:golden-path-proof Verified golden-path demo — example artifacts, deterministic check, dated evidence label May 5, 2026
@Luis85 Luis85 changed the title feat(v06): PR-B golden-path proof (T-V06-003 + T-V06-004) feat: golden-path proof May 9, 2026
- Replace CLAR-V06-003 blocking section with resolved note
- Update Goal to specify plugin-first install as demo entry path
- Add Tutorial layer note for plugin-first walkthrough
- T-V06-003 step 1: demo starts from Layer 1+2 install, not clone
- T-V06-004 step 2: install plugin + run lifecycle from empty project
- DoD: remove CLAR gate; add plugin-first install checkbox

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Symprowire and others added 4 commits May 12, 2026 17:36
- docs/golden-path-contract.md: demo contract (subject, install path,
  artifact shape, EVIDENCE schema, validation scope, success criteria)
- examples/glossary-term/: complete lifecycle artifacts (idea → retro)
  for the Tracer Bullet glossary-entry demo
- examples/glossary-term/EVIDENCE.md: desk-validated evidence note per
  CLAR-V06-003 scope-cut verdict
- docs/glossary/tracer-bullet.md: delivered glossary artifact
- docs/tutorials/first-feature.md: removed "No live run yet" caveat;
  added link to examples/glossary-term/EVIDENCE.md
- examples/cli-todo/EVIDENCE.md: added to satisfy new EVIDENCE check
- scripts/lib/spec-state.ts: add examplesEvidenceDiagnostics()
- scripts/check-spec-state.ts: enforce EVIDENCE.md per example dir

Satisfies SPEC-V06-002, REQ-V06-002, NFR-V06-005.
Closes #176

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…g conflict

Chronological ordering: v0.6.2 release entry (2026-05-09) before T-V06-003/004
entries (2026-05-12). Both sections preserved in full.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
examplesEvidenceDiagnostics.md was out of date post-merge.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Luis85 Luis85 changed the title feat: golden-path proof feat(v06): golden-path proof — contract, evidence, deterministic check May 12, 2026
@Luis85 Luis85 marked this pull request as ready for review May 12, 2026 21:35
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: c2c6ef483c

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

Comment thread scripts/check-spec-state.ts
Addresses Codex review finding on PR #176: check-spec-state only
verified EVIDENCE.md existence. An empty or malformed file would pass
CI while being unauditable.

Adds evidenceFrontmatterDiagnostics (pure, regex key-presence) to
spec-state.ts and wires it in check-spec-state.ts. Validates required
keys: date, commit, commands, caveats per golden-path-contract.md.
Regex approach handles YAML block scalars the simple parser cannot
fully reconstruct.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: d1469946b2

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

Comment thread scripts/lib/spec-state.ts
…heck

evidenceFrontmatterDiagnostics now validates field formats after key
presence, per Codex review threads on PR #176:
- date must use YYYY-MM-DD
- commit must be a 40-char hex SHA or "pending"
- commands and caveats must not be empty (handles block scalars)

Adds evidenceFieldHasContent helper that correctly scopes block-scalar
content to the current key (stops at next top-level YAML key) to avoid
false positives when a sibling key has indented content.

8 new tests cover all new format checks and their passing counterparts.

Closes #176 (Codex review threads: scripts/lib/spec-state.ts:104,
scripts/check-spec-state.ts:76)
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: 4f75de0a13

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

Comment thread scripts/lib/spec-state.ts Outdated
Extend evidenceFieldHasContent regex from [|>] to [|>][-+]? so that
valid block-scalar forms |- |+ >- >+ are detected and empty required
fields (commands/caveats) are correctly rejected.

Add four tests covering empty blocks with each chomping variant and one
confirming non-empty |- blocks still pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: 2ccf0cf3d7

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

Comment thread scripts/lib/spec-state.ts Outdated
Comment thread scripts/lib/spec-state.ts Outdated
Extend YAML block-scalar header regex to match indentation indicators
(|2, >1-, |-2, etc.) — previously only chomping indicators (|-/|+) were
handled, so an empty `commands: |2` block would pass validation.

Reject empty YAML quoted strings ("" / '') as inline values for commands
and caveats — `\S` matched the opening quote, allowing semantically empty
required fields to satisfy check-spec-state.

Adds six targeted tests covering both fixes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: 991b1221f8

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

Comment thread scripts/lib/spec-state.ts
Comment thread scripts/lib/spec-state.ts Outdated
Emit format error when date:/commit: key is present but has no value —
previously the capture regex required whitespace+token so bare keys
silently skipped format validation.

Strip YAML inline comments (space+#) before comparing inline values to
empty-quote literals ("" / '') so `commands: "" # no commands` is
correctly rejected alongside `commands: ""`.

Adds four targeted tests.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: 4fb3ed4a77

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

Comment thread scripts/lib/spec-state.ts Outdated
Block-scalar regex required the line to end after optional whitespace,
so `commands: | # note` fell through to the inline branch and `|` was
treated as non-empty content. Extend the pattern to allow an optional
trailing `# comment` on the header line.

Adds three tests (two reject-empty, one accept-non-empty).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: e20ab48643

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

Comment thread scripts/lib/spec-state.ts Outdated
@Luis85
Copy link
Copy Markdown
Owner Author

Luis85 commented May 13, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: e20ab48643

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

Comment thread scripts/lib/spec-state.ts Outdated
Both golden-path (T-V06-003/004) and cross-tool-adapters (T-V06-005/006/007)
added entries to the same log section. Kept all entries in task order.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Luis85
Copy link
Copy Markdown
Owner Author

Luis85 commented May 13, 2026

@codex review

`commands: # comment` is a YAML null, not content. The prior regex only
stripped trailing comments (whitespace + #) but not a leading # that makes
the entire value a comment. Add `.replace(/^#.*/, "")` and `value !== ""`
to cover this case. Added corresponding test.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

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

@Luis85
Copy link
Copy Markdown
Owner Author

Luis85 commented May 13, 2026

@codex review

@Luis85
Copy link
Copy Markdown
Owner Author

Luis85 commented May 13, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: 03ca29bec2

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

Comment thread scripts/check-spec-state.ts
@Luis85
Copy link
Copy Markdown
Owner Author

Luis85 commented May 13, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: 116c5d2f2e

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

Comment thread scripts/lib/spec-state.ts Outdated
…HasContent

When commands/caveats use an explicit indentation indicator (e.g. |2),
require content lines to be indented by at least that many spaces.
Adds a test for the |2-with-1-space under-indentation rejection case.
@Luis85
Copy link
Copy Markdown
Owner Author

Luis85 commented May 13, 2026

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

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

@Luis85 Luis85 merged commit 7f84280 into develop May 13, 2026
7 checks passed
@Luis85 Luis85 deleted the feat/v06-golden-path branch May 13, 2026 22:52
Luis85 added a commit that referenced this pull request May 14, 2026
Luis85 added a commit that referenced this pull request May 14, 2026
* chore(backlog): sync issues and pull requests

* chore(backlog): sync issues and pull requests

* chore(backlog): sync issues and pull requests

* chore(backlog): sync issues and pull requests

* fix(backlog): preserve nonzero comments_count during sync

* fix(backlog): restore correct comments_count and events_count values in affected mirror files

* fix(backlog): allow real zero comment counts; only preserve when count is null/undefined

* fix(backlog): fix TypeScript type compatibility in null-sentinel check

Set events_count to 0 in backlog file 486; the previous sync wrote null
which fails validateBacklogFrontmatter (expects number), causing
check-backlog.ts to exit 1 and breaking the test:scripts verify step.

https://claude.ai/code/session_011TPNgd7jBv3ySSyvaTifA1

* fix(backlog): allow null events_count in GhItem so sentinel preserves archived values

* fix(backlog): use null sentinel for events_count in toGhItem to preserve archived data

* chore(backlog): retrigger CI (trailing newline)

* fix(tests): use nullish coalesce for events_count in buildBaseFrontmatter

GhItem.events_count is number | null but BacklogFrontmatter.events_count
is number. Apply `?? 0` to satisfy TypeScript strict null checks.

Fixes verify.yml CI failure on PR #500.

* fix(backlog-sync): emit null for unfetched events_count and comments_count

The REST list endpoints do not return reliable event totals, and comment
counts for PRs may be absent. Previously toGhItem defaulted both to 0,
causing buildNextFrontmatter to overwrite previously-archived non-zero
values with zeroes on every sync run.

Changes:
- GhItem.comments_count widened to `number | null` (null = not fetched)
- toGhItem: comments_count now emits null instead of 0 when the field is
  absent from the REST response (mirrors existing events_count: null)
- buildNextFrontmatter already had the null-preservation guard for both
  fields; no logic change needed there
- Test fixture: ghIssue.events_count and comments_count set to null to
  reflect the "not fetched" sentinel; buildBaseFrontmatter updated to
  resolve null → 0 for the expected frontmatter output

* fix(backlog): preserve archived events_count; keep type numeric

* fix(backlog): fix TypeScript errors from events_count type change

GhItem.events_count is now `number` (0 = not-fetched sentinel), not
`number | null`. Update the test fixture to use 0 instead of null so
`typecheck:scripts` passes.

Also tighten buildBaseFrontmatter: drop the now-unnecessary `?? 0`
fallback for events_count and update the stale comment that claimed
both fields use null as their sentinel.

* chore(backlog): retrigger CI — verify confirmed passing locally

* chore(backlog): sync issues and pull requests

* docs(scripts): regenerate GhItem API docs for comments_count type change

Updates docs/scripts/backlog-sync-core/interfaces/GhItem.md to reflect
the comments_count field type change from number to number | null.

https://claude.ai/code/session_011TPNgd7jBv3ySSyvaTifA1

* fix(backlog-sync): preserve null comments_count from REST API

Change `?? 0` to `?? null` in fetchAllIssues and fetchAllPrs so that
missing API comments fields don't mask archived comment counts with a
spurious zero. Updates RawGhListItem.comments type accordingly.

Resolves reviewer thread on PR #500.

* fix(backlog): remove dead Array.isArray branch in toGhItem comments_count

raw.comments is typed as number | null | undefined, never an array,
so the Array.isArray guard was unreachable dead code. Simplified to
a direct null check.

https://claude.ai/code/session_011TPNgd7jBv3ySSyvaTifA1

* fix(backlog): mark merged PR #176 as shipped

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CI Fix <ci-fix@example.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

roadmap:golden-path-proof Verified golden-path demo — example artifacts, deterministic check, dated evidence

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants