You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Updated ExecutabilityVerifier-subagent to remove model declaration.
- Revised NOTES.md to reflect changes in active objectives and evaluation gates.
- Changed Orchestrator's model from Claude Sonnet 4.6 to Claude Opus 4.8 and updated model resolution rules.
- Adjusted Planner agent's model resolution documentation for clarity.
- Removed model declarations from PlatformEngineer, Researcher, TechnicalWriter, and UIImplementer subagents.
- Enhanced README.md to clarify model selection process for agents.
- Updated MODEL-ROUTING.md to reflect new auto selection and pinning strategy.
- Modified drift-checks to enforce model presence rules for pinned and auto agents.
- Changed runtime policy default mode from deterministic to auto.
- Updated tests to validate new model handling rules and ensure compliance.
- Added Visual Studio workspace configuration files for improved development experience.
Copy file name to clipboardExpand all lines: NOTES.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,6 @@
2
2
3
3
Repo-persistent active-objective state only. See `docs/agent-engineering/MEMORY-ARCHITECTURE.md` for the three-layer memory model; task-episodic history lives under `plans/artifacts/<task-slug>/`.
4
4
5
-
- Active objective: follow-up cleanup complete; full eval gate (`cd evals && npm test`) green (drift-detection 101/101).
5
+
- Active objective: Auto-default + selective pinning complete (4 pinned agents); full eval gate (`cd evals && npm test`) green.
6
6
- Blockers: none.
7
7
- Pending: optional follow-up to investigate pre-existing capability-matrix live-tree drift flags surfaced by the smoke test.
### Universal Model Resolution Rule (Mandatory — All Dispatches)
171
171
Before every `agent/runSubagent` call, regardless of dispatch context, apply this rule:
172
172
1. Load `governance/model-routing.json`.
173
-
2. Load `governance/runtime-policy.json` and resolve `runtime_model_mode` from per-dispatch override when present, else `model_dispatch.default_mode` (deterministic default).
173
+
2. Load `governance/runtime-policy.json` and resolve `runtime_model_mode` from per-dispatch override when present, else `model_dispatch.default_mode` (now defaults to `auto`; deterministic is the opt-in mode used for pinned dispatch).
174
174
3. Set payload marker `runtime_model_mode` on every delegation payload for auditability and mode-consistency checks.
175
175
4. Look up the target agent name in the top-level `agent_role_index` map to get its role.
176
176
5. Read `roles[role].by_tier[complexity_tier]`. If the entry is `{ "inherit_from": "default" }`, use the role's top-level `primary` model; otherwise use the tier-specific `primary`.
177
177
6. Pass the exact target as the outer `agentName` parameter to `agent/runSubagent`.
178
-
7.**Deterministic mode (default/backward-compatible):** pass the resolved `primary` model string as the outer `model` parameter to `agent/runSubagent`. Never omit outer `model` in deterministic mode.
178
+
7.**Deterministic mode (opt-in, used for pinned dispatch):** pass the resolved `primary` model string as the outer `model` parameter to `agent/runSubagent`. Never omit outer `model` in deterministic mode.
179
179
8.**Auto mode:** omit the outer `model` parameter so Copilot platform auto-selection can choose the runtime model. Keep payload-level `model` optional in this mode and rely on `runtime_model_mode: auto` marker for contract semantics and audits.
180
180
9. For initial planning dispatches before any plan `complexity_tier` exists: deterministic mode uses the target role's top-level `primary` model; auto mode still omits outer `model`. Missing tier context changes the resolution source (deterministic) or preserves omission (auto), not the mode contract.
181
181
@@ -185,7 +185,7 @@ This rule covers all dispatch paths without exception: Plan Review Gate reviewer
185
185
186
186
Every `agent/runSubagent` call must include these outer tool-call fields:
187
187
-**`agentName`** — the verified target-agent field (string). Placing the agent name only inside prompt prose or a delegation payload is non-compliant.
188
-
-**`model`** — mode-conditional outer runtime selector from the Universal Model Resolution Rule. In deterministic mode (default/backward-compatible), pass the resolved primary as the outer `model` field and never omit it. In auto mode, omit the outer `model` field intentionally so Copilot selects the model automatically.
188
+
-**`model`** — mode-conditional outer runtime selector from the Universal Model Resolution Rule. In deterministic mode (opt-in for pinned dispatch), pass the resolved primary as the outer `model` field and never omit it. In auto mode (the default), omit the outer `model` field intentionally so Copilot selects the model automatically.
189
189
-**Prompt/context payload** — scope, deliverables, and relevant context references.
190
190
191
191
Payload-level `model` remains delegation/audit metadata and does not by itself select runtime execution. It is not a substitute for the outer `model` when deterministic mode is active.
@@ -198,7 +198,7 @@ For `CodeReviewer-subagent`, `PlanAuditor-subagent`, and `AssumptionVerifier-sub
198
198
-**Effective review tier:** For normal plan/code review, use the plan `complexity_tier` as the effective review tier. If a high-impact applicable `risk_review` entry is unresolved and forces the full review pipeline, resolve review-agent models using `LARGE` even if the plan `complexity_tier` is lower.
199
199
-**Primary dispatch:** Resolve the primary model from `governance/model-routing.json``roles.capable-reviewer.by_tier[<effective_review_tier>]` (or the role default when `inherit_from: "default"`). Do not hardcode a model string; always derive the primary from the governance file by effective review tier.
200
200
-**`model_unavailable` retry:** On `model_unavailable`, retry using the configured `fallbacks` list for the same effective tier in order, within `retry_budgets.model_unavailable_max`. Do not silently substitute the Orchestrator frontmatter model or any unconfigured model; only models in the configured `fallbacks` list for the effective tier are permitted as substitutes. If all configured models for the effective tier are unavailable, escalate to `WAITING_APPROVAL` rather than proceeding.
201
-
-`ExecutabilityVerifier-subagent` is an intentional exception: it resolves through `review-readonly`to `Claude Sonnet 4.6 (copilot)`and is not subject to capable-reviewer fallback routing.
201
+
-`ExecutabilityVerifier-subagent` is an Auto (default) agent: in auto mode the outer `model` is omitted and Copilot's picker selects its model, bounded by the subagent cost-cap to at most the Orchestrator's tier, and it is not subject to capable-reviewer fallback routing. Only under deterministic/pinned dispatch would it resolve through its `review-readonly` role (advisory `primary``Claude Sonnet 4.6 (copilot)`).
202
202
203
203
### Initial Planner Dispatch Gate
204
204
@@ -207,7 +207,7 @@ For `CodeReviewer-subagent`, `PlanAuditor-subagent`, and `AssumptionVerifier-sub
207
207
**Non-trigger conditions:** Informational questions, status requests, or any request that already includes a `plan_path` or references an active plan. Do not trigger this gate when plan context is already available.
208
208
209
209
**Dispatch:**
210
-
- Apply the Universal Model Resolution Rule. Before a plan `complexity_tier` exists (no `plan_path` yet), deterministic mode uses Planner's top-level `primary` model; auto mode omits outer `model` intentionally. Deterministic remains the default path.
210
+
- Apply the Universal Model Resolution Rule. Before a plan `complexity_tier` exists (no `plan_path` yet), deterministic mode uses Planner's top-level `primary` model; auto mode omits outer `model` intentionally. Auto is the default path; deterministic applies to pinned dispatch.
211
211
- Dispatch Planner as an **entry-point delegate, not a phase executor**, with:
212
212
-`revision_mode: initial_create` because no active plan exists. Phase 3 keeps the schema field optional for legacy fixture compatibility, but live initial planning dispatch uses this mode.
0 commit comments