fix(health-74): re-baseline 7 stale template-drift allowlist entries - #2397
Conversation
📝 WalkthroughWalkthroughUpdates ChangesHealth 74 Template-Drift Allowlist Reason Rebaseline
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Automated Status SummaryHead SHA: 617e65b
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeWhatP2b of the Dependabot→Renovate fleet migration: get the consumer fleet onto the shared preset (not generic Mend onboarding configs), and make the agent CI renovate[bot]-aware. DistributionContext for AgentRelated Issues/PRsTasks
Acceptance criteria
|
There was a problem hiding this comment.
Pull request overview
This PR restores Health 74 (Template Drift) to green by re-baselining (refreshing) stale allowlist fingerprints for intentional drift between selected root agents-*.yml workflows and their templates/consumer-repo/ counterparts, without changing any workflow/template content.
Changes:
- Refreshed
main_sha256/template_sha256fingerprints for 7 allowlisted workflow pairs whose normalized content changed since the last baseline. - Replaced generic “reviewed baseline drift” reasons with per-entry rationale documenting intentional divergence.
- Added a dated header note describing why these entries were re-baselined instead of aligned.
| # The divergence is intentional, not a missing consumer improvement: consumer | ||
| # template workflows SHA-pin third-party actions per the fleet action-pin contract | ||
| # (docs/HISTORY.md, PR #1925) and carry LangSmith tracing env, while the root | ||
| # Workflows-repo copies use floating major tags plus repo-internal concurrency + |
| reason = Existing reviewed baseline drift; align the template or update this fingerprint deliberately. | ||
| main_sha256 = 4dacff89dfef1ffadcd1e3d781aa8cc82bafa6433e3f0d65208f4576ffefe6bd | ||
| template_sha256 = b6e4ff7bef753216bde90ccd4cc6e505b02a02df7be8b5aaa7e191077a1335d6 | ||
| reason = Intentional divergence (re-baselined 2026-06-14): consumer template SHA-pins third-party actions per the fleet action-pin contract (docs/HISTORY.md, PR #1925) and sets LangSmith tracing env; root uses floating major tags with repo-internal concurrency + sparse-checkout (docs/fixes/sparse-checkout-audit-2026-02-03.csv). Fingerprints refreshed after #2391/#2394 bumps. Do not align: would strip consumer action pins. |
| reason = Existing reviewed baseline drift; align the template or update this fingerprint deliberately. | ||
| main_sha256 = 1448fe5a8c98cb7383bddf375eea1e39c4ad293cd35011634755b77783afff1a | ||
| template_sha256 = 0687139513b4b148b1a792a652bdd55e13eef88fc661659f597c2506d967a7e7 | ||
| reason = Intentional divergence (re-baselined 2026-06-14): consumer template SHA-pins third-party actions per the fleet action-pin contract (docs/HISTORY.md, PR #1925) and sets LangSmith tracing env; root uses floating major tags with repo-internal concurrency + sparse-checkout (docs/fixes/sparse-checkout-audit-2026-02-03.csv). Fingerprints refreshed after #2391/#2394 bumps. Do not align: would strip consumer action pins. |
| reason = Existing reviewed baseline drift; align the template or update this fingerprint deliberately. | ||
| main_sha256 = 66e1b7a23c0178d558c0e88f1c75de00f228d2eda23e7bb9c744a6fd909aaf5f | ||
| template_sha256 = d64c0ed82527ed7aea9a85aa163659baa55d118a17a984b00cbb28fb18afe2dd | ||
| reason = Intentional divergence (re-baselined 2026-06-14): consumer template SHA-pins third-party actions per the fleet action-pin contract (docs/HISTORY.md, PR #1925) and sets LangSmith tracing env; root uses floating major tags with repo-internal concurrency + sparse-checkout (docs/fixes/sparse-checkout-audit-2026-02-03.csv). Fingerprints refreshed after #2391/#2394 bumps. Do not align: would strip consumer action pins. |
| reason = Existing reviewed baseline drift; align the template or update this fingerprint deliberately. | ||
| main_sha256 = 77ad66407906ed124fa29f2933d4a73e116e1b220d8197e2fc0dc709395394c9 | ||
| template_sha256 = c015cde7332ececa95ce064a47761f319009ee7b4c7fecc44759d26a906b4abb | ||
| reason = Intentional divergence (re-baselined 2026-06-14): consumer template SHA-pins third-party actions per the fleet action-pin contract (docs/HISTORY.md, PR #1925) and sets LangSmith tracing env; root uses floating major tags with repo-internal concurrency + sparse-checkout (docs/fixes/sparse-checkout-audit-2026-02-03.csv). Fingerprints refreshed after #2391/#2394 bumps. Do not align: would strip consumer action pins. |
Health 74 "Check Template Drift" was RED on main: 7 of 15 allowlisted root->template workflow pairs had stale fingerprints, so they showed as unallowlisted drift (exit 1). They went stale after action-version bumps (#2391/#2394) and root feature work changed the normalized content of both sides without re-baselining. Each of the 7 was examined; all are intentional, bidirectional divergence rather than a missing consumer improvement: - consumer template workflows SHA-pin third-party actions per the fleet action-pin contract (docs/HISTORY.md, PR #1925) and carry LangSmith tracing env; - the root Workflows-repo copies use floating major tags plus repo-internal concurrency + sparse-checkout (docs/fixes/sparse-checkout-audit-2026-02-03.csv); - agents-63-issue-intake is additionally an alias-mapped Workflows-internal superset (~1.7k lines) vs the 216-line consumer intake template. Aligning the template to root would strip the contractually-required consumer action pins from all consumers, so the entries are re-baselined (fingerprints refreshed + documented reasons) rather than aligned. The 8 already-passing entries are untouched. Verified: scripts/check_template_drift.py --allowlist config/template-drift-allowlist.txt now reports 0 unallowlisted drift (15 allowlisted, 3 in sync), exit 0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> # Conflicts: # config/template-drift-allowlist.txt
387a838 to
a89dbc7
Compare
Closes #2394
Automated Status Summary
Scope
What
P2b of the Dependabot→Renovate fleet migration: get the consumer fleet onto the shared preset (not generic Mend onboarding configs), and make the agent CI renovate[bot]-aware.
Distribution
Context for Agent
Related Issues/PRs
Tasks
templates/consumer-repo/.github/renovate.json(new) — 2-line config extendinggithub>stranske/Workflows//renovate-presets/fleet.sync-manifest.yml—create_onlyentry somaint-68distributes it to consumers on the next sync. This is the point: consumers get the fleet preset (dev-tool exclusions owned byautofix-versions.env, grouped automerge-on-green, the vendored-minimatch cascade) instead of Renovate's genericconfig:recommendedonboarding — which would otherwise fightautofix-versions.envover ruff/black/etc.Acceptance criteria
agents-keepalive-loop.yml— the fingerprint step routesdependabot[bot]/renovate[bot]PRs to the existingshould_run=falsepath before the authenticated API calls that 403 on the restricted bot-PR token. This reaches an already-handled state early; normal (human/agent) PRs are untouched.maint-dependabot-auto-label.yml— also labelrenovate[bot]PRsagents:allow-change.keepalive-runner.js— addrenovatetoNON_ASSIGNABLE_LOGINS.sync_dependabot_campaign.js— campaign PR detector also matchesrenovate[bot]+renovate/branches (+ test), kept under thedependabotclassification for backward compat.Head SHA: a89dbc7
Latest Runs: ✅ success — Gate
Required: gate: ✅ success
Summary by CodeRabbit