ACTIVITY-WP-0044: disabled repo-manager-bounded-freshness draft (RMGR-WP-0020-T03)
Register bounded operation repo_manager_freshness (single attempt, 300 s, code-fixed 'rmgr freshness run --limit N --max-seconds S [--dry-run]') and add the disabled cron definition (40 */2 * * * UTC, limit 6, max_seconds 240). 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:
parent
c6df768ef0
commit
ba4ef00128
9 changed files with 449 additions and 2 deletions
63
activity-definitions/repo-manager-bounded-freshness.md
Normal file
63
activity-definitions/repo-manager-bounded-freshness.md
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
---
|
||||
id: repo-manager-bounded-freshness
|
||||
name: Repo Manager Bounded Freshness
|
||||
type: activity-definition
|
||||
version: "0.1"
|
||||
enabled: false
|
||||
owner: repo-manager
|
||||
governance: custodian
|
||||
status: proposed
|
||||
trigger:
|
||||
type: cron
|
||||
cron_expression: "40 */2 * * *"
|
||||
timezone: UTC
|
||||
misfire_policy: skip
|
||||
context_sources:
|
||||
- type: repo-manager
|
||||
query: freshness_run
|
||||
operation: repo_manager_freshness
|
||||
required: true
|
||||
params:
|
||||
limit: 6
|
||||
max_seconds: 240
|
||||
apply: true
|
||||
bind_to: context.freshness
|
||||
---
|
||||
|
||||
# Repo Manager Bounded Freshness
|
||||
|
||||
Draft from RMGR-WP-0020-T03, tracked in ACTIVITY-WP-0044. **Not activated.**
|
||||
`enabled: false` prevents any Temporal schedule; the founder flips it only after
|
||||
the RMGR-WP-0020-T04 activation steps and T05 proof.
|
||||
|
||||
Each fire runs one bounded operation `repo_manager_freshness`
|
||||
(ACT-ADR-007 registry), which invokes the Repo Manager CLI with a code-fixed argv:
|
||||
|
||||
```text
|
||||
rmgr freshness run --limit 6 --max-seconds 240
|
||||
```
|
||||
|
||||
(`--dry-run` is appended when `apply: false`.) Repo Manager owns repository
|
||||
selection, Forge HEAD resolution, reconciliation from immutable Forge commits
|
||||
and the durable `repo-manager.freshness-receipt.v1` receipts. Activity Core
|
||||
persists only a counted projection (receipt count per outcome, exit code).
|
||||
|
||||
- Every 2 h at :40 UTC; 141 repositories / 6 per fire x 12 fires/day is about a
|
||||
two-day rotation. Target SLA once enabled: every admissible repository has a
|
||||
receipt younger than 48 h.
|
||||
- Single Temporal attempt, timeout 300 s (240 s CLI budget + grace); misfires
|
||||
are skipped, never replayed.
|
||||
- No workstation checkout reads (ADR-002), no legacy `--all --remote` sweep, no
|
||||
`for_each` task spawning; the rule below never emits tasks.
|
||||
|
||||
Rollback: set `enabled: false` (or `status: paused`).
|
||||
|
||||
```rule
|
||||
id: repo-manager-bounded-freshness-no-tasks
|
||||
condition: "False"
|
||||
action:
|
||||
task_template: Repo Manager freshness (operation-only; never rule-emitted)
|
||||
description: The bounded operation does the work; this rule never emits tasks.
|
||||
priority: low
|
||||
labels: ["automated", "freshness"]
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue