Skip to content

Add CI gates, close out cycle 0006, and refine guidance - #3

Merged
flyingrobots merged 16 commits into
mainfrom
0006-ci-gates
Apr 3, 2026
Merged

flyingrobots merged 16 commits into
mainfrom
0006-ci-gates

Conversation

@flyingrobots

@flyingrobots flyingrobots commented Apr 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

This PR closes out cycle 0006-ci-gates, adds the repo's first CI gate, and folds in two small guidance captures that surfaced during the work.

It does five things:

  • adds a GitHub Actions workflow that runs npm ci, npm run build, and npm test on push and pull_request
  • pins the runner to ubuntu-24.04, scopes token permissions to contents: read, and standardizes the repo on Node 22
  • closes the 0006-ci-gates cycle with retro and witness artifacts
  • updates METHOD doctrine so cycle closeout happens on the branch, with ship sync deferred to main after merge
  • adds a lightweight docs/method/guide.md and captures the retro conversational closeout idea in the backlog

Why

Recent review feedback correctly pointed out that METHOD was claiming strict review and drift discipline without any automated build/test gate. This cycle fixes that gap while keeping the first cut narrow and explicit.

The branch also exposed two doctrine issues worth correcting now rather than leaving as chat-only context:

  • closeout, review, and ship sync are separate states and should be documented that way
  • practical guidance and fresh backlog capture should live in the repo when they become real enough to name

The first CI attempt also proved that the current test toolchain does not support Node 18. Rather than pretend otherwise, this PR now aligns the repo contract, CI, and docs on Node 22.

Impact

  • pushes and PRs now have a committed CI adapter for this repo
  • the README/process docs now describe the actual closeout -> review -> ship-sync sequence
  • the CI contract is explicit about host, permissions, and the supported runtime
  • the repo's declared Node support floor is now >=22
  • METHOD has a new lightweight guidance doc for practical, non-doctrinal advice
  • the backlog now includes a retro-stage conversational closeout idea

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 2 minutes and 9 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 2 minutes and 9 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: 00843dc4-da51-40cf-b8d1-f9274524f80f

📥 Commits

Reviewing files that changed from the base of the PR and between e6cc1d6 and 0e8a6a4.

📒 Files selected for processing (4)
  • .github/workflows/ci.yml
  • docs/method/backlog/up-next/PROCESS_library-api-surface.md
  • docs/method/retro/0006-ci-gates/witness/verification.md
  • tests/docs.test.ts

Walkthrough

The PR adds a GitHub Actions CI workflow that runs install/build/test on push and pull_request, updates Node engine to >=22, adds CI design/docs, augments METHOD process docs to include close → PR/review → ship-sync sequencing, adds retro/witness artifacts, new tests asserting CI/docs consistency, and ignores .obsidian/.

Changes

