You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
⚠ REWRITTEN 2026-08-02. This issue asked what to do before T1 fired. T1 has fired. The original framing is kept at the bottom.
T1 has fired. This is now a retrospective decision, not a preventive one.
views-crafdapi exists: 20 commits, public, seeded from faoapi v1.4.0. Verified today — it carries its own copy of the Appwrite client, 4 files importing the SDK directly, the same count as views-faoapi.
That is exactly what þing-01 D8 Trigger 1 describes (README.md:697):
Second consumer API clone. The moment you clone views-faoapi to build a World Bank or UNHCR API, you are copying the Appwrite client a third time. At N=3, extraction pays for itself immediately. This is the strongest trigger.
N = 3 today:
Repo
Own SDK client files
views-pipeline-core
2
views-faoapi
4
views-crafdapi
4
Decision Log #10 composes D8 as activate on T1 ∨ T2 ∨ T3 ∨ (demand ∧ supply). T1 is a disjunct — it needs no demand, no supply, and no agreement. It fired on the clone.
What that means, and what it does not
It means Phase 1 — the shared client — is activated by the platform's own ratified rule. Not proposed. Activated.
It does not mean this repo starts building one. Three things stand in the way of that, and none is negotiable by this repo alone:
views-faoapi#337 is the issue that would do the extraction, and it is gated on "D8 answered yes" — which is this issue. The two are one decision from opposite sides.
views-pipeline-core#339 — the Appwrite eviction epic — is actively shrinking pipeline-core's client from 26 operations toward ~8, and its Phases 3–4 describe moving it behind an injected port. Extracting today would extract the pre-shrink surface: 4,609 lines instead of what remains after.
Three options. One must be chosen and recorded; drifting is not one of them.
A — Honour it now. Open the extraction against views-faoapi#337. Cost: extracting a surface pipeline-core is mid-way through reducing, so the work is done twice.
B — Amend the trigger. T1 was written when the platform had two copies and no eviction programme. Both premises have changed: there are three copies and a live programme shrinking one of them. Amending is legitimate. An honest amendment says "N=3 was the wrong threshold; the real trigger is pipeline-core#339 reaching Phase 3."
C — Defer behind a new named trigger. Most likely correct in substance, and only acceptable if the new trigger is named, not "later." The platform's own rule: a trigger-conditioned deferral is a decision; a vague one is a dodge.
What is not acceptable is silence. T1 fired. If nothing is recorded, the platform has a ratified trigger that fired and was ignored — which makes every other trigger on the platform worth less.
Recommendation from this seat
B or C, with the reason recorded — and this seat gains from that answer, which is why it is flagged rather than asserted. Extraction defers, so this repo stays parked and does no work. The argument for it is not that: it is that views-pipeline-core#339 is already doing the thing extraction was meant to achieve, on a better schedule, and pulling 4,609 lines out mid-reduction would duplicate that effort.
Acceptance criteria
A dated entry in README.md's Decision Log recording that T1 fired, on what date, and on what evidence (N=3, crafdapi's 4 client files)
The entry names which of A / B / C was chosen, and why
If C: the replacement trigger is named, with a condition someone could check
views-faoapi#337 is updated either way — its gate condition has resolved, and it should not sit waiting on a question that has been answered
Dependencies
views-faoapi#337 — the same decision, seen from the extraction side
views-pipeline-core#339 — its Phases 3–4 planning assumes the destination question stays closed; it does not
Original issue text, as filed 2026-08-01 — kept because the framing error is the point
The issue was titled "decide what that means before it happens, not after" and argued T1 was imminent. It was filed one day before the clone was cut, and the decision it asked for was not made in that window. That is the ordinary way a preventive decision becomes a retrospective one, and it is worth leaving visible rather than editing away.
T1 has fired. This is now a retrospective decision, not a preventive one.
views-crafdapiexists: 20 commits, public, seeded from faoapi v1.4.0. Verified today — it carries its own copy of the Appwrite client, 4 files importing the SDK directly, the same count as views-faoapi.That is exactly what þing-01 D8 Trigger 1 describes (
README.md:697):N = 3 today:
Decision Log #10 composes D8 as
activate on T1 ∨ T2 ∨ T3 ∨ (demand ∧ supply). T1 is a disjunct — it needs nodemand, nosupply, and no agreement. It fired on the clone.What that means, and what it does not
It means Phase 1 — the shared client — is activated by the platform's own ratified rule. Not proposed. Activated.
It does not mean this repo starts building one. Three things stand in the way of that, and none is negotiable by this repo alone:
views-faoapi#337is the issue that would do the extraction, and it is gated on "D8 answered yes" — which is this issue. The two are one decision from opposite sides.views-pipeline-core#339— the Appwrite eviction epic — is actively shrinking pipeline-core's client from 26 operations toward ~8, and its Phases 3–4 describe moving it behind an injected port. Extracting today would extract the pre-shrink surface: 4,609 lines instead of what remains after.The decision, now stated as it actually stands
Three options. One must be chosen and recorded; drifting is not one of them.
A — Honour it now. Open the extraction against
views-faoapi#337. Cost: extracting a surface pipeline-core is mid-way through reducing, so the work is done twice.B — Amend the trigger. T1 was written when the platform had two copies and no eviction programme. Both premises have changed: there are three copies and a live programme shrinking one of them. Amending is legitimate. An honest amendment says "N=3 was the wrong threshold; the real trigger is pipeline-core#339 reaching Phase 3."
C — Defer behind a new named trigger. Most likely correct in substance, and only acceptable if the new trigger is named, not "later." The platform's own rule: a trigger-conditioned deferral is a decision; a vague one is a dodge.
What is not acceptable is silence. T1 fired. If nothing is recorded, the platform has a ratified trigger that fired and was ignored — which makes every other trigger on the platform worth less.
Recommendation from this seat
B or C, with the reason recorded — and this seat gains from that answer, which is why it is flagged rather than asserted. Extraction defers, so this repo stays parked and does no work. The argument for it is not that: it is that
views-pipeline-core#339is already doing the thing extraction was meant to achieve, on a better schedule, and pulling 4,609 lines out mid-reduction would duplicate that effort.Acceptance criteria
README.md's Decision Log recording that T1 fired, on what date, and on what evidence (N=3, crafdapi's 4 client files)Dependencies
Original issue text, as filed 2026-08-01 — kept because the framing error is the point
The issue was titled "decide what that means before it happens, not after" and argued T1 was imminent. It was filed one day before the clone was cut, and the decision it asked for was not made in that window. That is the ordinary way a preventive decision becomes a retrospective one, and it is worth leaving visible rather than editing away.