feat: PR delivery, plan mode, sticky PR comments, gate annotation, self-tests#2
Merged
Merged
Conversation
…lf-tests Parity with the GitLab kapi-components (and beyond kapi-action's old commit-only surface): - create-pull-request: deliver as branch + PR (convergence report in the description; labels best-effort so a missing label never fails a run). - plan: dry-run `kapi up --plan` — pending work, TM leverage, token estimate as outputs + job summary; needs no provider keys. - pr-comment: one sticky comment on pull-request events (plan, outcome, or gate result) that re-runs update in place. - command: check gets a distinct exit-3 "gate unmet" annotation and a `gate` output — a failing quality gate reads as "not on-spec yet", never as a generic crash; `|| rc=$?` keeps outputs publishing under errexit. - Convergence report always lands in GITHUB_STEP_SUMMARY. - Marketplace branding; release.yml moves the floating major tag. - Keyless self-test workflow (plan outputs, exit-3 contract, file-mode pass, no-changes path) against the untranslated fixture in test/fixture, plus a daily schedule. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBoxTTZe69Nyssa6QSMxFK
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI strategy WS3a: brings kapi-action to parity with the GitLab kapi-components, on the contract already proven there.
New surface
create-pull-requestpull-request-urloutput) — the branch-protection-friendly pathplankapi up --plandry run: pending work, TM leverage, token estimate → outputs + job summary. Needs no keyspr-commenttokenghPR/comment calls (defaults togithub.token)Plus:
command: checknow surfaces exit 3 as a distinct "gate unmet" annotation with agateoutput (|| rc=$?so outputs publish under errexit — the GitLab lesson), and the convergence report always writes toGITHUB_STEP_SUMMARY. README documents the.kapi/cachecaching recipe and the check/plan PR pairings.Verification
The new keyless self-test workflow runs on this PR against the deliberately untranslated fixture (
test/fixture, same one as the GitLab components):up --planproduces non-zero pending/token outputscheck --shipfails with the gate contract (step failure +gate=fail, not a silent pass or an early death)checkpasses; pseudo-translate exercises the no-changes pathPR-creation and sticky-comment paths reuse the exact API patterns proven live on GitLab today; the comment path additionally gets exercised the first time a consumer (or our dogfood repo) enables it.
After merge
Tag
v1.3.0— release.yml (new) moves the floatingv1.🤖 Generated with Claude Code
https://claude.ai/code/session_01NBoxTTZe69Nyssa6QSMxFK