Skip to content

docs(product): per-agent model and role overrides design (RIG-2936) - #722

Draft
rigel-mintaka wants to merge 4 commits into
mainfrom
compass-agent/rig-2936-per-agent-overrides
Draft

docs(product): per-agent model and role overrides design (RIG-2936)#722
rigel-mintaka wants to merge 4 commits into
mainfrom
compass-agent/rig-2936-per-agent-overrides

Conversation

@rigel-mintaka

@rigel-mintaka rigel-mintaka commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

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

@linear-code

linear-code Bot commented Aug 29, 2026

Copy link
Copy Markdown

RIG-2936

@rigel-mintaka
rigel-mintaka marked this pull request as draft August 29, 2026 01:31
@github-actions

github-actions Bot commented Aug 29, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-agent-rig-2936-per-a.compass-eng-docs.pages.dev

Deployed from compass-agent/rig-2936-per-agent-overrides at f7810a9.

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
rigel-mintaka force-pushed the compass-agent/rig-2936-per-agent-overrides branch from 92a273c to a37dd8d Compare August 29, 2026 01:38
… (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
rigel-mintaka force-pushed the compass-agent/rig-2936-per-agent-overrides branch from 7a4bdd5 to 539e519 Compare August 29, 2026 01:54
rigel-mintaka and others added 2 commits August 28, 2026 22:34
… 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>
@rigel-mintaka rigel-mintaka changed the title docs(product): per-agent model, role, and instruction overrides design (RIG-2936) docs(product): per-agent model and role overrides design (RIG-2936) Aug 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant