#!/usr/bin/env bats setup() { REPO_ROOT="$(cd "$BATS_TEST_DIRNAME/../../../../../../" && pwd)" load "$REPO_ROOT/tests/test_helper/bats-support/load" load "$REPO_ROOT/tests/test_helper/bats-assert/load" SCRIPT="$(cd "$BATS_TEST_DIRNAME/../scripts" && pwd)/validate-provenance.sh" TMPDIR="$(mktemp -d)" # Helper: create a minimal skill directory with no sources.md and no source_keys make_clean_skill() { local dir="$1" local name name="$(basename "$dir")" mkdir -p "$dir" cat > "$dir/SKILL.md" < "$dir/SKILL.md" < "$dir/references/sources.md" < "$skill/SKILL.md" < "$skill/references/sources.md" < "$skill/references/sources.md" <> "$skill/references/sources.md" run bash "$SCRIPT" "$skill" assert_success } # --------------------------------------------------------------------------- # Cycle 5 — Check 2: source_keys slug missing from sources.md → FAIL # --------------------------------------------------------------------------- @test "FAIL: source_keys slug in SKILL.md not present as H2 in sources.md" { local skill="$TMPDIR/my-skill" make_skill_with_source_keys "$skill" mkdir -p "$skill/references" cat > "$skill/references/sources.md" < "$skill/references/sources.md" < "$skill/references/sources.md" < "$skill/SKILL.md" < "$skill/references/sources.md" <> "$skill/references/sources.md" < "$skill/references/extra.md" < "$skill/references/extra.md" < "$research_dir/my-research.md" < "$skill2/SKILL.md" < "$fake_repo/docs/research/my-research.md" < "$skill2/references/sources.md" < "$skill/SKILL.md" < "$fake_repo/docs/research/my-research.md" < "$skill/references/sources.md" < "$skill/SKILL.md" < "$fake_repo/docs/research/my-research.md" < "$skill/references/sources.md" < "$fake_repo/docs/research/my-research.md" < "$fake_repo/docs/research/my-research.md" < "$fake_repo/docs/research/my-research.md" < "$fake_repo/docs/research/my-research.md" < "$fake_repo/docs/research/my-research.md" < "$skill/references/sources.md" < "$fake_repo/docs/research/my-research.md" < "$fake_repo/docs/research/my-research.md" < "$skill/references/extra.md" < "$skill/references/extra.md" < "$skill/references/extra.md" < "$skill/references/extra.md" < "$fake_repo/docs/research/my-research.md" < "$fake_repo/docs/research/my-research.md" < "$fake_repo/docs/research/my-research.md" < "$fake_repo/docs/research/my-research.md" < "$skill/references/sources.md" < "$skill/references/sources.md" < "$skill/references/extra.md" < "$skill/references/extra.md" <