diff --git a/.custodian-brief.md b/.custodian-brief.md index b5c9c93..b4a777a 100644 --- a/.custodian-brief.md +++ b/.custodian-brief.md @@ -1,12 +1,15 @@ # Custodian Brief — the-custodian -**Domain:** custodian +**Domain:** railiance **Last synced:** 2026-03-27 00:05 UTC **State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)* ## Active Workstreams +### Cross-Repo E2E Sandbox Framework +Progress: 7/7 done | workstream_id: `b68de20b-e397-4f97-b1be-ad30711fc2a6` + ### FOS Hub Bootstrap — Identity, Hub Extraction, Ops Hub, Fin Hub Progress: 0/26 done | workstream_id: `293a74fe-a85a-4ad6-8933-23d52a72fe8b` @@ -61,6 +64,6 @@ Progress: 0/9 done | workstream_id: `9cc32158-2f5c-4ef6-9713-aacce4623d5e` ## MCP Orientation (when available) If the state-hub MCP server is reachable, call: -`get_domain_summary("custodian")` +`get_domain_summary("railiance")` This provides richer cross-domain context. If the MCP call fails, use this file as your orientation source. diff --git a/Makefile b/Makefile index aeb0d3f..97ca4c5 100644 --- a/Makefile +++ b/Makefile @@ -44,6 +44,41 @@ else E2E_WS_FLAG := endif +## Install e2e cron job on railiance01 for a repo. +## Usage: make e2e-cron-install REPO=activity-core +## Requires: RAILIANCE01_HOST / RAILIANCE01_USER set, or pass HOST= SSHUSER= +## The cron runs e2e/run-on-host.sh weekly (Sunday 03:13) on railiance01. +## Idempotent: safe to re-run (replaces existing entry for the same repo). + +RAILIANCE_HOST := $(or $(HOST),$(RAILIANCE01_HOST),92.205.62.239) +RAILIANCE_USER := $(or $(SSHUSER),$(RAILIANCE01_USER),tegwick) +RAILIANCE_SSH := ssh -o StrictHostKeyChecking=no $(RAILIANCE_USER)@$(RAILIANCE_HOST) + +.PHONY: e2e-cron-install +e2e-cron-install: + @test -n "$(REPO)" || (echo "ERROR: REPO is required."; exit 1) + $(eval REMOTE_REPO := /home/$(RAILIANCE_USER)/$(REPO)) + $(eval CRON_CMD := $(REMOTE_REPO)/e2e/run-on-host.sh >> /var/log/$(REPO)-e2e.log 2>&1) + $(eval CRON_LINE := 13 3 * * 0 $(CRON_CMD)) + @echo "Installing cron on $(RAILIANCE_USER)@$(RAILIANCE_HOST) for $(REPO)..." + @$(RAILIANCE_SSH) "chmod +x $(REMOTE_REPO)/e2e/run-on-host.sh && \ + ( crontab -l 2>/dev/null | grep -v '$(REPO)-e2e' ; echo '$(CRON_LINE)' ) | crontab - && \ + echo 'Cron installed:' && crontab -l | grep '$(REPO)-e2e'" + +## Remove e2e cron job from railiance01 for a repo. +## Usage: make e2e-cron-remove REPO=activity-core + +.PHONY: e2e-cron-remove +e2e-cron-remove: + @test -n "$(REPO)" || (echo "ERROR: REPO is required."; exit 1) + @$(RAILIANCE_SSH) "( crontab -l 2>/dev/null | grep -v '$(REPO)-e2e' ) | crontab - && echo 'Cron entry removed'" + +## List e2e cron jobs on railiance01. + +.PHONY: e2e-cron-list +e2e-cron-list: + @$(RAILIANCE_SSH) "crontab -l 2>/dev/null | grep 'e2e' || echo '(no e2e cron entries)'" + .PHONY: e2e e2e: @test -n "$(REPO)" || (echo "ERROR: REPO is required. Usage: make e2e REPO=activity-core"; exit 1)