Skip to content

Reclassify self-host app categories - #116

Merged
RaviTejaKNTS merged 4 commits into
mainfrom
audit/traffic-brand-growth
Nov 12, 2026
Merged

RaviTejaKNTS merged 4 commits into
mainfrom
audit/traffic-brand-growth

Conversation

@RaviTejaKNTS

Copy link
Copy Markdown
Collaborator

What

  • Every published self-host app (4,978) was given 1–3 categories by reading its name, summary, and topics. 3,528 apps change. The result is scripts/self-host-apps/batches/2026-11-12-category-review.json.
  • New scripts/self-host-apps/apply-category-review.mjs applies it. It changes only category links, in locked batches of 100 apps. It refuses apps whose categories changed after the review, skips apps that already match (so reruns are safe), and rolls back unless --apply.
  • content_docs/self-host-apps/data-workflow.md documents the run, the production command, and the trigger side effects.

Why

The old links came from keyword matching (reset-categories.mjs, retired in September) that also fed category slugs back in as keywords. Results included MySQL under ai-ml and photos-galleries, bitcoind under games, and radarr and Gluetun under video-conferencing. That blocked publishing the self-host category pages from #113.

Category Before After
ai-ml 1,228 332
video-conferencing 352 49
photos-galleries 331 89
system-admin-hosting 865 391
design-creative 13 157
media-device-control 8 50
time-tracking 1 23

All 42 categories end with at least 15 apps.

Review

Sol reviewed the commits in two rounds. Fixed: batching with lock_timeout, a link-table lock per batch, lock order matching apply-qa-overrides.mjs, counts only for committed batches, camera-stream apps moved out of video-conferencing, and the production command in the doc.

After merge

Production data is not changed by the merge. Run the apply with --environment production --confirm stack127-production (preview first), recount categories, then publish the category pages with the directories publisher.

🤖 Generated with Claude Code

RaviTejaKNTS and others added 3 commits November 12, 2026 10:54
Every published self-host app was classified by reading its name, summary,
and topics. Keyword-assigned links had put apps such as MySQL, watchtower,
and bitcoind under ai-ml, photos, and games. The review changes 3,528 apps
and gives every category at least 15 apps.

apply-category-review.mjs changes only category links, refuses apps whose
categories changed since the review, and rolls back unless --apply.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each batch of 100 apps locks the link table, rechecks its apps, and commits
on its own, so production never holds one long transaction. Apps that
already match the review are skipped, so reruns are safe. Camera stream
apps move out of video-conferencing. The doc now gives the full production
command.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Matches the lock order of apply-qa-overrides.mjs. A failed batch no longer
adds to the reported totals. The doc notes that a category page dropping
below 15 apps is unpublished and must be republished.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each intro starts with the visitor's situation, names well-known apps that
are in the category after the review, and says what each row shows.
Titles and search text are in the development registry rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@RaviTejaKNTS
RaviTejaKNTS merged commit c8e592a into main Nov 12, 2026
7 of 8 checks passed

This branch was previously deployed

1 inactive deployment
production — a1fe75a1 Deployed Nov 12, 2026 by RaviTejaKNTS via verify-production-build #108
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