T016 done: SC-003 routing validation passes 3/3 — feature is 18/18 #5

Merged
oleks merged 1 commits from worktree-t016-complete into main 2026-08-13 22:41:00 +03:00

1 Commits

Author SHA1 Message Date
Oleks 66adb175d5 T016 done: SC-003 routing validation passes 3/3 — feature is 18/18
The standing note said T016 could only be run by a human. That was one step too
strong. It correctly rules out SUBAGENTS -- a spawned subagent's skill listing
carries names but not frontmatter descriptions, and routing is
description-driven -- but it does not rule out every non-interactive mechanism.

A headless CLI session (`claude -p`) is a real session with the real
plugin-loading machinery, not a subagent. Each phrasing ran in its own fresh
session, in an empty scratch dir with no git repo, with `--allowedTools Skill`
so nothing could act, capturing stream-json:

  "why won't this PR merge?"                     -> woodpecker-trigger-discipline
  "the same pipeline ran twice on one commit"    -> woodpecker-trigger-discipline
  "which status checks should I require on main?"-> woodpecker-trigger-discipline

Negative controls ("how do I center a div with flexbox?", "my postgres pod is
in CrashLoopBackOff") invoked NO skill. Without those, 3/3 proves nothing --
a test where everything routes to the target also reads 3/3.

Rules out the name-matching artifact that invalidated Run 2: "why won't this PR
merge?" and "which status checks should I require on main?" share no lexical
overlap with the string `woodpecker-trigger-discipline` -- no "woodpecker", no
"trigger", no "discipline". They are near-verbatim entries in the description.
Name alone cannot explain the routing, so the description is doing the work,
which is exactly what SC-003 set out to confirm.

Consequence: the 1.4.1 redirect clause is vindicated. P1 is precisely the
phrasing that used to land on the sibling skill; it now routes correctly, and
the sibling did not under-fire on the controls. The handoff had flagged that
clause as the riskiest change to sanity-check, shipped on invalid evidence.

Caveat recorded in the file: headless is not a human at an interactive prompt.
The machinery is the same and the controls discriminate, so this is treated as
a valid SC-003 measurement.

No version bump: specs/ is not shipped plugin behaviour.

Refs oleks/claude-plugin-cicd-insights#2
2026-08-13 22:40:21 +03:00