hive-c0re: drop the remaining "mirror" wording for the removed push
The reseed bail text, the `ensure_all` doc, the forge module doc and a rebuild comment still described hive-c0re mirroring the applied config to `agent-configs/<name>`. State what the code does now; scope the config-changes doc to swarm-created agents and say what a legacy agent whose repo has no `main` gets. Refs #4851
This commit is contained in:
parent
456a4511ab
commit
c8472966e9
4 changed files with 26 additions and 20 deletions
|
|
@ -29,7 +29,7 @@ No MCP tool exists for config changes: opening the PR IS the request.
|
|||
(it's currently mounted read-write, which is a defect tracked
|
||||
separately, not an authoring path.)
|
||||
Branch protection (the agent isn't on the `main` push allowlist;
|
||||
merge and approvals allowlist = `operators` team; see "Forge mirror"
|
||||
merge and approvals allowlist = `operators` team; see "Forge config repos"
|
||||
below) makes the agent a write collaborator that **can't merge its own
|
||||
config PR**.
|
||||
2. An operator reviews the PR **on the forge** (native diff, threaded
|
||||
|
|
@ -204,16 +204,22 @@ forge and meta's lock commits record it. A config PR nobody merges
|
|||
carries no extra state on the forge side: the PR stays open, and
|
||||
the submitter pushes again (or closes it) to retry.
|
||||
|
||||
### Forge mirror
|
||||
### Forge config repos
|
||||
|
||||
The bundled `hive-forge` container runs on the swarm's forge host
|
||||
(`deploy.forgejo.enable`, see [`../swarm/services.md`](../swarm/services.md)).
|
||||
Every agent has a repo in the private `agent-configs` Forgejo org, created
|
||||
and seeded by swarm-controller. hive-c0re pushes nothing to it: the
|
||||
applied repo's tags (`deployed/0`) exist only locally, and forge `main`
|
||||
advances only by an operator's merge. hive-c0re
|
||||
reads from it — reseeding a purged `applied`, catching `applied` up, and
|
||||
seeding `proposed` at first spawn.
|
||||
Every agent created through the swarm has a repo in the private
|
||||
`agent-configs` Forgejo org, created and seeded by swarm-controller.
|
||||
hive-c0re pushes nothing to it: the applied repo's tags (`deployed/0`)
|
||||
exist only locally, and forge `main` advances only by an operator's merge.
|
||||
hive-c0re reads from it — reseeding a purged `applied`
|
||||
(`forge::fetch_config_main_into_applied`), catching `applied` up, and
|
||||
seeding `proposed` at first spawn (`forge::clone_config_into_proposed`).
|
||||
|
||||
A legacy agent spawned by the hive alone has no swarm-seeded repo; if its
|
||||
`agent-configs/<name>` has no `main`, a first spawn falls back to the local
|
||||
template, and reseeding a purged `applied` fails with a `destroy --purge`
|
||||
and re-spawn instruction.
|
||||
|
||||
Each agent is a **write collaborator on its own** `agent-configs/<name>`
|
||||
repo — so it can push a branch and open a config PR — but not a member
|
||||
|
|
|
|||
Loading…
Reference in a new issue