Lift the nix2container reproducible=false layer-chain helper (duplicated
verbatim across ii-agent, ii-researcher, temporal-based-ci, mempalace image,
ComfyUI) into parity.lib.foldImageLayers so the rationale lives in one place.
Add nixfmt-rfc-style formatter and a foldImageLayers contract probe to the
smoke check. Bump fleet-pins input to current HEAD.
Implements the shared parity flake-module library so the ~51 parity repos
consume one source of truth instead of hand-inlined publish shells.
- lib.mk{PyPiWheel,S390xNpm,GenericBinary,Nix2Container,GoBinary,Helm}Publish
builders returning stage-<arch>/publish-<arch>/publish-index/publish/
push-staged apps per the corrected emmett#44 standard (build-parity stages to
./.parity-stage with no registry contact; publish dry-runs by default;
publish-index is build-free + fail-closed; :latest is the last digest copy).
- Shared ci/parity-lib.sh: token resolution ($REGISTRY_TOKEN + pass fallback,
never printed), dev-tag guard, version derivation, dry-run gate, preflight.
- pipeline-doctor package/app asserting the parity contract (cluster #193).
Refs cluster #192, #193, #194, emmett#44.