KB-50D2

Macro-2 Channel Decision Ballot — R2-B2 (2026-06-19)

6 min read Revision 1
laws-newR2-B2macro-2R2-D2channel-decision-ballotrecommendation-onlynon-authorizingowner-gated2026-06-19

Macro-2 Channel Decision Ballot — R2-B2 (R2-D2)

Date: 2026-06-19 · Workstream: R2-B2-MACRO-2-OWNER-DECISION-PREREQ-CLOSURE-READINESS-2026-06-19 (Deliverable 6 of 45) · Editorial revision: rev1 Class: channel decision ballot / decision-prep · READ-ONLY · NON-ENACTING · NON-AUTHORIZING · RECOMMENDATION_ONLY — NOT AUTHORITY · NO channel selected · NO write performed.

Metadata convention. Editorial revision (rev1) only. AgentData storage revision/content_length authoritative at read time; not pinned here.

Channel-authority lock. This ballot lists the candidate/risky/rejected channels for an eventual Owner decision. It selects, wires, installs, promotes nothing. RECOMMENDATION_ONLY — NOT AUTHORITY — OWNER_GATE_REQUIRED — FUTURE_TECHNICAL_DESIGN_REQUIRED. Any wording that reads as a selection is CHANNEL_AUTHORITY_DRIFT → HOLD.


0. Status and non-authorization

STATUS: PASS — engineering / decision-prep. A five-channel ballot with dispositions, recommendation-only. It selects no channel.

Engineering PASS ≠ authority PASS. Default disposition: HOLD. No channel selected/wired/installed/promoted; no pg_cron install; no contract promotion; no worker enable; no DB write/DDL/DML; no TD; no blocker resolved; v0.1 not overwritten; v0.2 not authority.

Evidence basis — FRESH_READONLY_EVIDENCE (2026-06-19 RQ-4/13/14/16/17) + INHERITED_KB_EVIDENCE. Reading discipline: main process, no reader-agents.


1. Purpose

Answer macro question 2/3 — is Path 2 (channel decision) the best next path, and can host cron or agent-api be recommended more strongly without becoming authority? — as a ballot. The channel is an internal of B2 (B2-AC-7); reading its substrate does not select it.


2. Sources / evidence read

The inspect-producer TD-prep §11 channel matrix; the Mega-Gate R2-D2 channel-authority recommendation + host-cron-vs-agent-api brief + channel proof obligations; the 30-file channel evidence (substrate summary, host-cron, agent-api, pg_cron, queue, liveness-gap); the fresh RQ-ledger. Read directly, main process.


3. Accepted baseline (carried)

5-channel classification (recommendation-only): host cron = candidate; agent-api executor = candidate; pg_cron = risky/future-gated; job_queue worker = risky/future-gated; manual one-shot = rejected as standing channel. Substrate fail-closed.


4. Evidence / analysis (FRESH 2026-06-19)

  • host cron: wf_host_crontab_snapshot 54 entries, 0 birth, 1 nrm-lifecycle (RQ-14). Readable, unwired — read-only first obligation met.
  • agent-api executor: Up 2 weeks healthy :8090 (RQ-17); 2 contracts DOT_KG_EXPLAIN (DRY_RUN/endpoint_bound) + DOT_KG_EXPLAIN_VERIFY (VERIFY_ONLY/contract_ready), 0 birth-bound (RQ-16); switches OFF (RQ-13).
  • pg_cron: absent (RQ-4) — install is a write.
  • job_queue worker: queue.worker.enabled=false, queue.job_substrate.enabled=false (RQ-13); event_outbox 215,607 undrained (RQ-8).
  • manual one-shot: the 2026-03-21 SSH+docker exec pattern — structurally unfit as a standing channel.

5. Channel ballot

Channel Disposition Authority status Reason (fresh)
host cron candidate NOT selected lowest blast radius; proven sibling-scanner channel; readable & unwired (RQ-14)
agent-api executor candidate NOT selected governance-aligned (contract-bound, observable); healthy :8090 but 0 birth-bound, switches OFF (RQ-16/17/13)
pg_cron risky / future-gated NOT selected extension absent (RQ-4); install = infra write
job_queue worker risky / future-gated NOT selected substrate disabled/idle; outbox 215,607 undrained (RQ-8/13)
manual one-shot rejected as standing channel NOT a channel violates Điều 32 §2.1; the only legit residual one-shot is B5 (separate)

Result (RECOMMENDATION_ONLY — NOT AUTHORITY): host cron and agent-api remain candidates; pg_cron and job_queue remain future-gated; manual one-shot remains rejected. No channel is selected. The stronger candidate framing (Deliverables 7–9) is a comparison for the Owner, not a selection.


6. Owner-gated future work

Future work Gate Forbidden now?
Select a channel Owner decision (recommendation-only inputs in D7/D8/D9) Yes
Wire host cron / bind+promote agent-api / install pg_cron / enable worker Điều 32 (+ per-channel) Yes

7. What remains unresolved

  • Channel not selected (CHANNEL_AUTHORITY_DRIFT guarded); substrate fail-closed.
  • Liveness for a birth channel is unprovable until one is wired (write-gated).
  • Blockers — all OPEN.

8. Ready for GPT/Codex review

Yes — as a channel ballot.

Core rule: host cron + agent-api candidates; pg_cron + job_queue future-gated; manual one-shot rejected; no channel selected as authority.

Default disposition: HOLD. Engineering PASS ≠ authority PASS. All blockers remain OPEN.

Back to Knowledge Hub knowledge/dev/laws-new/newlaws/consolidation/macro2-channel-decision-ballot-r2-b2-2026-06-19.md