Macro-3 Channel Final Recommendation — R2-B2 (2026-06-19)
Macro-3 Channel Final Recommendation — R2-B2 (2026-06-19)
Date: 2026-06-19 · Workstream: R2-B2-MACRO-3-OPTION-D-OWNER-DELEGATE-DECISION-PACKAGE-2026-06-19 (Deliverable 6 of 60) · Editorial revision: rev1
Class: channel final recommendation · READ-ONLY · NON-ENACTING · NON-AUTHORIZING · RECOMMENDATION_ONLY — NOT AUTHORITY · CHANNEL_AUTHORITY_DRIFT guard · NO channel selected · NO write performed.
Metadata convention. Editorial revision (rev1) only. Storage revision/
content_lengthauthoritative at read time.
Channel-authority lock. This is a recommendation, not a selection. It wires nothing, installs nothing, promotes no contract.
RECOMMENDATION_ONLY — NOT AUTHORITY — OWNER_GATE_REQUIRED — FUTURE_TECHNICAL_DESIGN_REQUIRED. Any wording that reads as a selection isCHANNEL_AUTHORITY_DRIFT→ HOLD. The channel is an internal of B2 (B2-AC-7) and is replaceable.
0. Status and non-authorization
STATUS: PASS — engineering / decision-prep. Carries Macro-2's channel ballot one step into a final recommendation, still selecting nothing. Engineering PASS ≠ authority PASS. Default: HOLD.
1. Purpose
Answer macro question 1 — which channel should GPT recommend to Owner: host cron or agent-api? — as a final, conditional recommendation.
2. Sources / evidence read
Macro-2 channel decision ballot, host-cron + agent-api decision memos, weighted comparison, proof-gap closure, channel non-authority + rejected-channel registers; FRESH 2026-06-19 (list_docker, query_pg). Main process, no reader-agents.
3. Accepted baseline (carried)
Macro-2 ballot: host cron + agent-api are the only candidates (neither selected); pg_cron / job_queue = risky/future; manual one-shot = reject-as-standing (that is B5). Channel sits inside B2 and is swappable.
4. Evidence / analysis (FRESH 2026-06-19)
- host cron —
wf_host_crontab_snapshot= 54 jobs, 0 birth; the channel is readable and unwired; lowest blast radius; proven as the sibling-scanner channel. - agent-api executor — container Up (healthy)
:8090;dot_agent_api_contract= 2 (KG-EXPLAIN), 0 birth-bound; runtime switches OFF (execute_enabled/real_run_enabled=false,dry_run_only=true). Governance-aligned (contract-bound, observable) but not yet wired to birth and would need a DRY_RUN-gated contract promotion (Owner-gated).
5. Recommendation / matrix / result (RECOMMENDATION_ONLY — NOT AUTHORITY)
| Owner priority | Recommended channel | Why |
|---|---|---|
| observability / contract-bound promotion / auditability | agent-api executor | governance traceability; observable; contract-bound |
| simplicity / replaceability / faster pilot / lowest blast radius | host cron | unwired, smallest surface, trivial rollback (remove crontab line) |
| forced single pick for Macro-4 readiness | lean agent-api | governance traceability — but Owner approval still required |
Nothing is selected. The default disposition is HOLD until the Owner decides (Deliverable 15 poses the question; Deliverable 48 ballots it).
6. Owner-gated future work
Selecting the channel, wiring host cron, or binding/promoting the agent-api contract are Owner acts via Điều 37→32; forbidden now.
7. What remains unresolved
The channel is not selected; GATE-4 (channel) remains open and non-waivable.
8. Ready for GPT/Codex review
Yes — Codex should attack the "forced single pick = agent-api" lean and confirm it is not phrased as a selection.