Skip to content

feat: propagate harness capability rosters - #87

Merged
fazpu merged 1 commit into
mainfrom
feature/protocol-v3-capability-roster
Jul 17, 2026
Merged

feat: propagate harness capability rosters#87
fazpu merged 1 commit into
mainfrom
feature/protocol-v3-capability-roster

Conversation

@fazpu

@fazpu fazpu commented Jul 17, 2026

Copy link
Copy Markdown
Member

Why

Loopy protocol v3 gives each coordinator a caller-frozen roster of the enabled harness families and four strength tiers. Team Harness previously had no typed way to carry that context through its root coordinator, nested harness coordinators, and direct spawned-agent audit records. As a result, downstream agents could lose the actual model choices that the outer loop had selected.

This PR adds transport only. Team Harness does not open, interpret, schedule from, or enforce the caller-owned roster. The coordinator still decides whether and how to delegate.

What changes

  • Advertise the additive capability_roster_context_v1 named capability.
  • Extend CallerContext with an optional absolute roster path, digest, and compact JSON summary. The three fields are validated as one bundle.
  • Render the caller-supplied summary in the root and nested coordinator context so both can choose among the actual enabled family/tier bundles.
  • Preserve the same context through built-in nested type=harness delegation.
  • Record the roster path, digest, and summary in every direct agent_assignment.json for auditability.
  • Document the trust boundary and release the change as 0.5.4.

Deliberate boundaries

  • No roster file reads or semantic interpretation inside Team Harness.
  • No delegation quotas, scheduling rules, or completion gates.
  • No changes to arbitrary external workers that launch another harness independently.
  • Existing caller-context fields and named capabilities retain their meaning.

Validation

  • pytest -q src/tests/test_caller_contract.py — 19 passed
  • Pyright — clean
  • Ruff lint and format — clean
  • Wheel and sdist build — passed
  • Twine package check — passed
  • Full suite — 552 passed; 2 existing local Rich ANSI rendering failures in src/tests/test_console.py, unrelated to this diff

External review

Claude Code and Antigravity reviewed this transport together with the consuming Loopy protocol-v3 implementation. No material Team Harness architecture issue remained after review.

@fazpu
fazpu merged commit 0ae608f into main Jul 17, 2026
6 checks passed
@fazpu
fazpu deleted the feature/protocol-v3-capability-roster branch July 17, 2026 17:57
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