MemberJunction / MemberJunction/MJ
check:claude-md fails on two broken instruction-file links under docs/media
- Dominant language
- TSQL
- Stars
- 29
- Forks
- 6
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 323
Description
**Found by** the PR gauntlet on #4275 (`fix/4260-new-user-roles-default`), 2026-09-07. Not caused by that PR: neither file is in its diff; pre-existing at `f2ec156daf31670b42d7704e994686b09daf14df`.
### Where
`docs/media/FORMS_ARCHITECTURE_GUIDE.md` → `../packages/Angular/CLAUDE.md`
`docs/media/PREDICTIVE_STUDIO_GUIDE.md` → `../migrations/CLAUDE.md`
### What happens
```
$ pnpm run check:claude-md
· docs/media/FORMS_ARCHITECTURE_GUIDE.md: points at instruction file ../packages/Angular/CLAUDE.md, which does not exist
· docs/media/PREDICTIVE_STUDIO_GUIDE.md: points at instruction file ../migrations/CLAUDE.md, which does not exist
ELIFECYCLE Command failed with exit code 1.
```
Both targets exist; the relative paths are wrong for a file living under `docs/media/`. From there, `../` reaches `docs/`, not the repo root, so the links need one more `../`.
### Why it matters
Small in itself, but it is one of the repo's documented local CI mirrors (`npm run check:claude-md` — "instruction-file budget, link validity, and routing-table coverage"). A gate that is red for unrelated reasons stops being a signal: the next person to break a genuine instruction-file link will see a failure that looks like the one everybody already ignores.
### Repro
```bash
cd ~/Projects/mj-dev/MJ && pnpm run check:claude-md
```
### Evidence
The command output above, from a clean checkout of the merge of this PR with `next`.
### Suggested fix
Correct the two relative paths (`../packages/Angular/CLAUDE.md` → `../../packages/Angular/CLAUDE.md`, and likewise for the migrations link). Verify the rest of `docs/media/` for the same one-level-off mistake while there, since it is likely systematic — these two files were probably moved into `docs/media/` without their links being re-based.
### Definition of done
- [ ] `pnpm run check:claude-md` exits 0
- [ ] Both links resolve to the real instruction files
- [ ] No other file under `docs/media/` has the same off-by-one relative path
- [ ] Existing suite and gates green; no changed expectation in an existing test
### Verify by
`pnpm run check:claude-md` exiting 0, and clicking through both links on the rendered docs.
Contributor guide
Research direction
Update the links in docs/media/FORMS_ARCHITECTURE_GUIDE.md and docs/media/PREDICTIVE_STUDIO_GUIDE.md, then inspect the other files under docs/media/ for the same path mistake. Run pnpm run check:claude-md and confirm it exits 0, both links resolve, and the existing suite and gates remain green.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- markdown
- Domain
- documentation
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 90/100