ops-agent: max2-drift-baseline gelijktrekken met live #56

Merged
janpeter merged 1 commit from claude/max2-baseline-resync into master 2026-07-10 16:51:44 +02:00
Owner

De drift-detector op max2 (ops-agent-drift.timer, dagelijks 00:03) meldde vier hunks. Alle vier zijn bedoelde live-wijzigingen die nooit zijn teruggeschreven.

bestand reden
flows/redeploy_all_workers.yml live-only — de atomaire MCP-rollout
flows/update_operator_mcp.yml live-only
commands.yml mist update_operator_mcp
flows/redeploy_scraper.yml in baseline, bewust uit live gehaald

Waarom redeploy_scraper weg is

De bind-mount-migratie van 2026-07-10 zette scraper van het named volume scraper_scraper_data op /srv/apps/motherless-scrapper/data. Die wijziging staat alleen in de live compose-file: de deploy-repo heet niet meer MotherlessScrapper (301 naar janpeter/SiteScraper) en die repo is gearchiveerd, dus pushen en PR's zijn geblokkeerd.

redeploy_scraper doet git_fetchgit_reset_origin_maincompose_up_scraper. Dat zou de bind-mount wegvagen en de container terug op het oude volume zetten: een stille data-rollback. Op instructie van JP is de flow uitgeschakeld (redeploy_scraper.yml.bak.20260710-134941), met de voorwaarde om hem terug te zetten in /etc/ops-agent/flows/redeploy_scraper.DISABLED.md.

Verificatie

commands.yml is verbatim van live overgenomen. De zes overige flows waren al byte-identiek aan live — per bestand met diff gecontroleerd. Na deze merge moet de deploy-clone /srv/scrum4me/repos/scrum4me-docker nog een git pull krijgen voordat de detector stil wordt; hij leest de baseline uit die working tree.

De drift-detector op max2 (`ops-agent-drift.timer`, dagelijks 00:03) meldde vier hunks. Alle vier zijn bedoelde live-wijzigingen die nooit zijn teruggeschreven. | bestand | reden | |---|---| | `flows/redeploy_all_workers.yml` | live-only — de atomaire MCP-rollout | | `flows/update_operator_mcp.yml` | live-only | | `commands.yml` | mist `update_operator_mcp` | | `flows/redeploy_scraper.yml` | in baseline, bewust uit live gehaald | ## Waarom `redeploy_scraper` weg is De bind-mount-migratie van 2026-07-10 zette `scraper` van het named volume `scraper_scraper_data` op `/srv/apps/motherless-scrapper/data`. Die wijziging staat alleen in de **live** compose-file: de deploy-repo heet niet meer `MotherlessScrapper` (301 naar `janpeter/SiteScraper`) en die repo is **gearchiveerd**, dus pushen en PR's zijn geblokkeerd. `redeploy_scraper` doet `git_fetch` → `git_reset_origin_main` → `compose_up_scraper`. Dat zou de bind-mount wegvagen en de container terug op het oude volume zetten: een stille data-rollback. Op instructie van JP is de flow uitgeschakeld (`redeploy_scraper.yml.bak.20260710-134941`), met de voorwaarde om hem terug te zetten in `/etc/ops-agent/flows/redeploy_scraper.DISABLED.md`. ## Verificatie `commands.yml` is verbatim van live overgenomen. De zes overige flows waren al byte-identiek aan live — per bestand met `diff` gecontroleerd. Na deze merge moet de deploy-clone `/srv/scrum4me/repos/scrum4me-docker` nog een `git pull` krijgen voordat de detector stil wordt; hij leest de baseline uit die working tree.
ops-agent: max2-drift-baseline gelijktrekken met live
All checks were successful
CI / Compose config (pull_request) Successful in 3s
CI / Docker build (pull_request) Successful in 5s
55cfadd33f
De detector meldde vier hunks. Alle vier zijn bedoelde live-wijzigingen die nooit
zijn teruggeschreven naar de baseline:

- `flows/redeploy_all_workers.yml` — live-only. De atomaire MCP-rollout die
  redeploy_workers + redeploy_codex_worker vervangt.
- `flows/update_operator_mcp.yml` + het bijbehorende `update_operator_mcp`-commando
  — live-only.
- `flows/redeploy_scraper.yml` — op 2026-07-10 bewust uit live gehaald. De
  scraper-bind-mount staat alleen in de live compose-file; zijn deploy-repo
  (`janpeter/SiteScraper`) is gearchiveerd, dus de wijziging kan niet upstream.
  De flow doet `git reset --hard origin/main` en zou de bind-mount wegvagen,
  waarna de container op het oude named volume zou herstarten. Uitleg staat in
  `/etc/ops-agent/flows/redeploy_scraper.DISABLED.md`.

`commands.yml` is verbatim van live overgenomen; het enige verschil was het
ontbrekende `update_operator_mcp`-commando. De zes overige flows waren al
byte-identiek — gecontroleerd met `diff` per bestand.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
s4m-codex-reviewer left a comment

Verdict: APPROVED

Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

Findings

Geen blokkerende of error-severity findings gevonden.

Review

De diff is beperkt tot de deploy/max2-workflows/ops-agent/baseline configuratie. De nieuwe update_operator_mcp command en flow zijn expliciet beschreven, fail-fast geconfigureerd en benoemen correct dat MCP-restart/reconnect handmatig blijft. De nieuwe redeploy_all_workers flow bouwt beide worker-images vóór recreatie, waardoor het operationele risico bij build-falen beperkt blijft. De verwijdering van redeploy_scraper.yml past binnen de PR-scope om de max2 baseline met live gelijk te trekken; er is geen productdocument gevonden dat deze flow verplicht stelt.

Tests zijn voor deze declaratieve ops-config niet van toepassing in de diff zelf; er ontbreken geen evidente noodzakelijke test- of docwijzigingen.

# Verdict: APPROVED Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden. ## Findings Geen blokkerende of error-severity findings gevonden. ## Review De diff is beperkt tot de `deploy/max2-workflows/ops-agent/baseline` configuratie. De nieuwe `update_operator_mcp` command en flow zijn expliciet beschreven, fail-fast geconfigureerd en benoemen correct dat MCP-restart/reconnect handmatig blijft. De nieuwe `redeploy_all_workers` flow bouwt beide worker-images vóór recreatie, waardoor het operationele risico bij build-falen beperkt blijft. De verwijdering van `redeploy_scraper.yml` past binnen de PR-scope om de max2 baseline met live gelijk te trekken; er is geen productdocument gevonden dat deze flow verplicht stelt. Tests zijn voor deze declaratieve ops-config niet van toepassing in de diff zelf; er ontbreken geen evidente noodzakelijke test- of docwijzigingen.
janpeter merged commit 5c8ae13da7 into master 2026-07-10 16:51:44 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-docker!56
No description provided.