diff --git a/docs/concepts/interaction-pattern-catalog.md b/docs/concepts/interaction-pattern-catalog.md index 9f3aeca5cd..5a4f96f768 100644 --- a/docs/concepts/interaction-pattern-catalog.md +++ b/docs/concepts/interaction-pattern-catalog.md @@ -1211,7 +1211,7 @@ main blocker or keeps following a stale local-only benchmark staging todo. **Trigger** - a typed machine-configuration namespace is about to change; the built-in - namespaces are `change_quality_qualification`, `goal_storage`, + namespaces are `change_quality_qualification`, `codex_chat`, `goal_storage`, `manager_runtime`, `periodic_report`, `pull_request_review`, `steward_executor`, and `todo_replan_cadence`. The public catalog returned by `loopx machine-config describe` is authoritative, so this inventory has to stay @@ -1221,6 +1221,12 @@ main blocker or keeps following a stale local-only benchmark staging todo. It does not promote existing Goals or migrate their data, and existing Goals keep the selection they were created with; see `docs/reference/local-authority-provider-selection.md`; +- `codex_chat` carries the native Codex profile alias, model, reasoning effort, + and service tier for new ordinary Goal conversations. Existing conversations + keep their identity and history. It does not configure the steward, an + attached Agent, or a LoopX Agent Loop, and it grants no permissions and + stores no credentials; see + `docs/integrations/session-runtime-control-plane-adapter.md#projection-boundary`; - `pull_request_review` carries `review_order` (`forward` by default, or `reverse`) and Goal-owned `agent_orders` for registered Agent overrides. Commands resolve explicit direction, Agent, Goal, then machine; reverse inverts diff --git a/examples/project/configure-goal-smoke.py b/examples/project/configure-goal-smoke.py index 07659c7dd2..0a19b751f7 100644 --- a/examples/project/configure-goal-smoke.py +++ b/examples/project/configure-goal-smoke.py @@ -303,10 +303,14 @@ def main() -> int: "pull_request_review", "periodic_report", "content_ops", + "decision_context", } references = features["content_ops"] assert references["availability"] == "local_artifact_preview", references assert "default" not in references and "current" not in references, references + decision_context = features["decision_context"] + assert decision_context["availability"] == "local_artifact_preview", decision_context + assert "default" not in decision_context and "current" not in decision_context, decision_context improvement = features["goal_capability_organization"] assert improvement["default"] == { "mode": "off", "discovery_budget_minutes": 5, "max_trials": 1,