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
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user