fix(kyberforge): unblock the scaffold and finish the #125 and ADR-0022 edits
Three related half-applied changes from #130, each leaving the corpus in a state its own documentation contradicts. Why: - `assets/templates/SKILL.md` shipped `metadata:` fully commented out, and `new-skill.sh` only substitutes SKILL_NAME. Every scaffolded skill therefore lacked the `metadata.version` ADR-0022 made mandatory and was blocked at first commit by the very hook this PR added. The commented example also read `"1.0"` — neither the `0.1.0` new-skill seed nor valid semver. - `agent-audit/references/scope-project-user.md` still joined `disable-model-invocation` and `user-invocable` with a slash — #125's defect verbatim — while pointing the reader at the file this PR had just corrected to say the opposite. - ADR-0022 required the "when present" bump conditional dropped and `metadata.version` moved into create.md's required list. It was dropped from SKILL.md but left in README.md, and the field was edited in place under a heading that still authorises removing it entirely. Implementation notes: - The template emits `metadata: version: "0.1.0"` live, captioned as required, with the optional keys left commented. `new-skill.bats` gains a case asserting a live key and three-part semver, so this cannot regress. - `description-quality.md` now asserts only what the vendored Copilot research supports: two fields with opposite defaults, and the retired `infer` replaced by the pair rather than by either alone. The unsupported negative it previously stated as fact is gone. - The `1.0.0` retrofit seed is stated in improve.md and retrofit.md, which the retrofit flow actually reads — create.md, where it lived, is unreachable from that path. The compression item moved out of the file-churn checklist, whose preamble excluded the wording-only change it covers. - Executable git commands in these three skills now carry the ADR-0023 rtk prefix. Refs: #125, #127 ADR: 0022, 0023 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EeH8SCbcrCAQrtymkNuhKP
This commit is contained in:
@@ -156,6 +156,18 @@ EOF
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "scaffold emits a live metadata.version seeded at 0.1.0 (ADR-0022)" {
|
||||
# The scaffold must clear .pre-commit-config.yaml's `skill-frontmatter` hook
|
||||
# on its first commit: a commented-out metadata block ships a skill with no
|
||||
# version and is blocked. Assert the field is live, not a comment.
|
||||
bash "$SCRIPT" my-tool "$DEST"
|
||||
run grep -E '^metadata:$' "$DEST/my-tool/SKILL.md"
|
||||
assert_success
|
||||
run grep -E '^ version: "[0-9]+\.[0-9]+\.[0-9]+"$' "$DEST/my-tool/SKILL.md"
|
||||
assert_success
|
||||
assert_output --partial '0.1.0'
|
||||
}
|
||||
|
||||
@test "walk-up skips a type-less apm.yml (marketplace-only) and finds a real package root further up" {
|
||||
mkdir -p "$DEST/mid/sub"
|
||||
cat > "$DEST/apm.yml" <<'EOF'
|
||||
|
||||
Reference in New Issue
Block a user