Add harness.agent-dev-local 1.1.0 metered-owner candidate (GLAS-WP-0012-T03)
All checks were successful
ci / validate (push) Successful in 1m5s

Unverified bounded-proof profile for rein-aharness metered-once: bwrap-local
with empty egress, no credential routes, 900 s / 60k tokens, 30 turns and a
USD 5.00 native cap matching the accepted spend envelope. 1.0.0 stays
blocked; unpinned selection becomes ambiguous. 134 tests pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 272244@bnt-lap001
Assistant-Session: c8962fa7-b290-47df-865f-403ddb6c77e9
This commit is contained in:
tegwick 2026-09-21 23:06:42 +02:00
parent f08ecc35e5
commit 462436b611
3 changed files with 69 additions and 6 deletions

View file

@ -67,18 +67,19 @@ def test_committed_catalog_resolves_both_constellations() -> None:
contexts = catalog.validate_all()
assert len(contexts) == 3
assert len(contexts) == 4
assert {context.rein_id for context in contexts} == {
"rein-aharness",
"rein-openweights",
}
assert {
(context.profile.id, context.operational_readiness.status)
(context.profile.id, context.profile.version, context.operational_readiness.status)
for context in contexts
} == {
("harness.agent-dev-local", "blocked"),
("harness.agent-dev-openweights-local", "blocked"),
("harness.agent-dev", "unverified"),
("harness.agent-dev-local", "1.0.0", "blocked"),
("harness.agent-dev-local", "1.1.0", "unverified"),
("harness.agent-dev-openweights-local", "1.0.0", "blocked"),
("harness.agent-dev", "1.0.0", "unverified"),
}
profile, descriptor = catalog.resolve(
"harness.agent-dev-openweights-local@1.0.0"
@ -98,6 +99,21 @@ def test_committed_catalog_resolves_both_constellations() -> None:
assert rein.budget_tokens == 60000
def test_metered_candidate_carries_native_limits_and_no_credential_route() -> None:
catalog = ProfileCatalog()
profile, _ = catalog.resolve("harness.agent-dev-local@1.1.0")
catalog.require_operational(profile)
assert profile.operational_readiness.status == "unverified"
assert profile.sandbox_profile == "profile.bwrap-local"
assert profile.credential_route_refs == []
assert profile.limits.max_turns == 30
assert profile.limits.max_budget_usd == 5.0
assert profile.limits.timeout_seconds == 900
assert profile.limits.budget_tokens == 60000
with pytest.raises(AmbiguousProfileError):
catalog.resolve("harness.agent-dev-local")
def test_ready_profile_requires_an_evidence_reference(tmp_path) -> None:
profiles = tmp_path / "profiles"
reins = tmp_path / "reins"