Skip to content

chore(agents): un-suspend mctl-agents-shepherd cron - #617

Merged
mashkovd merged 1 commit into
mainfrom
chore/unsuspend-agents-shepherd-cron
Jul 24, 2026
Merged

mashkovd merged 1 commit into
mainfrom
chore/unsuspend-agents-shepherd-cron

Conversation

@mashkovd

Copy link
Copy Markdown
Member

What changed

  • Flip suspend: true → false on the mctl-agents-shepherd CronWorkflow.
  • Replace the TEMP spend-cap comment with a note on how the reset was verified.

Why

mctl-gitops#611 suspended implement/incidents/issue-poll/shepherd on 2026-07-20 after the org-wide Claude spend cap escalated to a 7-day rate-limit window, resetting 2026-07-24T03:00:00Z. This PR re-enables shepherd only, per operator request, after confirming the reset held.

Verification

Two manual mctl_trigger_shepherd probes today (2026-07-25):

  • Dry-run sweep (no service/slug filter) — completed Succeeded.
  • Real (non-dry-run) single-slug trigger on mctl-gitops/incident-17841222 — completed Succeeded on the primary OAuth token, shepherd-fallback step Skipped (never needed), no workflow_failed incident raised.

No RateLimitEvent/429 observed in either run. implement/incidents/issue-poll remain suspended — out of scope for this PR.

Spend cap reset at 2026-07-24T03:00:00Z has held: dry-run + a real
single-slug shepherd probe both completed Succeeded on the primary
OAuth token with no fallback and no workflow_failed incident.
@mashkovd

Copy link
Copy Markdown
Member Author

@claude review

@claude

claude Bot commented Jul 24, 2026 •

Copy link
Copy Markdown

Claude finished @mashkovd's task in 40s —— View job


PR Review: chore(agents): un-suspend mctl-agents-shepherd cron

Status: ✅ APPROVED (trivial config change)


Analysis

This PR makes two changes to cronworkflow-mctl-agents-shepherd.yaml:

  1. Config change: Flip suspend: true → suspend: false (line 64)
  2. Comment update: Replace the TEMP spend-cap suspension note with a verification note (lines 56–63)

Classification: Trivial (config value + documentation update)

Verification provided in PR body:

  • Two manual mctl_trigger_shepherd probes on 2026-07-25 (after the 2026-07-24T03:00:00Z reset)
  • Dry-run sweep: Succeeded
  • Real single-slug trigger on mctl-gitops/incident-17841222: Succeeded with primary OAuth token
  • Shepherd-fallback: Skipped (never needed)
  • No workflow_failed incident raised
  • No RateLimitEvent/429 observed

Correctness checks:

  • ✅ CronWorkflow spec is valid YAML
  • ✅ suspend: false is correct boolean syntax
  • ✅ workflowTemplateRef to mctl-agents-shepherd (ClusterWorkflowTemplate) is valid
  • ✅ Comments document the decision and link to memory for future reference
  • ✅ No RBAC, security, or operational safety concerns

Verdict: No P1/P2 findings. Ready to merge.


@claude

claude Bot commented Jul 24, 2026 •

Copy link
Copy Markdown

Claude finished @mashkovd's task in 37s —— View job


PR Review: chore(agents): un-suspend mctl-agents-shepherd cron

Status: ✅ Approved

Changes Reviewed

  • Flipped suspend: true → suspend: false on CronWorkflow mctl-agents-shepherd
  • Replaced TEMP spend-cap suspension comment with verification notes documenting:
    • Two successful manual probe runs (dry-run sweep + real single-slug trigger)
    • No RateLimitEvent/429 errors observed
    • Proper OAuth token and fallback behavior

Review Findings

  • ✅ Correctness: CronWorkflow spec is valid; suspend flag correctly flipped
  • ✅ YAML Syntax: 2-space indentation, no formatting issues
  • ✅ Security: No secrets, no RBAC/permission changes
  • ✅ Documentation: Comment clearly explains re-unsuspension and verification
  • ✅ Operational Safety: No impact on schedule, concurrency policy, or mutex contention

Verdict: Trivial config-only change per CLAUDE.md conventions. Safe to merge.

--- | Branch

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trivial config change: unsuspend shepherd CronWorkflow after spend-cap reset verified. No P1/P2 findings.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Config-only change: re-enable suspended cron after spend-cap reset verification. Good to merge.

@mashkovd
mashkovd merged commit 8a487be into main Jul 24, 2026
10 checks passed
@mashkovd
mashkovd deleted the chore/unsuspend-agents-shepherd-cron branch August 8, 2026 11:49
mashkovd added a commit that referenced this pull request Sep 12, 2026
… Slice 1

Turns on MCP_HEADER_PROBE for the Phase 3 correlation measurement
(mctlhq/mctl-telegram#617 Slice 1, mctlhq/.github#35). The probe logs one
sanitized line per request to MCP_PATH -- the complete set of arriving header
names plus sanitized values -- so the measurement can state which request
identifiers actually reach the tg.mctl.ai ingress from the Cloudflare Portal,
and whether they are stable across calls. Phase 2 established that Gateway
supplies no tool-level evidence, so this has to be measured mctl-side rather
than assumed from Cf-Ray.

Secrets collapse to [redacted len=N fp=hmac], client addresses are masked per
hop, and the request body is never read. Requires 0.65.0; earlier images ignore
the key.

The fingerprint key is per process, so fingerprints compare only within one
pod. replicaCount is 1 and the strategy is Recreate, so the window already
lands on a single process -- the comment says not to scale up while the flag is
true.

This key is removed again in the same pass that deletes the middleware, once
the header table is posted on #617.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01986LBvdeTxnByHZtuzGAeK
mashkovd added a commit that referenced this pull request Sep 12, 2026
… Slice 1

Turns on MCP_HEADER_PROBE for the Phase 3 correlation measurement
(mctlhq/mctl-telegram#617 Slice 1, mctlhq/.github#35). The probe logs one
sanitized line per request to MCP_PATH -- the complete set of arriving header
names plus sanitized values -- so the measurement can state which request
identifiers actually reach the tg.mctl.ai ingress from the Cloudflare Portal,
and whether they are stable across calls. Phase 2 established that Gateway
supplies no tool-level evidence, so this is measured mctl-side rather than
assumed from Cf-Ray.

Secrets collapse to [redacted len=N fp=hmac], client addresses are masked per
hop, and the request body is never read. Requires 0.65.0; earlier images ignore
the key.

The fingerprint key is per process, so fingerprints compare only within one
pod. replicaCount is 1 and the strategy is Recreate, so the window already
lands on a single process -- the comment says not to scale up while the flag is
true.

This key is removed again in the same pass that deletes the middleware, once
the header table is posted on #617.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01986LBvdeTxnByHZtuzGAeK
mashkovd added a commit that referenced this pull request Sep 12, 2026
…probe

feat(mctl-telegram): enable the temporary inbound-header probe for #617 Slice 1
mashkovd added a commit that referenced this pull request Sep 18, 2026
fix(proposal): align #617 with shipped correlation baseline
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant