Skip to content

Shape release workflow and user migration docs - #5

Merged
flyingrobots merged 13 commits into
mainfrom
0008-release-shaping-and-user-migration-docs
Apr 4, 2026
Merged

flyingrobots merged 13 commits into
mainfrom
0008-release-shaping-and-user-migration-docs

Conversation

@flyingrobots

@flyingrobots flyingrobots commented Apr 3, 2026 •

Copy link
Copy Markdown
Owner

What changed

This PR shapes releases as first-class METHOD artifacts instead of treating tagging and changelog edits as an afterthought.

It adds:

  • stronger release doctrine in docs/method/release.md
  • a deterministic execution layer in docs/method/release-runbook.md
  • internal release-packet guidance under docs/method/releases/
  • user-facing release-note guidance under docs/releases/
  • method init scaffolding for the new release surfaces
  • the full 0008 cycle packet with retro and witness
  • two follow-on backlog captures discovered during review:
    • PROCESS_yaml-frontmatter-schema
    • the already-present release-shaping follow-up remains captured in repo history

Why it changed

The existing release doctrine was too thin for the repo's current level of rigor. METHOD already knows how to close cycles honestly, but it did not yet define how to shape a release, justify a version, separate internal release truth from user-facing release notes, or keep release work from distorting backlog topology.

This cycle makes those boundaries explicit.

Impact

  • releases are now designed as artifacts under docs/method/releases/ and docs/releases/
  • CHANGELOG.md remains the ledger, not the only user-facing release surface
  • releases aggregate shipped work and do not create docs/method/backlog/<version>/ directories
  • fresh METHOD workspaces now scaffold the release doctrine and runbook by default
  • the runbook now explicitly treats push of main and the tag as one atomic delivery step

Validation

  • npm test
  • npm run build
  • npm run method -- status

@coderabbitai

coderabbitai Bot commented Apr 3, 2026 •

Copy link
Copy Markdown

Warning

Rate limit exceeded

@flyingrobots has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 28 minutes and 36 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 28 minutes and 36 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 68b48765-2bb0-4e33-8525-127e7feec040

📥 Commits

