Skip to content

Document cross-platform portability and release gotchas in AGENTS.md#174

Merged
alexkroman merged 1 commit into
mainfrom
claude/quirky-tesla-ys25yg
Jun 16, 2026
Merged

Document cross-platform portability and release gotchas in AGENTS.md#174
alexkroman merged 1 commit into
mainfrom
claude/quirky-tesla-ys25yg

Conversation

@alexkroman

Copy link
Copy Markdown
Collaborator

Summary

Add guidance to tests/AGENTS.md and AGENTS.md documenting hard-won lessons about cross-platform testing and release automation that have each cost prior sessions a follow-up PR.

Changes

  • tests/AGENTS.md: New "Cross-platform portability" section documenting four categories of OS-specific failures that don't surface on Linux but break on Windows or macOS:

    • POSIX-only imports (termios, fcntl, os.openpty) must use pytest.importorskip() at module scope, not skip markers
    • Permission-bit assertions (0o600/0o700) must be gated on os.name == "posix" while testing cross-platform behavior unconditionally
    • Case-insensitive filesystems on macOS require assertions on case-stable properties instead of path casing
    • GNU vs BSD tooling differences in check.sh (grep -E vs -P, brew audit by name not path)
  • AGENTS.md: New "Release-run operational gotchas" subsection documenting two issues specific to the release.yml workflow:

    • Bot-opened formula PRs use GITHUB_TOKEN which doesn't trigger CI, requiring admin override to merge
    • Manual workflow_dispatch tag job must set git identity before calling cut_release.sh (which creates annotated tags requiring committer info)

Rationale

These sections capture patterns that repeatedly catch maintainers and agents: a green Linux gate doesn't guarantee green macOS/Windows runs, and release automation has subtle credential/identity requirements. Documenting them upfront prevents future follow-up PRs.

https://claude.ai/code/session_0188anNrEdHn2SHHDPCkoKVR

Recent sessions kept re-discovering the same two classes of late failure
because the lessons lived only in PR bodies, not the AGENTS.md guidance
files that every session reads:

- tests/AGENTS.md gains a "Cross-platform portability" section: the full
  check.sh gate is Linux-only, but CI runs pytest on Windows and
  maintainers gate on macOS. Records the termios/importorskip,
  POSIX-only permission-bit, case-insensitive-FS, and BSD-grep /
  brew-audit-by-name gotchas that cost #162/#163 follow-up PRs.
- AGENTS.md gains the release-run operational gotchas behind #165/#166:
  the GITHUB_TOKEN-authored formula PR doesn't trigger CI (admin-override
  merge), and the workflow_dispatch tag job must set a git identity
  before cut_release.sh cuts its annotated tag.
@alexkroman alexkroman enabled auto-merge June 16, 2026 13:00
@alexkroman alexkroman added this pull request to the merge queue Jun 16, 2026
Merged via the queue into main with commit ccf451b Jun 16, 2026
19 checks passed
@alexkroman alexkroman deleted the claude/quirky-tesla-ys25yg branch June 16, 2026 13:07
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.

2 participants