Spaces:
Running
Running
| # GitHub Enterprise access runbook | |
| This runbook explains how the additional GitHub Enterprise seats can help the | |
| remaining cross-repo phases. It does **not** assume that buying seats alone | |
| grants write access. The observed runtime pattern is: | |
| - `szl-holdings/a11oy` is writable from this environment. | |
| - sibling repos such as `.github`, `agi-forecast`, `lutar-lean`, `uds-mesh`, | |
| `sentra`, `amaru`, `rosie`, and `vessels` have previously returned `403` | |
| for direct pushes from the current bot/token context. | |
| ## What the new licenses can fix | |
| Additional Enterprise seats can help if the blocker was seat capacity: | |
| 1. assign seats to the human or service accounts that should operate the | |
| ecosystem; | |
| 2. invite those accounts to `szl-holdings`; | |
| 3. ensure the invitations are accepted; | |
| 4. add the accounts or GitHub App installation to teams with repo-level write | |
| access. | |
| ## What the new licenses cannot fix by themselves | |
| Seats do not automatically grant: | |
| - write permission to sibling repos; | |
| - SSO authorization for an existing PAT; | |
| - GitHub App installation scope on sibling repos; | |
| - workflow-edit permission; | |
| - branch-protection bypass; | |
| - accepted org membership for pending invites. | |
| ## Required access target | |
| The current Cursor/bot or designated service account needs: | |
| | Repo | Minimum permission | Why | | |
| | --- | --- | --- | | |
| | `szl-holdings/.github` | Write | Org profile, coordination, reusable workflows, issue/PR templates. | | |
| | `szl-holdings/lutar-lean` | Write | Apply Lean kernel/proof proxy patches directly instead of via A11oy handoff. | | |
| | `szl-holdings/agi-forecast` | Write | Apply competition-math/FG pipeline patches directly. | | |
| | `szl-holdings/uds-mesh` | Write | Update mesh pointers, release topology, and UDS bundle indexes. | | |
| | `szl-holdings/amaru` | Write | Receipt minting/anchor UDS component upgrades. | | |
| | `szl-holdings/sentra` | Write | Drift/telemetry UDS component upgrades. | | |
| | `szl-holdings/rosie` | Write | Receipt DAG / CSS ingress component upgrades. | | |
| | `szl-holdings/vessels` | Write | Active vertical demo wedge. | | |
| | `szl-holdings/platform` | Write | Product integration monorepo changes, if in-scope and authorized. | | |
| ## Token / app requirements | |
| For a fine-grained PAT: | |
| - include every target repo above; | |
| - grant `Contents: Read and write`; | |
| - grant `Pull requests: Read and write` if PR creation should be direct; | |
| - grant `Workflows: Read and write` only if workflow files will be edited; | |
| - SSO-authorize the token for `szl-holdings`. | |
| For a GitHub App: | |
| - install the app on every target repo; | |
| - grant the app contents and pull-request write scopes; | |
| - include workflow write scope only if workflow edits are required. | |
| ## Read-only checks | |
| These checks do not modify resources: | |
| ```bash | |
| gh auth status | |
| gh api user -q .login | |
| gh repo view szl-holdings/a11oy --json viewerPermission | |
| gh repo view szl-holdings/.github --json viewerPermission | |
| gh repo view szl-holdings/agi-forecast --json viewerPermission | |
| gh repo view szl-holdings/lutar-lean --json viewerPermission | |
| gh repo view szl-holdings/uds-mesh --json viewerPermission | |
| ``` | |
| If `viewerPermission` is empty, `READ`, or not present, direct write phases | |
| remain blocked and the proxy-patch pattern stays correct. | |
| ## Live read-only audit | |
| After seats, invitations, teams, SSO, or GitHub App installation scopes are | |
| updated, run: | |
| ```bash | |
| npm run github:access:live:validate | |
| ``` | |
| This writes `dist/github-access-audit.json` with the current `gh` integration's | |
| viewer permission for each target repo. It uses only read-only `gh auth`, | |
| `gh api user`, and `gh repo view` commands. It does not push, create PRs, edit | |
| repos, mutate teams, or call write-method GitHub APIs. | |
| Interpretation: | |
| | Status | Meaning | | |
| | --- | --- | | |
| | `write-ready` | Current auth context reports `WRITE`, `MAINTAIN`, or `ADMIN`. Direct feature-branch work may be tried. | | |
| | `read-only` | Repo is visible but write phases remain blocked. | | |
| | `unavailable` | Repo cannot be inspected from this token/app context. | | |
| ## Write-readiness check | |
| Only after permissions are updated, test by pushing a new `cursor/*-2f18` | |
| feature branch to a sibling repo, not to `main`. Do not merge to protected | |
| branches without explicit approval. | |
| ## Doctrine boundary | |
| Access changes are operational plumbing. They do not change public claim status. | |
| A sibling repo becomes “directly operational” only after: | |
| 1. patches are applied in that repo; | |
| 2. repo-native tests pass; | |
| 3. CI is green; | |
| 4. release/HF/UDS surfaces are regenerated from GitHub truth; | |
| 5. public docs avoid unsupported all-green, endorsement, or catalog claims. | |