Highlights
Fix: approved-gate validator always rejected every approved gate (#9, #10)
validate's approved-gate check for an independent verifier's reviewer role was structurally broken: required_reviewers was a hardcoded empty set left over from the v0.3 kernel refactor that moved domain-specific review_agents out of the kernel's lifecycle-gates.json contract, so verifier_role not in required_reviewers was unconditionally True and every approved gate failed with "lacks required reviewer role []", regardless of who verified it.
- Removed the dead check; the existing agent-catalog reviewer lookup is now gated to
kind: "agent"verifiers only. A naive fix (just keep the oldelif) would have silently started rejecting every legitimate human/service verifier instead, since an identity'skind(human/agent/service) and the agent catalog's own per-rolekind(author/reviewer/specialist) are different axes — caught in review before merge. - Independent review also caught that removing the dead branch made a previously-unreachable line live for the first time: a schema-invalid, non-string
role(e.g. a hand-edited record) would have raised an uncaughtTypeErrorinstead of degrading to a validation error like every neighboring check. Fixed with an explicit string guard. - 5 new regression tests: agent-kind reviewer verifier, agent-kind non-reviewer verifier, human-kind verifier, service-kind verifier, and non-string-role.
Compatibility
The kernel's VERSION constant remains 0.3.0 -- no G1-G10 contract or schema changes in this release; the fix only corrects validator logic. Existing providers pinned to kernel_compatibility ranges covering 0.3.0 remain compatible.
Full changelog: v0.6.0...v0.6.1