Typed topology
Typed topology is an optional question the classifier can ask about how a
session should be organized. The closed answers are single, team_star,
fan_out, and no_match. It is off unless you turn it on.
It is not the rest of adaptive orchestration, and it is not the passive decision-model replay on that page.
| Path | When it runs | What it may change |
|---|---|---|
| Ordinary orchestration | Adaptive orchestration is on, which is the default. | A heuristic or bounded LLM genome patch, then an optional monitor reshape at a later run boundary. |
| Active typed topology | typed_topology_enabled is true and the classifier mode is llm, and this run has a complete evidence cut for the same prompt. | The classifier’s topology field only: single, team_star, or fan_out. no_match changes nothing. |
| Passive decision models | You run bmo eval decision-model or an explicitly started local bridge. | A report. The live route stays on the ordinary classifier. |
A typed answer does not grant a tool, spend a budget, pass a verifier, or accept completion. The monitor can still reshape topology later unless you pin the field.
When to leave it off
Section titled “When to leave it off”Leave the flag off for heuristic coordination or for the ordinary one-shot
LLM genome patch. Pin topology when a fixed value must win and no Choice
call should run. Use passive replay when you are comparing retained typed
results and do not want a live route change.
Config
Section titled “Config”[options.adaptive_orchestration.classifier]mode = "llm"typed_topology_enabled = truetyped_topology_enabled defaults to false. Omit the key, or set it to false,
to keep the ordinary LLM genome patch. Setting the flag true while
classifier.mode is omitted or heuristic fails config load with
adaptive_orchestration.classifier.typed_topology_enabled requires llm mode.
options.adaptive_orchestration.enabled = false turns the whole layer off,
including this question and its spawn checks.
When a Choice is allowed
Section titled “When a Choice is allowed”All of the following have to hold. Otherwise the run keeps a baseline or heuristic result and does not treat a model answer as the route.
- Adaptive orchestration is enabled, the flag is true, and the mode is
llm. - The run has not been canceled and the session has not been retired.
topologyis not pinned.- The App supplied a complete evidence cut for this session and this prompt. A partial cut does not call the model.
- The prompt is valid UTF-8 and fits the 1,200-character classifier bound. A longer prompt is not sent as a truncated stand-in.
- The task, run, and source owners are still the ones the evidence names. A stale owner keeps the baseline.
The call is one small-model request, temperature 0, at most 96 output tokens,
with a five-second limit. The question id is topology_hint.v1.
[options.adaptive_orchestration.pinned_fields]topology = "single"Legal values are single, team_star, and fan_out. Any other value fails
config load. A pin is applied to the baseline and the Choice call is skipped.
The trace source is operator_pin.
Fallback and refusal
Section titled “Fallback and refusal”The visible field is classification_source on the adaptive-orchestration
prompt trace and on the live parity readouts.
classification_source | Meaning |
|---|---|
typed_choice | A current answer proposed single, team_star, or fan_out. |
operator_pin | Topology is pinned. No Choice call ran. |
config_baseline | The run was canceled, the prompt did not match the evidence, or the owner was stale. The baseline stands. |
llm_fallback_heuristic | The Choice was skipped or rejected and heuristic rules produced a patch. |
llm_fallback_baseline | The Choice was skipped or rejected and heuristic rules added nothing. |
no_match, an invalid answer, and a provider failure use the fallback rows.
They do not invent a topology. A provider failure logs
Typed topology classifier failed; falling back.
While the flag and LLM mode are on, a proposed topology is checked again at
spawn_agent, spawn_agents_on_csv, and create_team:
| Proposed topology | Allowed tool | Other of those three |
|---|---|---|
team_star | create_team | delegation does not match the current typed topology |
fan_out | spawn_agent, spawn_agents_on_csv | same mismatch error |
single | none of the three | same mismatch error |
Other refusals at that boundary:
typed topology owner evidence is no longer currenttyped topology run is no longer activecurrent topology policy is invalidwhen a topology pin is empty or illegal
A fallback that kept the baseline or the heuristic route does not add the
mismatch error. A run that already recorded stale owner evidence still refuses
those three tools with typed topology owner evidence is no longer current.
Ordinary tool permission still applies. Passing the check does not grant a
budget or a child run by itself.
Diagnostics
Section titled “Diagnostics”bmo config show-adaptive-orchestration shows the layer, not the flag. With
the layer on and no live session, expect:
state: enabled-idleclassifier_mode: llmThere is no typed_topology_enabled line. Read the merged config for the
flag. state: disabled means the whole adaptive layer is off.
For a live session, read classification_source from:
- the Agent Debugger (
/debug)promptevent, segmentadaptive_orchestration get_adaptive_orchestrationorbmo_get_adaptive_orchestrationGET /v1/sessions/{id}/adaptive-orchestration
The maintainer procedure, including the recorded disposition names, is Typed topology.
Disabling
Section titled “Disabling”Set typed_topology_enabled = false, or delete the key. To stop the Choice
path without leaving an invalid combination, also keep mode at heuristic
only when the flag is false.
[options.adaptive_orchestration.classifier]mode = "heuristic"Pinning topology stops the Choice call and leaves the rest of adaptive
orchestration on. Disabling adaptive orchestration stops ordinary reshapes,
the Choice, and the spawn check together.
Passive comparison stays a separate command and does not re-enable the flag:
bmo eval decision-model --example > decision-corpus.jsonbmo eval decision-model decision-corpus.jsonThat replay makes no provider call. A local bridge started for the same Choice contract does not turn typed topology on. See Adaptive orchestration for the passive report fields.