mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
feat(config): add dormant external-PR review settings (default-off)
Introduce the configuration contract for inbound external-PR review, mirroring the strategy-engine block: external_pr_enabled (master switch, off), external_pr_poll_interval_seconds (>=60), external_pr_author_allowlist, and external_pr_require_human_confirm (default true). All inert by default — no inbound GitHub call and no untrusted-code execution until the CEO opts in and a human confirms an ingested PR.
This commit is contained in:
@@ -307,6 +307,41 @@ class Settings(BaseSettings):
|
||||
),
|
||||
)
|
||||
|
||||
# ==========================================================================
|
||||
# External-PR review ("engine 3") — DORMANT by default
|
||||
# ==========================================================================
|
||||
# An inbound path: a background loop that lists open PRs per active project,
|
||||
# flags ones from external/fork authors, and creates a one-shot review task
|
||||
# for the dedicated reviewer agent. Default OFF — the loop never starts and
|
||||
# no inbound GitHub call is made until the CEO opts in. Untrusted contributor
|
||||
# code is never fetched or executed until ``confirmed_by_human`` is set.
|
||||
external_pr_enabled: bool = Field(
|
||||
default=False,
|
||||
description=(
|
||||
"Master switch for inbound external-PR review. OFF by default; "
|
||||
"when off the poll loop does not run at all."
|
||||
),
|
||||
)
|
||||
external_pr_poll_interval_seconds: int = Field(
|
||||
default=300,
|
||||
ge=60,
|
||||
description="Seconds between inbound external-PR discovery passes.",
|
||||
)
|
||||
external_pr_author_allowlist: list[str] = Field(
|
||||
default_factory=list,
|
||||
description=(
|
||||
"GitHub usernames trusted as known contributors. Empty means no "
|
||||
"author is auto-trusted; every external PR needs human confirmation."
|
||||
),
|
||||
)
|
||||
external_pr_require_human_confirm: bool = Field(
|
||||
default=True,
|
||||
description=(
|
||||
"Require an explicit human confirmation before any agent fetches, "
|
||||
"checks out, or executes external contributor code."
|
||||
),
|
||||
)
|
||||
|
||||
# ==========================================================================
|
||||
# Workspaces (Multi-Agent Git)
|
||||
# ==========================================================================
|
||||
|
||||
Reference in New Issue
Block a user