You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of the ORB maintainer chat platform epic. Before any backend or UI work, every interpretive question must be closed here, exactly as #6230 did for the contributor side. The contributor-side artifacts to mirror (and diverge from deliberately, with reasons): #6230 (spec), #6517 (read-only grounding contract), #6521 (confirmed action-dispatch), #6303 (SSE audit).
Requirements — every numbered item gets an explicit recorded decision
Grounding-tool catalog (read-only). Decide the v1 tool list. Candidate minimum, to confirm/trim/extend: queue snapshot (open PRs + dispositions + holds with reasons), per-PR status (gate verdict, blockers, CI state, decision-record digest), decision-record fetch by digest, ledger-verify status proxy, calibration/fairness summary (accuracy with coverage and interval — never a bare scalar), effective-config resolution (resolved .loopover.yml + settings precedence), audit-event tail per repo, repo-settings snapshot. For each: exact data source (existing service/module), redaction treatment, response token budget.
Action catalog. Decide the v1 dispatchable actions and their authz tier. Candidates: per-repo agent pause/resume; dry-run toggle; force re-gate (reuse the feat(queue): wire an admin trigger for agent-regate-pr force re-gates #8958 admin trigger); approval-queue release; human-attributed manual-review release (this would be the missing human-provenance removal path). Explicitly decide: global freeze is display-only in chat (ratchet semantics), yes/no.
Authz matrix. Session actor → installation → repo. Which existing helpers gate reads vs dispatches (requireRepoMaintainer / requireSessionRepoAccess / verifyInstallationAdmin), what operators (ADMIN_GITHUB_LOGINS) may additionally do, and what happens for affiliation-tier (data-read) maintainers — read-only chat, no dispatch?
Placement. New app.* route vs a chat rail embedded in app.maintainer.tsx/app.owner.tsx — decide, with the mobile/narrow-viewport behavior.
Model/provider path. Which provider plan executes chat completions (existing AI_PROVIDER chain vs a dedicated chat slot), its budget controls, and its failure behavior (degrade to deterministic tool results, never fabricate).
Context
Part of the ORB maintainer chat platform epic. Before any backend or UI work, every interpretive question must be closed here, exactly as #6230 did for the contributor side. The contributor-side artifacts to mirror (and diverge from deliberately, with reasons): #6230 (spec), #6517 (read-only grounding contract), #6521 (confirmed action-dispatch), #6303 (SSE audit).
Requirements — every numbered item gets an explicit recorded decision
.loopover.yml+ settings precedence), audit-event tail per repo, repo-settings snapshot. For each: exact data source (existing service/module), redaction treatment, response token budget.manual-reviewrelease (this would be the missing human-provenance removal path). Explicitly decide: global freeze is display-only in chat (ratchet semantics), yes/no.requireRepoMaintainer/requireSessionRepoAccess/verifyInstallationAdmin), what operators (ADMIN_GITHUB_LOGINS) may additionally do, and what happens for affiliation-tier (data-read) maintainers — read-only chat, no dispatch?app.*route vs a chat rail embedded inapp.maintainer.tsx/app.owner.tsx— decide, with the mobile/narrow-viewport behavior.AI_PROVIDERchain vs a dedicated chat slot), its budget controls, and its failure behavior (degrade to deterministic tool results, never fabricate).Deliverables
Expected outcome
Implementation issues in this epic can be executed with zero interpretive latitude.