Vyasa Context Syntax — engine handoff

kg.schemaURL copied

@graph id=birdhouse title=Backyard Birdhouse
pool=kg.nodes
attrs=kg.attrs
palette=kg.palette
contexts=*.context          # glob; auto-discovered; ordered by @context seq
default_context=latest      # which context to show on open (latest = highest seq)
hover_attrs=summary,owner,dept,status

@status_defaults            # status used when a context does not assign one, keyed by kind
entity=active
decision=active
constraint=active
question=open
action=open
deliverable=done

@relations                  # closed verb vocabulary (unchanged from current vyasa)
about
constrains
addresses
produces
reinforces
supersedes
answers

@views                      # lenses applied to whichever context is loaded; no source pinned
state:
	group_by,color_by=status
	caption="Where everything stands"
plate:
	group_by,color_by=owner
	caption="Each owner's work"
mia_todo:
	filter=owner:Mia
	group_by,color_by=status
	caption="One owner's work only"

Differences from the current schema:

  • pool=/attrs= replace the @sources nodes=/attrs= lines; there is no per-source edges= and no base:/snap: source blocks. Edges now live in context files.
  • contexts= declares a glob for auto-discovery instead of enumerating sources.
  • @status_defaults is new.
  • Views no longer take source=. They are lenses over the active context. filter=key:value is a new per-view filter (used for per-owner todo views).