Skip to content

task: pre-detach snapshot of every repo-scoped setting, runner, variable and link #160

Closed

Description

@diffwireauto

Parent: #158.

Capture, as data in this issue, everything repo-scoped that must still exist and work after the detach. This is the baseline the post-detach verification compares against, so it has to be captured before the owner clicks.

Capture list

Driven by the enumeration in the DIAGNOSE child. At minimum:

what how
repo settings gh api repos/OKI-Mesh/CoreScope — visibility, default branch, merge methods, delete-on-merge, features
rulesets gh api repos/OKI-Mesh/CoreScope/rulesets plus each ruleset by id, full JSON including bypass_actors
self-hosted runners gh api repos/OKI-Mesh/CoreScope/actions/runners — names, labels, status
Actions variables gh api repos/OKI-Mesh/CoreScope/actions/variables (ENABLE_STAGING_DEPLOY=true is live)
Actions secrets names only, never values
labels gh label list full set
project board links repository.projectsV2
open issues and PRs counts and numbers
webhooks gh api repos/OKI-Mesh/CoreScope/hooks
GHCR packages the ghcr.io/oki-mesh/corescope tags CI publishes to
master tip SHA, so we can prove history is unchanged

Secrets are recorded by name only. No values in this issue.

Done when

The snapshot is posted as a comment on this issue with a UTC timestamp, and the master tip SHA is recorded so the post-detach check can prove history survived byte for byte.

Activity

  1. diffwireauto commented on Oct 3, 2026

    @diffwireauto
    ContributorAuthor

    Pre-detach snapshot: OKI-Mesh/CoreScope

    Captured 2026-10-03T03:01:07Z by AzureSparrow, before the owner leaves the fork network (#161).

    This is the baseline #162 diffs against. Secrets appear by name only.

    Repository settings

    field value
    full name OKI-Mesh/CoreScope
    visibility public
    fork true
    parent Kpa-clawbot/CoreScope
    source Kpa-clawbot/CoreScope
    network_count 67
    child forks 0
    default branch master
    size (KB) 112602
    squash merge true
    merge commit true
    rebase merge true
    delete branch on merge false
    issues true
    wiki true
    projects true
    stars 5
    watchers 2
    open issues + PRs 82

    Git state

    • master tip: ff5e338f8c2bb612477e2a1bbb75040d0a9c567b
      • history must be byte-identical after the detach; this SHA is the proof
    • branches: devel, feat/goose_migration_setup, feat/switch_server_and_ingestor_to_goose, feat/59-ci-ghcr-namespace-oki, feat/61-flaky-e2e-arrowright, feat/63-packets-vscroll-0rows, feat/134-bytxid-race, feat/136-deploy-baseline, feature/move_to_single_module, fix/channels-cache-singleflight, hotfix/carto_2, hotfix/cartofix, master, sync-upstream
    • tags: v0.2.0=9a66159, v0.1.2=2ec9361, v0.1.1=6695b4d, v0.1.0=1668cd7

    Rulesets

    18667552 Protect Main � active, target branch, conditions ~DEFAULT_BRANCH

    rule parameters
    deletion �
    non_fast_forward �
    pull_request {"allowed_merge_methods": ["squash"], "dismiss_stale_reviews_on_push": false, "dismissal_restriction": {"allowed_actors": [], "enabled": false}, "require_code_owner_review": false, "require_extra_approval_for_unattributed_changes": true, "require_last_push_approval": false, "required_approving_review_count": 1, "required_review_thread_resolution": false, "required_reviewers": []}
    required_status_checks {"do_not_enforce_on_create": false, "required_status_checks": [{"context": "\u00e2\u0153\u2026 Go Build & Test"}], "strict_required_status_checks_policy": true}

    bypass actors:

    • OrganizationAdmin id=None mode=always
    • RepositoryRole id=5 mode=always

    Self-hosted runners

    name status busy labels
    corescope-dev-offband online busy=false self-hosted, Linux, ARM64, corescope-dev-offband
    deadbeef-prod online busy=false self-hosted, Linux, X64, corescope-prod

    Actions variables

    • ENABLE_STAGING_DEPLOY = true

    Actions secrets (names only)

    • PROJECT_PAT

    Labels

    board:backlog, board:deferred, board:done, board:in-progress, board:ready, board:testing, board:todo, bug, documentation, duplicate, enhancement, good first issue, help wanted, high-risk, invalid, priority:P0, priority:P1, priority:P2, priority:P3, question, sql-backend, status:void, type:bug, type:chore, type:documentation, type:epic, type:feature, type:incident, type:initiative, type:problem, type:refactor, type:story, type:task, wontfix

    count: 34

    Project board links

    Webhooks, environments, deploy keys

    • webhooks: none
    • deploy keys: none
    • environments: none

    Issues and pull requests at risk (verified not at risk, recorded anyway)

    • issues, all states: 124
    • pull requests, all states: 33
    • open issue numbers: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 40, 52, 55, 56, 57, 58, 59, 63, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 93, 96, 103, 105, 107, 109, 110, 113, 123, 125, 127, 129, 130, 132, 133, 134, 136, 137, 140, 142, 144, 146, 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, 160, 161, 162, 163, 164
    • open PR numbers: none

    GHCR packages

    • corescope visibility=public
  2. diffwireauto commented on Oct 3, 2026

    @diffwireauto
    ContributorAuthor

    Three notes on the snapshot above

    1. One value is mangled by my console, not by GitHub. The ruleset's required status check prints as:

    {"context": "✅ Go Build & Test"}
    

    That is a double-encoding artifact of how the snapshot was generated. The real value is ✅ Go Build & Test — U+2705 followed by a space. It matters because #162 compares this string, and because the ruleset is joined to deploy.yml:102 by exact string match including the emoji. Compare against the real value, not the printed one.

    2. The repo allows merge methods the ruleset forbids. Repository settings say squash merge: true, merge commit: true, rebase merge: true, while Protect Main restricts the default branch to allowed_merge_methods: ["squash"]. Not a defect and not caused by anything here — the ruleset is doing the work. Recorded so the post-detach diff does not read it as drift. Same for delete branch on merge: false, which is the current state and should stay false after.

    3. network_count: 67 and parent/source are the two fields expected to change. Everything else in the snapshot should be byte-identical afterwards. master at ff5e338f8c2bb612477e2a1bbb75040d0a9c567b is the proof that history survived.

    Snapshot is complete — #161 is unblocked

    Preconditions for the Settings option, all met [verified: api 2026-10-03]:

    condition value
    public visibility: public
    under 1 GB 112602 KB = 109 MB
    no child forks forks_count: 0

    And from the #159 experiment [verified: api 2026-10-03]: issues, PRs, comments, stars and watchers survive the Settings path. The 124 issues and 33 PRs recorded above are not at risk.

    Nothing further is needed before the owner detaches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions