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
Status: not started. This is the charter, not an implementation.
What exists today
One sentence, in one file, in the whole world.eclexia/.machine_readable/bot_directives/gitbot-fleet.a2ml:56:
"Roster identity (clarified 2026-06-20): 'sustainabot' here is the LOCAL gitbot-fleet dependency-update bot and the maintainer's dogfooded in-estate continuous application (good ideas flow sustainabot → ideas-to-alpha → git-logistics-office). It is distinct from oikosbot, the productised git App taken to the wider world; do not conflate or rename the two."
Searched exhaustively: full-tree grep -ril across /home/hyperpolymath/developer (all of it, including gists/, tools/, worktrees/, logs/); gh repo list on both orgs; gh search issues; and gh search codeacross the whole of GitHub — which returned exactly one hit, that same file. No repo, no issue, no note, no directory.
So: a clean slate, with one inherited constraint — it sits at stage 3 of a maturation pipeline and is explicitly distinct from oikosbot.
Ruling 2026-08-25 — it is the estate control plane
Owner ruling: git-logistics-office owns repo lifecycle, end to end. That is the gap the 2026-08-25 automation analysis actually found, and no existing system holds it.
Scope
Birth
Mint a repo from spine × variant pack, non-interactively.
The blocker here is documented and specific. rsr-template-repo/.github/settings.yml carries the post-mortem:
"just repo-init fills placeholders in repos minted by the scaffolder — but GitHub's 'Use this template' button copies the default branch verbatim and never runs just repo-init. Any placeholder left in a probot-managed file therefore reaches children unrendered."
It previously carried name: "{{REPO}}", so probot renamed the template to -REPO- on every push and the repo 404'd. The resolution was to push identity out of band: "just repo-initdeliberately runs NO gh commands."
So today: identity and visibility are manual operator actions, and scaffoldia — the designated composer — is 5% built with no gh repo create in it (see #634 child 4).
Enrollment
The step that does not exist at all. On birth, a repo must:
Today a repo created this morning joins none of these. It appears in no census, gets no mirror, has an unarmed gate, and carries no ruleset.
Life
Policy keeps landing. This is #633 — the merge loop, currently half-wired: observe.sh shipped (hyperpolymath/.git-private-farm#127, hyperpolymath/hypatia#721), actuate.sh deliberately held back pending a week of reviewed decision manifests.
Death
Archive or retire, and de-register from every downstream list. Today nothing does this, which is one reason the censuses disagree and why reposystem/repos.toml names repos that do not exist (#635 child 3).
What it must NOT be
The estate does not need a fourth overlapping tool. git-logistics-office orchestrates; it does not reimplement:
It calls
For
scaffoldia
mint
reposystem
census + the thread cross-repo runner
hypatia
detect
gitbot-fleet + .git-private-farm
act
oikosbot-estate
measure
standards
the policy it applies
If a capability already exists in one of those, git-logistics-office wires it — it does not grow its own copy. The estate has already paid for that mistake three times over in disagreeing censuses.
The productisation seam
The a2ml note places this as the outward stage of sustainabot → ideas-to-alpha → git-logistics-office, distinct from oikosbot. Stage 2 exists: ideas-to-alphas (the incubator; its GitHub repo is still named kategoria-pipeline pending a rename).
Build phase 1 as internal only — dogfood on the 418 repos — but design the interfaces so productisation does not require a rewrite. Do not build for external users yet.
⚠️ Prerequisite that is an owner decision, not a code change
A minting workflow performs unattended repository creation. That crosses the standing estate guardrail — standards/scripts/propagate-workflow-pins.sh states the principle plainly: "NEVER commits or pushes — that is the human's / bot's job (estate guardrail: no unattended mutations)."
The same tension already governs #633 child 1, where the owner ruled observe-only first after the 3,041-notification burst.
This charter does not assume that guardrail is waived. Phase 1 can be built entirely as workflow_dispatch with a human trigger, which delivers the enrollment guarantees without unattended creation. Full automation of birth needs an explicit ruling.
Suggested phasing
Enrollment first, not birth. The highest-value, lowest-risk piece: a workflow_dispatch that takes an existing repo and brings it into full compliance — census, baseline, ruleset, mirror. Immediately useful against the ~395 repos that are mirrored to no forge and the ~173 running unarmed gates.
Deliberately inverted from the obvious order. Birth is the glamorous end and the blocked one; enrollment is where the 418 existing repos actually live.
Horizon: the "one sentence in the world" claim rests on an exhaustive local grep -ril plus GitHub-wide gh search code. GitHub code search indexes default branches only, so a trace on an unmerged branch or in a private gist would not appear.
Status: not started. This is the charter, not an implementation.
What exists today
One sentence, in one file, in the whole world.
eclexia/.machine_readable/bot_directives/gitbot-fleet.a2ml:56:Searched exhaustively: full-tree
grep -rilacross/home/hyperpolymath/developer(all of it, includinggists/,tools/,worktrees/,logs/);gh repo liston both orgs;gh search issues; andgh search codeacross the whole of GitHub — which returned exactly one hit, that same file. No repo, no issue, no note, no directory.So: a clean slate, with one inherited constraint — it sits at stage 3 of a maturation pipeline and is explicitly distinct from
oikosbot.Ruling 2026-08-25 — it is the estate control plane
Owner ruling: git-logistics-office owns repo lifecycle, end to end. That is the gap the 2026-08-25 automation analysis actually found, and no existing system holds it.
Scope
Birth
Mint a repo from spine × variant pack, non-interactively.
The blocker here is documented and specific.
rsr-template-repo/.github/settings.ymlcarries the post-mortem:It previously carried
name: "{{REPO}}", so probot renamed the template to-REPO-on every push and the repo 404'd. The resolution was to push identity out of band: "just repo-initdeliberately runs NOghcommands."So today: identity and visibility are manual operator actions, and
scaffoldia— the designated composer — is 5% built with nogh repo createin it (see #634 child 4).Enrollment
The step that does not exist at all. On birth, a repo must:
.hypatia-baseline.json+apply-baseline.shseeded so its quality gate is armed rather than advisory ([umbrella] Estate control plane — close the automation loop (the last link was never connected) #633 child 4)hyperpolymathis a user account ([umbrella] Estate control plane — close the automation loop (the last link was never connected) #633 child 6)Today a repo created this morning joins none of these. It appears in no census, gets no mirror, has an unarmed gate, and carries no ruleset.
Life
Policy keeps landing. This is #633 — the merge loop, currently half-wired:
observe.shshipped (hyperpolymath/.git-private-farm#127, hyperpolymath/hypatia#721),actuate.shdeliberately held back pending a week of reviewed decision manifests.Death
Archive or retire, and de-register from every downstream list. Today nothing does this, which is one reason the censuses disagree and why
reposystem/repos.tomlnames repos that do not exist (#635 child 3).What it must NOT be
The estate does not need a fourth overlapping tool. git-logistics-office orchestrates; it does not reimplement:
scaffoldiareposystemthreadcross-repo runnerhypatiagitbot-fleet+.git-private-farmoikosbot-estatestandardsIf a capability already exists in one of those, git-logistics-office wires it — it does not grow its own copy. The estate has already paid for that mistake three times over in disagreeing censuses.
The productisation seam
The a2ml note places this as the outward stage of
sustainabot → ideas-to-alpha → git-logistics-office, distinct fromoikosbot. Stage 2 exists:ideas-to-alphas(the incubator; its GitHub repo is still namedkategoria-pipelinepending a rename).Build phase 1 as internal only — dogfood on the 418 repos — but design the interfaces so productisation does not require a rewrite. Do not build for external users yet.
A minting workflow performs unattended repository creation. That crosses the standing estate guardrail —
standards/scripts/propagate-workflow-pins.shstates the principle plainly: "NEVER commits or pushes — that is the human's / bot's job (estate guardrail: no unattended mutations)."The same tension already governs #633 child 1, where the owner ruled observe-only first after the 3,041-notification burst.
This charter does not assume that guardrail is waived. Phase 1 can be built entirely as
workflow_dispatchwith a human trigger, which delivers the enrollment guarantees without unattended creation. Full automation of birth needs an explicit ruling.Suggested phasing
workflow_dispatchthat takes an existing repo and brings it into full compliance — census, baseline, ruleset, mirror. Immediately useful against the ~395 repos that are mirrored to no forge and the ~173 running unarmed gates.scaffoldiais resolved ([umbrella] Template family rationalisation — variant packs, not variant repos (measured: 6-file delta) #634 child 4).Deliberately inverted from the obvious order. Birth is the glamorous end and the blocked one; enrollment is where the 418 existing repos actually live.
Related: #633 (control plane / merge loop) · #634 (template family + scaffoldia) · #635 (buried projects + registry phantoms)
Horizon: the "one sentence in the world" claim rests on an exhaustive local
grep -rilplus GitHub-widegh search code. GitHub code search indexes default branches only, so a trace on an unmerged branch or in a private gist would not appear.