Skip to content

🐛 Remove dead banner.godori.dev link - #7

Merged
Miyamura80 merged 17 commits into
mainfrom
claude/festive-cori-e6o9o8
Nov 1, 2026
Merged

Miyamura80 merged 17 commits into
mainfrom
claude/festive-cori-e6o9o8

Conversation

@Miyamura80

@Miyamura80 Miyamura80 commented Nov 1, 2026 •

Copy link
Copy Markdown

Summary

  • banner.godori.dev no longer resolves, so remove it from docs/decorating_markdown.md.
  • This is the same fix already merged in Bluetooth-Cap, CLI-Template, Custom-MCPs, DaySurface, Electron-Template and MCP-Template.

Generated by Claude Code


Summary by cubic

Removes the banner.godori.dev link from docs/decorating_markdown.md because the domain no longer resolves.

Written for commit afb7532. Summary will update on new commits.

View guided diff Turn on auto-fix

claude added 17 commits October 21, 2026 14:02
rye is deprecated in favour of uv, and its lockfiles pinned certifi
2025.4.26, which still trusts the emSign ECC Root CA - G3. Switch the
project to uv 0.13.4 (org standard, GHSA-hq85-5cpj-mr62):

- pyproject: [tool.rye] -> [tool.uv] with required-version >=0.13.4
- uv.lock replaces requirements.lock / requirements-dev.lock; all
  previously pinned versions kept, certifi bumped to 2026.10.19
- Makefile: check_rye -> check_uv (0.13.4 minimum), rye run/sync ->
  uv run/sync, requirements target uses uv export
- CI: eifinger/setup-rye -> astral-sh/setup-uv@v7 pinned to 0.13.4
- README, tests/README and .cursorrules point at uv

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
actions/setup-python has no 3.12.4 build for the new ubuntu-latest image,
so target_tests and vulture died before reaching uv. uv already reads
.python-version and installs that interpreter itself, so drop the
setup-python steps, and use uv sync --locked so CI checks the committed
uv.lock. Also apply review fixes: portable awk version check in check_uv,
quoted uv>= requirement in its hint, and a closed code span in .cursorrules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
litellm 1.107.0 was compromised on PyPI and Docker on 2026-10-21
(https://docs.litellm.ai/blog/security-incident-oct-21-2026). We never
locked it; this adds an explicit exclusion so no future uv lock can
resolve it. The locked litellm version is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
Tags can be moved after review, which is how tag-rewrite supply-chain attacks
land. Every GitHub Action is now pinned as <sha> # <version>, each resolved
and independently re-verified against upstream (tag -> sha, upstream history,
advisories). The repo has no Dockerfiles, so no image pins or ca-certificates
changes apply.

- scripts/check_immutable_refs.py (+ tests), exposed as
  `make lint_immutable_refs` (the repo has no `make ci`) and run by a new
  "Pinned refs" workflow: fails on untagged/:latest/tag-only images in
  Dockerfiles and workflow image: keys, and on any non-sha `uses:`.
  `# pin-exempt: <reason>` on the line above opts out.
- actions/checkout v3/v4 (node20 or older, EOL) -> v6.1.0; inputs unchanged.
- psf/black@stable (a moving branch) -> 26.10.1 by sha, with the matching
  `version: "26.10.1"` input so the formatter version is fixed too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
…bun-version

- COPY --from is only parsed inside COPY instructions, and continuation
  lines are joined before parsing
- A FROM's own AS alias no longer exempts its base; only earlier stages do
- $VAR / ${VAR} refs resolve from ARG defaults, which must be digest-pinned;
  unresolved refs fail unless pin-exempt
- Workflow image: and scalar container: values containing ${{ }} fail closed
  unless pin-exempt; an expression only counts inside the value itself
- RUN --mount=...,from=<image> is checked
- action.yml/action.yaml metadata is scanned wherever it lives; runs.image
  may point at a local Dockerfile
- Dockerfile names match case-insensitively; unreadable files are errors
  (deleted files are skipped)
- Action refs must fully match owner/repo[/path]@<40-hex>; quoted YAML keys
  are recognised; pin-exempt covers image lines only, never uses:
- Any action input ending in "version" set to latest now fails
- Pinned refs workflow runs the base branch's copy of the guard on pull
  requests so a PR cannot weaken its own check
- Makefile success message says "All non-exempt references are pinned"

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
…style YAML

- Blank line clears a pending pin-exempt; blank lines inside a Dockerfile
  continuation are skipped and continuation lines are joined like Docker
  (no inserted space, next line's indent kept), so a split FROM can no
  longer slip an unpinned image past the guard.
- Honour the "# escape=" parser directive (backtick continuations).
- action.yml runs.image is exempt only when it ends in Dockerfile, as the
  runner requires; bare and docker:// images must be pinned.
- Accept flow-style keys ("- { uses: x }", "container: { image: x }") and a
  space before the colon, check every uses:/image: ref on a line, and
  require uses: to be owner/repo[/path]@<40-hex>.
- Pinned refs workflow comment: the base copy protects the checker script;
  the workflow file itself needs CODEOWNERS or a ruleset.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
Brings scripts/check_immutable_refs.py and its tests up to the current
shared copy. It now scopes Dockerfile ARGs the way Docker does (FROM
sees only global ARGs, a stage sees one only by redeclaring it, an
empty default replaces an earlier one), reads flow-style YAML keys
only on flow-collection lines, checks runs.image values with : or @
as images, and checks uses/image/container/*-version values that
start on the line below their key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
Treats an anchored or tagged flow collection (`- &step { uses: ... }`,
`steps: &s [...]`) as flow style so its refs are checked, starts a
stage with its base stage's ARGs as BuildKit does, and never treats a
workflow named action.yml as action metadata. The run: fixtures in the
tests are now quoted so they are valid YAML.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
…blowup

- An anchor or tag before a block key (`- &step uses: x`, `- !!str uses: x`,
  `{ &k uses: x }`) no longer hides the key from the check.
- Verbatim tags with commas (`!<tag:yaml.org,2002:seq> [...]`) now open a
  flow collection.
- Each node property must end at whitespace or a bracket, so a run like
  `&&&&x` has one split instead of exponentially many (the old pattern hung
  on 30 characters).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
`!<[^>]*>` ran to the end of the line from every comma when the tag was
never closed, so a flow line of repeated `,!<` was quadratic (32k repeats
took 8s). YAML verbatim tags hold URI characters only, so the tag now
stops at whitespace or another `<`; the same line takes 0.04s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
`bun-version: &v latest` (and `&v` with `latest` on the next line) slipped
past the `latest` check because the value was taken to be `&v`, and
`uses: &pin owner/repo@<sha>` was wrongly rejected for the same reason.
Node properties after the colon are now skipped before the value is read,
on the key's own line and on the line below it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
`container: &c` followed by `{ image: <pinned> }` on the next line was
read as a scalar image and rejected. A continuation that opens a `{` or
`[` collection is now left to the per-line flow scanner, which already
checks the keys inside it, so a mutable image there is still flagged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
`flow_depth` stripped only comments preceded by whitespace, so a `# }`
comment at column 0 inside a multi-line flow mapping lowered the depth
and a later `b: 2, uses: owner/repo@v4 }` continuation was read as block
YAML and skipped. Comments at the start of a line are now stripped too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wtx3dU8PQvgyubf6ZpNaG3
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

View guided diff | Turn on auto-fix | Re-trigger cubic

@Miyamura80
Miyamura80 merged commit 691f27d into main Nov 1, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants