@getbourdon/conformance 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/index.d.ts +11 -9
  2. package/dist/index.js +28 -25
  3. package/fixtures/README.md +3 -3
  4. package/fixtures/fed_seed_library/agents/claude-code.l5.yaml +31 -4
  5. package/fixtures/fed_seed_library/agents/codex.l5.yaml +15 -0
  6. package/fixtures/l5_manifests/invalid/bad-agent-type-enum.json +1 -1
  7. package/fixtures/l5_manifests/invalid/bad-spec-version-pattern.json +1 -1
  8. package/fixtures/l5_manifests/invalid/entity-bad-visibility-enum.json +1 -1
  9. package/fixtures/l5_manifests/invalid/entity-missing-name.json +1 -1
  10. package/fixtures/l5_manifests/invalid/missing-required-last_updated.json +1 -1
  11. package/fixtures/l5_manifests/valid/full.json +2 -2
  12. package/fixtures/l5_manifests/valid/minimal.json +1 -1
  13. package/fixtures/l5_manifests/valid/team-and-private.json +1 -1
  14. package/fixtures/l5_schema.json +93 -3
  15. package/fixtures/l5_todict.json +10 -10
  16. package/fixtures/leak_cases.json +1 -1
  17. package/fixtures/manifest.json +51 -31
  18. package/fixtures/mcp_snapshots/_normalizer.json +31 -2
  19. package/fixtures/mcp_snapshots/commit_to_federation.req.json +13 -1
  20. package/fixtures/mcp_snapshots/commit_to_federation.res.json +8 -2
  21. package/fixtures/mcp_snapshots/export_agents.res.json +47 -1
  22. package/fixtures/mcp_snapshots/get_cross_agent_summary.res.json +1 -1
  23. package/fixtures/mcp_snapshots/list_notes.req.json +8 -0
  24. package/fixtures/mcp_snapshots/list_notes.res.json +28 -0
  25. package/fixtures/mcp_snapshots/list_recent_work.res.json +1 -1
  26. package/fixtures/mcp_snapshots/list_workstreams.req.json +6 -0
  27. package/fixtures/mcp_snapshots/list_workstreams.res.json +23 -0
  28. package/fixtures/mcp_snapshots/seed_library.json +45 -1
  29. package/fixtures/native_stores/claude_code/expected_l5.json +8 -8
  30. package/fixtures/native_stores/claude_code/store/auto_memory/{clyde.md → alpha-agent.md} +2 -2
  31. package/fixtures/native_stores/claude_code/store/auto_memory/{ry-guy.md → example-user.md} +2 -2
  32. package/fixtures/native_stores/claude_code/store/knowledge_graph/memory.jsonl +2 -2
  33. package/fixtures/recognition_golden_v1.yaml +17 -17
  34. package/fixtures/recognition_vectors.json +23 -23
  35. package/fixtures/tier_matrix.json +2 -2
  36. package/package.json +2 -2
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_doc": "Index of cross-impl parity fixtures. conformance_version bumps on any fixture change (patch=added cases, minor=new family, major=changed expected-output = a reviewed behavior change). Python is the oracle; this file is generated by tools/gen_conformance.py.",
3
- "conformance_version": "1.7.0",
3
+ "conformance_version": "1.10.0",
4
4
  "produced_against": {
5
- "bourdon_version": "0.11.0"
5
+ "bourdon_version": "0.12.5"
6
6
  },
7
7
  "fixtures": [
8
8
  {
@@ -12,62 +12,62 @@
12
12
  },
13
13
  {
14
14
  "path": "leak_cases.json",
15
- "sha256": "6a5a100b11ffb138f933f7e8c47a4f6ce49cecd1a4f6dfa4635c1b022b573fc7",
15
+ "sha256": "4142107183dd967d00fc6f4b3678a84270480fb146a6e1c51dead7fa625ae685",
16
16
  "producer": "tools/gen_conformance.py::leak_cases"
17
17
  },
18
18
  {
19
19
  "path": "recognition_vectors.json",
20
- "sha256": "229b25bbf7521d821bb3e36661f47d6dbd837970964774346eee0f6ab8d0e686",
20
+ "sha256": "248b2af23e35f6e1e86a918896ba4243e7edc54aa30daabc0f4b32e260c47bc1",
21
21
  "producer": "tools/gen_conformance.py::recognition_vectors"
22
22
  },
23
23
  {
24
24
  "path": "recognition_golden_v1.yaml",
25
- "sha256": "d39272869976e192060eb9b2f0a0c289a18f43f78e15dc32192977876dd682db",
25
+ "sha256": "9059e2615118a934b2ec3523c06238345de4aac5138d99611418cc70eeb53956",
26
26
  "producer": "tools/gen_conformance.py::recognition_vectors"
27
27
  },
28
28
  {
29
29
  "path": "l5_schema.json",
30
- "sha256": "c9bbee36b08656aaddf7584a94c0640ae9933177506be6ce656613fce5800ec7",
30
+ "sha256": "96892aef4a20f489f7e02ae6dccbbf9cc5db6ee22b86da37b3f494158f846d57",
31
31
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
32
32
  },
33
33
  {
34
34
  "path": "l5_manifests/valid/minimal.json",
35
- "sha256": "2d06070185ed9141f3cfbe969f7e726e07785b3f71a3dc92404debe121e2f606",
35
+ "sha256": "9fd41d9a13c735f6208542df5173e02d9eb21382dbcdba7d17063ddcc1fd85bf",
36
36
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
37
37
  },
38
38
  {
39
39
  "path": "l5_manifests/valid/full.json",
40
- "sha256": "6204750867c74436691db72ba3cd6818d5a3fb6bc57f0447855c39bb607ca1d1",
40
+ "sha256": "0d0cb5781134bfd21603d1a4792ae682f683eed6ce5df636d3e54aec7a0bdf10",
41
41
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
42
42
  },
43
43
  {
44
44
  "path": "l5_manifests/valid/team-and-private.json",
45
- "sha256": "1cc77d236bad1b90f79b7e41e8f1765309bfca68d8fb4cd21138c470387ceec1",
45
+ "sha256": "eb2259201dba3e2f09cb0577df08cb7196af97fa9ba15e9fc8385efa4373ee44",
46
46
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
47
47
  },
48
48
  {
49
49
  "path": "l5_manifests/invalid/missing-required-last_updated.json",
50
- "sha256": "51b938efb6461f64dc40afe08dcd66dbb910e2985f0f4274122c5d7997b6d1f5",
50
+ "sha256": "00df90b5ab3c908c12385a10b462c1aefca47c1c525901442c613462eb4a18bf",
51
51
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
52
52
  },
53
53
  {
54
54
  "path": "l5_manifests/invalid/bad-spec-version-pattern.json",
55
- "sha256": "1a707a3d97c882e1e248690438c956afd2c4da94f17b4dd74ca7119ea1accdb5",
55
+ "sha256": "1fed01a2bf51568c189b48a9cfc4cf2bc6d631e2c66388867bd736a1fa83e420",
56
56
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
57
57
  },
58
58
  {
59
59
  "path": "l5_manifests/invalid/bad-agent-type-enum.json",
60
- "sha256": "1e7f6ac2f8f263edf3d7f8d4a65ff10502ca05d794846b235fc3fc6d9584e3c0",
60
+ "sha256": "c19d2eb95593737a179d0355dbe621f90a0054c8d54443a9b3a88d4f2d908f08",
61
61
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
62
62
  },
63
63
  {
64
64
  "path": "l5_manifests/invalid/entity-bad-visibility-enum.json",
65
- "sha256": "5b4c2173fb7a21a2cb0efa0710e9104ce6ba22721746d4d5ceae86eed1230472",
65
+ "sha256": "8bd0ce9e91cef500dc4280255328a0f7503e6e33c13c6a519da93e2100e88ce4",
66
66
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
67
67
  },
68
68
  {
69
69
  "path": "l5_manifests/invalid/entity-missing-name.json",
70
- "sha256": "6836bb9f6143ee82aa772836850832538ddfa6fc8cd6047e27848418746bd4b6",
70
+ "sha256": "24b4d1d2ec9554909e9cb52d45baa2eeb8c76f2fd9e12abd70c3a3cdcd72242f",
71
71
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
72
72
  },
73
73
  {
@@ -77,22 +77,22 @@
77
77
  },
78
78
  {
79
79
  "path": "l5_todict.json",
80
- "sha256": "0c83c95cd8f4efb9e32e816d4b28243b06da031079cff3a55440b00f8fcb2b34",
80
+ "sha256": "963f9eb6c68cd8897650f098c241ebbff34ab23603bf9fee92e5431ae2db78af",
81
81
  "producer": "tools/gen_conformance.py::l5_schema_and_manifests"
82
82
  },
83
83
  {
84
84
  "path": "fed_seed_library/agents/claude-code.l5.yaml",
85
- "sha256": "a38fcc6c2e9d743449b3b969a9bf79b283a0fde24958bcc8f479a6af11d94c58",
85
+ "sha256": "efe5467ee41bfe807098f2339dda7295f236c1ae7f575016b2402f9ba1988f7c",
86
86
  "producer": "tools/gen_conformance.py::fed_seed_library"
87
87
  },
88
88
  {
89
89
  "path": "fed_seed_library/agents/codex.l5.yaml",
90
- "sha256": "025ced64d65d394f3937b2e1e60fad7495fc395e44c9738e0086eb9fb3c5b428",
90
+ "sha256": "9190f55662b66941cac8a3d869579024ef2a83de1912bda8c60c3c75c4b585d0",
91
91
  "producer": "tools/gen_conformance.py::fed_seed_library"
92
92
  },
93
93
  {
94
94
  "path": "tier_matrix.json",
95
- "sha256": "620c762af64132214e1ea7067b24d073a74a981949f787b9dd3e11558d2e9371",
95
+ "sha256": "9753ad1fd4a092bdf4110b3b24576f2bfe7001d6d6758ef55047ee5da851e25c",
96
96
  "producer": "tools/gen_conformance.py::tier_matrix"
97
97
  },
98
98
  {
@@ -127,7 +127,7 @@
127
127
  },
128
128
  {
129
129
  "path": "mcp_snapshots/list_recent_work.res.json",
130
- "sha256": "ce42ba942bbc368866a0f6deca120a9263058e90c94862bfce88fee299be4d3a",
130
+ "sha256": "57a692c535b5418489daad2998bbef1e9e4b5a1a5cd3c43bbddc74682ec14843",
131
131
  "producer": "tools/gen_conformance.py::mcp_snapshots"
132
132
  },
133
133
  {
@@ -140,6 +140,26 @@
140
140
  "sha256": "b6881e05615333d99d8bb6b0966c4bb233cc35d94ab97d8d6b0bc55949e7141b",
141
141
  "producer": "tools/gen_conformance.py::mcp_snapshots"
142
142
  },
143
+ {
144
+ "path": "mcp_snapshots/list_workstreams.req.json",
145
+ "sha256": "8d997fcfb154e0fdc04324542a29cf3c4607704269dfc8c2dbb20d98fdc884ac",
146
+ "producer": "tools/gen_conformance.py::mcp_snapshots"
147
+ },
148
+ {
149
+ "path": "mcp_snapshots/list_workstreams.res.json",
150
+ "sha256": "fb8ecbd94611ae52843eb05955af1a75112bbade751facf975068a369843f66e",
151
+ "producer": "tools/gen_conformance.py::mcp_snapshots"
152
+ },
153
+ {
154
+ "path": "mcp_snapshots/list_notes.req.json",
155
+ "sha256": "9c4261539270a13a75f67c348a6625dd376d5dcda2f91316a1eb617b2e482e03",
156
+ "producer": "tools/gen_conformance.py::mcp_snapshots"
157
+ },
158
+ {
159
+ "path": "mcp_snapshots/list_notes.res.json",
160
+ "sha256": "a3d219f456d0f608e8951161823e4b0df605241db4c3efefa56ea0c16fbbe7f7",
161
+ "producer": "tools/gen_conformance.py::mcp_snapshots"
162
+ },
143
163
  {
144
164
  "path": "mcp_snapshots/list_agents.req.json",
145
165
  "sha256": "80c17300d53998e351d8647f5af0e9660944e657b1ab05c9b3a29a23e170e22c",
@@ -157,17 +177,17 @@
157
177
  },
158
178
  {
159
179
  "path": "mcp_snapshots/export_agents.res.json",
160
- "sha256": "af70539f49e7882b03eb2018dd34fb748b13bfb11d953a166adbb2d54b354f17",
180
+ "sha256": "d8bf31fa8a2e23b126139e209eda1c6d3167070717122fdd53b46168cdc28853",
161
181
  "producer": "tools/gen_conformance.py::mcp_snapshots"
162
182
  },
163
183
  {
164
184
  "path": "mcp_snapshots/commit_to_federation.req.json",
165
- "sha256": "da0faa15708bac21e7d6e551d12a4fa70ac29a1d2aaf025fd91989992d22d938",
185
+ "sha256": "07c43423cb303a567214217063c7c0b0d7629e1ec91c6f79c5b56858315ae2d8",
166
186
  "producer": "tools/gen_conformance.py::mcp_snapshots"
167
187
  },
168
188
  {
169
189
  "path": "mcp_snapshots/commit_to_federation.res.json",
170
- "sha256": "96b8ee3c0017587a5aee35aaf1553a1786fa6acae9be16294aa1c9590523bfaa",
190
+ "sha256": "164924d6a196e29ee518ad61bd4e78b2f45072ec6e01c16064af68ba36218762",
171
191
  "producer": "tools/gen_conformance.py::mcp_snapshots"
172
192
  },
173
193
  {
@@ -177,7 +197,7 @@
177
197
  },
178
198
  {
179
199
  "path": "mcp_snapshots/get_cross_agent_summary.res.json",
180
- "sha256": "ada93fb31ec2981e4a34cf67aaea995a82516ae57d329c5aea72fe01c157c00a",
200
+ "sha256": "9238a6083bed98806495a75777a30778d4950994b72792b4551663f392cf4dbb",
181
201
  "producer": "tools/gen_conformance.py::mcp_snapshots"
182
202
  },
183
203
  {
@@ -212,12 +232,12 @@
212
232
  },
213
233
  {
214
234
  "path": "mcp_snapshots/seed_library.json",
215
- "sha256": "64742d18945ed031b09c6ddb784785e7f504b158ed792349fd624e640b84cb14",
235
+ "sha256": "200ee9a93cdc50795572104e4ffffd11f42ec2c3404a0c616e843efa705e66e5",
216
236
  "producer": "tools/gen_conformance.py::mcp_snapshots"
217
237
  },
218
238
  {
219
239
  "path": "mcp_snapshots/_normalizer.json",
220
- "sha256": "e7eebbd0f68d967a6517d23b7d483a3a9296b109f7b7aff4431931877842c347",
240
+ "sha256": "0bdb9a91a52d7d4d10ce8d0ee1a717e5982df5df7882e18e4f4bb626e702f0d4",
221
241
  "producer": "tools/gen_conformance.py::mcp_snapshots"
222
242
  },
223
243
  {
@@ -261,23 +281,23 @@
261
281
  "producer": "tools/gen_conformance.py::native_stores"
262
282
  },
263
283
  {
264
- "path": "native_stores/claude_code/store/auto_memory/clyde.md",
265
- "sha256": "dd0b03ac047fcc377cf104e3be32807d89d4ac59a3d06b283d3b8b48d85a755c",
284
+ "path": "native_stores/claude_code/store/auto_memory/alpha-agent.md",
285
+ "sha256": "6e4b2469231495cdec10ac65a6eceec8863c9fe2f88b10c75720d6549d2331d3",
266
286
  "producer": "tools/gen_conformance.py::native_stores"
267
287
  },
268
288
  {
269
- "path": "native_stores/claude_code/store/auto_memory/ry-guy.md",
270
- "sha256": "022cde0d5bfdaf2beae38f9b831b8b2c16e2823e705c1f5ff050a9c72374ee86",
289
+ "path": "native_stores/claude_code/store/auto_memory/example-user.md",
290
+ "sha256": "a7cf0628676044c8101b6935411ba3510622c26dd02494e89c3790592909b28b",
271
291
  "producer": "tools/gen_conformance.py::native_stores"
272
292
  },
273
293
  {
274
294
  "path": "native_stores/claude_code/store/knowledge_graph/memory.jsonl",
275
- "sha256": "6d15efda0caabc52037385908b40fcf6becb3bfa7ead33c13535ab6b6cc401a1",
295
+ "sha256": "544f1d0a609272614bd351003859eec31b8beb7874324bb0b8148fac5149f885",
276
296
  "producer": "tools/gen_conformance.py::native_stores"
277
297
  },
278
298
  {
279
299
  "path": "native_stores/claude_code/expected_l5.json",
280
- "sha256": "09b7431c42caf316b99ba4d743a328e83ad066284b6e325e322c5683bbdc38f7",
300
+ "sha256": "9235bd39863934d3ce6686218ab0b535b6c7a6d94348ffdde2f132517da03b8d",
281
301
  "producer": "tools/gen_conformance.py::native_stores"
282
302
  },
283
303
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "_doc": "Fixture-tests the MCP snapshot NORMALIZER itself. Each `normalized` is normalize_snapshot(`raw`) computed by the oracle. Rules: sort object keys (write-time), round floats to 4 dp, drop null + empty-list dict fields, freeze {last_updated, generated_at, generated_from, path} -> '<frozen>', drop latency fields {recognition_latency_us, peer_latencies_us}, decode next_cursor base64 -> {offset:N}. The TS canonicalizer must match each pair.",
2
+ "_doc": "Fixture-tests the MCP snapshot NORMALIZER itself. Each `normalized` is normalize_snapshot(`raw`) computed by the oracle. Rules: sort object keys (write-time), round floats to 4 dp, drop null + empty-list dict fields, freeze {last_updated, generated_at, generated_from, path, age_s} -> '<frozen>', drop latency fields {recognition_latency_us, peer_latencies_us}, decode next_cursor base64 -> {offset:N}. The TS canonicalizer must match each pair.",
3
3
  "cases": [
4
4
  {
5
5
  "_doc": "drops null + empty-list fields (to_dict omission parity)",
@@ -39,7 +39,35 @@
39
39
  "generated_at": "2026-06-30T02:59:09Z",
40
40
  "generated_from": "/tmp/x/agents",
41
41
  "last_updated": "2026-06-30T02:59:09.096243+00:00",
42
- "path": "/tmp/x/clyde.l5.yaml"
42
+ "path": "/tmp/x/alpha-agent.l5.yaml"
43
+ }
44
+ },
45
+ {
46
+ "_doc": "freezes presence age_s (derived from wall-clock now at read time); a null age_s (no parseable heartbeat) still drops like any null",
47
+ "normalized": {
48
+ "live_count": 2,
49
+ "live_sessions": [
50
+ {
51
+ "age_s": "<frozen>",
52
+ "instance": "0192aaaa"
53
+ },
54
+ {
55
+ "instance": "0192bbbb"
56
+ }
57
+ ]
58
+ },
59
+ "raw": {
60
+ "live_count": 2,
61
+ "live_sessions": [
62
+ {
63
+ "age_s": 37,
64
+ "instance": "0192aaaa"
65
+ },
66
+ {
67
+ "age_s": null,
68
+ "instance": "0192bbbb"
69
+ }
70
+ ]
43
71
  }
44
72
  },
45
73
  {
@@ -125,6 +153,7 @@
125
153
  ],
126
154
  "float_precision": 4,
127
155
  "freeze_fields": [
156
+ "age_s",
128
157
  "generated_at",
129
158
  "generated_from",
130
159
  "last_updated",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "args": {
3
- "agent_id": "clyde",
3
+ "agent_id": "alpha-agent",
4
4
  "agent_type": "other",
5
5
  "entities": [
6
6
  {
@@ -9,10 +9,22 @@
9
9
  }
10
10
  ],
11
11
  "mode": "merge",
12
+ "notes": [
13
+ {
14
+ "date": "2026-06-09",
15
+ "text": "snapshot note"
16
+ }
17
+ ],
12
18
  "sessions": [
13
19
  {
14
20
  "date": "2026-06-09"
15
21
  }
22
+ ],
23
+ "workstreams": [
24
+ {
25
+ "name": "SnapshotRelease",
26
+ "status": "active"
27
+ }
16
28
  ]
17
29
  },
18
30
  "tool": "commit_to_federation"
@@ -1,12 +1,18 @@
1
1
  {
2
- "agent_id": "clyde",
2
+ "agent_id": "alpha-agent",
3
3
  "entities_added": 1,
4
4
  "entities_updated": 0,
5
5
  "last_updated": "<frozen>",
6
6
  "mode": "merge",
7
+ "notes_added": 1,
8
+ "notes_updated": 0,
7
9
  "path": "<frozen>",
8
10
  "sessions_added": 1,
9
11
  "sessions_updated": 0,
10
12
  "total_entities": 1,
11
- "total_sessions": 1
13
+ "total_notes": 1,
14
+ "total_sessions": 1,
15
+ "total_workstreams": 1,
16
+ "workstreams_added": 1,
17
+ "workstreams_updated": 0
12
18
  }
@@ -4,8 +4,18 @@
4
4
  "capability_count": 2,
5
5
  "freshest_session_date": "2026-06-08",
6
6
  "id": "claude-code",
7
- "instance": "pc-threadripper",
7
+ "instance": "workstation-01",
8
8
  "last_updated": "<frozen>",
9
+ "live_count": 1,
10
+ "live_sessions": [
11
+ {
12
+ "age_s": "<frozen>",
13
+ "host": "conformance-host",
14
+ "instance": "0192cccc",
15
+ "project": "bourdon",
16
+ "started_at": "2026-06-29T08:15:00Z"
17
+ }
18
+ ],
9
19
  "recent_activity": [
10
20
  {
11
21
  "date": "2026-06-08",
@@ -39,6 +49,25 @@
39
49
  "freshest_session_date": "2026-06-08",
40
50
  "id": "codex",
41
51
  "last_updated": "<frozen>",
52
+ "live_count": 2,
53
+ "live_sessions": [
54
+ {
55
+ "age_s": "<frozen>",
56
+ "host": "conformance-host",
57
+ "instance": "0192aaaa",
58
+ "project": "bourdon",
59
+ "started_at": "2026-06-29T09:00:00Z",
60
+ "title": "Bourdon federation review"
61
+ },
62
+ {
63
+ "age_s": "<frozen>",
64
+ "host": "conformance-host",
65
+ "instance": "0192bbbb",
66
+ "project": "parity-fixtures",
67
+ "started_at": "2026-06-29T10:30:00Z",
68
+ "title": "Parity fixture harness"
69
+ }
70
+ ],
42
71
  "recent_activity": [
43
72
  {
44
73
  "date": "2026-06-08",
@@ -61,6 +90,23 @@
61
90
  "visibility": "team"
62
91
  }
63
92
  ],
93
+ "recent_threads": [
94
+ {
95
+ "instance": "0192bbbb",
96
+ "title": "Parity fixture harness",
97
+ "updated_at": "2026-06-29T10:30:00Z"
98
+ },
99
+ {
100
+ "instance": "0192aaaa",
101
+ "title": "Bourdon federation review",
102
+ "updated_at": "2026-06-29T09:00:00Z"
103
+ },
104
+ {
105
+ "instance": "0192dddd",
106
+ "title": "Schema drift triage",
107
+ "updated_at": "2026-06-28T22:05:00Z"
108
+ }
109
+ ],
64
110
  "session_count": 2,
65
111
  "source": "conformance-host",
66
112
  "source_kind": "local",
@@ -26,7 +26,7 @@
26
26
  "recent_sessions": [
27
27
  {
28
28
  "agent": "claude-code",
29
- "cwd": "/c/Users/cumul/repos/bourdon",
29
+ "cwd": "/home/example/repos/bourdon",
30
30
  "date": "2026-06-08",
31
31
  "files_touched": [
32
32
  "tools/gen_conformance.py"
@@ -0,0 +1,8 @@
1
+ {
2
+ "args": {
3
+ "access_level": "team",
4
+ "limit": 2,
5
+ "since": "2026-06-01"
6
+ },
7
+ "tool": "list_notes"
8
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "access_level": "team",
3
+ "has_more": true,
4
+ "include_private": false,
5
+ "limit": 2,
6
+ "next_cursor": {
7
+ "offset": 2
8
+ },
9
+ "notes": [
10
+ {
11
+ "agent": "codex",
12
+ "date": "2026-06-10",
13
+ "related_entities": [
14
+ "Bourdon"
15
+ ],
16
+ "text": "Codex public release note."
17
+ },
18
+ {
19
+ "agent": "claude-code",
20
+ "date": "2026-06-09",
21
+ "related_entities": [
22
+ "Bourdon"
23
+ ],
24
+ "text": "Public release note."
25
+ }
26
+ ],
27
+ "since": "2026-06-01"
28
+ }
@@ -20,7 +20,7 @@
20
20
  },
21
21
  {
22
22
  "agent": "claude-code",
23
- "cwd": "/c/Users/cumul/repos/bourdon",
23
+ "cwd": "/home/example/repos/bourdon",
24
24
  "date": "2026-06-08",
25
25
  "files_touched": [
26
26
  "tools/gen_conformance.py"
@@ -0,0 +1,6 @@
1
+ {
2
+ "args": {
3
+ "access_level": "team"
4
+ },
5
+ "tool": "list_workstreams"
6
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "access_level": "team",
3
+ "include_private": false,
4
+ "workstreams": [
5
+ {
6
+ "agents": [
7
+ "claude-code",
8
+ "codex"
9
+ ],
10
+ "last_touched": "2026-06-11",
11
+ "name": "Release",
12
+ "related_entities": [
13
+ "Bourdon"
14
+ ],
15
+ "status": "paused",
16
+ "summary": "Prepare the public Bourdon release.",
17
+ "tags": [
18
+ "launch",
19
+ "coordination"
20
+ ]
21
+ }
22
+ ]
23
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "_doc": "The 10 mcp_snapshots/*.res.json were produced by driving the live create_l6_server tool closures (OPERATOR / trusted, = stdio) over a TEMP copy of this seed library, then normalizing each response. The TS mirror loads the SAME seed and must reproduce every normalized res. Each tool's payload travels the wire as a single TextContent whose .text = json.dumps(payload); the snapshot is the json.loads of that text.",
2
+ "_doc": "The 12 mcp_snapshots/*.res.json were produced by driving the live create_l6_server tool closures (OPERATOR / trusted, = stdio) over a TEMP copy of this seed library, then normalizing each response. The TS mirror loads the SAME seed and must reproduce every normalized res. Each tool's payload travels the wire as a single TextContent whose .text = json.dumps(payload); the snapshot is the json.loads of that text.",
3
3
  "caller": {
4
4
  "agent_id": "operator",
5
5
  "tier": "trusted"
@@ -7,11 +7,55 @@
7
7
  "deferred": [
8
8
  "compile_codex_turn"
9
9
  ],
10
+ "presence_seed": {
11
+ "_doc": "export_agents joins LIVE-SESSION PRESENCE and the Codex thread index onto each agent row. Both stores are pinned to hermetic temp dirs and seeded with these fixed synthetic records -- nothing comes from the generating machine. The TS mirror must seed the SAME records to reproduce export_agents.res.json. `age_s` is derived from wall-clock now at read time and is therefore FROZEN by the normalizer; every other presence field is pinned by value.",
12
+ "codex_session_index": [
13
+ {
14
+ "id": "0192bbbb-2222-7000-8000-00000000b002",
15
+ "thread_name": "Parity fixture harness",
16
+ "updated_at": "2026-06-29T10:30:00Z"
17
+ },
18
+ {
19
+ "id": "0192aaaa-1111-7000-8000-00000000a001",
20
+ "thread_name": "Bourdon federation review",
21
+ "updated_at": "2026-06-29T09:00:00Z"
22
+ },
23
+ {
24
+ "id": "0192dddd-4444-7000-8000-00000000d004",
25
+ "thread_name": "Schema drift triage",
26
+ "updated_at": "2026-06-28T22:05:00Z"
27
+ }
28
+ ],
29
+ "host": "conformance-host",
30
+ "pid": 4242,
31
+ "sessions": [
32
+ {
33
+ "agent_id": "codex",
34
+ "cwd": "/home/example/repos/bourdon",
35
+ "session_id": "0192aaaa-1111-7000-8000-00000000a001",
36
+ "started_at": "2026-06-29T09:00:00Z"
37
+ },
38
+ {
39
+ "agent_id": "codex",
40
+ "cwd": "/home/example/repos/parity-fixtures",
41
+ "session_id": "0192bbbb-2222-7000-8000-00000000b002",
42
+ "started_at": "2026-06-29T10:30:00Z"
43
+ },
44
+ {
45
+ "agent_id": "claude-code",
46
+ "cwd": "/home/example/repos/bourdon",
47
+ "session_id": "0192cccc-3333-7000-8000-00000000c003",
48
+ "started_at": "2026-06-29T08:15:00Z"
49
+ }
50
+ ]
51
+ },
10
52
  "seed_library": "fed_seed_library",
11
53
  "tools": [
12
54
  "query_agent_memory",
13
55
  "list_recent_work",
14
56
  "find_entity",
57
+ "list_workstreams",
58
+ "list_notes",
15
59
  "list_agents",
16
60
  "export_agents",
17
61
  "commit_to_federation",
@@ -5,7 +5,7 @@
5
5
  "type": "code-assistant",
6
6
  "instance": "conformance-host",
7
7
  "spec_version_compat": ">=0.1",
8
- "role_narrative": "Agentic manager and code-assistant. Coordinates the RADLAB agent fleet, reviews PRs, and consults on architectural decisions. Capable of authoring code but typically reviews + delegates to specialised code-assistants like Codex for prime-code execution."
8
+ "role_narrative": "Agentic manager and code-assistant. Coordinates the agent fleet, reviews PRs, and consults on architectural decisions. Capable of authoring code but typically reviews + delegates to specialised code-assistants like Codex for prime-code execution."
9
9
  },
10
10
  "last_updated": "2026-06-29T00:00:00+00:00",
11
11
  "capabilities": [
@@ -26,18 +26,18 @@
26
26
  ],
27
27
  "known_entities": [
28
28
  {
29
- "name": "Bourdon",
30
- "type": "project",
31
- "summary": "Cross-agent memory federation substrate. L5 manifests + L6 library."
32
- },
33
- {
34
- "name": "Clyde",
29
+ "name": "Alpha Agent",
35
30
  "type": "project",
36
31
  "summary": "Local AI assistant entity.",
37
32
  "tags": [
38
33
  "infra"
39
34
  ]
40
35
  },
36
+ {
37
+ "name": "Bourdon",
38
+ "type": "project",
39
+ "summary": "Cross-agent memory federation substrate. L5 manifests + L6 library."
40
+ },
41
41
  {
42
42
  "name": "OldThing",
43
43
  "type": "project",
@@ -47,7 +47,7 @@
47
47
  ]
48
48
  },
49
49
  {
50
- "name": "OMNIvour",
50
+ "name": "Zephyr",
51
51
  "type": "project",
52
52
  "summary": "File conversion app.",
53
53
  "tags": [
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: Clyde
2
+ name: Alpha Agent
3
3
  type: project
4
4
  description: Local AI assistant entity.
5
5
  tags: [infra]
6
6
  ---
7
- # Clyde
7
+ # Alpha Agent
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: Ry Guy
2
+ name: Example User
3
3
  type: person
4
4
  description: The owner.
5
5
  ---
6
- # Ry Guy
6
+ # Example User
@@ -1,3 +1,3 @@
1
- {"type":"entity","name":"OMNIvour","entityType":"project","observations":["File conversion app."]}
1
+ {"type":"entity","name":"Zephyr","entityType":"project","observations":["File conversion app."]}
2
2
  {"type":"entity","name":"SecretCreds","entityType":"concept","observations":["the service_role key for supabase"]}
3
- {"type":"relation","from":"OMNIvour","to":"Bourdon","relationType":"uses"}
3
+ {"type":"relation","from":"Zephyr","to":"Bourdon","relationType":"uses"}