Reviewing files that changed from the base of the PR and between 8ea7194 and d673187.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (101)
  • CHANGELOG.md
  • backfill_frontmatter.cjs
  • docs/BEARING.md
  • docs/VISION.md
  • docs/design/0001-method-cli/method-cli.md
  • docs/design/0002-playback-witness-convention/playback-witness-convention.md
  • docs/design/0002-playback-witness-convention/witness-artifacts.md
  • docs/design/0003-readme-revision/readme-revision.md
  • docs/design/0004-readme-and-vision-refresh/readme-and-vision-refresh.md
  • docs/design/0005-drift-detector/drift-detector.md
  • docs/design/0006-ci-gates/ci-gates.md
  • docs/design/0007-cli-module-split/cli-module-split.md
  • docs/design/0008-release-shaping-and-user-migration-docs/release-shaping-and-user-migration-docs.md
  • docs/design/0009-generated-signpost-provenance/generated-signpost-provenance.md
  • docs/design/0010-yaml-frontmatter-schema/yaml-frontmatter-schema.md
  • docs/design/0011-library-api-surface/library-api-surface.md
  • docs/design/0012-mcp-server/mcp-server.md
  • docs/design/0013-executive-summary-protocol/executive-summary-protocol.md
  • docs/design/0014-github-issue-adapter/github-issue-adapter.md
  • docs/design/0015-git-branch-workflow-policy/git-branch-workflow-policy.md
  • docs/design/0016-system-style-javascript-adoption/system-style-javascript-adoption.md
  • docs/invariants/commitment-integrity.md
  • docs/invariants/cycle-traceability.md
  • docs/invariants/signpost-boundedness.md
  • docs/invariants/signpost-provenance.md
  • docs/method/backlog/cool-ideas/PROCESS_drift-near-miss-hints.md
  • docs/method/backlog/cool-ideas/PROCESS_legend-audit-and-assignment.md
  • docs/method/backlog/cool-ideas/PROCESS_retro-conversational-closeout.md
  • docs/method/backlog/cool-ideas/PROCESS_review-config-hardening.md
  • docs/method/backlog/cool-ideas/SYNTH_artifact-history-and-semantic-provenance.md
  • docs/method/backlog/cool-ideas/SYNTH_cycle-witness-command.md
  • docs/method/backlog/up-next/PROCESS_behavior-spike-convention.md
  • docs/method/backlog/up-next/PROCESS_git-branch-workflow-policy.md
  • docs/method/backlog/up-next/PROCESS_library-api-surface.md
  • docs/method/backlog/up-next/PROCESS_system-style-javascript-adoption.md
  • docs/method/guide.md
  • docs/method/process.md
  • docs/method/release-runbook.md
  • docs/method/retro/0001-method-cli/method-cli.md
  • docs/method/retro/0001-method-cli/witness/playback.md
  • docs/method/retro/0001-method-cli/witness/verification.md
  • docs/method/retro/0002-playback-witness-convention/playback-witness-convention.md
  • docs/method/retro/0002-playback-witness-convention/witness/README.md
  • docs/method/retro/0002-playback-witness-convention/witness/playback.md
  • docs/method/retro/0002-playback-witness-convention/witness/verification.md
  • docs/method/retro/0003-readme-revision/readme-revision.md
  • docs/method/retro/0003-readme-revision/witness/README.md
  • docs/method/retro/0003-readme-revision/witness/playback.md
  • docs/method/retro/0003-readme-revision/witness/verification.md
  • docs/method/retro/0004-readme-and-vision-refresh/readme-and-vision-refresh.md
  • docs/method/retro/0004-readme-and-vision-refresh/witness/README.md
  • docs/method/retro/0004-readme-and-vision-refresh/witness/playback.md
  • docs/method/retro/0004-readme-and-vision-refresh/witness/verification.md
  • docs/method/retro/0005-drift-detector/drift-detector.md
  • docs/method/retro/0005-drift-detector/witness/README.md
  • docs/method/retro/0005-drift-detector/witness/playback.md
  • docs/method/retro/0005-drift-detector/witness/verification.md
  • docs/method/retro/0006-ci-gates/ci-gates.md
  • docs/method/retro/0006-ci-gates/witness/README.md
  • docs/method/retro/0006-ci-gates/witness/playback.md
  • docs/method/retro/0006-ci-gates/witness/verification.md
  • docs/method/retro/0007-cli-module-split/cli-module-split.md
  • docs/method/retro/0007-cli-module-split/witness/README.md
  • docs/method/retro/0007-cli-module-split/witness/playback.md
  • docs/method/retro/0007-cli-module-split/witness/verification.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/release-shaping-and-user-migration-docs.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/README.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/playback.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/verification.md
  • docs/method/retro/0009-generated-signpost-provenance/generated-signpost-provenance.md
  • docs/method/retro/0009-generated-signpost-provenance/witness/verification.md
  • docs/method/retro/0010-yaml-frontmatter-schema/witness/verification.md
  • docs/method/retro/0010-yaml-frontmatter-schema/yaml-frontmatter-schema.md
  • docs/method/retro/0011-library-api-surface/library-api-surface.md
  • docs/method/retro/0011-library-api-surface/witness/verification.md
  • docs/method/retro/0012-mcp-server/mcp-server.md
  • docs/method/retro/0012-mcp-server/witness/verification.md
  • docs/method/retro/0013-executive-summary-protocol/executive-summary-protocol.md
  • docs/method/retro/0013-executive-summary-protocol/witness/verification.md
  • docs/method/retro/0014-github-issue-adapter/github-issue-adapter.md
  • docs/method/retro/0014-github-issue-adapter/witness/verification.md
  • docs/method/retro/0015-git-branch-workflow-policy/git-branch-workflow-policy.md
  • docs/method/retro/0015-git-branch-workflow-policy/witness/verification.md
  • docs/method/retro/0016-system-style-javascript-adoption/system-style-javascript-adoption.md
  • docs/method/retro/0016-system-style-javascript-adoption/witness/verification.md
  • package.json
  • src/adapters/github.ts
  • src/cli-args.ts
  • src/cli-renderer.ts
  • src/cli.ts
  • src/domain.ts
  • src/drift.ts
  • src/index.ts
  • src/mcp.ts
  • test-mcp.ts
  • tests/api.test.ts
  • tests/cli.test.ts
  • tests/docs.test.ts
  • tests/domain.test.ts
  • tests/github-adapter.test.ts
  • tests/mcp.test.ts

