Skip to content

feat(brand): plan repo metadata changes, dry-run by default - #23

Merged
VickyXAI merged 2 commits into
mainfrom
feat/plan-repo-metadata
Jul 28, 2026
Merged

feat(brand): plan repo metadata changes, dry-run by default#23
VickyXAI merged 2 commits into
mainfrom
feat/plan-repo-metadata

Conversation

@VickyXAI

Copy link
Copy Markdown
Contributor

Repo description / homepage / topics are the one marketing surface with no file behind them: git does not version them, markers cannot reach them, and they are what shows on the repo card, in GitHub search and in the org listing.

So they drift silently and stay drifted. Seven descriptions still advertise 41+ or 55+ models against a catalog of 66.

Writes nothing without --apply

node brand/plan-repo-metadata.mjs             print the plan, touch nothing
node brand/plan-repo-metadata.mjs --only numbers   just the stale-number fixes
node brand/plan-repo-metadata.mjs --apply     write it

Rollback stays restore-repo-metadata.mjs against the before-snapshot.

It never writes prose it invented

A description is only ever edited by substituting a stale number for the published one. The sentence stays as whoever wrote it left it:

"Python SDK for BlockRun — 41+ AI models, pay-per-call with USDC…"
                        -> "…— 66 AI models, pay-per-call with USDC…"

That keeps the mechanical part mechanical and leaves authorship where it belongs.

Reading the dry run caught a real flaw

I first derived topics from repos.json's shape. Shape says how a repo ships, not what it is aboutrenovate-config is md for the same reason the x402 docs repos are, and would have been tagged x402, usdc. Overridden by name.

Topics are additive only, so a human's existing choices are never removed, and only proposed where a repo has none at all.

What it cannot close

33 repos have no homepage and repos.json has no data for them. Guessing a URL is not a gap a script should close, so it fills only what is stated.

Current plan

description number fixes 7
topic sets proposed 26
homepage 0 (nothing stated to fill)
already clean 8

1bcMax added 2 commits July 27, 2026 20:03
Repo description, homepage and topics are the one marketing surface with no
file behind them: git does not version them, markers cannot reach them, and
they are what shows on the repo card, in GitHub search and in the org listing.
So they drift silently and stay drifted — seven descriptions still advertise
41+ or 55+ models against a catalog of 66.

This proposes the changes and writes nothing without --apply. Rollback stays
restore-repo-metadata.mjs against the before-snapshot.

The design constraint is that it NEVER writes prose it invented. A description
is only ever edited by substituting a stale number for the published one; the
sentence stays as whoever wrote it left it. That keeps the mechanical part
mechanical and leaves authorship where it belongs.

Topics are proposed rather than derived-and-trusted, and reading the first dry
run is what caught the flaw in deriving them from repos.json's "shape": shape
says how a repo ships, not what it is about. renovate-config is `md` for the
same reason the x402 docs repos are, and would have been tagged x402/usdc.
Overridden by name, and topics are additive so a human's existing choices are
never removed.

Homepage is only filled where repos.json states one. 33 repos have none and
repos.json has no data for them; guessing a URL is not a gap this can close.
…ishes to

The first pass filled homepage only where repos.json stated one, which was
nowhere — 33 repos had none and repos.json had no data for them.

But for a package repo the homepage is a fact, not a judgement call: take the
name from the repo's own manifest, ask npm or PyPI whether that package exists,
and use the package page if it does. A repo that publishes nothing still gets
nothing. That is the line between deriving and inventing.

12 more repos now get one, each verified against the registry before it is
proposed.
@VickyXAI
VickyXAI merged commit 6ebebe4 into main Jul 28, 2026
1 check passed
@VickyXAI
VickyXAI deleted the feat/plan-repo-metadata branch July 28, 2026 03:17
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.

1 participant