Depends on the landing page issue and on #5.
The first sentence the project says about itself is about clients, not plugins.
The page served today says it:
curl -sS https://flowfin.dev/ | grep -o -i 'native Clients'
native Clients
and the organisation profile leads with one genuinely native client per platform
sharing a core. No such client exists to install. The organisation holds twelve
plugin repositories and no client repository:
gh repo list Flowfin --limit 60 --json name --jq '[.[].name|select(startswith("jellyfin-plugin-")|not)]'
["hub","lab","site","core",".github"]
gh api repos/Flowfin/core/releases --jq 'length'
0
Run 2026-08-08. The shared core has no release either, so a reader who arrives
because of that first sentence has nothing to download and no page telling them
so.
This milestone builds an honest table for the plugins. The same honesty is owed
to the larger claim on the same page, and the plan does not currently mention it
anywhere.
What this issue settles. The landing page says what the clients are meant to be
and states that none is released, in the same place it says what Flowfin is,
rather than leaving a reader to discover it by looking for a download that is not
there. No client appears in the state table, because the table is rows from the
roster and a client is not a roster row today.
The sentence is rendered from a value rather than typed into the template. A
claim about whether something is available that lives in prose is a claim
somebody has to remember to change, and the day it stops being true is the day
nobody is looking at that paragraph. Setting the value is what changes the page.
The forward case is stated rather than left open. When a client becomes something
a person can install, it stops being a sentence and becomes a row, which means a
roster entry with its kind named, and the schema in #20 is where that field
lands. Until then the site carries no state word for it, because the three state
words mean something about a plugin repository and there is nothing for them to
be computed from here.
The comparison against the organisation profile in #25 covers the table. This
sentence sits outside the table, so either the comparison is widened to cover it
or this issue records why it cannot, rather than leaving the largest claim on
both pages as the one thing nothing compares.
Done when
The landing page states what the clients are and that none is released today;
that statement renders from a value in the data rather than from words in the
template, shown by a test that flips the value and sees the page change; the
state table contains only rows the roster carries; and either #25's comparison
covers the client sentence or this issue records the reason it does not.
Depends on the landing page issue and on #5.
The first sentence the project says about itself is about clients, not plugins.
The page served today says it:
and the organisation profile leads with one genuinely native client per platform
sharing a core. No such client exists to install. The organisation holds twelve
plugin repositories and no client repository:
Run 2026-08-08. The shared core has no release either, so a reader who arrives
because of that first sentence has nothing to download and no page telling them
so.
This milestone builds an honest table for the plugins. The same honesty is owed
to the larger claim on the same page, and the plan does not currently mention it
anywhere.
What this issue settles. The landing page says what the clients are meant to be
and states that none is released, in the same place it says what Flowfin is,
rather than leaving a reader to discover it by looking for a download that is not
there. No client appears in the state table, because the table is rows from the
roster and a client is not a roster row today.
The sentence is rendered from a value rather than typed into the template. A
claim about whether something is available that lives in prose is a claim
somebody has to remember to change, and the day it stops being true is the day
nobody is looking at that paragraph. Setting the value is what changes the page.
The forward case is stated rather than left open. When a client becomes something
a person can install, it stops being a sentence and becomes a row, which means a
roster entry with its kind named, and the schema in #20 is where that field
lands. Until then the site carries no state word for it, because the three state
words mean something about a plugin repository and there is nothing for them to
be computed from here.
The comparison against the organisation profile in #25 covers the table. This
sentence sits outside the table, so either the comparison is widened to cover it
or this issue records why it cannot, rather than leaving the largest claim on
both pages as the one thing nothing compares.
Done when
The landing page states what the clients are and that none is released today;
that statement renders from a value in the data rather than from words in the
template, shown by a test that flips the value and sees the page change; the
state table contains only rows the roster carries; and either #25's comparison
covers the client sentence or this issue records the reason it does not.