<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/.github/workflows/claude-code-review.yml, branch dcd_ch32hs_spd</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/.github/workflows/claude-code-review.yml?h=dcd_ch32hs_spd</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/.github/workflows/claude-code-review.yml?h=dcd_ch32hs_spd'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-06-18T12:37:12Z</updated>
<entry>
<title>ci(review): run Claude PR review at max effort</title>
<updated>2026-06-18T12:37:12Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-18T12:37:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=e7b373ede2dc1ab7322d9687bc5ca87dd156e355'/>
<id>urn:sha1:e7b373ede2dc1ab7322d9687bc5ca87dd156e355</id>
<content type='text'>
Pass --effort max to the claude CLI in the auto-review workflow so PR
reviews run at maximum reasoning effort. Switch claude_args to a
multi-line block scalar for readability, keeping --max-turns 50 and
--model claude-opus-4-8 unchanged.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ci(claude-review): run auto review on Opus (claude-opus-4-8)</title>
<updated>2026-06-11T14:13:32Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-11T14:13:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b643e8108570b3a8d10dc446ca36954b90ac497a'/>
<id>urn:sha1:b643e8108570b3a8d10dc446ca36954b90ac497a</id>
<content type='text'>
The review action currently runs on the default Sonnet 4.6. On PR #3643
(musb EP0 race) it posted "No issues found" while an Opus pass on the
same diff surfaced substantive questions (ISR-boundary RXRDY lifetime,
regression scope of the DATA-state split). Pin the reviewer to
claude-opus-4-8 for higher-signal reviews; subagents keep their cheaper
default models.

Co-Authored-By: Claude Opus 4.8 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ci(claude-review): raise --max-turns 20 -&gt; 50</title>
<updated>2026-06-11T12:41:51Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-11T12:41:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=c9cfd829f6a793b227f4e52df29337f2a8530ce7'/>
<id>urn:sha1:c9cfd829f6a793b227f4e52df29337f2a8530ce7</id>
<content type='text'>
The Claude Code Review action runs /code-review:code-review with a hard
--max-turns cap. On large PRs (e.g. #3636 "add stm32c5 support", 29 files
/ +1689), the agent exhausts 20 turns exploring the diff before it can
produce and post its review, so the SDK returns an error and the
claude-review check fails red with:

  Reached maximum number of turns (20)

Raise the cap to 50 so port-sized PRs complete and post their review.
Cost scales with tokens, not the cap: a finished review pays the same
whether the ceiling is 25 or 50 — the cap only bites when the agent
would otherwise be force-stopped mid-run.

Co-Authored-By: Claude Opus 4.8 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ci: post auto-review findings to the PR (#3684)</title>
<updated>2026-06-08T02:42:08Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-08T02:42:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7c68545ab6bd0a2b7d4b59228d84d4c2085abae7'/>
<id>urn:sha1:7c68545ab6bd0a2b7d4b59228d84d4c2085abae7</id>
<content type='text'>
Add --comment so the auto-review is actually posted on the PR.</content>
</entry>
<entry>
<title>ci(claude): post sticky summary comment on code review</title>
<updated>2026-06-03T08:15:07Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-03T08:15:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9a3e32bf549c5fdf6ef7931a47b8b8e2e483d856'/>
<id>urn:sha1:9a3e32bf549c5fdf6ef7931a47b8b8e2e483d856</id>
<content type='text'>
The review workflow posted nothing when a review found no issues:
with use_sticky_comment unset, the only output path was inline
comments, so a clean review surfaced no comment at all on the PR.

Enable use_sticky_comment so a single summary comment is posted/
updated every run, making "no issues found" results visible.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ci: allow claude[bot] pushes in code review workflow</title>
<updated>2026-06-03T02:21:44Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-03T02:05:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=d585977d9275d70a75003529136dec2f3de9a875'/>
<id>urn:sha1:d585977d9275d70a75003529136dec2f3de9a875</id>
<content type='text'>
Add allowed_bots: 'claude' so that when claude[bot] pushes commits the
workflow skips gracefully instead of erroring.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ci: address second codex/copilot review round</title>
<updated>2026-06-01T17:24:05Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-01T17:24:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=044cd06f87117afa541d8cc743fcc9ef2bdc8089'/>
<id>urn:sha1:044cd06f87117afa541d8cc743fcc9ef2bdc8089</id>
<content type='text'>
- claude.yml: drop the issues "assigned" trigger; its author_association
  gate keys on the issue author, not the assigner, so a maintainer
  assigning an outside contributor's issue would be wrongly skipped.
- claude-code-review.yml: issues: read -&gt; write so use_sticky_comment can
  create/update its PR comment via the issues API.
- hil SKILL.md: make local/remote command blocks copy-pasteable (drop
  [-b BOARD_NAME] notation for concrete examples) and fix timeout
  (600000 ms is 10 min; use 1200000 ms for the stated 20 min).

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ci: address codex/copilot review on claude workflows</title>
<updated>2026-06-01T17:16:54Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-01T17:16:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1ea04f7fe67bac927848e9dfd3ce2f607e7b93d7'/>
<id>urn:sha1:1ea04f7fe67bac927848e9dfd3ce2f607e7b93d7</id>
<content type='text'>
- claude.yml: gate @claude on author_association (OWNER/MEMBER/COLLABORATOR)
  so the write-scoped token and OAuth secret are never issued for an
  untrusted commenter on this public repo (defense-in-depth).
- claude-code-review.yml: skip fork PRs in the job condition
  (head.repo.full_name == github.repository) since forks get no secrets
  and would only fail noisily; fix the misleading token comment; pass
  additional_permissions: actions: read so actions: read is effective.
- hil SKILL.md: reword hostname guidance, use full test/hil/* paths, and
  show an explicit CONFIG= assignment so the local command is runnable.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ci: re-enable Claude PR review and harden auth/permissions</title>
<updated>2026-06-01T16:51:41Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-01T16:51:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=87f9cc01cfd3134594d196210d28ee590c7a5fc3'/>
<id>urn:sha1:87f9cc01cfd3134594d196210d28ee590c7a5fc3</id>
<content type='text'>
  - claude-code-review.yml: re-enable (drop `if: false`); switch from
    pull_request_target to pull_request so fork PRs never receive the
    OAuth token (avoids prompt-injection token leak). Auto-review on
    open/synchronize/reopen/ready_for_review, skip drafts, sticky comment.
  - claude.yml: grant contents/pull-requests/issues write so @claude can
    reply and push fixes; @claude is the on-demand path for fork PRs.
</content>
</entry>
<entry>
<title>chore(workflows): update GitHub Actions dependencies and improve membrowse error handling</title>
<updated>2026-03-12T08:48:49Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-12T08:48:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=2052111bac10fc3184b1dd9558fc1b9ab5c85ea4'/>
<id>urn:sha1:2052111bac10fc3184b1dd9558fc1b9ab5c85ea4</id>
<content type='text'>
update AGENTS.md with metrics compare
</content>
</entry>
</feed>
