Build workspace agent, capability graph, and versioned cutovers

This commit is contained in:
2026-09-05 12:33:52 -07:00
parent c4d42a0ac5
commit ce793cc54f
55 changed files with 5600 additions and 2529 deletions
@@ -1,193 +1,197 @@
WORKSPACE=1
ATOM=2
INTERFACE=3
INTERFACES=4
PACKAGE=5
VALUE=6
RELATION=7
OPERATION=8
FUNCTION=9
CONSTRUCTOR=10
CONSTRUCTS=11
CONFORM=12
AS=13
BIND=14
TO=15
PRIVATE=16
SHARED=17
STATE=18
EDGE=19
PROJECTION=20
WITH=21
USING=22
VIA=23
MATERIALIZE=24
IF=25
ABSENT=26
ON=27
POLICY=28
DEFAULT=29
SOURCE=30
REPOSITORY=31
COMMIT=32
REVISION=33
ID=34
DOC=35
MODE=36
EMITS=37
RECEIVER=38
REQUIRES=39
ANY=40
GET=41
SET=42
WATCH=43
START=44
STOP=45
READ=46
WRITE=47
RESOLVE=48
CONNECT=49
DISCONNECT=50
CALL=51
WATCH_START=52
WATCH_STOP=53
SUBSCRIBE=54
UNSUBSCRIBE=55
OPTIMISTIC_REGISTER=56
CRDT=57
OPTIONAL_ONE=58
EXACTLY_ONE=59
MANY_UNIQUE=60
MANY=61
ORDERED=62
UNIT=63
WATCH_HANDLE=64
MESSAGE=65
ATOM_REF=66
INTERFACE_REF=67
OPTIONAL=68
LIST=69
BOOL=70
BYTES=71
DOUBLE=72
INT32=73
INT64=74
STRING=75
UINT32=76
UINT64=77
TRUE=78
FALSE=79
NULL=80
ARROW=81
COLON=82
SEMI=83
COMMA=84
DOT=85
LBRACE=86
RBRACE=87
LBRACK=88
RBRACK=89
LPAREN=90
RPAREN=91
LT=92
GT=93
INTEGER=94
JSON_NUMBER=95
IDENTIFIER=96
STRING_LITERAL=97
LINE_COMMENT=98
BLOCK_COMMENT=99
WS=100
IMPORT=2
EXTERNAL=3
ATOM=4
INTERFACE=5
INTERFACES=6
PACKAGE=7
VALUE=8
RELATION=9
OPERATION=10
FUNCTION=11
CONSTRUCTOR=12
CONSTRUCTS=13
CONFORM=14
AS=15
BIND=16
TO=17
PRIVATE=18
SHARED=19
STATE=20
EDGE=21
PROJECTION=22
WITH=23
USING=24
VIA=25
MATERIALIZE=26
IF=27
ABSENT=28
ON=29
POLICY=30
DEFAULT=31
SOURCE=32
REPOSITORY=33
COMMIT=34
REVISION=35
ID=36
DOC=37
MODE=38
EMITS=39
RECEIVER=40
REQUIRES=41
ANY=42
GET=43
SET=44
WATCH=45
START=46
STOP=47
READ=48
WRITE=49
RESOLVE=50
CONNECT=51
DISCONNECT=52
CALL=53
WATCH_START=54
WATCH_STOP=55
SUBSCRIBE=56
UNSUBSCRIBE=57
OPTIMISTIC_REGISTER=58
CRDT=59
OPTIONAL_ONE=60
EXACTLY_ONE=61
MANY_UNIQUE=62
MANY=63
ORDERED=64
UNIT=65
WATCH_HANDLE=66
MESSAGE=67
ATOM_REF=68
INTERFACE_REF=69
OPTIONAL=70
LIST=71
BOOL=72
BYTES=73
DOUBLE=74
INT32=75
INT64=76
STRING=77
UINT32=78
UINT64=79
TRUE=80
FALSE=81
NULL=82
ARROW=83
COLON=84
SEMI=85
COMMA=86
DOT=87
LBRACE=88
RBRACE=89
LBRACK=90
RBRACK=91
LPAREN=92
RPAREN=93
LT=94
GT=95
INTEGER=96
JSON_NUMBER=97
IDENTIFIER=98
STRING_LITERAL=99
LINE_COMMENT=100
BLOCK_COMMENT=101
WS=102
'workspace'=1
'atom'=2
'interface'=3
'interfaces'=4
'package'=5
'value'=6
'relation'=7
'operation'=8
'function'=9
'constructor'=10
'constructs'=11
'conform'=12
'as'=13
'bind'=14
'to'=15
'private'=16
'shared'=17
'state'=18
'edge'=19
'projection'=20
'with'=21
'using'=22
'via'=23
'materialize'=24
'if'=25
'absent'=26
'on'=27
'policy'=28
'default'=29
'source'=30
'repository'=31
'commit'=32
'revision'=33
'id'=34
'doc'=35
'mode'=36
'emits'=37
'receiver'=38
'requires'=39
'any'=40
'get'=41
'set'=42
'watch'=43
'start'=44
'stop'=45
'read'=46
'write'=47
'resolve'=48
'connect'=49
'disconnect'=50
'call'=51
'watch-start'=52
'watch-stop'=53
'subscribe'=54
'unsubscribe'=55
'optimistic-register'=56
'crdt'=57
'optional-one'=58
'exactly-one'=59
'many-unique'=60
'many'=61
'ordered'=62
'unit'=63
'watch-handle'=64
'message'=65
'atom-ref'=66
'interface-ref'=67
'optional'=68
'list'=69
'bool'=70
'bytes'=71
'double'=72
'int32'=73
'int64'=74
'string'=75
'uint32'=76
'uint64'=77
'true'=78
'false'=79
'null'=80
'->'=81
':'=82
';'=83
','=84
'.'=85
'{'=86
'}'=87
'['=88
']'=89
'('=90
')'=91
'<'=92
'>'=93
'import'=2
'external'=3
'atom'=4
'interface'=5
'interfaces'=6
'package'=7
'value'=8
'relation'=9
'operation'=10
'function'=11
'constructor'=12
'constructs'=13
'conform'=14
'as'=15
'bind'=16
'to'=17
'private'=18
'shared'=19
'state'=20
'edge'=21
'projection'=22
'with'=23
'using'=24
'via'=25
'materialize'=26
'if'=27
'absent'=28
'on'=29
'policy'=30
'default'=31
'source'=32
'repository'=33
'commit'=34
'revision'=35
'id'=36
'doc'=37
'mode'=38
'emits'=39
'receiver'=40
'requires'=41
'any'=42
'get'=43
'set'=44
'watch'=45
'start'=46
'stop'=47
'read'=48
'write'=49
'resolve'=50
'connect'=51
'disconnect'=52
'call'=53
'watch-start'=54
'watch-stop'=55
'subscribe'=56
'unsubscribe'=57
'optimistic-register'=58
'crdt'=59
'optional-one'=60
'exactly-one'=61
'many-unique'=62
'many'=63
'ordered'=64
'unit'=65
'watch-handle'=66
'message'=67
'atom-ref'=68
'interface-ref'=69
'optional'=70
'list'=71
'bool'=72
'bytes'=73
'double'=74
'int32'=75
'int64'=76
'string'=77
'uint32'=78
'uint64'=79
'true'=80
'false'=81
'null'=82
'->'=83
':'=84
';'=85
','=86
'.'=87
'{'=88
'}'=89
'['=90
']'=91
'('=92
')'=93
'<'=94
'>'=95