Skip to content

fix: remove over-engineered AGENTS.md symlink CI test#675

Merged
jeremyeder merged 1 commit intoambient-code:mainfrom
jeremyeder:fix/remove-agents-md-symlink-test
Feb 24, 2026
Merged

fix: remove over-engineered AGENTS.md symlink CI test#675
jeremyeder merged 1 commit intoambient-code:mainfrom
jeremyeder:fix/remove-agents-md-symlink-test

Conversation

@jeremyeder
Copy link
Collaborator

Summary

Why: The test script hardcoded section names like "Project Overview", "Development Commands", etc. as content assertions. When #643 shrank CLAUDE.md, those sections no longer existed, breaking CI on every subsequent PR that touches CLAUDE.md. A 12-byte symlink doesn't need a dedicated CI workflow — if it breaks, it's immediately visible to anyone using Cursor.

Removed:

File Purpose
.github/workflows/test-agents-md-symlink.yml Dedicated CI workflow
tests/test_agents_md_symlink.sh 67-line test script with brittle content assertions

Test plan

  • Verify no other workflows reference test_agents_md_symlink.sh
  • Verify AGENTS.md symlink itself is untouched (still 120000 mode)

🤖 Generated with Claude Code

The dedicated workflow and 67-line test script validated a single
symlink (AGENTS.md → CLAUDE.md) but also asserted specific section
headings in CLAUDE.md content. PR ambient-code#643 restructured CLAUDE.md, breaking
those content assertions and failing CI on every subsequent PR.

A 12-byte symlink doesn't need a dedicated CI workflow. If the symlink
breaks, it's immediately visible to anyone using Cursor.

Removes:
- .github/workflows/test-agents-md-symlink.yml
- tests/test_agents_md_symlink.sh

Fixes the CI failure introduced by ambient-code#643.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jeremyeder jeremyeder merged commit bc67f16 into ambient-code:main Feb 24, 2026
3 checks passed
@github-actions
Copy link
Contributor

Claude Code Review - PR 675 comment posted via gh cli

@github-actions
Copy link
Contributor

github-actions bot commented Feb 24, 2026

Claude Code Review

Summary

Pure CI infrastructure cleanup -- removes a brittle CI workflow and shell test script that validated the AGENTS.md to CLAUDE.md symlink. Zero application code changes. 0 additions, 185 deletions. The root cause analysis in the PR description is accurate: the test script hardcoded section names from CLAUDE.md (e.g., Project Overview, Development Commands, Key Architecture Patterns) that no longer exist after the CLAUDE.md restructuring in #643.

Issues by Severity

Blocker Issues

None.

Critical Issues

None.

Major Issues

None.

Minor Issues

1. The deleted workflow referenced actions/checkout@v6 (does not exist)

The removed workflow contained a reference to actions/checkout@v6. That version does not exist -- latest is v4. This means the CI job would have failed even if the content assertions were fixed. Worth noting since it suggests the workflow may not have been successfully running in some time. Not a blocker since the workflow is being removed, but informative.

2. Non-brittle tests removed along with brittle ones

Tests 1-6 in test_agents_md_symlink.sh were perfectly valid (checking existence, symlink mode, target, readability, and content identity vs CLAUDE.md). Tests 9 and 10 were the brittle ones (hardcoded section names). A minimal replacement could have been just those first 6 tests. However, the author's argument holds -- a broken 12-byte symlink is immediately developer-visible and the maintenance burden of even a minimal CI check is non-zero. No action required.

Positive Highlights

  • Correct root cause analysis: The PR correctly identifies that brittle section-name assertions caused cascading CI failures on every subsequent CLAUDE.md change.
  • Verified no dangling references: No other workflows reference test_agents_md_symlink.sh. Confirmed via grep across .github/.
  • tests/README.md is clean: The README only documents local-dev-test.sh -- no dangling reference to the removed script.
  • AGENTS.md symlink itself untouched: The PR only removes the test infrastructure; the actual AGENTS.md to CLAUDE.md symlink remains.
  • Well-scoped change: Deletes exactly two files, nothing more, nothing less.

Recommendations

  1. Merge as-is -- the change is correct, well-reasoned, and eliminates a recurring CI pain point.
  2. Optional follow-up: If a symlink check is ever reintroduced, scope it to only checking that AGENTS.md is a symlink pointing to CLAUDE.md -- no content assertions tied to CLAUDE.md structure.

Reviewed against: CLAUDE.md, .claude/context/backend-development.md, .claude/context/frontend-development.md, .claude/context/security-standards.md, .claude/patterns/k8s-client-usage.md, .claude/patterns/error-handling.md, .claude/patterns/react-query-usage.md

Reviewed by Claude Code (claude-sonnet-4-6)


🔍 View AI decision process (logs available for 90 days)

📋 View memory system files loaded (click to expand)

What Amber Loaded for Code Review

Amber automatically loaded these repository standards from the memory system:

  1. CLAUDE.md - Master project instructions, development standards
  2. backend-development.md - Go backend, K8s integration patterns
  3. frontend-development.md - NextJS, Shadcn UI, React Query patterns
  4. security-standards.md - Auth, RBAC, token handling
  5. k8s-client-usage.md - User token vs service account patterns
  6. error-handling.md - Consistent error patterns
  7. react-query-usage.md - Data fetching patterns

Impact: This review used your repository's specific code quality standards, security patterns, and best practices from the memory system (PRs #359, #360) - not just generic code review guidelines.

maskarb pushed a commit to maskarb/platform that referenced this pull request Feb 24, 2026
## Summary

- Removes the dedicated CI workflow and test script for validating the
`AGENTS.md → CLAUDE.md` symlink
- Fixes the CI failure introduced by ambient-code#643 (which restructured CLAUDE.md
section headings)

**Why**: The test script hardcoded section names like "Project
Overview", "Development Commands", etc. as content assertions. When ambient-code#643
shrank CLAUDE.md, those sections no longer existed, breaking CI on every
subsequent PR that touches CLAUDE.md. A 12-byte symlink doesn't need a
dedicated CI workflow — if it breaks, it's immediately visible to anyone
using Cursor.

**Removed:**
| File | Purpose |
|------|---------|
| `.github/workflows/test-agents-md-symlink.yml` | Dedicated CI workflow
|
| `tests/test_agents_md_symlink.sh` | 67-line test script with brittle
content assertions |

## Test plan

- [x] Verify no other workflows reference `test_agents_md_symlink.sh`
- [x] Verify `AGENTS.md` symlink itself is untouched (still `120000`
mode)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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