Skip to content

fix(automation): adopt current OIDC maintenance schedulers - #237

Draft
seonghobae wants to merge 58 commits into
fix/recovery-evidence-weakref-coverage-b84f0c9from
agent/hourly-maintenance-nim-boundary-v2
Draft

fix(automation): adopt current OIDC maintenance schedulers#237
seonghobae wants to merge 58 commits into
fix/recovery-evidence-weakref-coverage-b84f0c9from
agent/hourly-maintenance-nim-boundary-v2

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Test-first control-plane repair for #157 — ACTIVE DRAFT / EXPLICIT #233 CHILD

Protected pg-llm-batch/main remains exact b84f0c94154043a3473939c01bb6471de5a129ae. No source or documentation was written directly to protected main.

Exact stack boundary

  • base branch: fix/recovery-evidence-weakref-coverage-b84f0c9
  • exact base SHA: 5951b7a4d779903b8924abaef2a387cae50b7f54
  • head branch: agent/hourly-maintenance-nim-boundary-v2
  • exact head SHA: efe766e11743c56b154d06a2a4a63cc6539923c3
  • ancestry: ahead 57 / behind 0 from the exact predecessor
  • relative diff remains exactly:
    • .github/workflows/hourly-maintenance.yml
    • tests/test_hourly_maintenance_credential_boundary.py
    • tests/test_workflow_contracts.py

efe766e... is a non-destructive merge commit retaining both histories. It includes #233's focused weak-reference coverage regression as a merge parent so this workflow leaf can reacquire complete repository evidence without copying or owning that test. The #233 file is not part of this PR's relative diff.

Protected-main defect and RED → GREEN lineage

Protected main still configures the existing hourly workflow with cancel-in-progress: true, broad secrets: inherit, deprecated canonical_ref, and the older 5983b41... central scheduler identity. That combination can discard a live bounded RCA when the next heartbeat arrives and unnecessarily widens stored-secret authority.

  • 63c8bf35b834a5551c8ff65a9983cecea8a60806 established the failing contract: preserve hourly cadence without cancelling an in-flight execution; pin both reusable scheduler calls to one immutable reviewed central identity; remove canonical_ref; keep review-fix at {contents: read, id-token: write}; and forward no stored repository secret when central OIDC/App-token authority is sufficient.
  • 55e8a3661a06788943081dcf1c180d7565cd4599 applied the narrow repair: cancel-in-progress: false; both reusable workflows pinned to exact central c47afc2dc68488292c1db7c9d6f82dcd5360f181; canonical_ref and both secrets: inherit declarations removed; review-fix permissions reduced; merge-caller permissions remain explicit and bounded.
  • e3e6cc58c6334e5aac23881948e44084fb549db4 synchronized the permanent workflow contract test with that immutable scheduler identity and rejects recurrence of canonical_ref or broad secret inheritance.

The central pin is a reviewed historical central authority used by this Draft. Central .github is read-only from this pg loop; COPILOT_GITHUB_TOKEN, copied central logic, renamed PATs, and lower-level bypasses remain outside this repair. Before eventual integration, the final candidate must freshly verify that the pinned reusable-workflow contract is still permitted and semantically compatible with then-protected central governance rather than inferring that from historical ancestry.

Retained validation lineage adjudication

Fresh branch and commit evidence resolves the two historical validation refs that previously froze this contract-test lane:

  • validation/exact-head-pr88-20260812@ab78e4744a0709edfe9a45d28ec29b80a05771d5; and
  • validation/exact-head-pr88-run-20260812@ab78e4744a0709edfe9a45d28ec29b80a05771d5.

Both refs are aliases of the same historical commit ab78e474..., whose direct change is the structural exact-source workflow-contract test in tests/test_workflow_contracts.py. Fresh protected-main inspection shows that the same structural helpers and decoy-resistant field assertions are already implemented, with the later checkout credential-isolation assertion also present. Protected-main file history independently identifies merged PR #88 (fix(ci): bind verification to exact source heads) at merge commit 545334acfcc26f6bd93199ee14361fcb5cc1b82c; that merged authority explicitly includes test(ci): parse exact-source workflow fields structurally and test(ci): enforce checkout credential isolation.

Therefore these two validation refs are SUPERSEDED_RETAINED for the exact-source workflow-contract authority. They preserve historical validation provenance but are not current writer leases on tests/test_workflow_contracts.py; no ref is deleted, renamed, rebased, force-updated, or used to transfer historical checks/reviews.

This bounded adjudication removes only that false writer conflict. It does not prove the entire workflow surface globally writer-free. Before any future #237 source mutation, freshly inventory every then-current open/no-PR branch touching the three intended paths and freeze this lane if any other active writer appears. #237 itself remains the incumbent implementation lane and remains source-stable while predecessor #233 is unmerged.

Current workflow-evidence boundary

Historical workflow conclusions for unchanged stacked head efe766e11743c56b154d06a2a4a63cc6539923c3 include CI 32208125873, SAST Semgrep 32208125944, Release Acceptance 32208125956, and Security Scan 32208125997 as terminal-success, plus historical status/check evidence from the central review path. Those conclusions are retained evidence only.

This Draft is not represented as exact-final-head acquisition acceptance merely because the historical run metadata is green. Actual scanner checkout/source identity, then-live reusable-workflow authority, final protected base, review disposition, and all required gates must be reacquired on the eventual integration candidate. Fresh formal-review inventory remains empty; absence of review is not approval. The predecessor gate remains independent.

Dependency and integration boundary — refreshed 2026-08-30

#233 is the exact predecessor and must integrate first. The obsolete statement that #233 is still waiting for central exact-source Security/SAST repair is removed: #233 now has regenerated exact-contributor-head CI, Release Acceptance, Security Scan, SAST Semgrep, and bounded Strix evidence on unchanged 5951b7a4d779903b8924abaef2a387cae50b7f54. It nevertheless remains non-passing because the active same-head OpenCode CHANGES_REQUESTED has not been superseded and no qualifying approval exists under live governance.

Do not duplicate mutable central SHAs/runs/retry state here. Issue #244 is the sole pg-owned mutable control-plane ledger and must be freshly read before review/security/scheduler decisions. Keep this PR Draft while #233 is unmerged. The two historical PR #88 validation refs above no longer constitute a current writer blocker.

After #233 integrates, retarget this PR to then-current protected main, freshly inventory all intended-path writers again, reconcile its immutable reusable-workflow pins to a then-current reviewed/permitted central authority, prove the final diff remains bounded to the scheduler-contract surface, and reacquire every exact-final-head/current-base CI, security, coverage, package, provenance, release, review, and thread-resolution gate. Merge only with the qualifying non-author approval required by then-live policy.

Queued, pending, cancelled, skipped-required, absent, neutral, stale, predecessor, status-only, synthetic, author-only, rate-limited, infrastructure-failed, dismissed, or conclusion-null evidence is non-passing.

Refs #88, #157, #233, #244.

@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Non-destructively retain the hourly OIDC scheduler repair while including the dependency-root weakref coverage regression from exact #233 head 5951b7a. No scheduler product contract or protected-main content is changed by this branch-only merge.
@seonghobae
seonghobae changed the base branch from main to fix/recovery-evidence-weakref-coverage-b84f0c9 August 19, 2026 02:19
@opencode-agent opencode-agent Bot added area: auth Authentication, authorization, identity, or tenant isolation priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior labels Aug 22, 2026

Copy link
Copy Markdown
Contributor Author

Fresh writer-safety addendum — 2026-08-28

Before this pg write I re-read exact Draft #237 head efe766e11743c56b154d06a2a4a63cc6539923c3, exact predecessor #233 head 5951b7a4d779903b8924abaef2a387cae50b7f54, current protected main@b84f0c94154043a3473939c01bb6471de5a129ae, current review state (no formal reviews), and the retained overlapping v1 ref.

The existing writer boundary in this PR names the two retained PR #88 validation refs, but fresh branch/provenance comparison establishes one additional overlapping source lineage that must be included in every future lease check:

Therefore treat the v1 ref as ACTIVE_WRITER evidence for lane-safety purposes, consistent with #316's fresh lifecycle adjudication. This does not make v1 current implementation authority and does not authorize deletion, rename, force-update, destructive rebase, cherry-pick, or transfer of stale checks/reviews.

Updated source-freeze contract

Before any further #237 source mutation, freshly compare all of the following against the then-current intended paths/base:

  1. agent/hourly-maintenance-nim-boundary@02aa6efe...;
  2. validation/exact-head-pr88-20260812@ab78e474...;
  3. validation/exact-head-pr88-run-20260812@ab78e474...; and
  4. every other then-current PR/no-PR ref touching .github/workflows/hourly-maintenance.yml, tests/test_hourly_maintenance_credential_boundary.py, or tests/test_workflow_contracts.py.

Keep #237 Draft and source-frozen until #233 integrates first and every overlapping retained writer is non-destructively reconciled or independently proven inert for the exact intended surface. Historical #237 local greens remain development evidence only; final acceptance must be regenerated on the then-final head/base under then-live governance.

Non-destructively retain the existing #237 scheduler-contract tree while adding current dependency-root #233 (3246971) as a merge parent. The former #233 tip and the current tip have the identical tree e362d62, so this ancestry repair introduces no additional semantic delta and transfers no predecessor checks or reviews.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: auth Authentication, authorization, identity, or tenant isolation priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant