frozen-repo change (REQ-27 approval queue): allowlist.yaml
This commit is contained in:
+56
-31
@@ -1,35 +1,60 @@
|
||||
version: 4.1
|
||||
# v4.1 (2026-10-04):
|
||||
# - Append-only over v4. No schema breaks.
|
||||
# - New MAILBOX_PATH_RE exemption in app/main.py: per-home mailbox writes
|
||||
# (outbox/ + inbox/ under <agent>/home/mailbox/) classify AUTO_RUN
|
||||
# when ALL targets are own-home mailbox paths. Encodes Decision 6 [1].
|
||||
# - Cross-agent inbox mirror (CAIRO writes to coreci-coo/home/mailbox/inbox/)
|
||||
# is still NEEDS_APPROVAL — explicit cross-agent grants land in v4.2.
|
||||
# - Naming convention v2 preserved: agent = coreci-<role>.
|
||||
version: 5.0
|
||||
mode: approval_queue_only
|
||||
# allowlist v5.0 — approval-request queue repurpose (REQ-27, P04-04).
|
||||
#
|
||||
# CHANGE SHAPE (one-way PR into the FROZEN executor-config repo):
|
||||
# v4.x classified packs and auto-ran granted targets. The rail is now an
|
||||
# approval-request queue ONLY — it routes, records, mirrors, and reports;
|
||||
# it NEVER executes against production.
|
||||
#
|
||||
# REVOKED in v5.0 (the complete v4.1 grant set — nothing else ever existed):
|
||||
# - coreci-coo: bash_pack auto_run coreci-coo/home (revoked)
|
||||
# - coreci-cairo: bash_pack auto_run coreci-cairo/home (revoked)
|
||||
# - coreci-cpo: bash_pack auto_run coreci-cpo/home (revoked)
|
||||
# - coreci-executor: bash_pack auto_run coreci/executor-config (revoked)
|
||||
# - defaults read_targets (coreci/company) kept UNCHANGED: the queue still
|
||||
# allows the org records as a READ surface for request context only.
|
||||
#
|
||||
# SEMANTICS under mode: approval_queue_only:
|
||||
# - defaults.decision stays NEEDS_APPROVAL (fail-closed) and there are no
|
||||
# agent rows: the v4.1 classifier can never return AUTO_RUN again.
|
||||
# - The v4.1 mailbox-path exemption is APP-CODE-level (not config) and
|
||||
# cannot reach an execution path here — approval-queue mode has none
|
||||
# (see README.md "The NEVER-EXECUTES guarantee").
|
||||
# - approval_queue.* below is consumed by the 0.4.0 decision-only server
|
||||
# build; the legacy 0.3.0 server ignores unknown top-level keys (its
|
||||
# loader picks only defaults/agents), so this file is backward-safe.
|
||||
#
|
||||
# Routing for approvals comes from routing.json (GENERATED from
|
||||
# coreci/company org/systems-ownership.md v1.2 + org-chart.json — do not
|
||||
# hand-edit either side of that chain; regenerate instead).
|
||||
defaults:
|
||||
decision: NEEDS_APPROVAL
|
||||
timeout_s: 900
|
||||
timeout_s: 900 # legacy field, retained for schema compat only
|
||||
read_targets:
|
||||
- coreci/company
|
||||
agents:
|
||||
coreci-coo:
|
||||
kinds:
|
||||
bash_pack:
|
||||
auto_run_targets:
|
||||
- coreci-coo/home
|
||||
coreci-executor:
|
||||
kinds:
|
||||
bash_pack:
|
||||
auto_run_targets:
|
||||
- coreci/executor-config
|
||||
coreci-cpo:
|
||||
kinds:
|
||||
bash_pack:
|
||||
auto_run_targets:
|
||||
- coreci-cpo/home
|
||||
coreci-cairo:
|
||||
kinds:
|
||||
bash_pack:
|
||||
auto_run_targets:
|
||||
- coreci-cairo/home
|
||||
|
||||
agents: {} # v5.0: NO auto-run grants remain (see REVOKED above)
|
||||
|
||||
approval_queue:
|
||||
enabled: true
|
||||
never_execute: true # the queue is a decision-record surface, full stop
|
||||
routing_table: /config/routing.json
|
||||
request_id_prefix: ar # queue ids: ar-<yyyymmdd-hhmmss>-<role>
|
||||
decision_surface: executor_ui # + Gitea issue mirror (coreci/meetings)
|
||||
mirror:
|
||||
repo: coreci/meetings
|
||||
actor: coreci-executor # executor app account; PAT scoped to writes below
|
||||
labels:
|
||||
- approval-request
|
||||
- approval:L2 # emitted alongside approval:L3 per request class
|
||||
- dept:<dept> # resolved from the requestor's org-chart ancestor
|
||||
lanes:
|
||||
- chairman_direct # C-09: acting C-suite, CEO, coreci-sre requests
|
||||
- manager_owner # manager one hop + system owner (both when both)
|
||||
- skip_path # unresolvable -> CEO -> Chairman
|
||||
statuses:
|
||||
- open
|
||||
- routed
|
||||
- decided # decided (approved|rejected, decided_by, decided_at)
|
||||
- withdrawn # requestor abort before decision
|
||||
Reference in New Issue
Block a user