feat: retire license keys: drop license_key and llm: license - #134
Open
Svilen-Stefanov wants to merge 1 commit into
Open
Svilen-Stefanov wants to merge 1 commit into
Svilen-Stefanov wants to merge 1 commit into
Conversation
Contributor
CodeBoarding reviewStatus: 1 changed component See the full change in CodeBoarding. graph LR
n_action_scripts["action_scripts"]
classDef added fill:#1f883d,stroke:#0b5d23,color:#ffffff;
classDef modified fill:#bf8700,stroke:#7d4e00,color:#ffffff;
classDef deleted fill:#cf222e,stroke:#82071e,color:#ffffff,stroke-dasharray:5 3;
class n_action_scripts modified;
|
Svilen-Stefanov
force-pushed
the
paywall/3-remove-license
branch
from
September 24, 2026 17:31
a31b0af to
36360db
Compare
Plans follow the GitHub account a run is charged to, and license keys stop validating at the key cutoff (design 10.5), so the action stops carrying them: no license_key input, no licence file staged, no `~codeboarding-license~` in the relay's or the preflight's bearer, and the tiers are hosted and byok only. A workflow still on `llm: license` is refused as `license_retired` with the one-word fix instead of `unknown_llm`. The dogfood workflows move to `llm: hosted`. Shipped as feat:, not feat!:, for the reason AGENTS.md gives for the llm change: v1 users must receive it on the moving tag. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Svilen-Stefanov
force-pushed
the
paywall/3-remove-license
branch
from
September 24, 2026 20:30
36360db to
d4ac56c
Compare
Svilen-Stefanov
changed the base branch from
paywall/3-action-wall
to
paywall/3-action-comment-pr
September 24, 2026 20:30
Svilen-Stefanov
marked this pull request as ready for review
September 24, 2026 22:28
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.
Merge only after licensing-aws is in
enforceand the key cutoff has passed.The last PR of the paywall stack for the Action (design section 14: the flag's last PR removes the legacy path). Stacked on #135 (
paywall/3-action-comment-pr), which sits on #133 (paywall/3-action-wall). Before the cutoff a license key still validates at the proxy, so merging this early would drop the plan of every workflow still onllm: license.What goes
License keys are retired completely (design 10.5, decided 23 Sep), so the Action stops carrying them:
license_keyinput and itsCB_IN_LICENSE_KEYwiring inaction.yml;llm: licenseanswer, and with it thelicenseandbyok+licensetiers:llm_tieris nowhostedorbyok;license.txt), its masking and the deprecation warning inverify-credentials.sh;--license-fileand the~codeboarding-license~packing inscripts/oidc_relay.py, used by the relay and by the preflight and finish inscripts/action/run_meter.py; the bearer is now<oidc>or<oidc>~codeboarding-run~<run_id>;missing_license_key,hosted_with_licenseandlicense_with_provider_key;license_keyinput row and the deprecation paragraph;llm: license/CODEBOARDING_LICENSE: both now sayllm: hosted(both jobs already haveid-token: write).What replaces
llm: licenseA workflow still on
llm: licenseis refused with a new code,license_retired, whose message and PR-comment details give the one-word fix (llm: hosted, droplicense_key), rather than the genericunknown_llm. It fails red like every other refusal: the Action never picks a credential for you, andllm: hostedalready runs on the plan the key paid for, since that plan now follows the GitHub account. A leftoverlicense_key:line underllm: hostedonly earns GitHub's "Unexpected input" warning; the README says so. Nothing in the webview keys on the removed codes (checked with a search ofCodeBoarding-webview/src), and the webview's own removal PR showsllm: licenseworkflows as needing an update.The hosted tier's wording changes from "CodeBoarding's hosted free tier" to "CodeBoarding's hosted tier, on your CodeBoarding plan", since
hostednow means whatlicenseused to mean.Why
feat:and notfeat!:Removing an input and an
llmvalue is a breaking change. It ships asfeat:for the same reason AGENTS.md records for the explicit-credentials change: a major bump moves adopters tov2and freezesv1, sov1workflows would keep sending a key the proxy no longer honours. On the movingv1tag they get the named refusal and the fix instead.Kept
tests/contracts/, the vendored copy of licensing-aws's contracts, is unchanged (it still carrieslegacy-link.*andmode); the Action does not read those schemas.tests/test_merge_base_contract.pyandtest_action_auth.py::test_a_named_provider_never_falls_back_to_codeboarding_credentials.Tests
python -m unittest discover -s testsinpython:3.12-slim(git, jq, unzip, jsonschema installed): 204 tests OK, 7 skipped (the engine-pinned drift tests, as on main). feat: name the pull request of a /codeboarding comment run in the run check #135 has 209: six licence tests are removed (licence beside a provider key,llm: licensewith a provider key, hosted with a licence,llm: licensewithout a key, licensed BYOK not starting the relay, the staged licence in the preflight bearer) and one added,test_license_is_refused_as_retired_with_the_hosted_line_to_use;test_license_key_is_deprecated_but_still_wiredbecametest_license_key_is_retired.rhysd/actionlint:1.7.7: clean.shellcheck scripts/run_local.sh scripts/action/*.sh: clean.black==25.1.0 --check .: clean (the pre-commit hook passed too).No design section 15 decision is made here beyond the key cutoff (30 days after release, proposed), which gates the merge.
🤖 Generated with Claude Code