8000 ci(spec-lint): match the workflow and template to foundry's copies by norrietaylor · Pull Request #2329 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

ci(spec-lint): match the workflow and template to foundry's copies - #2329

Merged
norrietaylor merged 2 commits into
mainfrom
ci/spec-lint-copies-match-foundry
Oct 22, 2026
Merged

norrietaylor merged 2 commits into
mainfrom
ci/spec-lint-copies-match-foundry

Conversation

@norrietaylor
@norrietaylor norrietaylor commented Oct 19, 2026 •
Copy link
Copy Markdown
Member

foundry's spec-drift check compares this repo's copies with the files foundry ships. Both have been out of sync since before #2241, and the daily run has failed every day since at least 2026-09-19.

  • .github/workflows/spec-lint.yml is a byte copy of foundry's plugins/spec/linter/deploy/spec-lint.yml at 6195f83. It adds the hardening that foundry's copy got after this one was installed: a warning when the checkout of the PR tree fails, a check on the exit status of the changed-file API read, -e left off on purpose, and the author-plus-marker match for the advisory comment. The check stays advisory and never fails.
  • docs/specs/TEMPLATE.md is foundry's plugins/spec/linter/template.md at the same commit. It adds the printed-text paragraph (foundry b43408c), and the SOURCE stamp now names the new path and that commit.

Neither file has a change made only in this repo. The two lines removed from the workflow were a local comment, which foundry's copy states in its own words.

Verify: after merge, run spec-drift on foundry main (gh workflow run spec-drift.yml -R gominimal/foundry). Both minimal rows read "in sync". The agent-runtime rows are a separate problem: the check's token cannot read a private repo.

Summary by CodeRabbit

  • Documentation
    • Updated the specification template with guidance for defining printed product text, the conditions under which it appears, and where it appears. Requirements that preserve existing text should explain why.
  • Chores
    • Spec-lint checks now warn when the pull request checkout is missing or changed-file retrieval fails, while treating a successful request with no changed files as valid.
    • Advisory comment lookup now considers matching comments from the automation account across paginated results.

@norrietaylor
norrietaylor requested a review from a team as a code owner October 19, 2026 00:46
@github-actions
github-actions Bot commented Oct 19, 2026 •
Copy link
Copy Markdown
Contributor

Spec lint

docs/specs/TEMPLATE.md — 6 finding(s)

docs/specs/TEMPLATE.md:79: S006 `## Context` states nothing the template did not
docs/specs/TEMPLATE.md:88: S007 `**Success:**` is unanswered
docs/specs/TEMPLATE.md:90: S007 `**First slice:**` is unanswered
docs/specs/TEMPLATE.md:99: S007 `**Roles:**` is unanswered
docs/specs/TEMPLATE.md:206: S006 `## Design reasoning` states nothing the template did not
docs/specs/TEMPLATE.md:219: S007 `**Generality:**` is unanswered

Advisory. None of this blocks the merge; the review decides.

Advisory, and never a merge gate. Linter: gominimal/foundry@fb5932b8, spec format: How Minimal Writes Specs.

@coderabbitai
coderabbitai Bot commented Oct 19, 2026 •
Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 34d70ffe-0650-433c-99c4-08236a2e699f
📥 Commits

Reviewing files that changed from the base of the PR and between 3a70e89 and b88cbff.

📒 Files selected for processing: 1
  • .github/workflows/spec-lint.yml
🚧 Files skipped from review as they are similar to previous changes: 1
  • .github/workflows/spec-lint.yml

Included review availability: This review used your included allowance. Your plan provides up to 5 included reviews per hour; 1 remain after this review.

📝 Walkthrough

The spec-lint workflow updates token configuration, handles missing checkouts and changed-file API errors, and filters comment lookup by bot author and marker. The specification template updates its source metadata and guidance for printed product text.

Changes: Spec lint

Layer / File(s) Summary
Workflow setup and comment handling
.github/workflows/spec-lint.yml
The workflow updates its token action configuration. It warns and exits quietly when the PR checkout is missing or changed-file retrieval fails. Comment lookup selects the first matching ID across pages and filters for comments from github-actions[bot].
Specification template guidance
docs/specs/TEMPLATE.md
The template points to a different source file and commit. Its guidance covers the content, print condition, and location for changed or added printed text. It prohibits design terms and requirement IDs in printed content, and requires a reason when existing printed text is frozen.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: 0chroma

Merge Risk: ⚪ Minimal · up to b88cb

The workflow changes appear ready to merge after normal checks; no actionable failure was established.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: syncing the spec-lint workflow and template with foundry's copies.
Description check Passed The description clearly explains the synchronization purpose, file changes, source commits, advisory behavior, and planned verification. It does not use the required Summary, Testing, and Checklist he…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description clearly explains the synchronization purpose, file changes, source commits, advisory behavior, and planned verification. It does not use the required Summary, Testing, and Checklist headings, and it provides no test output, but the content is otherwise sufficiently complete.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

A rabbit checks the linting trail,
And sees the missing checkout fail.
The bot’s own notes are found in line,
While printed words get guidance fine.
The template points to sources new,
Then hops away beneath the moon.

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

@minimal-foundry
minimal-foundry Bot commented Oct 19, 2026 •
Copy link
Copy Markdown
Contributor

Approved: no findings at b88cbff53fbf.

Nothing to do.

Clobber: not checked beyond the diff. If that was not intentional, restore the earlier change.

@minimal-foundry minimal-foundry Bot left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

minimal-review — approved

Verdict APPROVE — No findings.

Panel: 3 of 3 personas ran (correctness, security, supply-chain).

@minimal-foundry minimal-foundry Bot added the review:approved minimal-review approved the current head label Oct 19, 2026
@bryan-minimal bryan-minimal left a comment
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Read the diff against the body's claims: the workflow's additions are the four hardenings named (checkout-failure warning, the changed-file read's exit status kept, no -e, author-plus-marker comment match with head -1 over the paginated stream), the action pin is unchanged and only its comment gains the full version, and the template adds the printed-text paragraph with the SOURCE line moved to the new path. Nothing local is lost. I could not byte-compare against foundry@6195f83 from here (no checkout), so the post-merge spec-drift run is the proof of the byte-copy claim; approving on the diff.

8000

@norrietaylor
Copy link
Copy Markdown
Member Author

/revise resolve all conflicts

@minimal-foundry
minimal-foundry Bot commented Oct 20, 2026 •
Copy link
Copy Markdown
Contributor

The run failed: conflict_unresolved: the coder left conflicts unresolved in .github/workflows/spec-lint.yml. Nothing was pushed..

branch ci/spec-lint-copies-match-foundry

round outcome job
1 failed: conflict_unresolved: the coder left conflicts unresolved in .github/workflows/spec-lint.yml. Nothing was pushed. 279a93c8

Updated 2026-10-20T21:37:39.781Z.

@bryan-minimal
Copy link
Copy Markdown
Member

recheck

@bryan-minimal
Copy link
Copy Markdown
Member

@norrietaylor this is approved and green but sits BLOCKED: the ruleset now requires the license/cla status, which this head predates, and a recheck comment did not make the app report it. A push (an empty commit is enough) should; I didn't want to push to your branch.

auto-merge was automatically disabled October 22, 2026 19:52

Pull request was closed

@norrietaylor norrietaylor reopened this Oct 22, 2026
@norrietaylor
norrietaylor added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit fb92f87 Oct 22, 2026
71 checks passed
@norrietaylor
norrietaylor deleted the ci/spec-lint-copies-match-foundry branch October 22, 2026 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review:approved minimal-review approved the current head

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0