autonomic-bot
1b8d26b504
feat(2w): W0.2 live-warm keycloak dep mode in orchestrator (WC1)
- runner/harness/warm.py: stable-domain scheme (warm-<recipe>), is_warm_up
probe, live_app_hexes scan, per-run realm_for naming, reap_orphan_realms.
- run_recipe_ci.py: split declared deps into live-warm (shared provider +
per-run realm, no deploy, realm deleted at teardown) vs cold (co-deploy).
Warm path used only when provider is up; cold fallback otherwise. Reap
orphan realms at run start (concurrency-safe). deploy-count excludes warm
deps. Realm naming now per-run namespaced (<parent>-<6hex>).
- dependent tests assert the namespaced realm pattern (stronger than ==parent).
Live proof on warm keycloak: realm create -> password-grant JWT -> discovery
issuer -> delete(idempotent) -> reap(keeps live hex, deletes orphan): PASS.
43 unit pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-28 23:26:02 +01:00
..
2026-05-28 03:12:04 +01:00
2026-05-28 16:28:45 +01:00
2026-05-28 10:19:44 +01:00
2026-05-28 07:46:34 +01:00
2026-05-28 00:19:48 +01:00
2026-05-28 17:23:40 +01:00
2026-05-28 07:46:34 +01:00
2026-05-28 23:26:02 +01:00
2026-05-28 23:26:02 +01:00
2026-05-28 15:54:42 +01:00
2026-05-28 07:46:34 +01:00
2026-05-28 17:39:36 +01:00
2026-05-28 23:16:48 +01:00
2026-05-28 17:25:25 +01:00
2026-05-28 21:25:27 +01:00
2026-05-28 02:55:58 +01:00