Skip to content

docs(server): ManagerResolver nearest-ancestor contract + proto role-comment sweep (RIG-3080) - #805

Merged
mattwilkinsonn merged 2 commits into
mainfrom
compass-server/rig-3080-managerresolver-contract
Aug 31, 2026
Merged

docs(server): ManagerResolver nearest-ancestor contract + proto role-comment sweep (RIG-3080)#805
mattwilkinsonn merged 2 commits into
mainfrom
compass-server/rig-3080-managerresolver-contract

Conversation

@rigel-mintaka

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

Copy link
Copy Markdown
Contributor

This PR is part of a stack containing 2 PRs:

  1. main
  2. "docs(server): ManagerResolver nearest-ancestor contract + proto role-comment sweep (RIG-3080)" (this PR)
  3. feat(config): admit prompts/<role>/SYSTEM.md + expose Prompts info bucket (RIG-3075) #808

Taxonomy T7 from the frozen manager-role-taxonomy record (RIG-3066). Two
doc/spec surfaces drift under the three-role taxonomy and are corrected here
before an implementer codes against them; both are comment-only and
regen-neutral.

  • go/internal/linearagent/routing.go: the ManagerResolver seam doc said
    the tree walk goes "up parent_agent_id to a role="manager" agent". Under
    the taxonomy that is wrong twice — a manager-only filter skips an owner
    parent (routing a domain-owned artifact past its owning tier), and every tree
    node is now Manager-class so the filter is vestigial. Reworded to the nearest
    tree ancestor (any Manager-class role). Only the interface + test fakes exist
    today (NewResolver is called only from tests), so this prevents a future
    implementer hardcoding role==\"manager\".
  • proto/compass/v1/compass.proto: the role field comment said
    "operator-set role". After T1 the label is spawner-selected from the closed
    taxonomy and server-validated; the provision field stays server-authoritative
    (populated from the stored role, overwrites client-supplied). Swept the
    comment to match the T1 invariant.

Verified: gofmt clean; go build ./internal/linearagent/... exit 0; go test
./internal/linearagent/... ok (routing fakes green); proto diff is comment-only
(regen-neutral, confirmed no non-comment line changed).

Refs RIG-3080

Co-authored-by: Matt Wilkinson matt@rigel.build

jj-hooks: autofixes for compass-server/rig-3080-managerresolver-contract

@linear-code

linear-code Bot commented Aug 31, 2026

Copy link
Copy Markdown

RIG-3080

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-server-rig-3080-mana.compass-eng-docs.pages.dev

Deployed from compass-server/rig-3080-managerresolver-contract at 48a26e3.

rigel-mintaka and others added 2 commits August 31, 2026 16:24
…comment sweep (RIG-3080)

Taxonomy T7 from the frozen manager-role-taxonomy record (RIG-3066). Two
doc/spec surfaces drift under the three-role taxonomy and are corrected here
before an implementer codes against them; both are comment-only and
regen-neutral.

- `go/internal/linearagent/routing.go`: the `ManagerResolver` seam doc said
  the tree walk goes "up parent_agent_id to a role=\"manager\" agent". Under
  the taxonomy that is wrong twice — a `manager`-only filter skips an `owner`
  parent (routing a domain-owned artifact past its owning tier), and every tree
  node is now Manager-class so the filter is vestigial. Reworded to the nearest
  tree ancestor (any Manager-class role). Only the interface + test fakes exist
  today (`NewResolver` is called only from tests), so this prevents a future
  implementer hardcoding `role==\"manager\"`.
- `proto/compass/v1/compass.proto`: the `role` field comment said
  "operator-set role". After T1 the label is spawner-selected from the closed
  taxonomy and server-validated; the provision field stays server-authoritative
  (populated from the stored role, overwrites client-supplied). Swept the
  comment to match the T1 invariant.

Verified: gofmt clean; go build ./internal/linearagent/... exit 0; go test
./internal/linearagent/... ok (routing fakes green); proto diff is comment-only
(regen-neutral, confirmed no non-comment line changed).

Refs RIG-3080

Co-authored-by: Matt Wilkinson <matt@rigel.build>

jj-hooks: autofixes for compass-server/rig-3080-managerresolver-contract
Review-loop polish on the ProvisionAgentWorkspaceRequest.role doc comment (three low-severity findings): reflow so "INVALID_ARGUMENT on an unknown label" is not split mid-phrase; use the Connect-canonical INVALID_ARGUMENT spelling instead of the Go-flavored CodeInvalidArgument (the comment generates into both Go and TS clients); and spell out that a role is required at spawn while the provision wire field stays optional (an empty stored role yields the default block-0), reconciling with the trailing "empty" clause. Comment-only + regen across all gen trees; no wire/field change.

Refs RIG-3066

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@rigel-mintaka
rigel-mintaka force-pushed the compass-server/rig-3080-managerresolver-contract branch from 2845fb9 to 48a26e3 Compare August 31, 2026 20:35
@mattwilkinsonn
mattwilkinsonn merged commit 81ac861 into main Aug 31, 2026
15 checks passed
@mattwilkinsonn
mattwilkinsonn deleted the compass-server/rig-3080-managerresolver-contract branch August 31, 2026 21:00
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.

2 participants