From PR #3347 Fro Bot review (two non-blocking concerns, both deferred from the main fix).
1. Token-expiry race (defensive)
The Mint App token for privacy gate step in .github/workflows/survey-repo.yaml runs once at job start with no if: guard. The recheck step then runs much later (after the survey agent finishes, which can take up to the 30-min job timeout). App installation tokens live ~1h, so today's worst case is well within the lifetime. But if survey timeouts ever climb past ~50 minutes, the recheck step could race the token expiry and fail with a misleading 401.
Fix shape (when worth doing): re-mint the token immediately before the recheck step, or move the mint to a second dedicated step gated on the same condition as recheck. Today's envelope doesn't need it.
2. App-install assumption documentation (cosmetic)
Four workflows now depend on APPLICATION_ID/APPLICATION_PRIVATE_KEY being installed on github.repository_owner (= fro-bot): update-metadata.yaml, dispatch-renovate.yaml, reconcile-repos.yaml, survey-repo.yaml. The dependency is settled in practice but undocumented.
Fix shape: add a single comment block somewhere central — update-metadata.yaml is the natural home as it was the first cross-org App-token consumer — that documents the App-install precondition.
Why deferred
PR #3347 was focused on closing the bfra-me cross-org survey block. Both NBCs are forward-looking polish that doesn't affect today's correctness. Appropriate as a single bounded follow-up.
From PR #3347 Fro Bot review (two non-blocking concerns, both deferred from the main fix).
1. Token-expiry race (defensive)
The
Mint App token for privacy gatestep in.github/workflows/survey-repo.yamlruns once at job start with noif:guard. The recheck step then runs much later (after the survey agent finishes, which can take up to the 30-min job timeout). App installation tokens live ~1h, so today's worst case is well within the lifetime. But if survey timeouts ever climb past ~50 minutes, the recheck step could race the token expiry and fail with a misleading 401.Fix shape (when worth doing): re-mint the token immediately before the recheck step, or move the mint to a second dedicated step gated on the same condition as recheck. Today's envelope doesn't need it.
2. App-install assumption documentation (cosmetic)
Four workflows now depend on
APPLICATION_ID/APPLICATION_PRIVATE_KEYbeing installed ongithub.repository_owner(=fro-bot):update-metadata.yaml,dispatch-renovate.yaml,reconcile-repos.yaml,survey-repo.yaml. The dependency is settled in practice but undocumented.Fix shape: add a single comment block somewhere central —
update-metadata.yamlis the natural home as it was the first cross-org App-token consumer — that documents the App-install precondition.Why deferred
PR #3347 was focused on closing the bfra-me cross-org survey block. Both NBCs are forward-looking polish that doesn't affect today's correctness. Appropriate as a single bounded follow-up.