docs(product): per-agent model and role overrides design (RIG-2936) - #722
Draft
rigel-mintaka wants to merge 4 commits into
Draft
docs(product): per-agent model and role overrides design (RIG-2936)#722rigel-mintaka wants to merge 4 commits into
rigel-mintaka wants to merge 4 commits into
Conversation
rigel-mintaka
marked this pull request as draft
August 29, 2026 01:31
|
Compass engineering docs preview: https://compass-agent-rig-2936-per-a.compass-eng-docs.pages.dev Deployed from Changed pages: |
…n (RIG-2936)
Design record for per-agent {model, role, instruction_slice} overrides in
Compass, so model-eval per-role recommendations (RIG-2562) can roll out
incrementally within one agent tree (implementor ladder on a candidate model
while Managers/designers stay on the known-good tier).
Two-layer override contract, frozen with the harness lane (RIG-2935): Layer 1
is the shared portable tuple (bounded SELECTION against server-provisioned
config, no free-text injection surface); Layer 2 is the Compass-only operator
escape hatch (free-text AUTHORING on the server-authoritative provision path,
never agent-facing).
Drafted at the design tier and design-critic red-teamed (0 blockers, 6
should-fix + 3 consider, all folded). One load-bearing policy fork routed to
Matt as RIG-2937 (may a supervisor agent compose its subtree's overrides).
Status: Draft. Merge-freeze held pending the harness RIG-2935 frozen-Interfaces
confirm + model-evals confirm, per cross-lane sequencing.
Ledger-impact: deferred to freeze — 5 DL rows staged in the record's Ledger
delta section, applied with the Draft to Active flip on merge-freeze.
Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass-agent/rig-2936-per-agent-overrides
branch
from
August 29, 2026 01:38
92a273c to
a37dd8d
Compare
… (RIG-2936)
Additive commit atop the review-round-1 fold:
- Add OQ-6 (LOAD-BEARING): instruction_slice's premise is under Matt review
(harness-owned OQ9 — model-eval lane flagged the per-agent instruction dial
may assume a capability no harness ships). Designed against KEEP; documents
the exact Compass cut surface if Matt cuts (Layer 1 collapses to
{model?, role?}, drop the field + T3s + T6 runner-twin + T5 param + the
config-reader resolver). model + role stay frozen/stable.
- Annotate the instruction_slice Layer-1 field with the OQ-6 pending-ruling
note so it is not read as settled.
- Scope the 'both records read identically' claim to the Layer-1 tuple
(byte-identical) + the two-layer structure; each lane keeps its own
boundary-framing headline (harness dropped its authoring-vs-selection
reword after we agreed it is not a divergence).
- Review round-2 low: nudge the host.go reattach citation to host.go:299
(the registry.Resolve call). The agent_config.go citations were verified
correct at source and kept.
Round 2 verdict was CLEAR TO FREEZE; Status stays Draft, merge-freeze held
pending Matt's OQ-6 ruling + the harness frozen-tuple ping.
Ledger-impact: deferred to freeze — DL rows staged in the record's Ledger
delta section, applied with the Draft to Active flip on merge-freeze.
Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass-agent/rig-2936-per-agent-overrides
branch
from
August 29, 2026 01:54
7a4bdd5 to
539e519
Compare
… role} (RIG-2936)
Matt ruled CUT on the per-agent instruction-slice dial (2026-08-27, via
model-evals; relayed by the harness lane). This folds the conditional-cut
path the prior OQ-6 designed against:
- Layer 1 collapses to the byte-identical frozen tuple { model?, role? }
(re-mirrored from the harness RIG-2935 block verbatim).
- Drop the instruction_slice field end to end: the SpawnPeerRequest /
ProvisionAgentWorkspaceRequest wire fields, the agent_accounts column,
the instructions/ store-door + runner top-dir whitelists (the structural
twin), and the in-container consumption (readMountedInstructionSlice /
resolveInstructionSlice / rules-append). T3s and the T6 runner-twin are
removed; the old T6 agent-consumption task is gone; harness alignment is
now T6. Tasks renumber T1-T6.
- Retitle the record 'per-agent model and role overrides'; rescope
Problem/Intent; drop acceptance criterion (c) with the field (only (a)
and (b) remain).
- OQ-6 becomes RESOLVED-CUT, documenting Matt's rationale: NOT a capability
gap (harnesses do ship model-keyed prompts by default), a deliberate
shared-corpus-first choice — one hardened shared prompt over a per-model
variant matrix. A revived dial re-enters as an additive Layer-1 field via
a fresh record.
- With OQ-6 resolved the record has exactly one load-bearing question (OQ-1
/ RIG-2937). Ledger delta: DL-next-5 records the cut; the two-layer,
cross-family, and set-at-creation rows drop their slice mentions.
Gates green (scrub, design-ledger-gate:check 245 rows/98 headers,
markdownlint 0). Status stays Draft; merge-freeze now gated only on Matt's
RIG-2937 ruling + the harness frozen-tuple ping (harness confirmed Layer 1
is otherwise stable and locks now).
Ledger-impact: deferred to freeze — DL rows staged in the record's Ledger
delta section, applied with the Draft to Active flip on merge-freeze.
Co-authored-by: Matt Wilkinson <matt@rigel.build>
The sole review pass on the cut returned CLEAN at the gating floor
(high 0 / medium 0), two non-gating lows. Both fixed here:
- Normalize the OQ-6 prose tuple to {model?, role?} (no inner brace spaces)
to match the frozen Layer-1 code block and DL-next-5.
- Retitle the grounding bullet 'The instruction surfaces are the config
mount' to 'The config-mount surfaces (prompts/, rules/, models.yml)' —
removes an incidental 'instruction' word collision in a record that cut
the instruction dial; the bullet's content (prompts/, rules/, models.yml
mount surfaces the surviving role/model design rests on) is unchanged.
Review verified the cut complete and coherent: all slice vocabulary confined
to OQ-6 + DL-next-5, tasks T1-T6 consistent, ~14 file:line citations
spot-checked accurate against live source, OQ-1 the sole load-bearing
question, acceptance (a)/(b) intact and (c) cleanly descoped. Review loop
all-clear.
Gates green (scrub, design-ledger-gate check 245/98, markdownlint 0). Status
stays Draft; merge-freeze held pending Matt's RIG-2937 ruling + the harness
frozen-tuple ping.
Ledger-impact: deferred to freeze.
Co-authored-by: Matt Wilkinson <matt@rigel.build>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design record for per-agent {model, role} overrides in Compass, so model-eval
per-role recommendations (RIG-2562) can roll out incrementally within one agent
tree (implementor ladder on a candidate model while Managers/designers stay on
the known-good tier).
Two-layer override contract, frozen with the harness lane (RIG-2935): Layer 1
is the shared portable tuple (bounded SELECTION against server-provisioned
config, no free-text injection surface); Layer 2 is the Compass-only operator
escape hatch (free-text AUTHORING on the server-authoritative provision path,
never agent-facing).
Matt cut the per-agent instruction-slice dial (2026-08-27, via model-evals) as
a deliberate shared-corpus-first choice, not a capability gap: Layer 1 is
{model, role}, and the field, its wire slots, its store column, and its config
mount whitelists are all out of scope (OQ-6, DL-next-5). Acceptance criterion
(c) is descoped with the field; (a) the model ladder and (b) the cross-family
constraint stand.
Drafted at the design tier and design-critic red-teamed (0 blockers, 6
should-fix + 3 consider, all folded). One load-bearing policy fork routed to
Matt as RIG-2937 (may a supervisor agent compose its subtree's overrides).
Status: Draft. Merge-freeze held pending the harness RIG-2935 frozen-Interfaces
confirm + model-evals confirm, per cross-lane sequencing.
Ledger-impact: deferred to freeze — 5 DL rows staged in the record's Ledger
delta section, applied with the Draft to Active flip on merge-freeze.
Co-authored-by: Matt Wilkinson matt@rigel.build