Walkthrough

Adds a shaped-release doctrine, runbook, and filesystem layout for internal release packets and user-facing release notes; introduces four repository invariants; standardizes YAML frontmatter across docs; extracts a Zod-validated domain/API surface; adds MCP server and GitHub issue sync adapter; and expands tests to cover these features.

Changes

Cohort / File(s) Summary
Release doctrine & artifacts
docs/method/release.md, docs/method/release-runbook.md, docs/method/releases/README.md, docs/releases/README.md
Introduces "shaped releases", required artifact locations (docs/method/releases/vX.Y.Z/*, docs/releases/vX.Y.Z.md), and a staged pre-flight runbook with explicit abort conditions and verification recording.
Invariants
docs/invariants/*.md (commitment-integrity.md, cycle-traceability.md, signpost-boundedness.md, signpost-provenance.md)
Adds four invariants with concrete verification rules and expectations for retros, signposts, and commitment handling.
Design & retro cycles + witnesses
docs/design/0008-* … docs/design/0016-*, docs/method/retro/0008-* … docs/method/retro/0016-*, docs/method/retro/*/witness/*
Adds/updates design and retro pages (0008–0016) including playback/verification witnesses and new design items (library API, MCP, GitHub adapter, frontmatter schema, executive-summary protocol, system-style JS, branch policy).
Frontmatter standardization
backfill_frontmatter.cjs, many docs/**/*.md
Adds backfill script and converts many H1/inline metadata to YAML frontmatter (title/legend/outcome/drift_check), updating numerous docs to match the frontmatter schema.
Domain & structured API
src/domain.ts, src/index.ts, src/index.js (exports)
Adds Zod schemas and types (Lane, Outcome, Cycle, BacklogItem, LegendHealth, WorkspaceStatus); replaces formatted renderStatus with structured Workspace.status(); adds frontmatter read/write helpers and markdown utilities.
GitHub adapter
src/adapters/github.ts
New GitHubAdapter class: scans backlog lanes, skips items with github_issue_id, creates issues via GitHub API, and writes github_issue_id/github_issue_url back to frontmatter.
MCP server & CLI wiring
src/mcp.ts, src/cli.ts, src/cli-args.ts
Adds MCP server exposing tools (method_status, method_inbox, method_pull, method_drift, method_close) and CLI dispatch for method mcp and method sync github commands with env validation.
CLI rendering
src/cli-renderer.ts, src/cli.ts
Adds renderStatus(status) to format WorkspaceStatus for terminal output; CLI uses it for default status rendering.
Tests
tests/*.test.ts (api.test.ts, domain.test.ts, github-adapter.test.ts, mcp.test.ts, cli.test.ts, docs.test.ts)
New/expanded tests for API/domain/MCP/GitHub adapter and comprehensive docs/frontmatter/release-structure assertions; many tests create isolated temp workspaces.
Package & seeds
package.json, src/index.ts (init)
Bumps version to 0.2.0, adds zod and @modelcontextprotocol/sdk deps, and extends workspace init to seed release directories and files.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant CLI as method sync github
    participant Adapter as GitHubAdapter
    participant Workspace
    participant FS as Backlog Files
    participant GitHub as GitHub API

    User->>CLI: run "method sync github"
    CLI->>CLI: validate GITHUB_TOKEN & GITHUB_REPO
    CLI->>Adapter: new GitHubAdapter({workspace,token,owner,repo})
    CLI->>Adapter: syncBacklog()
    Adapter->>Workspace: request status/backlog items
    Workspace-->>Adapter: [BacklogItem...]

    loop per item
        Adapter->>FS: readFrontmatter(path)
        FS-->>Adapter: frontmatter
        alt frontmatter.github_issue_id exists
            Adapter-->>Adapter: mark skipped
        else
            Adapter->>FS: readHeading(path)
            FS-->>Adapter: title
            Adapter->>FS: readBody(path)
            FS-->>Adapter: body
            Adapter->>GitHub: POST /repos/{owner}/{repo}/issues
            GitHub-->>Adapter: {id, number, html_url}
            Adapter->>FS: updateFrontmatter(github_issue_id, github_issue_url)
            Adapter-->>Adapter: return success
        end
    end

    Adapter-->>CLI: results array
    CLI-->>User: print summary (stdout/stderr)
Loading
sequenceDiagram
    participant Client
    participant Stdio as StdioTransport
    participant MCP as MCP Server
    participant Workspace
    participant Domain as Domain Logic

    Client->>Stdio: CallToolRequest(method_status)
    Stdio->>MCP: deliver request
    MCP->>Workspace: Workspace.status()
    Workspace->>Domain: collect backlog/activeCycles/legendHealth
    Domain-->>Workspace: WorkspaceStatus
    Workspace-->>MCP: serialized text result
    MCP-->>Stdio: tool response
    Stdio-->>Client: returned status text
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

Poem

⚙️ A schema here, a runbook there, the docs now neatly bind,
Four invariants stand guard so lost claims cannot rewind,
Zod keeps types honest, MCP listens on the line,
GitHub fetches issues, backmatter gains its shine,
Tests march in temp dirs — pedantic, precise, and fine.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 0008-release-shaping-and-user-migration-docs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/method/release-runbook.md`:
- Around line 90-91: Replace the two-step "Push `main`" and "Push the exact
release tag" with a single atomic push that publishes the branch and its tag
together (i.e., push both the main ref and the release tag in one command or use
the git option that follows tags) so the commit and tag are never partially
published; update the runbook steps around "Push `main`" / "Push the exact
release tag" to describe this single atomic push and include the exact
invocation to run in your environment.

In
`@docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/verification.md`:
- Around line 59-63: The witness file records Vitest version "v4.1.2" but your
package.json/package-lock.json declare "vitest@^4.0.18", causing a mismatch;
update the witness entry in verification.md to the locked version "v4.0.18" (or
regenerate the witness while locking vitest to 4.1.2) so the recorded runtime
matches the dependency lock, ensuring reproducible test results.

In `@tests/docs.test.ts`:
- Around line 326-335: The test currently only checks each heading exists, so
update the test that reads the runbook via readRepoFile and asserts the headings
appear in the expected order by checking the index/position of each heading
(e.g., using runbook.indexOf('# Release Runbook') and subsequent
runbook.indexOf('## Phase 0: Discovery'), '## Phase 1: Guards', '## Phase 2:
Versioning and release notes', '## Phase 3: Validation', '## Phase 4: Commit,
tag, and publish', '## Abort conditions') and asserting each subsequent index is
greater than the previous using the existing expect helper; this ensures the
headings are present and in sequential order rather than merely existing
anywhere in the file.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: f3aa3dc2-263e-45cb-a3be-68c29bf571be

📥 Commits

Reviewing files that changed from the base of the PR and between aaeade6 and 7e22856.

📒 Files selected for processing (14)
  • README.md
  • docs/design/0008-release-shaping-and-user-migration-docs/release-shaping-and-user-migration-docs.md
  • docs/method/backlog/inbox/PROCESS_release-shaping-and-user-migration-docs.md
  • docs/method/release-runbook.md
  • docs/method/release.md
  • docs/method/releases/README.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/release-shaping-and-user-migration-docs.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/README.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/playback.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/verification.md
  • docs/releases/README.md
  • src/workspace.ts
  • tests/cli.test.ts
  • tests/docs.test.ts
💤 Files with no reviewable changes (1)
  • docs/method/backlog/inbox/PROCESS_release-shaping-and-user-migration-docs.md

Comment thread docs/method/release-runbook.md Outdated
Comment thread tests/docs.test.ts Outdated
@flyingrobots

Copy link
Copy Markdown
Owner Author

Resolved review feedback on PR #5.

Issue Outcome Commit / Evidence
Atomic release publication in docs/method/release-runbook.md Fixed by changing separate branch/tag pushes into one atomic push step. 4f3f9d5
Sequential phase enforcement in tests/docs.test.ts Fixed by asserting ordered phase headings rather than only presence. 4f3f9d5
0008 verification witness mismatch False positive on Vitest version; real branch-tip witness drift fixed by refreshing the witness for the later backlog capture. 4f3f9d5 plus package-lock.json / npm ls vitest --depth=0 evidence
YAML frontmatter schema follow-up Captured as new backlog fuel and pushed onto the branch. 01be81b

Validation on the current branch tip:

  • npm test
  • npm run build
  • npm run method -- status

@flyingrobots

Copy link
Copy Markdown
Owner Author

@coderabbitai review please 🥕

@coderabbitai

coderabbitai Bot commented Apr 3, 2026

Copy link
Copy Markdown

@flyingrobots Noted — the resolution table looks thorough and the prior issues are accounted for. Kicking off a fresh review of the current branch tip now. 🥕


🧠 Learnings used
Learnt from: flyingrobots
Repo: flyingrobots/method PR: 5
File: docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/verification.md:59-63
Timestamp: 2026-04-03T21:52:20.241Z
Learning: In the flyingrobots/method repository, `package.json` declares `vitest@^4.0.18` as a semver range. The `package-lock.json` resolves this to `vitest4.1.2`. When reviewing witness/verification files that record `v4.1.2`, do not flag it as a mismatch against the declared range floor — the lockfile governs the actual installed version. Always check the lockfile-resolved version before flagging version mismatches between declared ranges and recorded runtime output.

Learnt from: flyingrobots
Repo: flyingrobots/method PR: 3
File: .github/workflows/ci.yml:3-5
Timestamp: 2026-04-03T19:19:07.434Z
Learning: In the flyingrobots/method repository, the `.github/workflows/ci.yml` workflow intentionally uses `push:` and `pull_request:` with no branch filters so that every branch push and every PR gets the same CI build/test signal. Branch scoping is deferred to the separate `PROCESS_git-branch-workflow-policy` cycle. Do not flag the broad trigger scope as an issue.
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/method/release-runbook.md`:
- Around line 15-20: Revise the four release-runbook bullets so they no longer
all begin with "Abort immediately if …" while preserving the same checks:
rewrite the working-tree bullet to start with a command (e.g., "Ensure the
working tree is clean; abort if dirty"), rewrite the branch sync bullet to state
the required condition first (e.g., "main must be exactly synced with
origin/main; abort if not"), rephrase the tools/credentials/signing/CI/registry
bullet to list missing prerequisites then indicate abort, and reword the
validation/publish-verification bullet to lead with the required checks then the
abort action; keep the checks and strictness identical.

In `@tests/docs.test.ts`:
- Around line 326-346: The test 'ships a release runbook that separates doctrine
from pre-flight execution' currently only asserts that '## Abort conditions'
exists; modify the assertions around the runbook variable so you also fetch the
index of '## Abort conditions' (e.g., abortIndex = runbook.indexOf("## Abort
conditions")) and assert that abortIndex is >= 0 and abortIndex is less than the
index of '## Phase 0: Discovery' (the Phase 0 index already obtained via the
phases loop or by computing phase0Index = runbook.indexOf("## Phase 0:
Discovery")); keep the existing presence and order checks but add these two
assertions to ensure Abort conditions appears before Phase 0.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 97f7dd1d-314c-49f0-a5e9-336581498ec5

📥 Commits

Reviewing files that changed from the base of the PR and between 7e22856 and 4f3f9d5.

📒 Files selected for processing (5)
  • docs/method/backlog/inbox/PROCESS_yaml-frontmatter-schema.md
  • docs/method/release-runbook.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/release-shaping-and-user-migration-docs.md
  • docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/verification.md
  • tests/docs.test.ts

Comment thread docs/method/release-runbook.md Outdated
Comment thread tests/docs.test.ts
Invariants are named properties that must remain true across all
cycles. They live in docs/invariants/<name>.md and give legends a
concrete job: guard the invariant and ask at every playback whether
it still holds.

- Added Invariants section to README before Legends
- Added docs/invariants/ to the canonical directory structure
- Updated Legends section to reference invariant guardianship
- Updated process.md drift check to include invariant preservation
- Updated CHANGELOG
Four invariants for this repo:
- cycle-traceability: every cycle is discoverable and ends with a retro
- commitment-integrity: pulled work doesn't go back to the backlog
- signpost-provenance: generated signposts cite sources and context
- signpost-boundedness: signposts stay shallow and never create commitments

Legend docs and README descriptions now name the invariants they guard.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/invariants/commitment-integrity.md`:
- Line 17: The current invariant sentence "A design doc in
`docs/design/<cycle>/` means someone is committed." is too narrow and should be
broadened to include release-first artifacts; update the wording in
commitment-integrity.md to treat either a design doc under
`docs/design/<cycle>/` OR release-related artifacts (e.g.,
`docs/releases/<cycle>/`, `release/*`, or other release-surface directories used
by this repo) as evidence of commitment, and then adjust any enforcement rules
or scripts that reference that exact path-pattern so they check for both
`docs/design/<cycle>/` and the release artifact patterns.

In `@docs/invariants/signpost-boundedness.md`:
- Line 20: The phrase "below `docs/`" is ambiguous and may ban files like
`docs/BEARING.md`; update the invariant wording in
docs/invariants/signpost-boundedness.md to explicitly ban only files nested more
than one level under docs/, e.g. state "no `ALL_CAPS.md` files may exist in any
subdirectory deeper than one level under `docs/` (paths matching `docs/*/*` or
deeper)", so single-level files like `docs/BEARING.md` remain allowed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 626ff06b-53a3-4356-9496-df0d048631c9

📥 Commits

Reviewing files that changed from the base of the PR and between 4f3f9d5 and 8ea7194.

📒 Files selected for processing (11)
  • CHANGELOG.md
  • README.md
  • docs/invariants/commitment-integrity.md
  • docs/invariants/cycle-traceability.md
  • docs/invariants/signpost-boundedness.md
  • docs/invariants/signpost-provenance.md
  • docs/method/backlog/cool-ideas/SYNTH_cycle-witness-command.md
  • docs/method/backlog/up-next/PROCESS_git-branch-workflow-policy.md
  • docs/method/legends/PROCESS.md
  • docs/method/legends/SYNTH.md
  • docs/method/process.md

Comment thread docs/invariants/commitment-integrity.md Outdated
Comment thread docs/invariants/signpost-boundedness.md Outdated
@flyingrobots

Copy link
Copy Markdown
Owner Author

Resolved review feedback on PR #5.

Issue Outcome Commit / Evidence
Revise release runbook bullets Fixed by leading with required conditions/commands instead of "Abort immediately if". 72f8be1
Assert heading order in runbook Updated tests/docs.test.ts to verify "## Abort conditions" precedes "## Phase 0". 72f8be1
Broaden commitment integrity invariant Updated commitment-integrity.md to include release artifacts. d011c20
Clarify signpost boundedness ambiguity Updated signpost-boundedness.md to explicitly allow single-level signposts. d011c20
Resolve build errors from refactoring Fixed drift.ts import and index.ts type error. d673187

Validation on the current branch tip:

  • npm test (82 tests passed)
  • npm run build (Green)
  • npm run method -- status (Consistent)

@coderabbitai review please 🥕

@coderabbitai

coderabbitai Bot commented Apr 4, 2026

Copy link
Copy Markdown

@flyingrobots The resolution table is comprehensive — all five items accounted for with commit evidence. Build errors resolved is the critical one; the rest are solid doctrine tightening. Triggering a fresh review of the current branch tip now. 🥕


🧠 Learnings used
Learnt from: flyingrobots
Repo: flyingrobots/method PR: 5
File: docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/verification.md:59-63
Timestamp: 2026-04-03T21:52:23.596Z
Learning: In the flyingrobots/method repository, `package.json` declares `vitest@^4.0.18` as a semver range. The `package-lock.json` resolves this to `vitest4.1.2`. When reviewing witness/verification files that record `v4.1.2`, do not flag it as a mismatch against the declared range floor — the lockfile governs the actual installed version. Always check the lockfile-resolved version before flagging version mismatches between declared ranges and recorded runtime output.

Learnt from: flyingrobots
Repo: flyingrobots/method PR: 3
File: .github/workflows/ci.yml:3-5
Timestamp: 2026-04-03T19:19:10.793Z
Learning: In the flyingrobots/method repository, the `.github/workflows/ci.yml` workflow intentionally uses `push:` and `pull_request:` with no branch filters so that every branch push and every PR gets the same CI build/test signal. Branch scoping is deferred to the separate `PROCESS_git-branch-workflow-policy` cycle. Do not flag the broad trigger scope as an issue.
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@flyingrobots

Copy link
Copy Markdown
Owner Author

@coderabbitai review please

@coderabbitai

coderabbitai Bot commented Apr 4, 2026

Copy link
Copy Markdown

@flyingrobots Triggering a fresh review of the current branch tip now. 🥕


🧠 Learnings used
Learnt from: flyingrobots
Repo: flyingrobots/method PR: 3
File: .github/workflows/ci.yml:3-5
Timestamp: 2026-04-03T19:19:10.793Z
Learning: In the flyingrobots/method repository, the `.github/workflows/ci.yml` workflow intentionally uses `push:` and `pull_request:` with no branch filters so that every branch push and every PR gets the same CI build/test signal. Branch scoping is deferred to the separate `PROCESS_git-branch-workflow-policy` cycle. Do not flag the broad trigger scope as an issue.

Learnt from: flyingrobots
Repo: flyingrobots/method PR: 5
File: docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/verification.md:59-63
Timestamp: 2026-04-03T21:52:23.596Z
Learning: In the flyingrobots/method repository, `package.json` declares `vitest@^4.0.18` as a semver range. The `package-lock.json` resolves this to `vitest4.1.2`. When reviewing witness/verification files that record `v4.1.2`, do not flag it as a mismatch against the declared range floor — the lockfile governs the actual installed version. Always check the lockfile-resolved version before flagging version mismatches between declared ranges and recorded runtime output.
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@flyingrobots

Copy link
Copy Markdown
Owner Author

@coderabbitai looks like you couldn't post?

@coderabbitai

coderabbitai Bot commented Apr 4, 2026

Copy link
Copy Markdown

@flyingrobots Apologies for that — it looks like the review didn't come through on the last trigger. Firing it again now. 🥕


🧠 Learnings used
Learnt from: flyingrobots
Repo: flyingrobots/method PR: 5
File: docs/method/retro/0008-release-shaping-and-user-migration-docs/witness/verification.md:59-63
Timestamp: 2026-04-03T21:52:23.596Z
Learning: In the flyingrobots/method repository, `package.json` declares `vitest@^4.0.18` as a semver range. The `package-lock.json` resolves this to `vitest4.1.2`. When reviewing witness/verification files that record `v4.1.2`, do not flag it as a mismatch against the declared range floor — the lockfile governs the actual installed version. Always check the lockfile-resolved version before flagging version mismatches between declared ranges and recorded runtime output.

Learnt from: flyingrobots
Repo: flyingrobots/method PR: 3
File: .github/workflows/ci.yml:3-5
Timestamp: 2026-04-03T19:19:10.793Z
Learning: In the flyingrobots/method repository, the `.github/workflows/ci.yml` workflow intentionally uses `push:` and `pull_request:` with no branch filters so that every branch push and every PR gets the same CI build/test signal. Branch scoping is deferred to the separate `PROCESS_git-branch-workflow-policy` cycle. Do not flag the broad trigger scope as an issue.
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@flyingrobots
flyingrobots merged commit d7a9a67 into main Apr 4, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant