Auditing repo metadata (description/topics/website) has no first-class surface #50

Closed
opened 2026-07-13 21:18:23 +00:00 by hexajon · 0 comments
hexajon commented 2026-07-13 21:18:23 +00:00 (Migrated from codeberg.org)

Answering the simple question "are our repos complete with descriptions and other metadata?" required falling back to the raw API escape hatch. Friction encountered, in order:

  1. madt_api_call GET /users/<user>/repos + a hand-written jq projection returned [] — silently, because the repos are org-owned (under sixfold_space), not user-owned. Nothing steered toward madt_repos action=list (which does include org repos via the authenticated /user/repos). The endpointSuggestions map could catch /users/{user}/repos and point at the first-class command.
  2. madt_repos action=list (formatted) shows only owner/name (language) [stars, forks] — no description, topics, or website, so it cannot answer a metadata-completeness question at all.
  3. The only working path was action=list raw_json=true: ~500 lines of raw JSON per repo to eyeball three fields each.

Suggestions (either or both):

  • Include description (and ideally topics/website presence) in the formatted repos list/repos search output — e.g. owner/name (language) [stars, forks] — description with a (no description) marker, so gaps are visible at a glance.
  • And/or a dedicated audit surface (e.g. repos list --check-metadata / a metadata column set) that flags repos missing description/topics/website — the "is my org presentable?" pre-launch check.

Observed on codeberg.org (Forgejo) against the sixfold_space org, 2026-07-13.

Answering the simple question "are our repos complete with descriptions and other metadata?" required falling back to the raw API escape hatch. Friction encountered, in order: 1. `madt_api_call GET /users/<user>/repos` + a hand-written `jq` projection returned `[]` — silently, because the repos are **org-owned** (under `sixfold_space`), not user-owned. Nothing steered toward `madt_repos action=list` (which does include org repos via the authenticated `/user/repos`). The `endpointSuggestions` map could catch `/users/{user}/repos` and point at the first-class command. 2. `madt_repos action=list` (formatted) shows only `owner/name (language) [stars, forks]` — no description, topics, or website, so it cannot answer a metadata-completeness question at all. 3. The only working path was `action=list raw_json=true`: ~500 lines of raw JSON **per repo** to eyeball three fields each. Suggestions (either or both): - Include description (and ideally topics/website presence) in the formatted `repos list`/`repos search` output — e.g. `owner/name (language) [stars, forks] — description` with a `(no description)` marker, so gaps are visible at a glance. - And/or a dedicated audit surface (e.g. `repos list --check-metadata` / a `metadata` column set) that flags repos missing description/topics/website — the "is my org presentable?" pre-launch check. Observed on codeberg.org (Forgejo) against the `sixfold_space` org, 2026-07-13.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#50
No description provided.