Skip to content

feat(F100): Reference Integrity CI Gate + One-Time Cleanup#131

Open
fall-out-bug wants to merge 16 commits into
mainfrom
feature-F100
Open

feat(F100): Reference Integrity CI Gate + One-Time Cleanup#131
fall-out-bug wants to merge 16 commits into
mainfrom
feature-F100

Conversation

@fall-out-bug

Copy link
Copy Markdown
Owner

Summary

Publish the validated F100 protocol-side changes to sdp/main:

  • reference integrity CI gate (scripts/check-references.sh + workflow)
  • Codex per-skill layout and backward-compat fixes
  • root validation and README reference detection fixes
  • merge resolution against current main, including write-plan additions from F101 and marker-based installer behavior
  • upgrade safety for stale .codex/skills/sdp

This matches the submodule commit already consumed by fall-out-bug/sdp_lab#96.

Local verification

  • ./scripts/check-references.sh
  • go test ./cmd/sdp/... ./internal/skill/...
  • targeted repro for old Codex layout (.codex/skills/sdp) now passes
  • targeted mutation test for missing Codex doc reference now fails as expected

fall-out-bug and others added 16 commits April 18, 2026 21:58
 modes, risk-aware @review

- CLAUDE.md: 440→56 lines, Try/Adopt/Scale paths, decision tree at line 5
- feature/SKILL.md: explicit --default/--quick/--auto modes, deterministic behavior
- review/SKILL.md: risk-based depth allocation, all 7 reviewers always spawned
- config.yml: configurable deep_reviewers by LOC tier + risk patterns
- 00-098-04/05: remediation workstreams (done)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…n test

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… unused)

- assess.go: handle filepath.Glob, os.ReadFile, filepath.WalkDir errors
- assess.go: extract helpers to reduce cognitive complexity below 20
- assess.go, main.go, trial.go: gofmt formatting
- assess.go: remove unused printAssessment/printAssessmentJSON functions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create @init skill (prompts/skills/init/SKILL.md)
- Add sdp demo + @init to CLAUDE.md decision tree
- Add completion messages to @Vision and @feature skills
- Add IDE detection with echo in install.sh
- Make Quality Gates language-agnostic in AGENTS.md (table format)
- Replace nested codex symlink with per-skill symlinks
- Replace CLAUDE.md refs with AGENTS.md in cursor/README + codex/INSTALL
- Make .cursor/worktrees.json language-agnostic

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rkflow

POSIX shell script validates all cross-references across the SDP codebase:
- CLAUDE.md @command references -> prompts/skills/*/SKILL.md
- commands.json skill/pattern/agent file references
- Harness README @-references (.cursor, .codex, .opencode)
- Symlink integrity across all harness directories

Runs on every PR via .github/workflows/reference-check.yml.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…x, zed/warp detect

Address 6 review findings (P2/P3) in check-references.sh and install.sh:

P2: Add trap for temp file cleanup on EXIT/INT/TERM
P2: Replace hardcoded KNOWN_SKILLS with dynamic discovery from prompts/skills/*/SKILL.md
P2: Document GNU grep requirement in script header
P3: Add guard comment for fragile JSON parsing section
P3: Fix grep '@' false positives — match only standalone @-references
P3: Add zed and warp detection in install.sh detect_ide()

Also add 3 missing agent files (builder, analyst, developer) referenced
by commands.json but not present — resolves pre-existing reference errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… names

P0: Removed stale agent entries (builder, analyst, developer) from
commands.json "agents" section — these never existed as files or were
deleted in F018 (builder merged into implementer).

P1: Added section 7 to check-references.sh that discovers llm_subagents
and documents them as intentional logical role names, not file references.
No file-path validation is performed since the orchestrator resolves them
at runtime.

Result: check-references.sh reports 0 errors, 0 warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…links

- install-project.sh: create individual symlinks instead of nested sdp/
- skill_paths.go: update default skills dir candidate
- test-install-project.sh: assert per-skill symlinks, not nested sdp/
- prompts/README.md: document per-skill symlink structure
- .gitignore pattern: .codex/skills instead of .codex/skills/sdp

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- skill_test.go: .codex/skills instead of .codex/skills/sdp
- CONTRIBUTING.md: update stale .codex/skills/sdp reference

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e, root validation

- skill_paths.go: add .codex/skills/sdp back as fallback candidate for
  existing installs that used nested sdp/ layout
- check-references.sh: broaden @Skill grep to match markdown contexts
  ([], (), `, *) not just start-of-line/space
- check-references.sh: verify prompts/skills/ exists to confirm SDP repo

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- skill_paths.go: hasSkillFiles() checks for SKILL.md subdirs before
  accepting a candidate. Old installs with .codex/skills/sdp/ layout
  now correctly fall through to .codex/skills/sdp candidate.
- skill_test.go: added "falls back to .codex/skills/sdp for old layout"
  test case. All tests now create SKILL.md files to pass hasSkillFiles.
- check-references.sh: removed is_known_skill filter from harness README
  checks — ALL @-references are now validated against skill files,
  not just known ones. Unknown @-references are errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

SDP Verification ✅

Status: Verification passed

Gate Results

Gate Status
Passed 2
Total 2
Evidence Summary

Chain Integrity

⊘ Evidence chain verification not required


View full details in Workflow Run

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