Use when adding a language to BAKED (a new entry of SUPPORTED_LANGUAGES) or filling the `none` rows of a supported one (gate detector, test runner, formatter, reviewer, the per-language issues
中文简介正在准备中。当前显示原文说明。
Use every time you open or update a GitHub issue for a BAKED bug or finding. Finds the root cause, sweeps the code for every other place with the same or a neighbouring defect, including every supported language when the bug is bound to one, and files issues that cover all of them.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
A fix that changes only the place where a bug showed up leaves its siblings behind: the same logic copied into another stage, another toolchain, another provider or another front end. An audit of one week of fixes (84 PRs) found 31 such siblings (#1405 to #1435). This skill makes the issue name every affected place before anyone starts the fix.
Run it before you create or extend any Bug issue, including issues filed by the bench loop, smoke runs and review findings. Keep the sweep small: about 15 minutes or 20 tool calls, plus about 10 more for the language sweep when the bug is bound to a language. It is research, not a fix.
Read the code at the point of failure until you can say in one sentence which rule or computation is wrong, not only what the symptom was. For example, "a glob boundary is counted as one path", not "the estimate was too low".
Search current main for each kind of sibling below. Use rg on the helper, constant, regex, error text and field names involved.
boundary.paths.length next to literalPathCount, or pathsInOutput next to failingPathsInOutput.npx, bunx, uv run).baked serve API and the desktop app. Also check Windows, macOS and Linux.git log -S<symbol> and recent bugfix/ merges on the same code for an off-by-one, an empty list, double counting or a first-match-wins lookup.Sort each place you check into one of three groups:
A bug is bound to a language when the failing code branches on a language, a file extension, a manifest, a toolchain or a test-file convention, or when the bug showed up only in a project of one language. Fixes for such bugs tend to patch the one language the run used and leave the others with the same hole. So for each language BAKED supports, decide whether the same failure reproduces there.
Take the list of languages from the code on current main, not from memory, because it grows:
src/core/intelligence/language-records.ts (SUPPORTED_LANGUAGES): the programming languages BAKED supports, and the LanguageRecord tables keyed by them.src/core/intelligence/types.ts (EXT_TO_LANGUAGE): every language BAKED detects by extension.src/core/intelligence/language-traits.ts (LANGUAGE_TRAITS): code, source, test-file and manifest rules per language.src/core/workflows/gates.ts (detectGates and the *Gates helpers): the toolchains whose checks BAKED proposes and whose output it parses.src/core/workflows/language.ts (detectLanguages): the project languages that get a language review profile.src/core/intelligence/backends/lsp/server-registry.ts and src/core/intelligence/backends/tree-sitter.ts: language servers and grammars.src/core/workflows/quality/.For each language, decide from the code (and from a quick scripted check when it is cheap, such as a fixture in a temporary directory or a test case in tests/language-traits.test.ts, tests/cross-language.test.ts or tests/gate-matrix.test.ts) which group it is in:
Then file:
When the failing code reads a per-language table that is not yet a LanguageRecord, the fix converts it, as the AGENTS.md rule on per-language records asks: one row for every supported language, the record registered in tests/language-parity.test.ts, and a golden in each language's fixture. Say so under Suggested fix.
Record the result in the issue's Sweep section under a Languages: line that names every language and its group. A bug that is not bound to a language says Languages: not language-bound with the reason in a few words.
Search open issues and those closed in the last two weeks by symbol, file and error text. If a closed fix did not hold, link it and say which sibling it missed.
Follow the rules in AGENTS.md: the type, labels, the board and the Priority: P0|P1|P2 first line. The body has these sections:
file:line on current main, with the sibling places included.Languages: line from step 3.AGENTS.md, or a skill under .agents/skills/ linked from it when the rule is large (see "Keep extension points maintainable" in AGENTS.md). Otherwise write None.Fix every place listed under Where. If the issue names a rule under Maintainability, add that rule to AGENTS.md (or the linked skill) in the same pull request. Before opening the pull request, run the sweep searches again on the branch. A new place gets fixed in the same pull request, or gets its own issue linked from the pull request.
Report it in a ## Sweep section of the pull request description:
Languages: line: the languages the fix covers and how each was checked, the linked issues for languages that need their own fix, or Languages: not language-bound with the reason.The PR description workflow fails a pull request that closes a Bug issue (issue type Bug or label bug) when this section is missing, empty or has no Languages: line. Edit the description to fix it; no new push is needed.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Use when adding a language to BAKED (a new entry of SUPPORTED_LANGUAGES) or filling the `none` rows of a supported one (gate detector, test runner, formatter, reviewer, the per-language issues
中文简介正在准备中。当前显示原文说明。
Use when adding, changing or graduating a task in bench/suite/ (the nightly multi-language mini-suite), when adding a supported language or toolchain, or when a bench round stop can be reproduced by a small task.
中文简介正在准备中。当前显示原文说明。
Use when a change adds or changes a host decision (a stop, park, decline, refusal, retry, deadline or cap growth), when the bench loop exports a round's traces, or when replay-corpus.test fails. Keeps the bench-trace replay corpus complete and current.
中文简介正在准备中。当前显示原文说明。