From 23b843a311e2805fd72893b89146b7f4575c5f9d Mon Sep 17 00:00:00 2001 From: Defame1297 Date: Sun, 30 Aug 2026 12:34:24 +0000 Subject: [PATCH] test: drop the gitea-labels pin now the retrofit removed that target tests/test-adr0020-targets.sh pinned the corpus dangling set as exactly {gitea-labels, neuledge-context} and tests/test-skill-size-check.sh probed both individually. The gitea-issues retrofit cut the composition sentence whose '>'-folded scalar produced 'gitea-labels- milestones', so that target no longer exists and both suites went red. EXPECTED_DANGLING is now {neuledge-context} and the gitea-issues probe is removed rather than skipped, per the rule the probe file states about itself: a probe whose fixture has been retrofitted is a pin that needs updating, not an assertion-free pass counted in the totals. The exact-set assertion stays. An empty expected set is still valid and still pins that no new dangling target appeared -- which is what it becomes once research is retrofitted. Both loops carry a shellcheck SC2043 waiver for the same reason: one entry is the expected steady state, not bad quoting. Refs #99 --- tests/test-adr0020-targets.sh | 29 ++++++++++++++++------------- tests/test-skill-size-check.sh | 13 +++++++++---- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/tests/test-adr0020-targets.sh b/tests/test-adr0020-targets.sh index 5eb9cc7..f4bf7af 100755 --- a/tests/test-adr0020-targets.sh +++ b/tests/test-adr0020-targets.sh @@ -410,26 +410,29 @@ fi # rather than a "contains" — a false-positive fix that suppressed one of them # would otherwise land green. # -# `gitea-labels` is the subtler of the two and is worth keeping: it is not -# written anywhere as `gitea-labels`. gitea-issues' description says "Composes -# `gitea-labels-\n milestones`" in a `>`-folded scalar, and the fold joins the -# lines into "gitea-labels- milestones" — the trailing hyphen is what keeps the -# token terminal and therefore danglable. +# `gitea-labels` WAS the subtler of the two: it was never written anywhere as +# `gitea-labels`. gitea-issues' description said "Composes `gitea-labels-\n +# milestones`" in a `>`-folded scalar, and the fold joined the lines into +# "gitea-labels- milestones" — the trailing hyphen is what kept the token +# terminal and therefore danglable. The issue #99 retrofit cut that composition +# sentence and the dangling target went with it, so the set is down to one. # -# WHEN ISSUE #100 IS FIXED: update EXPECTED_DANGLING to match. Do not delete the -# assertion — an empty expected set is fine and still pins that no NEW dangling -# target appeared. +# WHEN `research` IS RETROFITTED: drop neuledge-context and leave the set empty. +# Do not delete the assertion — an empty expected set is fine and still pins +# that no NEW dangling target appeared. echo "" -echo "--- the two live dangling targets in the corpus are exactly the two ADR-0020 records ---" -EXPECTED_DANGLING="$(printf '%s\n' gitea-labels neuledge-context)" +echo "--- the live dangling targets in the corpus are exactly the ADR-0020 records still open ---" +EXPECTED_DANGLING="$(printf '%s\n' neuledge-context)" if [[ "$LIVE_DANGLING" == "$EXPECTED_DANGLING" ]]; then - pass "the corpus dangling set is exactly {gitea-labels, neuledge-context}" + pass "the corpus dangling set is exactly {neuledge-context}" else fail "the corpus dangling set changed — expected [$(echo "$EXPECTED_DANGLING" | tr '\n' ' ')], got [$(echo "$LIVE_DANGLING" | tr '\n' ' ')]. If a retrofit fixed one, update EXPECTED_DANGLING; if a false-positive fix silently deleted one, that is the regression this asserts." fi +# shellcheck disable=SC2043 # one probe left by design -- the list shrinks as +# each fixture is retrofitted and reaches zero when `research` lands. Keeping the +# loop means removing the last entry is a one-line edit, not a restructure. for probe in \ - "plugins/bin/.apm/skills/research/SKILL.md:neuledge-context" \ - "plugins/gitea/.apm/skills/gitea-issues/SKILL.md:gitea-labels"; do + "plugins/bin/.apm/skills/research/SKILL.md:neuledge-context"; do probe_file="$REPO_ROOT/${probe%%:*}" probe_name="${probe##*:}" if [[ ! -f "$probe_file" ]]; then diff --git a/tests/test-skill-size-check.sh b/tests/test-skill-size-check.sh index 7c8e9bd..6356551 100755 --- a/tests/test-skill-size-check.sh +++ b/tests/test-skill-size-check.sh @@ -546,16 +546,21 @@ echo "--- the live dangling routing targets are caught (issue #100) ---" # in the totals, which is worse than no probe at all because it makes the suite # look one test stronger than it is. It also contradicted # tests/test-adr0020-targets.sh, which pins the live dangling set as EXACTLY -# {gitea-labels, neuledge-context}; that file is the authority on the set, this -# one only checks the two are individually detected. +# {neuledge-context}; that file is the authority on the set, this one only +# checks each member is individually detected. # # Both SKIP branches are gone with it, for the same reason. A probe whose fixture # has been retrofitted is not "still passing" — it is a pin that needs updating, # here and in the exact-set assertion in test-adr0020-targets.sh, and it should # say so out loud rather than quietly agreeing with whatever it finds. +# The gitea-labels probe was dropped when the issue #99 retrofit cut the +# composition sentence whose YAML fold produced that target. Per the rule above +# it is removed, not skipped. +# shellcheck disable=SC2043 # one probe left by design -- the list shrinks as +# each fixture is retrofitted and reaches zero when `research` lands. Keeping the +# loop means removing the last entry is a one-line edit, not a restructure. for probe in \ - "plugins/bin/.apm/skills/research/SKILL.md:neuledge-context" \ - "plugins/gitea/.apm/skills/gitea-issues/SKILL.md:gitea-labels"; do + "plugins/bin/.apm/skills/research/SKILL.md:neuledge-context"; do probe_file="$REPO_ROOT/${probe%%:*}" probe_name="${probe##*:}" if [[ ! -f "$probe_file" ]]; then