Design bot-attributed publishing with verified human sponsors and scoped approvals
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 8/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- github, rust
- Ambito
- authorization, security
Direzione di ricerca
This is design work, not a first task. Read AGENTS.md, docs/accounts-and-trust.md (A57), src/god_mode.rs and src/sign_in.rs to see the existing trust boundaries. The open decisions (sponsor eligibility, initial scope, shared App versus per-bot actor, review independence) need an owner's answer before any code. Done means those decisions are recorded and a reviewed model is agreed.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
User goal
Justin wants deployment actions attributed to the bot that performed them, with a responsible person attached, so approved bots can carry work through release with a clear audit trail. This is the next requested design focus. No credentials, publisher grants, protection changes, or blanket deployment policy are activated by this issue.
Proposed model: bot acts, person sponsors
- An explicit revocable publisher grant binds bot_id, sponsor_person_id and verified stable GitHub numeric user ID.
- Scope each grant to an allowed organization/repository, environment, action set, expiry and policy version.
- Keep code-review submission, merge, deployment approval and deployment execution as separate capabilities.
- Record bot, sponsor, grant, exact head/merge commit, artifact digest, workflow run/attempt, evidence, decision and provider result. Distinguish attempted, accepted, deployed, healthy and rolled-back outcomes.
- Do not infer publisher authority from a GitHub profile link, badge, matching display name, room presence or ownership of a bot alone.
Identity/provider constraint
GitHub App installation tokens attribute to the App/bot; App user tokens act on behalf of a human. A shared App identifies the shared App in GitHub, so per-Hangout-bot attribution must additionally be explicit in signed/audited records. If a distinct native GitHub actor per bot is required, settle that choice before provisioning identities.
Native GitHub environment required reviewers are Users/Teams. Token-type support in the pending-deployment API is not proof that an App is an eligible reviewer. Custom deployment protection rules offer an App-native gate, but approving the App's own rule does not approve a separate human-review gate. Existing protections must remain until an owner explicitly approves the exact configuration change.
Initial safe increment
- Define the sponsor/bot/grant/audit model and a read-only readiness/eligibility view.
- Build an exact-release approval record and execution adapter with fake-provider tests, no production credentials or silent access expansion.
- Revalidate sponsor eligibility, bot ownership, grant validity, repo/environment/run/attempt, commit/artifact and required CI/review evidence immediately before execution. Fail closed on missing, stale or revoked facts.
- Add explicit revocation, idempotency and replay protection; no arbitrary workflow/branch/secret changes.
- Require a separate reviewed rollout for provider credentials, organization installation, environment protection integration and any automatic approval policy.
Decisions still required
- Eligible sponsors: Agents Hangout God-mode-eligible people, verified GitHub organization owners, or both? God-mode eligibility and the currently toggled-on UI state differ.
- Initial organization/repository/environment scope.
- Shared App with per-bot audit versus a distinct native GitHub actor per bot.
- Review independence/self-authored-change restrictions and which changes always require a person.
- Explicit approval of any change to the repository's current human-only approval/deployment policy.
Acceptance criteria
- Unlinked/renamed/spoofed identities, unauthorized sponsors, cross-bot/repo/environment requests, stale commits and revoked grants cannot publish.
- Every allowed action identifies the bot and accountable sponsor without exposing secrets.
- A lost response/retry cannot duplicate approval or deployment; status is reconciled rather than guessed.
- Required checks/reviews and existing GitHub protections are never bypassed.
- No production permission is created by merely viewing/creating a draft grant.
- Real integration validation follows explicit owner-approved setup; local tests use a fake provider.
Sources
- https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app
- https://docs.github.com/en/actions/reference/workflows-and-actions/deployments-and-environments
- https://docs.github.com/en/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run
- https://docs.github.com/en/rest/actions/workflow-runs#review-custom-deployment-protection-rules-for-a-workflow-run
- Local trust boundaries: src/god_mode.rs, src/sign_in.rs, docs/accounts-and-trust.md A57, AGENTS.md.
Related: #267 collaborative GitHub work. OAuth event delivery #264 and the camera implementation remain owned by their existing agents.
- Lingua principale
- Rust
- Stelle
- 2
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CakeRepository/agentshangout
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 8/100
CakeRepository/agentshangout#294 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 8/100
CakeRepository/agentshangout#267 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
CakeRepository/agentshangout#265 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 8/100
CakeRepository/agentshangout#264 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
CakeRepository/agentshangout#255 ·
Tutte le issue di CakeRepository/agentshangout
Issue simili
-
docs(metrics): replace stale src/metrics.rs line anchors in dashboard-metrics.md with symbol namesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
ci-cd desktop size:low telemetry-improvement telemetry-round-1
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
vfarcic/dot-agent-deck#2079 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement user-priority/P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 2 giorni