Skip to content

Add bin/ci and skill drift check#236

Merged
jeremy merged 4 commits intomainfrom
local-ci
Mar 10, 2026
Merged

Add bin/ci and skill drift check#236
jeremy merged 4 commits intomainfrom
local-ci

Conversation

@jeremy
Copy link
Copy Markdown
Member

@jeremy jeremy commented Mar 10, 2026

Summary

  • bin/ci — single entry point for the full CI gate (make check), matching Rails bin/ convention
  • Skill drift check — cross-references SKILL.md against .surface to catch stale command/flag references; wired into make check
  • Doc updates — AGENTS.md and CONTRIBUTING.md rewritten to frame bin/ci as the standard development loop
  • Lint fixes — removes pre-existing dead code flagged by ineffassign and unused linters

Test plan

  • bin/ci runs make check and exits with the same code
  • make check-skill-drift passes (14 pre-existing items baselined)
  • Lint now passes clean (0 issues)
  • All non-pre-existing checks pass

Summary by cubic

Adds bin/ci as the single local CI entry point and adds a skill drift check that verifies skills/basecamp/SKILL.md against the CLI .surface to catch stale commands and flags. Docs instruct contributors to use bin/ci as the standard loop.

  • New Features

    • Added bin/ci that runs make check; Makefile wires check-skill-drift into check and help.
    • Introduced scripts/check-skill-drift.sh with a baseline of 17 known mismatches in .surface-skill-drift; fails on new drift.
    • Hardened drift check: rejects bare basecamp fallback, uses grep-based baseline lookups (macOS Bash 3), uses BASH_REMATCH, and strips YAML frontmatter.
    • Updated AGENTS.md and CONTRIBUTING.md to center development on bin/ci.
  • Refactors

    • Removed dead vaultTitle assignment in internal/commands/files.go flagged by linters.

Written for commit 7c8f4ad. Summary will update on new commits.

@jeremy jeremy requested a review from a team as a code owner March 10, 2026 20:22
Copilot AI review requested due to automatic review settings March 10, 2026 20:22
@github-actions github-actions bot added commands CLI command implementations tests Tests (unit and e2e) docs enhancement New feature or request labels Mar 10, 2026
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 8 files

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

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

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a bin/ci entrypoint and introduces a “skill drift” CI check to keep skills/basecamp/SKILL.md aligned with the CLI surface snapshot, alongside docs updates and a couple lint-driven cleanups.

Changes:

  • Add bin/ci as a single local CI gate entrypoint (exec make check).
  • Add scripts/check-skill-drift.sh + .surface-skill-drift baseline and wire check-skill-drift into make check.
  • Update contributor/agent docs to standardize on bin/ci and remove pre-existing dead code flagged by linters.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
scripts/check-skill-drift.sh New drift checker cross-referencing SKILL command/flag mentions against .surface.
.surface-skill-drift Baseline file for known, pre-existing skill drift mismatches.
Makefile Adds check-skill-drift target and includes it in check; updates help output.
bin/ci New wrapper script to run the full make check gate.
CONTRIBUTING.md Reframes contributor workflow around bin/setup + bin/ci.
AGENTS.md Updates agent guidance and testing loop to emphasize bin/ci + skill drift checks.
internal/commands/todolists.go Removes dead assignments flagged by ineffassign.
internal/commands/edit_test.go Removes unused helper flagged by unused.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

jeremy added 4 commits March 10, 2026 14:31
Simple script that delegates to make check. Matches Rails bin/ convention
and gives contributors a single command to run before pushing.

Update AGENTS.md and CONTRIBUTING.md to lead with bin/ci as the standard
development loop — run early and often, not just before push.
Cross-references SKILL.md against the .surface snapshot to catch stale
command and flag references. Extracts every basecamp invocation from the
skill, resolves to the longest matching CMD, then verifies each --flag
exists on that command or its subcommands.

Pre-existing drift (mostly --in vs --project mismatches) is baselined in
.surface-skill-drift so the check passes today and catches new drift
going forward.
- Reject fallback to bare "basecamp" in resolve_cmd — if none of the
  candidate's subcommand tokens match a CMD, report as drift instead of
  silently accepting the root match (Codex P1)
- Replace declare -A with grep -qxF for baseline lookups — avoids Bash 4+
  requirement on stock macOS (Copilot)
- Use BASH_REMATCH instead of grep|head -1 for command extraction — avoids
  SIGPIPE under pipefail (Copilot)
- Strip YAML frontmatter before checking — trigger keywords like
  "basecamp project" are natural-language match phrases, not CLI commands
Remove dead vaultTitle assignment in files.go (ineffassign from main).
Add 3 new pre-existing drift entries to baseline (--subject, --url,
--question flags renamed/removed upstream).
Copilot AI review requested due to automatic review settings March 10, 2026 21:36
@github-actions github-actions bot removed the tests Tests (unit and e2e) label Mar 10, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jeremy jeremy merged commit 24826cc into main Mar 10, 2026
28 checks passed
@jeremy jeremy deleted the local-ci branch March 10, 2026 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commands CLI command implementations docs enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants