Fail closed on invalid Glas profiles
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a028de-e2c8-7732-8521-46a7fc5db82f
This commit is contained in:
parent
561538c95e
commit
b933cf52c8
12 changed files with 455 additions and 9 deletions
|
|
@ -154,7 +154,7 @@ silent fallback is exactly the failure this workplan removes.
|
|||
|
||||
```task
|
||||
id: ACTIVITY-WP-0032-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "50225bac-1798-5cf5-91ad-d4c662de7fc7"
|
||||
```
|
||||
|
|
@ -177,6 +177,23 @@ Glas refuses before sandbox creation. If emit-time remote validation becomes
|
|||
necessary, raise it as a capability request against glas-harness rather than
|
||||
solving it locally.
|
||||
|
||||
Done 2026-08-22. Definition parsing now validates every declared rule or
|
||||
instruction profile structurally and normalizes its version-pinned ref before
|
||||
DB sync. With `ACTIVITY_CORE_REQUIRE_HARNESS_PROFILE=true`, sync refuses
|
||||
task-emitting declarations that omit a profile; deterministic report-only
|
||||
instructions remain exempt. Rule and instruction expansion carry the declared
|
||||
profile, legacy hint, and allowlisted attribution refs into the queued request.
|
||||
|
||||
Emission now preflights the complete task batch before opening either the DB or
|
||||
IssueSink. A missing profile in strict mode or any malformed profile becomes a
|
||||
non-retryable activity error, so a later invalid item cannot leave earlier
|
||||
items partially emitted and `approach_hint` cannot rescue it. Tests also prove
|
||||
that an unknown but structurally valid versioned ref is preserved for the
|
||||
authoritative execution-side Glas resolver; no local profile catalogue was
|
||||
introduced. Verification: 59 focused tests and 426 repository tests passed;
|
||||
the one live NATS-to-Temporal bridge test was deselected because it requires
|
||||
the local integration stack. Python compilation and `git diff --check` passed.
|
||||
|
||||
## Record normalized execution evidence
|
||||
|
||||
```task
|
||||
|
|
@ -211,10 +228,10 @@ provider-credential failures and would mask the result.
|
|||
|
||||
- [x] Invocation shape decided and recorded as an ADR, with the boundary stated
|
||||
(ACT-ADR-006; pull queue preserved)
|
||||
- [ ] ops_run carries an approved `harness_profile_ref`; no definition names a
|
||||
- [x] ops_run carries an approved `harness_profile_ref`; no definition names a
|
||||
concrete rein
|
||||
- [ ] Malformed/absent profile refs are refused at emission; unknown-but-well-formed
|
||||
- [x] Malformed/absent profile refs are refused at emission; unknown-but-well-formed
|
||||
refs are refused by Glas before sandbox creation, never at claim
|
||||
- [ ] `approach_hint` cannot override or substitute for a profile ref, proven by test
|
||||
- [x] `approach_hint` cannot override or substitute for a profile ref, proven by test
|
||||
- [ ] Normalized Glas evidence is visible in production status
|
||||
- [ ] One definition proven on railiance01 end to end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue