mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-11 19:47:12 +03:00
model lint now rejects anything outside the sst-model-v1 schema with exit 1 and a named violation: unknown top-level sections (e.g. 'regions:') and unknown fields inside agents/promises/nodes/edges/acceptances/trajectories/ observations (e.g. 'bogus-field: 42' in a node). Violations name the unknown key and its location, flow through the --json errors list, and never produce a traceback. The template's RULES block documents the strictness, the restricted-YAML subset boundary (anchors/aliases, block scalars, and multi-document streams rejected exit 1; JSON accepted as an equivalent representation), and the trajectory node-id reference rule (no edge- connectivity check in v1). Adds a git-tracked malformed fixture (tests/fixtures/invalid-model.yaml) and unit tests pinning both rejection directions, plus unknown-field coverage in agent and edge entries. Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>