Cohort / File(s) Summary
CI Workflow & config
\.github/workflows/ci.yml, package.json
Adds CI GitHub Actions workflow (triggers: push, pull_request) running a test job on ubuntu-24.04 that checks out code, sets up Node (22) with npm cache, runs npm ci, npm run build, npm test; updates engines.node to >=22.
Ignore list
\.gitignore
Adds /.obsidian/ to ignore Obsidian metadata.
Process & Guide docs
README.md, docs/method/process.md, docs/method/guide.md
Rewrites cycle flow to explicitly separate “Close (branch)”, “PR / review (until merge)”, and “Ship sync on main (post-merge)”; clarifies review visibility lives in branch/PR context; adds guide-level backlog-capture advice.
CI Design & Policy
docs/design/0006-ci-gates/ci-gates.md, docs/method/backlog/up-next/PROCESS_git-branch-workflow-policy.md
Introduces CI Gates design doc (explicit commands, runtime, triggers, accessibility/playback expectations); adds git-branch workflow policy draft (forge-agnostic branch naming/workflow rules).
Backlog / Retro process files
docs/method/backlog/asap/PROCESS_ci-gates.md (removed), docs/method/backlog/inbox/PROCESS_retro-conversational-closeout.md
Removes old asap CI-gates doc; adds inbox item for conversational retro CLI tooling.
Retro & Witness artifacts
docs/method/retro/0006-ci-gates/* (index, witness/README.md, witness/playback.md, witness/verification.md)
Adds retro metadata and witness artifacts documenting the CI gate, playback/verification checklists, and embedded workflow excerpt plus local run outputs.
Tests
tests/docs.test.ts
Adds Vitest assertions verifying README/process phrasing for close→PR→ship sequencing, asserts .github/workflows/ci.yml matches expected minimal CI shape (triggers, permissions, ubuntu-24.04, Node 22, npm ci/build/test), and checks README tooling section references.

Sequence Diagram(s)

sequenceDiagram
    actor Developer
    participant Repo as "Repository (.github/... , docs)"
    participant GH_Actions as "GitHub Actions"
    participant Runner as "ubuntu-24.04 · Node 22"
    Developer->>Repo: push / open PR
    Repo->>GH_Actions: trigger CI (push / pull_request)
    GH_Actions->>Runner: checkout + setup-node (node 22) + npm cache
    Runner->>Runner: npm ci
    Runner->>Runner: npm run build
    Runner->>Runner: npm test
    Runner-->>GH_Actions: job result (pass/fail)
    GH_Actions-->>Repo: status updated
    GH_Actions-->>Developer: actionable feedback (logs)
Loading

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~23 minutes

Possibly Related PRs

Poem

⚙️ CI hums when branches dance and play,

npm installs, builds, and tests the day,
Close the packet, open PR for review,
Merge then ship-sync—main sings true,
Witnessed, logged, and ready to stay.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title directly reflects the PR's main objectives: adding CI gates, closing cycle 0006, and refining guidance—all primary changes evident in the changeset.
Description check ✅ Passed The description comprehensively relates to the changeset, covering all major changes: CI workflow addition, NODE version standardization, cycle closeout, METHOD doctrine updates, and new guidance documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 0006-ci-gates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@flyingrobots flyingrobots changed the title Add CI gates and close out cycle 0006 Add CI gates, close out cycle 0006, and refine guidance Apr 3, 2026

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

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

Inline comments:
In @.github/workflows/ci.yml:
- Around line 3-5: The workflow triggers currently use top-level keys push and
pull_request with no branch filters (symbols: on, push, pull_request), causing
CI to run on every branch and PR; to restrict it, add branch filters under those
keys (e.g., set branches: [main] or appropriate release branches for push and
branches: [main] or targets for pull_request) or use branches-ignore to exclude
ephemeral branches so CI only runs for the intended branches/PR targets.
- Around line 10-34: The "test" GitHub Actions job lacks a timeout, risking hung
runs consuming runner minutes; add a timeout by setting the job-level
timeout-minutes (e.g., in the "test" job block) to a reasonable value (such as
10 or 30) so the job will be terminated automatically if it exceeds that time;
update the job definition that contains "jobs: -> test:" and leave other fields
like "runs-on", "strategy", "steps" and the matrix (node-version) untouched.

In `@docs/design/0006-ci-gates/ci-gates.md`:
- Around line 34-36: Update the contract wording to use the plural "Node
versions" where the document currently says "Node version" so it matches the
two-version matrix; specifically change the phrase at the header/context
paragraph (the occurrence around "Node version") and the related mention near
the matrix definition (the section that lists the matrix values `18`, `22`) so
the language is unambiguous about multiple Node versions being tested.

In `@docs/method/backlog/up-next/PROCESS_git-branch-workflow-policy.md`:
- Around line 20-22: Replace the ambiguous phrase "git-aware and forge-aware,
but not forge-dependent doctrine" with the clearer policy wording
"forge-agnostic at the core, with forge-aware adapters" in the
PROCESS_git-branch-workflow-policy.md content; ensure the sentence preserves
surrounding context about GitHub workflow/PR cockpit and adjust punctuation for
grammatical flow so the policy intent is explicit and stable.
🪄 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: b700c736-861e-4034-a42e-1d8bc7e59ac4

📥 Commits

Reviewing files that changed from the base of the PR and between 8c02351 and bc0629a.

📒 Files selected for processing (14)
  • .github/workflows/ci.yml
  • .gitignore
  • README.md
  • docs/design/0006-ci-gates/ci-gates.md
  • docs/method/backlog/asap/PROCESS_ci-gates.md
  • docs/method/backlog/inbox/PROCESS_retro-conversational-closeout.md
  • docs/method/backlog/up-next/PROCESS_git-branch-workflow-policy.md
  • docs/method/guide.md
  • docs/method/process.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
  • tests/docs.test.ts
💤 Files with no reviewable changes (1)
  • docs/method/backlog/asap/PROCESS_ci-gates.md

Comment thread .github/workflows/ci.yml
Comment thread .github/workflows/ci.yml
Comment thread docs/design/0006-ci-gates/ci-gates.md
Comment thread docs/method/backlog/up-next/PROCESS_git-branch-workflow-policy.md

Copy link
Copy Markdown
Owner Author

Resolved the remaining live review threads.

Thread Outcome SHA
.github/workflows/ci.yml trigger scope Kept as-is deliberately for first-cut CI on every branch push and PR; replied with rationale. n/a
.github/workflows/ci.yml timeout-minutes Added timeout-minutes: 10 and refreshed docs/witness/tests. e6cc1d6
docs/design/0006-ci-gates/ci-gates.md singular/plural Node wording No code change needed; thread was based on the earlier 18/22 matrix, and 2ea821e standardized the contract on Node 22 only. 2ea821e
docs/method/backlog/up-next/PROCESS_git-branch-workflow-policy.md wording Updated to forge-agnostic at the core, with forge-aware adapters. e6cc1d6

Local verification for the current branch tip:

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

@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: 1

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

Inline comments:
In @.github/workflows/ci.yml:
- Around line 15-16: Add the optional hardening to the GitHub Actions checkout
step: in the step named "Checkout repository" (uses: actions/checkout@v4)
include the key persist-credentials: false so the token is not left in the local
git config for subsequent steps; update that step to add this option while
keeping other existing fields intact.
🪄 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: 84b3e231-dc02-4626-bb37-b3c2b22034e2

📥 Commits

Reviewing files that changed from the base of the PR and between bc0629a and e6cc1d6.

📒 Files selected for processing (9)
  • .github/workflows/ci.yml
  • README.md
  • docs/design/0006-ci-gates/ci-gates.md
  • docs/method/backlog/up-next/PROCESS_git-branch-workflow-policy.md
  • docs/method/retro/0006-ci-gates/ci-gates.md
  • docs/method/retro/0006-ci-gates/witness/playback.md
  • docs/method/retro/0006-ci-gates/witness/verification.md
  • package.json
  • tests/docs.test.ts

Comment thread .github/workflows/ci.yml

Copy link
Copy Markdown
Owner Author

Final follow-up for the last live CodeRabbit thread:

Thread Outcome SHA
.github/workflows/ci.yml checkout hardening Added persist-credentials: false to actions/checkout@v4, updated docs tests, and refreshed the 0006 verification witness to match the current branch tip. 0e8a6a4

Local verification for the current branch tip:

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

@flyingrobots
flyingrobots merged commit d285eaa into main Apr 3, 2026
2 of 3 checks passed
@flyingrobots
flyingrobots deleted the 0006-ci-gates branch April 3, 2026 19:39
@coderabbitai coderabbitai Bot mentioned this pull request Jun 1, 2026
4 tasks
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