Commit Graph
97 Commits
Author SHA1 Message Date
Dean b4d1151aad Merge pull request #12196 from rooklz/fix/check-conventions-input-errors
fix(tools): report unreadable --body and --event inputs in check_conventions as usage errors
2026-10-28 22:51:50 +13:00
Adrià 498954ef0e Merge pull request #11375 from veosett/codex/conventions-angle-links
fix(tools): recognize angle-wrapped documentation links
2026-10-28 05:49:59 +01:00
rooklz 72eb12c5c1 fix(tools): report unreadable --body and --event inputs in check_conventions as usage errors 2026-10-28 03:10:29 +00:00
Dean b5442a8a5f Merge pull request #10776 from hundoukam/fix/debt-file-entry
fix(tools): place a debt entry by the first core link of its whole entry
2026-10-27 18:28:04 +13:00
Dean 60f36a2dfb Merge pull request #10982 from MarcZX10/marc/feat-template-heading-messages
feat(tools): say which pull request template heading is missing, empty or misspelled
2026-10-27 05:34:54 +13:00
Kovalev Vladislav 947e459037 fix(tools): recognize angle-wrapped documentation links 2026-10-26 16:08:13 +06:00
MarcZX10 f32db390de feat(tools): name a template heading written at another level or case
The template check only reads '### Name' headings, so '## What', '#### Tested' or '### checklist' counted as missing, and the finding did not say why. When a section is missing, look for the same name as a heading at any level and in any case, and add it to the finding, as in "add the '### What' heading of the template; found '## What'".
2026-10-25 13:08:23 +00:00
MarcZX10 ed7f5833ab feat(tools): tell a missing pull request template heading from an empty section
The pull request template check reported 'section What is missing or empty' both when the body had no '### What' heading and when the heading was there with nothing under it, without saying which heading it looks for. Report 'add the ### What heading of the template' when the heading is absent and 'fill the ### What section' when it is empty, for What, Tested and Checklist.
2026-10-25 13:08:23 +00:00
Braxton Atkinson 2f975066cd fix(tools): parse flow-style pull-request filter keys safely 2026-10-24 23:26:59 -05:00
hundoukamandClaude Fable 5.1 147ae14830 fix(tools): place a debt entry by the first core link of its whole entry
The debt-file rule read only the first line of an added entry, so an
entry whose first core/ link sat on an indented continuation line was
rejected in docs/dev/debt/<name>.md and accepted in the index, the
opposite of what debt_split.py does with the same entry. The rule now
joins the continuation lines as debt_split.parse does before naming
the file.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-24 17:58:17 -06:00
Guille Dols 6fb15480a5 ci(conventions): keep namespace identity across reopened blocks for alignas constants 2026-10-24 20:33:30 +02:00
Guille Dols 3b4c56757c ci(conventions): resolve alignas constants in the scope they are used in 2026-10-24 20:33:30 +02:00
Guille Dols a2b2c374ed ci(conventions): reject alignas above the 8192 bytes MinGW allows 2026-10-24 20:33:30 +02:00
Dean 5a1e51137f Merge pull request #9660 from jotitadev/fix/conventions-env-reference-from-subdirectory
fix(tools): check environment references from a subdirectory
2026-10-23 19:26:22 +13:00
fma-rc 928588bbb8 fix(tools): compare libraries before looking for a duplicate export's body 2026-10-23 00:01:52 +02:00
Jota a22f220857 fix(tools): check environment references from a subdirectory 2026-10-22 03:45:02 -03:00
fma-rc 3b5a99c20f fix(tools): count assembly exports in the duplicate-export check 2026-10-22 00:28:31 +02:00
boykopovar a6dcea9279 Merge pull request #9137 from boykopovar/fix/funcs-abi-debt-2026-10-20
fix(libs): libs funcs abi debt 2026 10 20
Corrected signatures or behaviour of 1,702 existing exported functions across 96 libraries. Added 85 typed export wrappers. Unimplemented functions retain NotImplemented_nid_no_patch(__func__).
2026-10-22 00:32:11 +03:00
Adrià 1896871ba7 Merge pull request #8892 from harisibrar1/ci/conventions-current-base
ci(conventions): check pull requests with the current base branch rules
2026-10-21 21:12:55 +02:00
boykopovar 68aeef249a fix(tools): scan committed sources for duplicate exports 2026-10-21 21:56:08 +03:00
Dean c68a27cc4c Merge pull request #8638 from Tripchipp/fix/doc-links-inline-code-labels
fix(tools): check doc links whose text is inline code
2026-10-21 17:54:13 +13:00
harisibrar1andClaude Opus 5.5 0c7d25c3d1 ci(conventions): check pull requests with the current base branch rules
The workflow checked out pull_request.base.sha, the base recorded when the
pull request was opened, and ran that revision's check_conventions.py. A rule
merged after a pull request was opened never ran on it: #7005 added
APS5_NO_WGI without an ENVIRONMENT.md row and passed with the checker of
07e741481, which had no env-reference rule.

Check out the current tip of the base branch and pass it as --base; the
checker already diffs from the merge base, so only the pull request's own
changes are checked. A name documented on the base branch after the branch
point now counts as documented unless the pull request removes its row.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 00:50:41 -04:00
Tripchipp e58fcc9c3b fix(tools): check doc links whose text is inline code 2026-10-20 21:05:11 +02:00
Maz 6926aff808 fix(tools): stream duplicate export search patterns 2026-10-20 16:58:16 +04:00
Cankiee 445d7192f9 fix(tools): handle git command failures gracefully 2026-10-20 11:52:58 +02:00
Adrià c74aeb2f4c Merge pull request #6757 from LeandroLP23/ci/conventions-debt-entry-length
feat(tools): warn when a pull request adds a technical debt entry over 1000 characters
2026-10-19 12:17:54 +02:00
Adrià 8e3d8b9bd8 Merge pull request #6723 from Tripchipp/fix/debt-file-unlinked-entries
fix(tools): keep debt entries without a core link in the index
2026-10-19 12:09:51 +02:00
LeandroLP23andClaude Opus 5.5 fb1ad2fcf4 feat(tools): warn when a pull request adds a technical debt entry over 1000 characters
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 23:48:11 +02:00
David Fontanet BujaldónandClaude Opus 5.5 c494367836 Merge boykopovar/AnyPS5 main into fix/conventions-unknown-nid-collisions
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:17:36 +02:00
011010 061101a3e8 fix(tools): report a row the pull request removes 2026-10-18 04:16:04 -06:00
011010 ea01ee8965 fix(tools): check the environment names a pull request adds 2026-10-18 02:36:16 -06:00
011010 bb109df676 fix(tools): read the helper and wide-string environment readers 2026-10-18 02:13:39 -06:00
husari.orozco abec10fe2d fix(tools): catch the EnvInt and GetEnvironmentVariableA readers and take the review rows 2026-10-18 01:14:35 -06:00
husari.orozco d49b0fecf5 docs(environment): add the APS5_* and ANYPS5_* reference and check it 2026-10-18 01:14:35 -06:00
Dean fdcc9f70e0 Merge pull request #5780 from MrMha/fix/conventions-duplicate-source-tokens
Merged while @adriadam10 is away; his requested change is in place.
2026-10-18 15:57:48 +13:00
Dean e14e281c82 Merge pull request #6624 from IshmamDC217/fix/conventions-multiline-string-comments
fix(tools): find Python and CMake comments across multi-line strings
2026-10-18 12:56:50 +13:00
MrMha 26c3a82e8d fix(conventions): ignore non-code duplicate export matches 2026-10-17 18:08:43 +04:00
Dean 661a1118cc Merge pull request #6626 from IshmamDC217/fix/conventions-ci-gate-indent
fix(tools): read workflow job keys at the indentation the file uses
2026-10-17 18:00:57 +13:00
Dean 10e0906273 Merge pull request #6407 from MarcZX100/codex/conventions-duplicate-export-quotepath-6388
fix(tools): keep duplicate export paths unquoted
2026-10-17 17:55:52 +13:00
Dean 4e15bde13d Merge pull request #6397 from MarcZX100/codex/conventions-crlf-fences-6387
fix(tools): recognize markdown fences with CRLF endings
2026-10-17 16:37:26 +13:00
AlxcBTW ad2b2b4c9c docs: add AGENTS.md with the rules coding agents break 2026-10-16 19:41:49 +02:00
Tripchipp bd9d0c3d7d fix(tools): keep debt entries without a core link in the index 2026-10-16 09:09:21 +02:00
Ishmam Ahmed 3ee7ab8ffb fix(tools): read workflow job keys at the indentation the file uses
The ci-gate check read a job's needs and if only two spaces deeper
than the job name. In a workflow indented by four spaces those keys
were never found, so a job gated with needs: eligibility and an if on
its outputs was reported as ungated. Read the keys at the indentation
of the job's first child instead.
2026-10-16 01:02:47 +01:00
Ishmam Ahmed 74f6a23bba fix(tools): find Python and CMake comments across multi-line strings
The comment check looked at each added .py, .cmake and CMakeLists.txt
line on its own and treated any # outside a string closed on that line
as a comment. A # inside a Python triple-quoted string or a CMake
quoted or bracket argument that spans lines was reported, so adding an
#include to the C++ held in PatchSpirvTools.cmake's [=[ ]=] arguments
failed the check. An escaped \# in CMake was reported too, while the
inner lines of a multi-line #[[ ]] bracket comment were not.

