fix(skills): add blocked API journal flow#2806
Conversation
Merge ProtectionsYour pull request matches the following merge protections and will not be merged until they are valid. 🟢 require-ready-label-and-ciWonderful, this rule succeeded.
|
Greptile SummaryThis PR adds a shared blocked-API journal flow to the Printing Press skills, closing #2143. When an API attempt is held for a repeatable reachability or buildability blocker, users can now create a durable public-library journal entry so future runs warn before repeating the same dead-end attempt.
Confidence Score: 5/5Safe to merge — changes are confined to skill instruction files and contract tests with no runtime code paths altered. The changes add a new opt-in journal flow with independent failure handling (fetch failures are logged and skipped, not blocking), correct jq-to-tmp-then-validate-then-mv write ordering, and tight staged-file scope enforced by both the skill text and a NotContains contract assertion. Previously flagged issues (suffix combining both permanent and tracking_issue, jq validation order, missing example) are all addressed in this diff. No files require special attention. Important Files Changed
|
Merge Queue Status
This pull request spent 34 minutes 53 seconds in the queue, including 34 minutes 38 seconds running CI. Required conditions to merge
|
Intent
Closes #2143.
Held API attempts now have a shared path to prevent repeated wasted
/printing-pressruns. A future run can warn before rebuilding an API that the public library already records as held for a repeatable reachability or buildability blocker.Approach
blocked-apis.jsonalongsideregistry.json, match only same-API slug or brand variants, and prompt before continuing when a held entry matches./printing-press-publishthat updates onlyblocked-apis.jsonin the public library and stops before normal printed-CLI package or registry flows.Scope
Primary area:
skills/printing-pressandskills/printing-press-publish.This belongs in the Printing Press because the bug is in the orchestration skills: fresh users had no shared preflight warning for known held APIs, and only the publish skill should touch public-library state.
Risk
The main risk is over-warning on a blocked journal entry. The Phase 0 instructions constrain matching to same-API slug or brand variants and explicitly avoid vague category or description matching.
Verification
go test ./internal/pipeline -run 'Test(PrintingPressSkillChecksBlockedAPIJournal|PublishSkillDocumentsBlockedAPIJournalMode|PublishSkillSkipsCliSkillsMirrorRegen)'gofmt -w internal/pipeline/contracts_test.gogit diff --checkgo test ./...fmt,lint