mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
When a run declares additional repositories, preflight now proves the whole effective set works instead of treating a minted token as proof: - It constructs the same validated `GitHubRepositoryAccess` used by runtime initialization, so the two paths cannot disagree. - In App mode it first resolves every repository's installation with the App JWT and requires one shared installation ID, naming any repository the App cannot see before the mint; then it mints the one scoped token, failing with the raw error on rejection. - Every effective repository gets a non-interactive `git ls-remote <url> HEAD` probe through a shared helper that keeps the token out of the URL, argv, and errors (a credential helper reads GITHUB_TOKEN from the child environment), retries auth-shaped failures with the same token to cover replication lag (classified via fabro_sandbox::classify_failure), and reports one check per repository in deterministic primary-first order under bounded concurrency. - A resolved run environment that defines GH_TOKEN produces a warning (gh prefers it over the managed token) without failing preflight. - With no additional repositories declared, the primary-only mint check is byte-for-byte unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apps | ||
| components | ||
| foundation | ||
| packages/fabro-api-client | ||