Skip to content

ci: bump nyuchi/.github/.github/workflows/reusable-vite-plus.yml from 0.5.0 to 0.7.0 - #34

Closed
dependabot[bot] wants to merge 36 commits into
stagingfrom
dependabot/github_actions/staging/nyuchi/dot-github/dot-github/workflows/reusable-vite-plus.yml-0.6.0
Closed

dependabot[bot] wants to merge 36 commits into
stagingfrom
dependabot/github_actions/staging/nyuchi/dot-github/dot-github/workflows/reusable-vite-plus.yml-0.6.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Bumps nyuchi/.github/.github/workflows/reusable-vite-plus.yml from 0.5.0 to 0.7.0.

Release notes

Sourced from nyuchi/.github/.github/workflows/reusable-vite-plus.yml's releases.

v0.7.0

What's Changed

Full Changelog: nyuchi/.github@v0.6.0...v0.7.0

v0.6.1 (beta)

What's Changed

Full Changelog: nyuchi/.github@v0.5.1...v0.6.1

v0.6.0

What's Changed

Full Changelog: nyuchi/.github@v0.5.0...v0.6.0

v0.5.1 (beta)

What's Changed

Full Changelog: nyuchi/.github@v0.4.1...v0.5.1

Commits
  • c2e2506 chore(release): staging to main, 2026-10-24 (mission brief) (#126)
  • 8822d18 chore(release): staging to main, 2026-10-23 (pins) (#124)
  • See full diff in compare view

Until now this repo held a one-line README, so the eight other repos in
the org inherited nothing: no CODEOWNERS, no issue or PR templates, no
security policy, and no shared CI. Only `mzizi-registry` had any of those,
and it has them locally, which means they cover one repo out of nine.

Everything here was read off the GitHub API before it was written down.
ORG_STANDARDS.md describes the CI that actually runs in each repo today
and lists twelve things that do not exist, rather than describing the
intended state as if it were the current one.

Three reusable workflows, chosen for what this org actually is — Rust
first, not npm first:

  - reusable-rust-ci.yml takes a `target` input and a separate
    `clippy-on-target` boolean. Two of the three Rust repos ship as WASM
    (mzizi-console in a browser, mzizi-api-gateway on workerd) and code
    can pass every native check and still fail to compile for the target
    that ships. The two repos need different answers — mzizi-console
    lints on the host and checks wasm32, mzizi-api-gateway must lint
    against wasm32 because the `worker` crate's API is cfg'd for it — so
    one knob would have forced them onto the same wrong answer.

  - reusable-gitleaks.yml runs the MIT binary directly. The
    gitleaks/gitleaks-action wrapper needs a paid licence for org repos.

  - reusable-pr-title-lint.yml enforces Conventional Commits on the PR
    title.

Third-party actions are pinned by commit SHA, not tag; a tag can be moved
to point at different code. The resolved versions are recorded in
ORG_STANDARDS.md so a future reader can tell a pin from a guess.

No repo calls these yet. Publishing and adopting in one change would move
nine repos with no baseline to compare against; adoption is a small PR per
repo, and this repo's own ci.yml dogfoods two of the three by local path
so a change to a reusable is tested by the PR that makes it.

github-rulesets/*.json are proposals and are NOT applied. Note that the
org-wide one deliberately omits `required_linear_history`: that rule
blocks merge commits, and a merge commit is the only merge this org
permits. mzizi-registry's existing ruleset has exactly that combination
today, which is gap 4.

The docs reflect the merge-only convention throughout, per MIGRATION.md
§1.1 — "Squash discards the per-commit reasoning this project depends on".

One correction to the brief this was written against: the org has two
members, @bryanfawcett (admin) and @michellellawson (member), not one.
There are no teams, which is why CODEOWNERS names users.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
"is the second workflow" told a reader nothing. It dispatches to a
held-out runner named by a repo variable, and it is fork-guarded — both
worth knowing, because the held-out task set is withheld on purpose
(MIGRATION.md §5: "withheld so the benchmark measures the language rather
than memorisation") and a reader who does not know that might reasonably
try to make the dispatch target public.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
actionlint's shellcheck pass failed on `cargo test $EXTRA` with SC2086.
The word splitting was intentional — test-args is an argument list — but
the unquoted form also glob-expands, which was not intentional, so the
warning was correct and the original comment defending the line was
wrong.

`read -ra` splits and does not glob. An empty input yields an empty
array, which is safe under `set -u` from bash 4.4 onward; ubuntu-latest
ships bash 5.

Worth recording how this got through: actionlint was run locally before
pushing and reported clean, because shellcheck is not installed on this
machine and actionlint silently skips the shellcheck rules when the
binary is missing. A clean local actionlint is therefore weaker evidence
than it looks. The CI job, which runs on a runner that has shellcheck,
is the one that counts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The settings sweep behind those two rows iterated eight repos and missed
mzizi-site, so the counts were taken over a sample that did not include
it. mzizi-site has has_wiki false and an Apache-2.0 licence, which moves
wikis to four-off/five-on and licences to seven-of-nine.

Small numbers, but this page's whole claim is that it reports what is
there rather than what is expected, so an off-by-one from an incomplete
sweep is exactly the defect it should not have.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This repo pins third-party actions by SHA, but GitHub has an org setting
that enforces it (`sha_pinning_required`) and it is false. A convention
that only lives in review comments is weaker than one the platform
checks, so the setting belongs in the gap list next to the convention.

Noting honestly that it cannot simply be switched on: every existing
workflow in the org uses floating tags, so enabling it would break them
all until they are pinned.

The same endpoint shows `default_workflow_permissions: write`, which
gives every workflow a read-write token by default. Recorded alongside
it because it is the same one-line admin decision and the same argument.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
feat: populate the org defaults for mzizi-dev
The previous PR shipped `.github/CODEOWNERS` described as the org-wide
default for every repo without its own. That is wrong, and it was wrong
in the brief this work was written against, so it went in unchallenged.

GitHub's list of community health files an organisation's `.github` repo
can supply as defaults is CODE_OF_CONDUCT.md, CONTRIBUTING.md, discussion
category forms, FUNDING.yml, issue and PR templates, SECURITY.md and
SUPPORT.md. CODEOWNERS is absent from it, and the CODEOWNERS docs read
the file from `.github/`, the root, or `docs/` "of the repository". The
community profile API agrees: mzizi-console resolves its PR template to
mzizi-dev/.github and reports codeowners as null.

So the file shipped last PR governs one repo — this one — and the claim
that it gave the org review routing was exactly the kind of aspiration
described as running that ORG_STANDARDS.md says it does not contain.

What changes:

  - `.github/CODEOWNERS` says plainly that it covers this repo only, and
    its rules are narrowed to paths that exist here. It no longer lists
    /compiler/ and /wrangler.jsonc, which are in other repos and were
    never going to match anything from here.
  - `CODEOWNERS.example` at the root is the thing to copy per repo,
    following the pattern already set by dependabot.example.yml — the
    other file with no org-wide fallback.
  - ORG_STANDARDS.md moves CODEOWNERS out of the inherited list and into
    a new gap 14: no repo in the org has working review routing, and this
    repo cannot fix that centrally. Eight small PRs can.

Also fixes the gap ordering, which read 11, 13, 12 after the SHA-pinning
entry was inserted at the wrong anchor.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The comment explaining why Dependabot needs a per-repo file drew the
contrast against "CODEOWNERS, issue templates and SECURITY.md" — which
asserts the very thing the rest of this PR corrects. Caught by grepping
every inheritance claim in the repo rather than only the ones in Markdown.

It now names both exceptions, since they are the same instruction:
copy the example file into each repo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Found the hard way: this PR's original title was "fix: CODEOWNERS is not
inheritable, so stop claiming it is", and the title lint rejected it.
The rule is right and the title was wrong, but the failure reads as a
style nit when it is really "your subject happens to start with a
filename that is spelled in capitals".

That will happen to anyone writing about CODEOWNERS, SECURITY.md, an API
or a CI job, which in an org-standards repo is often. Documenting the
reword is cheaper than answering it repeatedly, and much cheaper than the
alternative someone will eventually propose: relaxing the pattern to
allow leading capitals, which would stop it catching the actual mistake
it exists for.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fix: stop claiming CODEOWNERS is inheritable org-wide
Adds the identical caller every repo in the seven orgs now uses, and the
canonical .prettierrc, .prettierignore, .markdownlint.jsonc,
.yamllint.yaml and .editorconfig from nyuchi/.github.

No copy of the lint policy is added here. This org's .github repo keeps
its own reusables (gitleaks, rust-ci, pr-title-lint) but the LINT policy
stays in exactly one place: nyuchi/.github is public, and a public
reusable workflow is callable from any org, so all seven orgs call the
one file. Five divergent copies is the failure this is undoing.

Fixes one real markdown bug found by the gate: in ORG_STANDARDS.md a line
wrapped so that "# 265" began a line, which every markdown renderer reads
as an H1. It is now an inline code span on the previous line.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…and the README

ORG_STANDARDS.md said "Squash merging and rebase merging are disabled on all
nine repos. allow_merge_commit is true everywhere", and said it with a
"verified on each repo individually" note attached, which is exactly what makes
it dangerous. Re-read off the API on 2026-09-12, all nine repos report:

  allow_rebase_merge   true    (was false)
  allow_merge_commit   false   (was true)
  allow_squash_merge   false   (unchanged)
  allow_auto_merge     true    (was true on three of nine)

The same holds on all 75 repositories in the Bundu Foundation enterprise, so
this is an estate-wide change rather than something done to this org. The
document's merge instruction, `gh pr merge <n> --merge`, is now the command the
settings reject.

Corrected, each marked with the date:

* "The merge-only convention" is rewritten as "The merge convention". The
  MIGRATION.md §1.1 argument is kept and re-read honestly: it argued against
  squash, squash is still off, and rebase preserves per-commit reasoning. What
  is lost is the merge commit, so merge_commit_title/message are now vestigial
  and a PR-title lint guards nothing in the history.
* Gap 4 — "mzizi-registry's ruleset contradicts the merge-only convention" — is
  resolved by the org moving rather than by anyone fixing it. required_linear_
  history and rebase merges agree. The fix the gap proposed, allowed_merge_
  methods: ["merge"], would now be the wrong change, and
  github-rulesets/org-wide-main-protection.json still contains it.
* "Branch protection and rulesets" said GET /orgs/mzizi-dev/rulesets returns
  []. It returns two: org-status-checks (active, requires the five `lint / *`
  contexts on every default branch, strict policy) and enterprise-main-
  protection (evaluate). Gap 8 is overtaken by the first of those.
* The repo table called mzizi-site "completely empty — no commits at all" and
  mzizi-docs and mzizi-roadmap README-only. All three now carry content and CI,
  and mzizi-site serves the mzizi.dev apex — which the table also recorded as
  mzizi-registry's, and which is now false. A dated note records the cutover,
  the surfaces it took offline, and the three pull requests that should have
  preceded it.
* Gap 11: mzizi-roadmap's README calls itself archived; the API reports
  archived: false. The gap now names the one call that would make the README
  true.
* Gaps 10 and 12 and the settings table re-read against the API.

Added, per the brief:

* README.md and ORG_STANDARDS.md both point at the estate-wide README standard
  at nyuchi/.github#62, noting it is open and unmerged so the blob link would
  404, and summarising the branding facts it carries — 21 colour families not
  five or seven, the DNA double helix with axis/axes/layer retired, no database
  behind the registry, and docs.mzizi.dev not resolving.
* README.md gains the standard shape: blockquote purpose, CI and lint badges
  (both curled), an at-a-glance line and a licence section stating honestly
  that this repo carries no licence file.

Gaps 3 and 5 were re-checked and are unchanged: private vulnerability reporting
is still enabled only on mzizi and mzizi-registry, and secret scanning only on
mzizi-registry and mzizi-api-gateway.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Config-only. Brings this repo's caller and lint configs byte-identical to
nyuchi/.github, closing drift that accumulated while canon was fixed
underneath the rollout.

What moved, and why it moved:
  - the caller gains `merge_group:`, which a repo whose ruleset uses a
    merge queue needs - required checks must report on the
    gh-readonly-queue/** ref and only merge_group produces that. Inert
    where there is no queue.
  - the caller's push trigger becomes [main, master, scaffold], every
    default-branch name in the estate. Four repos do not default to
    `main`, and there merging fired no workflow at all.
  - .yamllint.yaml gains the generated-file exemptions: lockfiles, whose
    registry deprecation strings no developer wrote and cannot rewrap,
    and Rails test/fixtures/, which are ERB templates and only become
    YAML after Rails renders them.

No behaviour change here beyond those. The point is that "identical in
every repo" is checkable rather than aspirational.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
SUPPORT.md, CONTRIBUTING.md and the ORG_STANDARDS repo table called Mzizi a
Bundu Foundation project / Bundu Foundation IP; they now say Mzizi, matching
mzizi/CHARTER.md on main. The README licence note said Mzizi was operated and
developed by Nyuchi; it now says Mzizi owns and operates it and Nyuchi runs
the revenue products (console, Fundi, paid plans, billing).

Unchanged on purpose: the "Bundu Foundation enterprise" (the GitHub
enterprise account's name), the bundu-labs org, "Bundu ecosystem" wording,
and the history notes in lint.yml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V7rjocqu7U77TqNbCNrUGk
The org ruleset will require this workflow on every repo's pull requests,
so repos no longer need their own lint.yml (trial in mzizi-dev).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GHjaH1Vt2dVLWU68iz8tFq
The mzizi-dev org ruleset now runs the shared lint on every pull request via
mzizi-dev/.github/.github/workflows/org-lint.yml, so this repo's own
lint.yml caller is redundant (it ran lint twice).

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

Adds a vite-plus job calling nyuchi/.github's reusable-vite-plus.yml,
publishing vite-plus / fmt, check, test and build in every repo. It runs
with enforce: false: this workflow is required, so a failing job would
block every PR before the repos have adopted the Vite+ contract.


Claude-Session: https://claude.ai/code/session_01GHjaH1Vt2dVLWU68iz8tFq

Signed-off-by: Bryan Fawcett <bryan@nyuchi.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
GitHub shows profile/README.md on the organisation page, and this org
had none. Written from the repositories' READMEs and descriptions and
the owner's canonical documents, which it links.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GHjaH1Vt2dVLWU68iz8tFq
Signed-off-by: Bryan Fawcett <bryan@nyuchi.com>
#13)

Every mzizi-dev repo now passes vite-plus / fmt, check, test and build
(adoption PRs merged; non-JS repos pass with notices), so the job runs
enforced. vite-plus / fmt replaces lint / prettier and lint / JSON
validity, which the lint job skips from here. The org ruleset requires
the vite-plus contexts before the two lint contexts are removed.


Claude-Session: https://claude.ai/code/session_01GHjaH1Vt2dVLWU68iz8tFq

Signed-off-by: Bryan Fawcett <bryan@nyuchi.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Every merge into staging is now released as the next patch, tagged on the merged commit by nyuchi/.github's reusable-staging-release.yml (pinned by SHA). The tag is pushed with GITHUB_TOKEN, so no tag-triggered workflow runs for a beta build.

CI now also runs for pull requests into staging and pushes to it, as it does for the default branch.

Refs nyuchi/.github#80, nyuchi/.github#84


Claude-Session: https://claude.ai/code/session_017T4NxM5wbhJ3LjHt7bnuwr

Signed-off-by: Bryan Fawcett <bryan@nyuchi.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Adds main-release.yml, the org's standard (copied from
mukoko-dev/mukoko-circles): it tags each release to main as the next
minor and creates its GitHub release with the run's GITHUB_TOKEN. Earlier
releases merged untagged are tagged on their existing main commits:
v0.1.0 (`febcf66`, #15), so the next release is v0.2.0.


Claude-Session: https://claude.ai/code/session_01GHjaH1Vt2dVLWU68iz8tFq

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Required checks must report on a merge queue's gh-readonly-queue/** ref,
or every queued PR stalls until the queue times it out. Add merge_group
triggers where missing and skip PR-only jobs (title lint) on merge_group,
where a skipped check counts as passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFZxixidq8jYs4VLDm8YFj
Org .github repos keep agent rules in AGENTS.md, with no CLAUDE.md and
no .claude directory, so every agent reads the same file. Renames
CLAUDE.md to AGENTS.md, points to the enterprise-wide rules in
nyuchi/.github, and adds the branch-ownership and merge-queue rules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LFZxixidq8jYs4VLDm8YFj
The org moved every repository to squash merging through a GitHub merge
queue on 2026-10-21 (owner-approved): squash on, rebase and merge
commits off, squash message = PR title + commit details, a SQUASH merge
queue on staging and main, strict up-to-date off, auto-merge on, merged
branches deleted.

README.md and AGENTS.md said rebase-only; CONTRIBUTING.md, the PR
template, the issue-template contact link and reusable-pr-title-lint.yml's
header comment still said merge-only. All now describe squash through
the merge queue with `gh pr merge <n> --squash --auto`. ORG_STANDARDS.md
gains a 2026-10-21 update box, a rewritten "The merge convention", the
new merge rows in the settings table, and dated notes where the strict
up-to-date rule and the ruleset JSON were described; the 2026-09-12
correction is kept as the record of the previous change. The workflow
change is comment-only.

Checked: prettier --check and markdownlint-cli2 on the Markdown files,
yamllint on the two YAML files. ORG_STANDARDS.md already failed prettier
--check before this change (prettier would rewrite CODE_OF_CONDUCT.md
into emphasis), so that one line is left as it was.


Claude-Session: https://claude.ai/code/session_01LFZxixidq8jYs4VLDm8YFj

Co-authored-by: Bryan Fawcett <noreply@anthropic.com>
Dependabot defaulted to the default branch, so its updates landed on
main without passing through staging, and the next squash release
(main replaced by staging's tree) erased them. Every update entry now
sets target-branch: staging; updates reach main with the next release.

Signed-off-by: Bryan Fawcett <bryan@nyuchi.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Dependabot waits 7 days after a version is published before proposing
it, so a malicious or broken release has time to be pulled. Semgrep's
dependabot-missing-cooldown rule blocks a config without one.


Claude-Session: https://claude.ai/code/session_01LFZxixidq8jYs4VLDm8YFj

Co-authored-by: Bryan Fawcett <noreply@anthropic.com>
Moves every nyuchi/.github reusable-workflow and action reference to
v0.5.0 (bb87d28), the release that carries the dependency audit and
review changes of 2026-10-21/23 (nyuchi/.github#118, #119, #121).
Refs that pointed at @main or an untagged commit are pinned too, so
every org .github repo is on the same tagged commit. The new version
only adds optional inputs to next-version and the staging release.


Claude-Session: https://claude.ai/code/session_01LFZxixidq8jYs4VLDm8YFj

Co-authored-by: Bryan Fawcett <noreply@anthropic.com>
)

ci(main-release): check out main's tip, not the workflow_run head_sha

Same fix as nyuchi/.github#115. Semgrep's
workflow-run-target-code-checkout flagged the checkout of
github.event.workflow_run.head_sha in a job with contents: write.
Measured with semgrep 1.181.0 on this file: 1 finding before, 0 after.

The checkout now takes the default ref. A gate step compares HEAD with
the head_sha the triggering workflow passed on and skips the tag when
main has moved on, because that newer push triggers its own run.
yamllint and actionlint are clean.


Claude-Session: https://claude.ai/code/session_01LFZxixidq8jYs4VLDm8YFj

Co-authored-by: Bryan Fawcett <noreply@anthropic.com>
Adds a Mission section near the top of AGENTS.md, so every agent in the
org reads the owner's mission brief of 2026-10-24 first: what we are
building, the ecosystem, the four gateways, the six-point engineering
bar (open standards, nothing crashes, everything ships, never close a
conflicting PR, one canonical id, honesty), Mzizi as the rule, and the
dependency-version policy decided the same day.

Checked locally: prettier 3.9.4, markdownlint-cli2 and oxfmt 0.70.0
(the org vite-plus fmt job's formatter) are clean.


Claude-Session: https://claude.ai/code/session_01LFZxixidq8jYs4VLDm8YFj

Co-authored-by: Bryan Fawcett <noreply@anthropic.com>
@dependabot @github

dependabot Bot commented on behalf of github Oct 30, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

#39)

ci(org-lint): every PR names an issue, and none adds CLAUDE.md or .claude

Same two jobs as nyuchi/.github (issue attached, no agent-local files).


Claude-Session: https://claude.ai/code/session_0114U9k8dcSUU3wAMZxydfmb

Co-authored-by: Bryan Fawcett <noreply@anthropic.com>
Bumps [nyuchi/.github/.github/workflows/reusable-vite-plus.yml](https://github.com/nyuchi/.github) from 0.5.0 to 0.7.0.
- [Release notes](https://github.com/nyuchi/.github/releases)
- [Commits](nyuchi/.github@bb87d28...c2e2506)

---
updated-dependencies:
- dependency-name: nyuchi/.github/.github/workflows/reusable-vite-plus.yml
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title ci: bump nyuchi/.github/.github/workflows/reusable-vite-plus.yml from 0.5.0 to 0.6.0 ci: bump nyuchi/.github/.github/workflows/reusable-vite-plus.yml from 0.5.0 to 0.7.0 Nov 2, 2026
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/staging/nyuchi/dot-github/dot-github/workflows/reusable-vite-plus.yml-0.6.0 branch from 973c0a9 to 0486758 Compare November 2, 2026 15:59
@bryanfawcett
Bryan Fawcett (bryanfawcett) force-pushed the dependabot/github_actions/staging/nyuchi/dot-github/dot-github/workflows/reusable-vite-plus.yml-0.6.0 branch from 0486758 to 9470a7b Compare November 7, 2026 13:21
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