Package rmgr into the worker image and prepare owner-return/freshness rollout (memo 2, memo 3)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 2m13s

Install repo-manager e77f8b4 from its own uv.lock into an isolated venv in
the builder stage (commit identity asserted via git), copy it into the
runtime image and set ACTIVITY_CORE_RMGR_BIN. Add a pin test and the
founder-executed rollout package (Argo CD manifest diff, PVC, token route
blocker, trial runbooks). Nothing deployed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 692292@bnt-lap001
Assistant-Session: 89c7d8e8-e1b3-47eb-9411-a0ab227fca2f
This commit is contained in:
tegwick 2026-10-04 15:52:10 +02:00
parent b6222af2cf
commit 34d1dc575c
3 changed files with 564 additions and 0 deletions

View file

@ -85,3 +85,14 @@ def test_retention_projection_is_pinned_and_mounted(tmp_path):
assert any(m.get('subPath')=='forgejo_package_prune.py' and m['readOnly'] is True for m in mounts)
source.write_text('tampered')
with pytest.raises(ValueError):renderer.verify_platform(source)
def test_repo_manager_cli_is_pinned_and_isolated():
# RMGR-WP-0020-T04: rmgr enters the worker from repo-manager's own lock at the
# founder-reviewed commit, in its own venv, and is the code-fixed executable.
text=(ROOT/'Dockerfile').read_text()
assert 'ARG REPO_MANAGER_COMMIT=e77f8b457647ff23697e45a74615edde5f42d39d' in text
assert 'rev-parse HEAD)" = "${REPO_MANAGER_COMMIT}"' in text
assert 'uv sync --no-dev --frozen --no-editable' in text
assert 'COPY --from=builder /opt/repo-manager/.venv /opt/repo-manager/.venv' in text
assert 'ENV ACTIVITY_CORE_RMGR_BIN="/opt/repo-manager/.venv/bin/rmgr"' in text