← back to Cli Printing Press
fix(cli): align publish-skill contract tests with api-slug staged path (#1459)
c57345a147bfc77d9174468fd3ae2996d156f3f4 · 2026-05-15 07:54:52 -0700 · Trevin Chow
PR #1444 changed SKILL.md Step 6 from `<cli-name>` to `<api-slug>` to
match the actual publish package staging path, but did not update the
companion contract tests in `internal/pipeline/contracts_test.go`. The
path-filtered `test-changes` job did not exercise the pipeline package
on a SKILL-only diff, so the drift slipped through.
Result: `test (pipeline)` now fails on origin/main, which dequeues every
ready-to-merge PR with Go changes (Mergify's in-place rebase inherits
the broken assertion). The sticky-dequeue behavior then traps the PRs
behind `dequeued` until each one is force-requeued.
Update both `strings.Index` assertions in `contracts_test.go` to expect
`<api-slug>` so they match SKILL.md as it stands at ce3aeb4a.
Files touched
M internal/pipeline/contracts_test.go
Diff
commit c57345a147bfc77d9174468fd3ae2996d156f3f4
Author: Trevin Chow <trevin@trevinchow.com>
Date: Fri May 15 07:54:52 2026 -0700
fix(cli): align publish-skill contract tests with api-slug staged path (#1459)
PR #1444 changed SKILL.md Step 6 from `<cli-name>` to `<api-slug>` to
match the actual publish package staging path, but did not update the
companion contract tests in `internal/pipeline/contracts_test.go`. The
path-filtered `test-changes` job did not exercise the pipeline package
on a SKILL-only diff, so the drift slipped through.
Result: `test (pipeline)` now fails on origin/main, which dequeues every
ready-to-merge PR with Go changes (Mergify's in-place rebase inherits
the broken assertion). The sticky-dequeue behavior then traps the PRs
behind `dequeued` until each one is force-requeued.
Update both `strings.Index` assertions in `contracts_test.go` to expect
`<api-slug>` so they match SKILL.md as it stands at ce3aeb4a.
---
internal/pipeline/contracts_test.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/internal/pipeline/contracts_test.go b/internal/pipeline/contracts_test.go
index 4237c7be..ba183f06 100644
--- a/internal/pipeline/contracts_test.go
+++ b/internal/pipeline/contracts_test.go
@@ -162,7 +162,7 @@ func TestPublishSkillUsesLibraryTreeForCliSkillsMirror(t *testing.T) {
assert.NotContains(t, skill, "REGISTRY_HAS_ENTRY")
assert.NotContains(t, skill, "seed one registry")
- copyIntoLibrary := strings.Index(skill, `cp -r "$STAGING_DIR/library/<category>/<cli-name>"`)
+ copyIntoLibrary := strings.Index(skill, `cp -r "$STAGING_DIR/library/<category>/<api-slug>"`)
mirrorRun := strings.Index(skill, "go run ./tools/generate-skills/main.go")
require.NotEqual(t, -1, copyIntoLibrary)
require.NotEqual(t, -1, mirrorRun)
@@ -183,7 +183,7 @@ func TestPublishSkillPRBodyIncludesStableNovelCommands(t *testing.T) {
skill := readContractFile(t, filepath.Join("..", "..", "skills", "printing-press-publish", "SKILL.md"))
snapshotState := strings.Index(skill, "PREEXISTING_MERGED_PATHS=$(ls")
- packageCopy := strings.Index(skill, `cp -r "$STAGING_DIR/library/<category>/<cli-name>"`)
+ packageCopy := strings.Index(skill, `cp -r "$STAGING_DIR/library/<category>/<api-slug>"`)
require.NotEqual(t, -1, snapshotState)
require.NotEqual(t, -1, packageCopy)
assert.Less(t, snapshotState, packageCopy)
← ce3aeb4a fix(skills): use api-slug in publish Step 6 staged path (#14
·
back to Cli Printing Press
·
fix(cli): substitute server-URL variables from env vars at r e36050fb →