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
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:
parent
f08ecc35e5
commit
462436b611
3 changed files with 69 additions and 6 deletions
35
profiles/harness.agent-dev-local-1.1.0.yaml
Normal file
35
profiles/harness.agent-dev-local-1.1.0.yaml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
id: harness.agent-dev-local
|
||||
version: "1.1.0"
|
||||
contract_version: "1.0"
|
||||
status: enabled
|
||||
operational_readiness:
|
||||
status: unverified
|
||||
reason: bounded GLAS-WP-0012-T04 proof candidate; no positive real-run evidence yet
|
||||
owner: glas-harness
|
||||
evidence_ref: GLAS-WP-0012-T03
|
||||
rein:
|
||||
id: rein-aharness
|
||||
required_capabilities:
|
||||
session_style: unattended
|
||||
model_class: frontier
|
||||
sandbox_profile: profile.bwrap-local
|
||||
tool_profile: green-commit-only
|
||||
model:
|
||||
provider: anthropic
|
||||
model: claude-sonnet-4-6
|
||||
model_class: frontier
|
||||
route: claude-code-cli
|
||||
limits:
|
||||
budget_tokens: 60000
|
||||
timeout_seconds: 900
|
||||
max_turns: 30
|
||||
max_budget_usd: 5.0
|
||||
credential_route_refs: []
|
||||
metadata:
|
||||
latency_class: fast
|
||||
stream_tool_events: true
|
||||
# Candidate for the metered one-cycle owner (rein-aharness metered-once).
|
||||
# The provider key stays with MessagesOwner outside bwrap; the workload gets
|
||||
# only an owner-socket route, so the sandbox keeps empty egress and no
|
||||
# credential route refs. max_budget_usd matches the accepted spend envelope
|
||||
# hfact-glas-anthropic-2026-09 (infd-20260921-b01). Rollback: pin 1.0.0.
|
||||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ See docs/local-profile-acceptance.md.
|
|||
|
||||
```task
|
||||
id: GLAS-WP-0012-T03
|
||||
status: wait
|
||||
status: progress
|
||||
priority: high
|
||||
state_hub_task_id: "c660808a-1724-555c-bc59-7318870d3591"
|
||||
```
|
||||
|
|
@ -126,6 +126,18 @@ Done when the exact candidate resolves, the real runtime starts through its
|
|||
owner, the focused tests and full suite pass, and rollback to the blocked
|
||||
`harness.agent-dev-local@1.0.0` pin is documented.
|
||||
|
||||
2026-09-21 candidate: `profiles/harness.agent-dev-local-1.1.0.yaml`, readiness
|
||||
`unverified` (evidence_ref GLAS-WP-0012-T03), `profile.bwrap-local`, no
|
||||
credential route refs, claude-sonnet-4-6, 900 s / 60,000 tokens, max_turns 30,
|
||||
max_budget_usd 5.0. The provider key stays with rein-aharness MessagesOwner
|
||||
outside bwrap (metered-once); the owner bootstrap's sandbox, model and
|
||||
credential-route checks accept it. max_budget_usd matches the operator-accepted
|
||||
spend envelope hfact-glas-anthropic-2026-09 (Informed Decision
|
||||
infd-20260921-b01, approval ba5ce2d8). Unpinned selection is now ambiguous and
|
||||
1.0.0 stays blocked; rollback is pinning 1.0.0. 134 tests pass. Remaining for
|
||||
done: the rebuilt runtime artifact carrying this profile starts through its
|
||||
owner on railiance01 (SECRETS-WP-0009-T03 step B2).
|
||||
|
||||
## Prove one real bounded rein task inside the sandbox
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue