Skip to content

Owner-requested branch cleanup and master protection #265

Open

Description

@andy-zen-dev

Owner request and remaining scope

The owner requested removal of unnecessary branches and protection of master on 2026-09-30, followed by repository cleanup on 2026-10-18. This is scoped maintenance, not a blocker for analyzer/Reader delivery. Do not change the hourly scheduler.

Current verified state — 2026-10-18

The September body observations protected=false / empty rulesets are historical, not current blockers. Their original execution receipts remain in this issue's discussion.

Safe completion criteria

  • Preserve master/default/protected refs, all open PR heads/bases and every active dependency or unique/unproven change.
  • Before supported authorized deletion, produce an exact branch/head allow-list with fresh content/merge preservation evidence. Squash/rebase merges require content/supersession proof rather than ancestry alone. Re-read current PR references, protection and SHA, use expected-SHA deletion leases, and abort on drift or denial.
  • Preserve the earlier flagged Bulgakov/Klim branches until their unique content is reconciled against landed code; do not resurrect or delete stale versions blindly.
  • Record actual deleted/retained refs and before/after count. Never simulate deletion by updating refs, force-push shared branches, or bypass a rejected cleanup operation through another endpoint/workflow/account.
  • A future required-check rule needs an always-reporting verification check; do not make a path-filtered workflow globally mandatory and strand unrelated PRs. No self-approval requirement for the sole working account.

Scoped blockers and reopening triggers

MISSING_TOOL: the discovered connector actions expose no branch-deletion or administration-setting mutation. Permission boundary: current identity has no repository admin permission. No new cleanup/deletion write was attempted here, and no new safety denial is inferred from successful interactive source writes.

Resume those mutations only when a legitimate supported capability and its necessary owner authorization/permissions exist. Keep this issue open until the remaining deletion/protection criteria are actually verified; independent product work continues through #276 and the compact queue.

Activity

  1. andy-zen-dev commented on Sep 30, 2026

    @andy-zen-dev
    CollaboratorAuthor

    Execution receipt for the owner's cleanup/protection request:

    • Live identity: andy-zen-dev; repository permissions push=true, admin=false, maintain=false.
    • master@27f54858d20000244bb8e80342038d80ea510b45 was observed protected=false; repository rulesets list was empty.
    • Attempt to stage a two-phase audited cleanup workflow through create_tree was blocked by OpenAI safety checks. No tree/commit/branch/workflow execution or branch deletion is claimed. Do not retry the same blocked mutation via another write endpoint.
    • No attempt was made to bypass administration restrictions. Existing PR SCRIP-CORPUS-087: recover Petersburg extraction-strategy preflight #264 and its head were not changed.
    • Prepared a separate owner-run local GitHub CLI maintenance script and master ruleset configuration outside the repository. It defaults to audit, requires explicit --apply, validates owner/admin capability for applying both operations, preserves default/protected/open-PR/unique branches, proves integration through master/merged-PR ancestry, and deletes with exact-SHA leases. It creates no remote helper branch or workflow. It also enables and reads back delete_branch_on_merge after protection is verified.
    • Local verification: 16 tests passed, including a real isolated Git test proving stale-SHA deletion is rejected and successful leased deletion does not modify master. API behavior was mocked, not exercised against GitHub with admin access.
    • The prepared protection baseline is PR-only + resolved threads + no force-push + no deletion + no bypass actors. No mandatory numeric approval is added for a same-identity worker. Required status checks are deliberately deferred: current Pages workflow has path filters, so making its status globally required would block documentation-only PRs. A separate unfiltered Required verification workflow has been prepared but is NOT committed, run, or required.

    Remaining blocker: execute the reviewed maintenance under a legitimate owner/admin GitHub session, or restore a supported authorized mutation path; then record exact before/after inventory and verify active master protection. Issue #265 remains open. No scheduler changes.

  2. andy-zen-dev commented on Oct 6, 2026

    @andy-zen-dev
    CollaboratorAuthor

    Fresh interactive owner-requested triage, 2026-10-06; this supersedes only the stale current-state observations above:

    • master is now covered by active ruleset 24273338 (Protect master): pull request required, deletion and non-fast-forward updates prohibited, zero mandatory approving reviews, no current-user bypass. No protection/admin mutation was made in this session.
    • SCRIP-CORPUS-087: recover Petersburg extraction-strategy preflight #264 was already merged. chore: finalize SCRIP-CORPUS-087 state #266 has now been reviewed and squash-merged as abe7bb889ef98437ba9faef5a79b023499556991; do not select either for another merge.
    • Preserve the old scriptorium-corpus-086-bulgakov-revision-freeze branch pending recovery review, not blind merge/deletion. Exact head 2e2144782b88238fb6206343b56c22d18e47bbd2, file tests/test_bulgakov_revisions.py, blob bf08511c93ed9d4033565709d94ec35374aa3f8e contains a literal backslash-n between statements on line 17. Reconstructed bytes match that Git blob; ast.parse fails with SyntaxError: unexpected character after line continuation character. Recovery must also compare against the already landed Bulgakov implementation/tests rather than replacing them with this stale branch.
    • scrip-corpus-020-klim-literary-body@0da222f824b98f1526cd8702469bab669051c376 is 261 commits behind and 20 ahead of current master by ancestry. These counts are not content-preservation evidence; compare the five changed paths and accepted later implementations before proposing adoption or deletion.
    • No branch was deleted. One distinctly scoped new product branch has PR SCRIP-SITE-007: readable offline full-work diagnostic reports #268 as its destination. Branch maintenance remains scoped and does not block the report/CLI/Pages product queue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions