Repository navigation
feat(changelog): follow the project's course, not the account's grants - #85
Merged
Merged
Conversation
10x changelog resolves its course like get/sync: --course, else the project's course (.10x-cli.json or a tool manifest; a conflict stops with course_binding_conflict), else every granted course. It passes ?course= so a 3.0 project never lists 4.0-only releases for an account holding both, names the course in the header and JSON, and explains a 403 for the project's course. sync/get record the newest release of the course they pulled, and clear a stored (account-wide) version when that course has no published release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mkczarkowski
added a commit
that referenced
this pull request
Oct 6, 2026
Takes master's 1.30.0, already on npm; the stale 1.29.1 bump from the prepare-version bot is dropped and the bot recomputes it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mrk1nt2Ky21Thcv4PxrAzm
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.
Summary
10x changeloglisted every release the account can access, so in a 10xDevs 3.0 project an account with both courses saw 4.0-only releases thatsynccan never deliver there. It now follows the project's course, the same oneget/syncuse.Scope (highest first):
--course <course>→ the project's course (.10x-cli.json, else a tool manifest, viainspectProjectCourse) → outside a project, every granted course. Grants only authorize.course_binding_conflict(as get/sync)?course=; the header names it (This 10xdevs3 project is on toolkit …), JSON addscourse(null outside a project).--courseis a usage error (exit 2). Acourse_not_found404 isn't mistaken for an old backend.sync/getrecord the newest release of the course they pulled, and clear a stored version when that course has none (a 1.27–1.29 record is account-wide and can name a release the project never got).api-types.tsfrom the companion backend: https://github.com/przeprogramowani/10x-toolkit/pull/117. Merge this first.Against the current production API (no
courseparam yet) the param is ignored, so behaviour stays as before until the backend deploys.Test plan
bun test— 1017 pass (3 failing Stop-hook tests are the known local bash 3.2 failures); new: binding-file scope,--courseoverride + blank, no-project null, conflict, 403 naming the course, unknown course, stale-record clearing vs. kept on failuregenerate-types --checkagainst the backend branch's OpenAPIvalidate:cli-skillscourse: "10xdevs3"🤖 Generated with Claude Code