Files
Claude-Code-Game-Studios/CHANGELOG.md
T
DonchitosandClaude Opus 5.5 b21fa0f7f2 Release 1.1.2 — the default path works end to end
Fix release for 1.1.1: the minimal path end to end, engine commands that
run on Godot, Unity and Unreal, hook warnings you can see, and verdicts
that say when they could not check. Details in CHANGELOG.md; upgrade
steps in UPGRADING.md (v1.1.1 → v1.1.2).

Fixes #67
Fixes #131

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
2026-09-29 21:32:19 +10:00

64 KiB
Raw Blame History

Changelog

What's new in Claude Code Game Studios, written for the people using it.

See UPGRADING.md for step-by-step upgrade instructions, and docs/migration-guide-v1.1.md if you have an existing project on the older config files.


[1.1.2] — 2026-09-29

The default path works end to end, Unity and Unreal get the same care as Godot, and the checks tell you what they found. A fix release for bugs in 1.1.1, each reproduced before it was fixed.

The default path (rigor: minimal)

  • /help, /story-done and the status line follow the path you're on. Nothing at minimal runs /gate-check, so the stage never moves. /help read that as the Concept phase and asked a project with a brief and three stories for a concept doc, an art bible and a systems map. It now follows the minimal route: engine → design/game-brief.md → stories → /dev-story ↔ /story-done. /story-done names the next story instead of printing the sprint close-out, and the status line shows Minimal · 1/3 stories.
  • No more dead ends into sprints. /sprint-status reports progress through the brief's build order instead of refusing. /create-stories, /dev-story, /qa-plan, /smoke-check, /team-qa, /retrospective, /test-evidence-review and others offer a minimal route instead of "run /sprint-plan". The production gate at minimal asks for the brief and stories, not a sprint plan.
  • The defaults are stated correctly. About 25 places named the standard values as the defaults. The default is minimal, which gives coarse stories, terse docs and solo review. /start recommends minimal when nothing points either way.
  • Skills that read the concept doc also read the brief. Ten skills and four director gates warned "no game concept" or failed on a minimal project that had a brief.
  • /story-done still checks screenshots at qa.level: minimal. Tests are waived there; the Visual/UI screenshot is not, but the skip covered both. A UI story now closes on its retained screenshot, and a Visual/Feel story on the screenshot plus sign-off, as coding-standards.md says — every UI story used to need an evidence doc and sign-off as well. The stories /create-stories writes no longer say their visual evidence is waived at minimal.
  • Your place is saved. /dev-story and /story-done update the checkpoint in production/session-state/active.md, which the next session shows you, instead of appending notes nothing read. The checkpoint carries /dev-story's run result, which /story-done checks.
  • The status line counts the right stories. An explicit workflow: minimal under another rigor showed Concept; "Not Done" counted as done; bold and bulleted Status lines were skipped; and after a cd it looked for project.yaml in the wrong folder. It also finds Python once per render rather than once for every setting it reads.
  • Every story status is handled. /help, /story-done and /sprint-status route In Review and Not Started stories, and /sprint-status says when the build order is done. All three agree on the order: an In Review story is closed first, then an In Progress one continues, then the next Ready or Not Started story in the build order. The new .claude/scripts/story-status.sh lists the stories in that order before /help and /sprint-status run, and only Complete and Done stories count as done. /project-stage-detect no longer asks a minimal project for a sprint plan, and /retrospective no longer counts a story closed without tests against you at qa.level: minimal. /create-stories adds to a finished build order instead of starting again at story-001, and stops if there is no brief. /brainstorm asks for the player goal and fail state that stories' acceptance criteria come from, and the production gate says which of its quality checks apply at minimal.
  • The guides (WORKFLOW-GUIDE, quick-start, skill-flow diagrams) describe the minimal path, and the review-mode default: no director reviews at minimal.