Find comments over the whole file instead: Python COMMENT tokens from
tokenize, and a CMake scan that skips quoted and bracket arguments and
escapes and covers every line of a bracket comment. A Python file that
does not tokenize keeps the previous per-line check.
2026-10-16 01:02:44 +01:00
MarcZX100 ad64fa844b fix(tools): keep duplicate export paths unquoted 2026-10-15 14:13:26 +00:00
MarcZX100 345fca11db fix(tools): recognize markdown fences with CRLF endings 2026-10-15 13:59:17 +00:00
Adrià FranchandClaude 1b94074869 fix(conventions): also check comments in .glsl shaders
Co-Authored-By: Claude <[email protected]>
2026-10-15 14:39:47 +02:00
GalaxyGamingFRandClaude Opus 5.5 939b3d8a9f fix(conventions): check comments in GLSL shaders
The comment rule only scanned C++, Python and CMake files, so a
comment added to a .comp, .frag or .vert shader passed the check.
TextureDetile.comp and ColorTransfer.comp carry such comments today.
Shaders are now masked with the same C-style lexer and report
comment on changed lines, with the same #endif allowance and the
same technical-debt exemption as C++.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-15 14:39:25 +02:00
Adrià b08db6a093 Merge pull request #5765 from GalaxyGamingFR/fix/conventions-depends-on-list
fix(conventions): accept Depends on answered as a list
2026-10-15 14:39:14 +02:00
David Fontanet BujaldónandClaude Opus 5.5 02b376a1d4 feat(tools): flag Unknown exports whose NID is already a symbol in the tree
An APS5_EXPORT whose name says the NID is unknown can carry the NID of a
symbol nid_patcher already produces from core/libs/prx: a _nid_postfix
helper, an APS5_VABI export or an assembly function. The NID is then not
unknown, and the stub can take the place of that symbol. #5608 exported
YNw9Xk5iNWo from libSceVideoOut as a throwing stub; it is the NID of
MouseIsOpen_nid_postfix, which libSceVideoOut imports from libSceMouse,
so presentation failed with "YNw9Xk5iNWo not implemented" (#5738, #6245).

The unknown-nid rule reports an added Unknown export with the NID of a
symbol in core/libs/prx, and an added symbol with the NID of an Unknown
export. Named aliases, such as the libc and libSceAmpr exports that share
NIDs on purpose, are not checked.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 10:29:03 +02:00