# Main pushes publish through the existing CI

Status: Accepted. Date: 2026-09-30. Card t_94bcd252. Decided in `volter-ai/twin`, whose
runs and versions it cites; this repository carries the same publisher.

The owner's card instructs source pushes to main with CI publication. Its
publication update explicitly requests that this arc correct Twin's stale
instructions to describe the publisher as it runs. This records that existing
mechanism; it adds no workflow, credential or new release authority.

The repository already has a main-push publisher. It detects changes to public
package directories, carries exact-pinned/workspace consumers, increments patch
versions, builds/packs missing versions, publishes their tarballs and pushes
the version stamp. Runtime source 7a4c7ebc9 passed run 36708997196; ee7e234e2
passed run 36714347950 and published runtime 2.0.26, World CLI 2.0.28 and
world-host 2.0.25. These are different patch versions, despite the changesets
configuration's proposed fixed-platform group.

CONTRIBUTING.md owns the actual publication procedure and its evidence limits.
AGENTS.md points there. The statement that there is no CI merge gate remains
true; it never meant there is no CI release job. Changesets retain version
intent for a separately selected manual train, not a gate on normal main pushes.
The proposed major train keeps its owner-held scope and timing, without the
false claim that the public World package does not exist.

An authorized main push triggers configured publication. Resolve an explicit
publication hold before pushing; there is no approval step inside the existing
workflow. Repository tokens remain secrets. Upload/build success establishes
no application behavior; source identity, availability and the independent
workflow observations remain distinct evidence.