Engines

  • Godot tests run. The test command /setup-engine wrote loaded a runner gdUnit4 never shipped, so every run failed, passing or not. It is now gdUnit4's own runner, with the flag that stops a script error from hanging the run at a debug> prompt. A run that finds no tests is NOT ASSESSED, not a pass. /dev-story's parse check exited 0 on a parse error; it now loads each changed script with .claude/scripts/godot-parse-check.gd, which also accepts code that uses an autoload. /smoke-check imports the project before the tests: on a fresh clone, with no class cache, gdUnit4's runner did not load and the run exited 1 without a verdict.
  • Unity tests compile. They went under tests/, which Unity never compiles, so a run reported "0 tests, Passed". They now go under Assets/Tests/. The build command builds a player, and the smoke command no longer calls a SmokeCheck.Run nothing creates. The commands name the editor by its full path: bare Unity can be Unity's separate CLI, which fails with the exit code of a failed test. A compile error is a FAIL, and the last run's results file is no longer read as this run's. The project coherence check finds the editor from commands.test and reads 6000.3 and 6.3 as the same Unity, so a correctly set up project no longer reports its version as different.
  • Unreal tests compile and are found. The qa-tester template used a flag that does not exist, and tests went in Source/Tests/, which is never built. CI and /smoke-check build the editor target first: a fresh checkout has no compiled game module, and the editor quit before running a test. The CI template asks for a Windows self-hosted runner; it asked for any self-hosted runner, so a repository with a Linux one could send the job there. Its steps also run when the runner's folder has a space in it, which failed every step before. The test command prints its results — run from a shell, the editor printed nothing, so "no tests matched" could not be told from a failure. Every Unreal command names the editor by its full path and gives the project as an absolute path: UE 5.7 does not find a relative .uproject, so the test, run and smoke commands exited 1 before doing anything. A failing test and a run that matched nothing both exit 255, so /smoke-check now reads the output to tell them apart.
  • /smoke-check runs your tests first, and reports NOT ASSESSED when nothing ran instead of passing. At qa.level: minimal, where tests are waived, a project with no game tests is checked by its build, launch and critical paths instead, so the Polish and Release gates can pass at the default rigor. The build check runs commands.smoke (else commands.build) when set, and a build nobody launched this session is NOT ASSESSED — it could pass with nothing run.
  • Godot commands name the editor. /setup-engine wrote bare godot into commands.* even where it says Godot is not on PATH (Windows, macOS); it now writes the editor's full path, quoted, and records it as engine.path. /smoke-check and /dev-story's parse check find the editor from commands.test, then engine.path, then PATH, and say when none is found. A flag or path /smoke-check needs is added for that run and reported, never written into commands.test. The project coherence check finds the Godot editor the same way — it reported "no Godot binary" on a correct project — and looks for Unity Hub's editors on macOS and Linux as well as Windows. UPGRADING.md says how to update a 1.1.x project.
  • Engine skills read each engine's own output. /test-flakiness looked for Result: Success, which Unreal never prints, and read Unity results with a JUnit pattern, so every test read as consistent; it now reads Unreal's Result={…}, Unity's NUnit <test-case> results and gdUnit4's reports/ folder. /test-helpers' Godot signal asserts could never see a signal; they now record it in a Dictionary. /content-audit scans Assets/ on Unity, where it found no content at all. The Godot and Unity references gain sourced command-line sections (runner flags and exit codes); the Unity reference says RecordRenderGraph is URP's and documents HDRP's CustomPass, and unity-shader-specialist no longer applies the URP one to HDRP. godot-csharp-specialist uses [Export(PropertyHint.Range, …)] — there is no [ExportRange] — and ue-gas-specialist and the GAS reference name the base-value clamp hooks. Unreal test names follow the root commands.test filters on.
  • Unity and Unreal get the rules and checks Godot gets. The coding rules for gameplay, engine, AI, network, UI, shader, data and test code now load in Assets/ and Source/ projects. Broken data JSON in Assets/**/Data/ and Content/**/Data/ is caught, PascalCase assets are no longer flagged, the data-file rule applies to JSON only (not C# or C++ in a Data/ folder), the test rule names tests the way each engine's language does, /tech-debt, /launch-checklist and /release-checklist stop reporting "no src/", the status line reaches Production, and session start no longer reads every texture looking for TODOs. The Unity and Unreal code rules load on code files only, and the shader, gameplay and engine rules give examples for all three engines. Skill examples, templates and the rules reference name each engine's code folder instead of only Godot's src/, and the guide's /localize and /reverse-document examples are ones that run.
  • Test results mean what they say. Each gdUnit4 exit code maps to a verdict — 101 (every test passed, a node leaked) is a warning, not a failure. The Godot CI template runs the gdUnit4 in your repo instead of replacing it with the latest release, and asks for a full Godot version. The Unity guidance covers the package references and Editor/ folders an assembly definition needs, the qa-tester Unity template compiles, and test output is gitignored. The Godot CI template asks for checks: write: without it the job failed on every new repository, even with every test passing. If you protect main, require the job's check, not test-results, which passes even when a test fails. The qa-tester Unreal template compiles as filled in and gives each test its own class — two tests that shared one failed to link — and the Godot one frees its subject.
  • Engine reference corrections. Godot's @abstract example gave an abstract method a body, which does not parse; the 4.4 Texture2D → Texture note now names the Shader default-texture methods it applies to, not the shading language. Unreal's server RPC sample declares WithValidation, which its _Validate function needs. The Unity Addressables migration example keeps its handle and releases it. godot-gdextension-specialist had the compatibility direction backwards: an extension built for an older Godot loads in a newer one, not the reverse.
  • Unreal on Linux and macOS. The Unreal commands named only Windows paths. /setup-engine now writes Linux commands on Linux (RunUAT.sh, Engine/Binaries/Linux/UnrealEditor), and /smoke-check, /dev-story and /test-setup build the editor target there with Build.sh; on macOS it writes the build command and leaves test, run and smoke for you to set, because Epic documents no command-line editor inside UnrealEditor.app. /smoke-check picks the commands for the machine it runs on and reports NOT ASSESSED for Unreal tests on macOS until commands.test is set. The sources are in docs/engine-reference/unreal/current-best-practices.md.

Checks and hooks

  • Warnings you can see. The commit, push, asset and skill-edit checks printed their warnings where neither you nor Claude saw them. They now show in your terminal and reach Claude. They never approve anything on your behalf.
  • The commit check covers chained commands. git add -A && git commit, git -C . commit, git -C "a path with spaces" commit, if git commit, { git commit; }, /usr/bin/git, git.exe, env X=y git commit, a commit on a second line and commits through the PowerShell tool all skipped it, and on macOS every chained form did. So did bash -c "git commit", sudo and xargs git commit, git --git-dir .git commit, and git named by a quoted or Windows path (& "C:\Program Files\Git\cmd\git.exe" commit), and any command with an emoji in it when jq is not installed. With data files staged and no Python to check them — including the Windows Store python placeholder, which the check used to mistake for Python — it now blocks and says why. The asset check no longer calls valid JSON invalid when that placeholder is first on PATH.
  • Here-doc text isn't a command. A commit message written through a here-doc that mentions git push no longer triggers the push warning, and writing a document through a here-doc that mentions git commit no longer runs the commit check, which could block it. Other quoted text (echo "git commit") is still checked. A tab-indented <<-EOF, a CRLF here-doc and /bin/bash <<EOF are now read correctly too.
  • The commit check reads what you commit. It validates the staged copy of each data file, not the one on disk; checks the files git commit <path> takes, whatever the pathspec (., a folder, a glob, :/), and no longer mistakes a -F message file for one; checks .JSON as well as .json; no longer skips data files with non-ASCII names; and judges a UTF-8 BOM the same way the asset check does. The push warning also fires on a refspec that targets a protected branch (HEAD:main, +main, refs/heads/main). On a command that does not mention git, the commit and push checks now exit at once (~116 ms instead of ~350).
  • Dangerous commands are denied in PowerShell too. The deny rules for force-push, reset --hard, clean -f, recursive delete and reading .env covered only the Bash tool. They now cover the PowerShell tool, and git push origin main --force as well as git push --force — and rm -fr, git clean -df, a +main refspec, git -C . push --force and Remove-Item -r, which were only prompted before.
  • Session start keeps what matters on screen. A long checkpoint is cut to 25 lines with a note, and warnings print before it, since hook output over 10,000 characters reaches Claude only as a 2,000-character preview. At minimal it no longer tells you to run /gate-check, and it reads the stage from project.yaml, which it had never done. It no longer warns of an engine reference mismatch on a correct project whose project.name is one word: it read that line as the engine.
  • Counts print cleanly on macOS. BSD wc pads its numbers, so session start showed Code health: 2 TODOs and the compaction hook ( 35 lines).
  • A section review never skips an edited section. The change check behind /design-review and /architecture-review hashed with git or sha1sum only. It now also uses shasum, which every Mac has; and with no hash tool at all it reports every section as changed and says why on stderr, where it used to report an edited section as unchanged.
  • The compaction hooks no longer claim their output reaches Claude; session start is what restores your place after a compaction. The agent log no longer records Claude Code's own internal agents (prompt suggestions, /btw) as unknown agents.
  • Fewer ways of calling git skip the commit check. Quoted option values (git -c user.name="A B" commit, --git-dir=".git", -C "$(pwd)"), timeout and nice in front of git, -a after the message (-m "x" -a, --all) and a relative path after cd (cd assets && git commit -m x data/item.json) each let a commit through unchecked. A -C directory the hook cannot resolve ("$CLAUDE_PROJECT_DIR", ~/x) is now checked rather than skipped; only a commit in a different repository is left alone. A commit limited to named paths (git commit -m x src/player.gd) is no longer blocked by an unrelated broken file staged for later, and a redirection (2>&1, > out.log) is not read as a path. Git or GIT in any case, a quoted "git", stdbuf, winpty or command -p in front of it, and a commit on a backslash-continued line are checked now too; a git -C <other repo> commit earlier in a chain no longer lets a later commit of this repository through; and text inside a PowerShell @'…'@ here-string is not read as a command.
  • The push warning names the branches you protect. It warns on main, master and release/* — a short-lived release branch is where a release is stabilised — and no longer on develop, which trunk-based development doesn't have. It checks every push in a chain, not only the first, and reads a quoted branch name or refspec.
  • Python 2 on PATH no longer fails valid data files, and with no Python 3 the GDD section check says it did not run instead of passing silently.
  • More spellings of dangerous commands are denied: rm with --recursive and --force, and force-push, clean -f and reset --hard with git options before the subcommand. The git rules match anywhere after git, so a git command whose text fits one is denied even when nothing dangerous runs — a commit message that mentions one, or prose such as git commit -m "push + pull"; reword the message. git clean -fn is denied too; write a dry run as git clean -n.
  • Smaller fixes. The status line counts a story whose status reads Done. or Complete, verified as done, as /sprint-status does. The skill-edit reminder no longer fires for skills outside the project, such as your own ~/.claude/skills/. /help finds an engine set only in technical-preferences.md. On Windows and macOS a Godot project with src/ and assets/ gets its code root found — Godot's assets/ was read as Unity's Assets/. Session start shows solo as the review mode when there is no project.yaml, which is what the skills use.

Skills and docs

  • Skills read the whole argument. /scope-check inventory crafting system checked inventory, and /gate-check --review full took --review as the phase. Seven skills read only the first word; they read all of it now.
  • /design-review --depth works again — it was renamed --review in 1.1.0 and old calls were silently ignored.
  • The brief has a Reference game line — the shipped game yours is closest to, and the part of it your MVP keeps. /brainstorm asks for it.
  • /start spots a clone still wired to this repo and suggests renaming origin, so your pushes and pull requests go to your game — on every path, a returning user's included, and not for your own fork.
  • Skills pre-approve only the commands they run. /help, /scope-check, /asset-audit, /project-stage-detect and /reverse-document allowed any shell command while active; each now names its commands. /prototype and /vertical-slice no longer claim a worktree isolation skills cannot have, and /design-review says which flag wins when given both --depth and --review. /help accepts the quoted form of its one script, which it was denied about half the time, and that script no longer fails when MSYS_NO_PATHCONV is set.
  • Skill model pins are documented as they behave. A skill you type as /skill-name runs on the model it declares, except that auto mode ignores a Haiku pin. A skill Claude starts on its own runs on your session's model. So /gate-check, /architecture-review and /review-all-gdds, which declare Opus, cost more when typed in a Sonnet session. The docs had said pins were never applied.
  • Agent models are documented as they run, with the one-line setting that fixes a pinned agent overflowing a large-context session (#67).
  • Agent specs can be run, and they match the agents. /skill-test spec and /skill-test category looked only in .claude/skills/, so every agent spec in the testing framework was refused as not found; both now take an agent name. The specs stated models no agent declares (36 of 49 — the three directors and lead-programmer named the right tier, but as a full model ID) and checked allowed-tools:, a skill field agents don't have. Each now asserts its agent's own model: and tools:. Tiers are written as the aliases model: takes — opus, sonnet, haiku, inherit — never as model IDs, so a new model release leaves them correct; the agent roster and gate index no longer repeat them (#131).
  • devops-engineer and community-manager run on Sonnet. They were the only agents pinned to Haiku, the tier model-tiers.md keeps for read-only lookups and formatting. One builds your CI pipelines and the other writes what your players read — the judgement /patch-notes is on Sonnet for.
  • Every behavioral spec describes the skill or agent as it is. A full /skill-test spec run failed all 121 specs in the testing framework. Most had been written against older versions and expected verdict words, paths and features the skills and agents don't have — /help's spec expected "HELP COMPLETE", a word the skill has never used. Each spec is rewritten against its current skill or agent, and each case still tests a specific behavior. /skill-test now judges an agent by what it actually sees: its own file, CLAUDE.md and the files it imports, the gate definition for a gate case, and any skills it preloads. A rule every agent receives, such as escalating a conflict to the shared parent, is no longer reported missing from each one.
  • Directors answer each gate in its own words. The four directors were told to answer every gate APPROVE / CONCERNS / REJECT (the producer REALISTIC / CONCERNS / UNREALISTIC), but eight gates define their own — PR-MILESTONE is ON TRACK / AT RISK / OFF TRACK, TD-FEASIBILITY VIABLE / CONCERNS / HIGH RISK, PR-SCOPE REALISTIC / OPTIMISTIC / UNREALISTIC, AD-CONCEPT-VISUAL CONCEPTS / STRONG / CONCERNS, every phase gate READY / CONCERNS / NOT READY — and the skills act on those words, so /milestone-review could never see OFF TRACK and refuse a GO. Each director now reads the verdict words from the gate's definition file. /map-systems and /brainstorm handle PR-SCOPE's OPTIMISTIC, which they had never expected.
  • Agents preload only skills they can run. game-designer and creative-director preloaded /design-review and /brainstorm, which need tools those agents don't have, and producer preloaded the skills that spawn it for a gate. Those preloads are gone.
  • Unity and Unreal agents check their engine reference before suggesting an API, as the Godot agents already did, and every engine agent asks which editor is installed when the pin says NOT DETERMINED. godot-specialist no longer tells itself to use WebSearch, a tool it doesn't have.
  • Agents that don't write code no longer follow a programmer's workflow. qa-lead, sound-designer, writer, performance-analyst, community-manager, release-manager, analytics-engineer and localization-lead asked "static utility class or scene node?" and offered to write tests; each now drafts, proposes and asks before writing.
  • security-engineer rates findings on /security-audit's scale — CRITICAL / HIGH / MEDIUM / LOW, HIGH counting as CRITICAL in multiplayer — when you ask it directly, not only inside the audit.
  • Agents name each other where their work meets: network-programmer and security-engineer, writer and world-builder, art-director and audio-director, ux-designer and accessibility-specialist, and others. live-ops-designer leaves prices to economy-designer, as /team-live-ops already did; agents with a built-in budget (latency, bandwidth) use the project's figure when it gives one.
  • devops-engineer follows trunk-based development. It prescribed GitFlow — a long-lived develop branch with feature branches cut from it — while CLAUDE.md sets trunk-based. It now describes the trunk flow /team-release and /hotfix now use too: short-lived branches off main, releases tagged on main, a release branch only to stabilise one. release-manager and /hotfix merge fixes back to main rather than a "development branch", and two hook samples in hooks-reference/ no longer assume develop.
  • Director memory stays in the project. creative-director, producer and technical-director kept their memory in your home folder, shared by every project on the machine. Like the other 14 agents, they now keep it in the project's gitignored .claude/agent-memory/. Notes already in the home folder are not moved — UPGRADING.md says how to keep them.
  • Python 3 and Bash are listed as required — every skill reads project.yaml through Python, and every hook runs in Bash. Install steps lead with Claude Code's native installer, and the VS Code extension's own permission setting is named; counts, links and examples that had drifted are corrected.
  • Engine commands say how to run on a Mac. /smoke-check wraps each engine run in timeout, which macOS does not have; it now names gtimeout (Homebrew coreutils) and a perl form that needs nothing installed. /setup-engine says no engine is on PATH on macOS either, and names the Godot binary inside its app bundle, so commands.* gets a path that runs.
  • The reference docs match Claude Code 2.1.282: hook schemas (the 10,000- character output cap, SessionStart's fork source, every exit-2 event), the effects map, context windows, director-gate model tiers, and the bundled review command (/review).
  • A Proposed ADR blocks a story again. In 1.1.0 /dev-story stopped reading an ADR's status, so a story built on an unaccepted decision went ahead. It now stops and tells you to accept the ADR with /architecture-decision accept. /create-stories reads the status it marks stories Blocked on, and stops when the epic you name doesn't exist; /story-readiness reports a Proposed or missing ADR as BLOCKED at every workflow tier, as /dev-story stops on it. Accepting an ADR keeps its ## Date: rewriting it made every story drafted against the Proposed ADR look out of date to /dev-story.
  • /architecture-review writes the traceability index where the gate reads it, docs/architecture/requirements-traceability.md. It had named no path, so the Pre-Production gate could not find the file outside rtm mode.
  • One evidence rule, everywhere. /test-evidence-review, /qa-plan, the evidence template and the effects map now agree with /story-done: a UI story closes on its retained screenshots, a Visual/Feel story on screenshots and sign-off, and no qa.level waives either. /test-evidence-review checks the evidence path the story names before guessing, looks in each engine's test folder, and no longer asks UI stories for three sign-offs and a walkthrough. /test-setup creates production/qa/evidence/, and /smoke-check counts only files your engine's test runner can run.
  • One bug severity scale. /bug-report filed S2-Major, S3-Minor and S4-Trivial, which /bug-triage doesn't read, and /hotfix called a bug with a workaround S2, which triage calls S3. /bug-report, /hotfix, qa-lead, the release and launch checklists and the incident template now use S1 Critical / S2 High / S3 Medium / S4 Low. /bug-report numbers a new bug one past the highest existing ID, and /team-qa files bugs the same way — BUG-0001.md, where it wrote BUG-001-[slug].md — so /bug-report verify and close find any bug by its number, older ones included.
  • Director reviews go to the director the gate names, and only in the modes that run them. /art-bible sent its review to creative-director instead of art-director, and /create-architecture reviewed its own architecture in every mode instead of spawning technical-director. A rejected architecture can no longer be accepted. /create-control-manifest and /propagate-design-change read the review mode they branch on; /architecture-decision names the reviewers it actually spawns; and /team-narrative runs its narrative consistency review in every review mode when narrative-director is on the team, and says so when it is not.
  • /gate-check can pass at standard. It required "all four directors" READY after narrowing the panel, and on entering Systems Design it recommended /create-architecture instead of /map-systems. /map-systems no longer skips its verdict and session save when a review is skipped.
  • Every verdict has a word for "could not check". /release-checklist, /regression-suite, /consistency-check (with an empty registry, a name the registry doesn't have, or no GDDs in scope), /content-audit, /story-readiness and /tech-debt (with no register) report NOT ASSESSED instead of passing, and /prototype recommends NOT ASSESSED for a prototype nobody has played. In /team-qa an open S1 or S2 bug means NOT APPROVED even when other evidence is missing; it read as NOT ASSESSED. /security-audit's FIX CRITICALS FIRST is now FIX BEFORE SHIPPING — open HIGH findings, no CRITICAL — with a rule for choosing each verdict. /qa-plan, /bug-triage, /perf-profile and /story-done (for a deferred criterion) always end with a verdict, and /code-review, /asset-audit and /review-all-gdds use one verdict scale each.
  • Team skills spawn every agent they use. Each team.size set in /team-audio, /team-level, /team-release and /team-live-ops now includes the agents its own steps call, which were otherwise never spawned. /team-narrative drafts in production/narrative/ and asks once before writing the finals to design/narrative/. /team-combat says when no engine is set, and /team-level and /team-ui show usage when given no argument. At team.size: studio, the "adversarial review pass" in /team-combat, /team-ui and /team-polish is now defined — that phase's reviewers are told to find how the work breaks, and the report says the pass ran — and extras that no step defined were removed from /team-audio, /team-polish, /team-narrative and /team-live-ops. /team-narrative at small adds its lore and localization agents only at review_mode: full.
  • Skills ask before they write, and write what they say. /dev-story, /sprint-plan, /patch-notes, /localize and /adopt wrote files without asking, or wrote files the question didn't name. /create-architecture writes once, at the end. /perf-profile can save the report it offers, /tech-debt no longer appends a debt item that's already in the register, and /consistency-check no longer offers to save a report it has no path for.
  • /skill-improve no longer discards your uncommitted edits. It reverted a rejected change with git checkout, dropping every edit to the skill since your last commit; it now restores the copy it saved.
  • Test helpers compile on Unity and Unreal. /test-helpers put them under tests/helpers/, which neither engine builds; they now go in each engine's test folder, and the Godot scene helper no longer extends a test suite. /test-flakiness names quarantine mechanisms from each test framework's own documentation, and says Unreal's is not covered.
  • Templates match what the skills write. The reverse-documentation GDD template has all eight standard sections. The art bible template had a different set of sections from the nine /art-bible writes; it now has those nine, and /art-bible creates the file from it. /ux-design's HUD spec has the sections /ux-review checks, so a HUD spec can now be approved, plus the Information Hierarchy and Acceptance Criteria its template always had; a UX spec gains the input-method checklist and the Platform Target line /ux-review asks for. Templates and skills use the same section names, and /art-bible and /ux-design list an existing document's sections by them.
  • /create-epics works at minimal, building epics from the brief instead of stopping for GDDs. /setup-engine asks whether an Unreal project's gameplay lives mostly in C++ or in Blueprints, and other skills fix smaller dead ends: /onboard without a role, /playtest-report without an argument, a failed smoke test in /hotfix, and /retrospective pointing at the read-only /sprint-status.
  • Directors can say they could not judge. A director gate can now answer NOT ASSESSED, naming the input it did not get, instead of picking a confident word; every skill that spawns one treats it as "not approved" and says what was missing. "Revise flagged items" now means the specialist re-drafts the section and you approve it again before it is written.
  • /sprint-plan no longer sets your review mode. On the first new sprint of a project it asked for a review depth and wrote it into project.yaml and production/review-mode.txt, overriding modes.rigor for good. It now uses the resolved mode; /settings changes it when you mean to. It also numbers the new sprint after the last one and carries unfinished stories over.
  • Checks that could pass on nothing now say so. /asset-audit said COMPLIANT with zero assets scanned — and on every Unreal project, whose assets live in Content/; /balance-check said HEALTHY with no targets to compare; /code-review said APPROVED when the engine review never ran. Each now reports NOT ASSESSED, as do /launch-checklist, /team-polish, /localize qa and /project-stage-detect where they could not check. /security-audit's FIX BEFORE SHIPPING now outranks NOT ASSESSED, so an open HIGH finding is never hidden behind a category it could not scan.
  • The release gate checks security and localisation. /gate-check release reads the newest /security-audit (at standard and full, an open CRITICAL or HIGH blocks it) and each locale's /localize qa result (required at full), and names the bug severities that block per tier (S1–S3 at full, S1 below). It is a readiness gate, run before shipping: the release checklist, changelog, security audit and localization checks now sit in the Polish phase in /help and the workflow guide, and /team-release expects the stage to read Release already.
  • Releases and hotfixes are trunk-based everywhere. /team-release tags main and cuts a release branch only to stabilise one; /hotfix starts from the release tag and merges back to main. /team-release has release-manager write the patch notes — community-manager has no shell to run /patch-notes — and community-manager writes the announcement from them.
  • The guides name the right gate. The workflow guide named every phase gate one phase late and showed a /gate-check concept that does not exist; /design-system, /map-systems and the systems-index template sent you to the wrong gate once your GDDs were done. /gate-check's argument is the phase you are entering, everywhere.
  • More asking before writing. /start asks before writing project.yaml; /dev-story asks before marking a story In Progress; /team-combat writes the GDD itself after asking; nine design agents ask before creating a skeleton file; /create-architecture no longer overwrites an existing architecture document, and its focus runs now save their section.
  • The default path, more of it. /help reads your checkpoint at minimal, so it recommends /story-done after /dev-story instead of /dev-story again; /quick-design works on a system with no GDD from the brief and the story; /qa-plan, /story-readiness, /dev-story and /team-qa no longer waive a UI story's screenshot at qa.level: minimal.
  • Agents. accessibility-specialist drafts findings instead of following a programmer's workflow; security-engineer reports in /security-audit's format; godot-specialist, unity-specialist and unreal-specialist say when a request is for another engine; and dozens of agents state rules their specs expected but their files left implied. A .gdextension example commented with # swallowed its [libraries] section — ConfigFile comments start with ;.
  • Verdicts and records that could mislead. /security-audit let a category it could not scan replace FIX BEFORE SHIPPING with NOT ASSESSED; a known HIGH now decides. It also says when security-engineer was not spawned. /team-qa no longer records a manual-QA result the tester did not give, and its qa-lead drafts the sign-off for you to approve instead of writing it first. /bug-report verify says CANNOT VERIFY when the related test did not run, and never puts an email address in a bug. /consistency-check at standard compares only the required sections. /create-architecture runs its director review after a one-section update too. /dev-story and /create-stories read an ADR's status in one step even with a blank line under each heading. The shipped .gitignore no longer drops gdUnit4's test runner (addons/gdUnit4/bin/), and /team-narrative reads the project's canon before any agent drafts.
  • Team skills ask before agents write code. /team-combat, /team-audio, /team-ui and /team-polish let their agents write code, shaders and audio files as if they were drafts, without asking; each agent now lists the files it will create or change, and the skill asks once for the set. security-engineer rates its own findings in /security-audit, and a category the audit could not scan is never reported as reviewed. In /gate-check, answering "no" to a manual check fails that item instead of leaving it unchecked. /skill-test's category mode says which verdict it gives when, /patch-notes maps its categories onto your template's sections, and /create-control-manifest names the source of each naming and budget rule.
  • Handoffs name every step the next gate reads. /create-architecture's handoff now lists /architecture-review, which /gate-check pre-production requires, and /create-control-manifest. /team-combat sizes its design document by modes.workflow, as /design-system does — all eight sections only at full, optional at minimal — and starts it from the GDD template, ## Summary included. /brainstorm asks before changing a scope the producer calls unrealistic, and a blocked agent's report names what was missing and where it was expected. /create-architecture asks you to approve its API boundaries like every other section, /review-all-gdds reports how many of the GDDs present it reviewed and names any it could not read, /team-live-ops no longer starts economy design before you approve the theme and says what to do when an ethics flag blocks the plan, and /team-release keeps its 48-hour watch in the post-release phase.
  • /gate-check passes a project that is ready. Directors were told "none" for work a later phase does — the architecture before Pre-Production, the sprint plan before Production — and read it as missing; it is now passed as "not expected before [phase]". The four phase-gate reviews judge readiness for the phase being entered, against that gate's required artifacts at your tier. On CONCERNS you can advance by accepting the listed risks, which the gate report records under Accepted Risks; a FAIL or NOT ASSESSED never moves the stage. At workflow: minimal the production gate no longer asks for a Vertical Slice — two checks on the current build replace it (the core loop is fun, it runs end to end) — and the technical-setup gate passes with its "not applicable" note. An unplayed Vertical Slice reads NOT ASSESSED, not FAIL, and at lean and solo a skipped art-bible sign-off is not counted missing. The release gate no longer asks for a localisation QA report for the source language, reads the newest full-scope security audit so a narrower later one can't clear an open HIGH, and names only /release-checklist as the release checklist. technical-director and creative-director ask before writing a decision down, as producer did.
  • A release waits for the release gate. /team-release could tag and deploy while the project was still in Polish, recommending /gate-check release afterwards. It now stops before spawning anyone unless the stage reads Release; proceeding anyway takes an explicit override, written into the go/no-go record. Its QA step uses the release gate's bug thresholds (S1; S1–S3 at workflow: full), and its agents each write their own sign-off file — two wrote to one and could overwrite each other. /release-checklist read open bugs from the milestone file, which lists none; it reads production/qa/bugs/ and says NOT ASSESSED when there are no bug records. /launch-checklist never asked about what only a person can confirm (on-call, EULA, press keys), so it could only end NOT ASSESSED; it now asks once per section (yes / no / not yet / N/A), so READY and CONDITIONAL are reachable, and no longer creates production/releases/ before you approve the write. /day-one-patch asks once before lead-programmer changes code and runs tests with commands.test. /hotfix defines S1 as /bug-triage does and records Tests: NOT RUN when commands.test is unset. /localize requires a QA PASS or PASS WITH CONDITIONS for each translated locale at workflow: full only (recommended at standard), as the gate does. release-manager runs /patch-notes itself, community-manager follows your project's voice guide over its defaults, and devops-engineer no longer asks game-code architecture questions.
  • QA works at every qa.level. /team-qa at minimal covers a Logic story with no test by walking its acceptance criteria, where every sign-off ended NOT ASSESSED; it reads the bugs already on file before QA starts, so an open S1 or S2 is known up front, handles a smoke report that says NOT ASSESSED, and finds sprint-003.md for /team-qa sprint-3. /test-evidence-review follows qa.level (a missing test is WAIVED at minimal) and takes each story type's gate level from testing.strict. /bug-report verify runs your commands.test, and can verify a bug no test covers by asking whether you played the reproduction steps; close shows the closure record and asks before changing the bug file — it wrote first. qa-tester writes bugs in /bug-report's format, so /bug-triage and /milestone-review count them. /bug-triage with no bug files ends with a verdict, and /milestone-review calls an overridden OFF TRACK a CONDITIONAL GO.
  • Stories, ADRs and sprints agree. /dev-story wrote in_progress to sprint-status.yaml, which nothing else reads; it now writes in-progress, and after an unfinished run the checkpoint says to resume /dev-story instead of "Next step: /story-done". At workflow: full a story with ADR: N/A no longer stops /dev-story; a Deprecated or Superseded ADR now blocks a story, naming its successor. /architecture-decision accept finds the blocked stories it should unblock — it searched for a status form /create-stories never writes. /story-done picks the next story from the same list as /help, and asks you about behaviour criteria instead of reading them off the code. /code-review could approve code whose ADR it could not read; that is now NOT ASSESSED. /scope-check and /sprint-status read the three-digit sprint names /sprint-plan writes, and /propagate-design-change says how it finds Foundation-layer ADRs.
  • Team skills say what they did. /team-polish had performance-analyst fix code its own agent file forbids it to write; its report is now the optimisation list with an owner per item, engine-programmer (added to the small and studio sets) and tools-programmer implement it after one ask for the whole set, and at individual the list is handed to /dev-story. The team skills said directors "still spawn at phase gates", which none did; a phase gate is now a decision point the pipeline lists, in every automation mode. /team-audio, /team-level, /team-live-ops and /team-ui name a working file per agent where they said [path]. /team-audio keeps the sound bible at design/audio/sound-bible.md, out of the GDD checks. /team-combat, /team-audio, /team-narrative and /team-ui no longer end a plain COMPLETE when a check could not run: the verdict names it (COMPLETE — engine validation NOT ASSESSED (…)). An "ADR is Proposed" blocker points at /architecture-decision accept.
  • /security-audit reports keep their findings. Reports are named by scope (security-audit-[date]-[scope].md), so a same-day quick run no longer overwrites the full audit. security-engineer gets a fixed brief that says every finding is rated from its table — it could arrive with findings already rated — and a category the audit had no source for (the usual case on Unity and Unreal) is named with how to fix it. The credential scan also catches ApiKey, sk_live_… and each engine's log call.
  • Design skills finish on the path you're on. /art-bible records a skipped sign-off in the art bible's header (SKIPPED [date] — [mode] mode), so the production gate finds it; asks you when art-director and technical-artist disagree on an asset standard, as it already did for UX; and at workflow: minimal hands off to /create-stories and /dev-story instead of GDDs and architecture. /prototype names the minimal route and reports NOT ASSESSED for a build nobody has played. /adopt audits the brief against its template at minimal and says Concept has no gate to run. /tech-debt add checks the register for a matching entry before appending. /ux-review marks Pattern Library N/A for a HUD spec instead of NOT ASSESSED, and the UX templates carry the Template line it picks its checklist by. /ux-design, ux-designer and the accessibility template agree on who sets the accessibility tier.
  • /skill-test judges the same way in every mode. Category mode ranked NOT ASSESSED differently from static and spec mode, and dropped a skill missing from the catalog from category all; unparseable frontmatter is now NON-COMPLIANT, and agents are listed from .claude/agents/. The spec templates use the headings the specs do.
  • The skill-flow diagram shows each step in its phase. Release preparation (/security-audit, /localize qa, /release-checklist, /changelog, /patch-notes) sits in Polish, before the release gate that checks it, and the test framework and accessibility specs sit in Technical Setup, before the gate that requires them at full. Five output paths now match what the skills write, and the effects map names the skills that read project.stage, commands.test, testing.strict and qa.level, and those that write the stage.
  • Team skills say plainly that they run no director gate. The review_mode note in all nine still said lean runs the four director phase gates, though no team pipeline has one.
  • A team pipeline that skipped an agent ends BLOCKED. Choosing "skip this agent and note the gap" lets the other phases run, but the verdict names the gap instead of reading COMPLETE.
  • /code-review no longer reads as ranking NO ADRS FOUND above an approval. The ranking sentence belonged to NOT ASSESSED.
  • Accepting an ADR unblocks only the stories waiting on it. A story still on a superseded ADR, which names the new one as its successor, stays Blocked. The advice for that story now says to edit its ADR field — /create-stories never rewrites an existing story — and the effects map lists Deprecated and Superseded ADRs as blocking, as the skills do.
  • Smaller gaps closed. /setup-engine asks before writing a new engine VERSION.md; /release-checklist's report says how many files its TODO/FIXME/HACK counts cover; /team-combat defines NEEDS WORK; /team-live-ops waits for both parallel phases before writing content; /map-systems shows the revised map after a rejected boundary review; /review-all-gdds flags both GDDs of a contradiction and names a GDD that is present but empty on its Not read: line; declining /architecture-decision's retrofit writes nothing.
  • Agents state what they used to leave implied. performance-analyst escalates code-quality trade-offs to technical-director; release-manager schedules from the dates you give it; sound-designer specs list attenuation detail; the Godot GDExtension specialist redirects GDScript and shader work and lists the rebuild steps for an upgrade; the GDScript specialist wants profiler evidence before moving code to GDExtension; network-programmer answers hosting questions with the network-side contract only; technical-artist names particle-specific reductions.

Every engine command on Windows was run on Godot 4.6.1 (gdUnit4 6.1.3), Unity 6000.3.23f1 and Unreal Engine 5.7 before it was written down, and the Godot and Unreal CI templates ran on GitHub Actions. The Unreal commands for Linux and macOS, the Unity CI template and the Unity assembly-definition guidance were checked against their documentation, not run. Checked on Claude Code 2.1.281 to 2.1.284, on Windows, Linux (bash 5 and 3.2) and macOS. If you ran /setup-engine on 1.1.0 or 1.1.1, your project.yaml still holds the old test and build commands — UPGRADING.md lists what to change.


[1.1.1] — 2026-09-24

Skills and agents work again outside auto mode. A fix release for #128.

Fixed

  • Skills no longer abort before they start. In 1.1.0, every skill that reads your config began with a shell command Claude Code refuses to run unless it is explicitly approved. In the permission mode CCGS ships with (default), 66 of the 74 skills stopped before doing anything, from any subdirectory of your project, and whenever Claude invoked a skill on its own — in auto mode too. Each skill now runs the config lookup as one plain command and pre-approves exactly that command in its own frontmatter. Nothing else is approved.
  • game-designer and creative-director launch again. Both preload skills, so the aborting command stopped them at startup with Shell command permission check failed … Contains expansion. They keep their preloaded skills and still have no shell access.
  • Config is found from any folder. Starting Claude Code inside src/ or design/ now reads the project's project.yaml, not nothing.
  • /changelog works in a repository with no commits yet.

Checked on Claude Code 2.1.277 and 2.1.281, in every permission mode, from the project root and from subdirectories. See .claude/docs/config-resolution.md for the form every skill's config line must take, if you write your own.


[1.1.0] — 2026-09-23

One config file, and a process weight you choose — one you can see and adjust, not a question you answer once at setup and forget. A solo game jam and a studio production no longer have to carry the same overhead.

Added

  • Ask-before-write now holds, whatever your personal settings say. CCGS sets Claude Code's permission mode to default in the project settings, so every approval gate in the framework actually fires. If your own Claude Code config runs in an auto-accept mode, that used to switch the whole collaboration protocol off silently and agents would write files you never approved. Override it in .claude/settings.local.json if you really want to, but read .claude/docs/setup-requirements.md first.

  • project.yaml — one place for your project's configuration. Engine, naming conventions, specialists and process settings all live here. It replaces three separate files that used to hold this between them.

  • project.local.yaml — your personal settings, not your team's. Git ignores it, so you can run leaner reviews or fewer confirmations on your own machine without changing anything for anyone else.

  • modes.rigor — one question instead of six. Set minimal, standard or full and it configures six underlying settings at once. You can still override any single one; the rest stay where rigor put them.

    • minimal — no design documents required, terse writing, light test evidence. The fastest route from setup to running code.
    • standard — 5 required design sections, balanced depth.
    • full — all 8 design sections, thorough docs, full test evidence on every story.
  • Per-system exceptions. One system can be held to a higher standard than the rest of the project — your combat system can require the full treatment while everything else stays light. Exceptions can only make requirements stricter, never looser.

  • A real jam path, not the full pipeline with switches turned off. minimal now rests on a one-page game brief with six fields, replacing the 30-section concept document, the systems breakdown and the per-system design docs. Four steps to running code: pick your engine → write the brief → /create-stories → /dev-story. On Godot, /setup-engine now also creates the project.godot the engine needs to open what those steps produce — until it did, the path delivered real source files with no project to load them, and the claim above was not true. Unity and Unreal projects must still be created in their own editor first; CCGS will not fabricate one, because it cannot source what those files should contain.

  • modes.review_mode — how many director agents review your work. On the team-* orchestrators, full and lean currently behave the same. Those nine skills only ever call phase-gate reviewers, and lean is defined as "skip the director gates that aren't phase gates" — so it has nothing to skip. solo does differ: it turns director gates off entirely. Elsewhere (design and architecture review) all three levels differ as described.

  • modes.automation — how often you're asked to confirm before something happens. In autonomous mode, decisions are written to a log instead of interrupting you. You can always list categories that must ask regardless. Four skills ignore this setting on purpose and always ask: /setup-engine, /gate-check, /hotfix and /day-one-patch — engine choice is a one-time irreversible decision, a gate verdict nobody reads defeats the gate, and the two release skills need explicit sign-off. See .claude/docs/automation-modes.md for the full list and reasons.

  • qa.level — how much test evidence is required before a story is done.

  • docs.density — how deeply written sections go.

  • team.size — which agents take part by default. Affects review depth only; it never changes what a story has to deliver.

  • testing.strict per test type — a logic story can block on a failing test while a visual story stays advisory.

  • /settings — see your effective configuration, check one value, or change it. /settings --local writes to your personal file. It warns you when a change would be overridden by something else.

  • /start rework — asks everything it needs up front and writes a complete config in one pass, instead of scattering questions across later steps.

  • Migration tooling for existing projects. A converter moves a v1.0 project onto project.yaml. It previews by default, only deletes old files once it has proved every value survived, and deletes nothing if anything is missing. /adopt spots an older project and runs it for you, and you'll get a reminder at session start if you have old config files and no project.yaml.

  • Recommendations for how much process your project needs. Describe the game you're making and CCGS suggests a level, instead of asking you to guess what "standard" means for a weekend jam versus a two-year production.

Changed

  • Claude no longer starts the four risky commands by itself. /hotfix, /day-one-patch, /dev-story and /story-done now run only when you type them. They bypass the sprint process, patch shipped builds, write game code and close out stories — none of that should begin because a conversation drifted near the topic. Everything else still gets suggested as before.

  • Engine specialists can only hand work to their own sub-specialists. The Godot, Unity and Unreal specialists are now limited to the four sub-specialists under each of them. Previously any of them could call any agent in the studio. This was already the documented rule; now it is enforced rather than trusted.

  • Fifteen agents that never delegated no longer can. They were carrying the ability to spawn other agents and never using it.

  • Light is now the default, not just the recommendation. modes.rigor defaults to minimal instead of standard, so a project that never opens /settings gets the fast path: a one-page brief instead of a full design pipeline, terse writing, light test evidence, no director review panels. We changed this because we measured the old default. Built both ways, the heavier tier cost several times more to reach working code, did not produce a better result, and gave nothing back when someone else picked the project up. It was not buying more; it was buying nothing we could detect. If your project outgrows the light path, /help and /gate-check will say so, and /settings modes.rigor=standard is one command. Projects that already set rigor explicitly are completely unaffected.

  • Setup steers light by default. /start now recommends the minimal, guided path for new projects, so you land somewhere light and step up if you need to.

  • Setup asks about your game, not about the framework. The question is "what best describes what you're building?" — a game jam, a focused project, something systems-heavy — rather than "how much process do you want?"

  • Your process level is always visible. The status line shows it next to your project stage, e.g. Concept · minimal.

  • Advice goes both ways. /help can suggest tightening up as a project grows, not just lightening up when you sound overwhelmed.

  • Moving into Production offers a check-in on whether the level you chose at the start still fits. It's a suggestion — it never changes the verdict.

  • team.size: solo is now team.size: individual, so it isn't confused with review_mode: solo, which means something different.

  • Less of your session is spent on the framework itself. Roughly 40% of the per-turn overhead was removed, leaving more room for your actual game.

  • Picking up after a /clear or /compact is more reliable. Your session checkpoint is now a defined part of your session notes rather than an ever-growing file, so what comes back is the same every time and leaves far more room for actual work. Older notes can be archived without losing anything.

Fixed

  • Unity and Unreal projects were silently skipping three commit and session checks. The hooks that look for hardcoded gameplay values, unowned TODOs, undocumented gameplay systems and missing architecture docs all searched src/ — which is where Godot keeps code. Unity keeps it in Assets/ and Unreal in Source/, so on those engines the searches matched nothing, every check quietly did nothing, and the result was indistinguishable from a clean pass. They now resolve the code root from your engine, and if they cannot work out where your code lives they say so instead of reporting nothing found.

  • Godot C# projects can now hand C# work to the C# specialist. The Godot specialist listed only three of its four sub-specialists, leaving godot-csharp-specialist unreachable — even though setup routes every .cs file to it. If you chose C# or Both, your game code had no specialist path.

  • The rules badge in the README said 11. There are 13.

  • /hotfix now gets your approval before touching code. It used to implement the fix first and collect approvals afterwards.

  • /sprint-plan no longer promises a review step that your settings skip. It now says which reviews run at which levels.

  • /story-done can no longer close a story with failing acceptance criteria in autonomous mode. The safeguard existed but couldn't be reached.

  • /settings no longer shows rigor-derived values as "locked", which read as "you can't change this" when you can.

  • /design-system no longer insists on 8 design sections at levels that require fewer.

  • /localize pointed at a command that doesn't exist.

  • /team-narrative ran two phases together with no checkpoint between them.

  • Upgrade instructions no longer suggest a merge that conflicts on every file for projects that don't share history with the template.

  • Upgrade instructions now tell you to check for your own customisations first. Replacing the framework overwrites your edits to any file it also ships — agent definitions and hook registrations especially. The steps show you how to find those before you start, and how to keep the ones you want.

  • Re-running a review on unchanged work now offers to skip it instead of repeating the whole thing at full cost.

  • Several documented settings quietly did nothing. They looked correct and matched nothing.

  • Jam and prototype projects are no longer warned about design-document sections they were never meant to write. The check now respects the level you picked.

  • Two file checks were silently doing nothing on Windows. They ran, found nothing, and reported success. They now work.

  • Passing a phase gate can actually advance your project stage. /gate-check reached the right verdict but couldn't record it.

  • /bug-report can now run tests, which it always said it would.

  • Committing gameplay code no longer prints a wall of raw search output alongside the warning.

  • The status line can show what you're working on — the epic, feature and task breadcrumb was described in the docs but never actually appeared.

  • Fixed broken links in the Unity reference documentation.

Removed

  • The bundled example game and the sample session transcripts. They described a project that didn't match the current workflow. Both are recoverable from git history if you want them.

Deprecated

  • production/stage.txt, production/review-mode.txt and .claude/docs/technical-preferences.md are superseded by project.yaml. Nothing breaks if you keep them — they're still read when project.yaml doesn't have a value. Run the migration script with --finalize when you're ready to retire the first two. The third is kept on purpose: it still holds your Forbidden Patterns and Allowed Libraries, which have no project.yaml equivalent yet.

Known limitations

  • Windows is the verified platform. Everything was checked on Windows. macOS and Linux should work but haven't been confirmed.
  • No Unity or Unreal project was compiled. Configuration, routing and documentation were verified for both engines, but nothing here builds or launches a real project in either.
  • Some engine reference details are marked unverified rather than guessed. Where a version number or API detail couldn't be confirmed from a real source, it's flagged in place instead of filled in with something plausible. You'll see the flag where it matters.

Settings that don't do anything yet

These six are documented and accepted, but nothing reads them. Setting one today has no effect. /settings says so when you view or change one, so you won't configure something expecting a result:

accessibility.target · cadence.sprint_length · cadence.milestone_length · strict_gate_checks · project.kind · features.token_budget_warn_at


Earlier releases

For v1.0 and earlier, see the version history in UPGRADING.md — each release has its own "What Changed" section written at the time it shipped.