Files
magnus919_agent-skills/semantic-spacetime/tests/fixtures/sample-model.yaml
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> 2656704e06 feat(semantic-spacetime): add stdlib-only CLI and black-box test suite
Add scripts/semantic-spacetime.py, a stdlib-only Python 3.10+ CLI for
sst-model-v1 models: model lint (schema validation with coverage summary),
model map (gamma(3,4) text/mermaid/json rendering), model distance (weighted
hop distance, weight |link| + 1 per hop), model trajectory (simple-path
enumeration with cycle notes), and model drift (snapshot diff). Pins the
promise-contract.py conventions: exit codes 0/1/2, --json single-object
purity on dispatched paths, --dry-run no-op guard, never a traceback, module
import with no side effects.

Add the stdlib unittest suite (50 black-box subprocess cases), trigger
probes with the committed Load By Need routing and anti-trigger refusal
tables, and the tracked sample-model fixture materialized from the template's
delimited example. Update SKILL.md and README Quick Start to the real
--help command surface.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-12 23:49:54 -04:00

55 lines
2.5 KiB
YAML

# --- example ---
schema_version: 1
agents:
- id: operator # required; unique; lowercase-hyphen
role: workflow operator # required; free text
promises: # optional; scalar promises this agent makes
- id: deliver-report # required; unique across the whole model
body: Deliver the weekly status report by Friday. # required; free text
type: capability # optional; capability | intent | constraint
target: reviewer # optional; <agent-id> | <node-id> | all
- id: no-unverified-claims
body: Never assert a claim without a measured source.
type: constraint
target: all
- id: reviewer
role: semantic reviewer
promises:
- id: review-report
body: Review the report for semantic drift against the agreed vocabulary.
type: capability
target: operator
nodes: # required; at least one semantic element
- id: report-event # required; unique; lowercase-hyphen
type: event # required; event | thing | concept
- id: report-thing
type: thing
- id: drift-concept
type: concept
edges: # required; at least one gamma(3,4) edge
- from: report-event # required; must be a declared node id
to: report-thing # required; must be a declared node id
link: 1 # required; integer in -3..3
- from: report-thing
to: drift-concept
link: 3
- from: drift-concept
to: report-thing
link: 2
acceptances: # optional; cross-agent acceptance records
- promise: deliver-report # required; must reference a declared promise id
from: operator # required; must equal the agent that declares it
to: reviewer # required; a declared agent id
trajectories: # optional; declared paths through the graph
- id: report-flow # required; unique
path: [report-event, report-thing, drift-concept] # required; node ids, >= 1 entry
label: report moves from event to reviewed thing # optional; free text
observations: # optional; the proper-time record
- at: t1 # required; tick label or timestamp, free text
event: report drafted # required; what changed, free text
changed: report-event # optional; a declared node id or promise id
- at: t2
event: reviewer flags drift in vocabulary
changed: drift-concept
# --- end example ---