Skip to content

Refuse a roster row that disagrees with what is published #23

Description

@iderex

Depended on #22, the derived shipping state, and on #78, and both have closed:

for n in 22 78; do
  printf '#%-3s %s\n' "$n" "$(gh issue view $n --repo Flowfin/site --json state,closedAt --jq '"\(.state) \(.closedAt)"')"
done
#22  CLOSED 2026-08-25T02:46:31Z
#78  CLOSED 2026-08-08T22:35:35Z

Run 2026-09-02. The first of the two was written here in the present tense, so a
reader following this line out of the body met a dependency that had stopped
being one. What is left on this issue is read in the comments below.

Deriving the state is not enough on its own, because the roster still carries a
declared state and the two can drift apart. This is the check that makes the
table honest rather than merely generated.

The drift is not hypothetical and there is an instance of it published right now.
One plugin the organisation profile calls a shell has a finished release:

gh api repos/Flowfin/jellyfin-plugin-requests/releases \
  --jq '.[]|{tag_name,draft,prerelease}'
{"draft":false,"prerelease":false,"tag_name":"0.1.0.0-stable"}
gh api repos/Flowfin/.github/contents/profile/README.md --jq '.content' \
  | base64 -d | grep -o '| \[requests\].*| [A-Za-z ]*|' | grep -o '[A-Za-z ]*|$'
Shell only |

Run 2026-08-08. Neither of those two places is wrong on purpose. They were
written at different moments and nothing compares them, which is the whole
argument for this check, and it means the first run of it has a row to refuse
rather than a green tree to prove nothing on.

It refuses a row declaring shell or build-up whose repository has published
releases of the kind #78 counts, because a plugin with such a release ships
whatever the file says. It also
refuses a row declaring shell whose repository has more than a template's
worth of source in it, using a threshold that is written down with its reason
rather than chosen silently, because shell is a promise to the reader that
installing it does nothing.

The failure names the row, what the file claimed, what was observed, and the
command that observed it.

Done when

A fixture roster declaring shell for a repository with releases reds the
suite; the same fixture with the row corrected passes; the failure output
carries the command that produced the observation; and the instance measured
above is either resolved where it is published or carried in the issue as a row
the check is expected to refuse, rather than being made to pass by loosening the
rule.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

blocked-on-a-decisionWaits on a decision that is not taken yet. No change to this tree moves it.tests

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions