@cleocode/contracts 2026.5.100 → 2026.5.102

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.
@@ -0,0 +1,663 @@
1
+ /**
2
+ * Boundary Registry — SSoT for per-module Rust/TS layering decisions across cleocode.
3
+ *
4
+ * Every module (crate, package, harness adapter, archived target) declares a
5
+ * {@link BoundaryEntry} in {@link BOUNDARY_REGISTRY}. CI gates (lint-boundary-registry,
6
+ * lint-dual-implementation, perf-budget bench gate) validate the registry against
7
+ * filesystem reality and enforce declared budgets at build time.
8
+ *
9
+ * Intent is expressed along two axes: workload shape ({@link WorkloadIntent}) and
10
+ * quantitative {@link PerfBudget} / {@link SafetyBudget} thresholds. The pair derives
11
+ * the language choice mechanically — it is not an aesthetic call.
12
+ *
13
+ * The registry is **static-with-amendment**: declared at module creation; subsequent
14
+ * changes require an ADR amendment + PR. This data file is populated by T10197;
15
+ * gates land in T10198 / T10199.
16
+ *
17
+ * @see ADR-078 — Boundary Registry as SSoT for Rust/TS layering
18
+ * @see D010 — vendor worktrunk → crates/worktrunk-core (reference impl)
19
+ * @see Saga T10176 (SG-BOUNDARY-REGISTRY)
20
+ */
21
+ // ============================================================
22
+ // Registry — populated by T10197 from the verified decision matrices
23
+ // ============================================================
24
+ /**
25
+ * Canonical Boundary Registry for cleocode. Skeleton shipped in T10196; populated
26
+ * with per-module entries by T10197 from the verified decision matrices
27
+ * (`sg-boundary-crates-decision-matrix` + `sg-boundary-packages-decision-matrix`).
28
+ * CI gates over this data ship in T10198 / T10199.
29
+ *
30
+ * Entry order: crates first (19 entries), then packages (20 entries). Within each
31
+ * group entries are alphabetical by `module` for diff-friendliness.
32
+ *
33
+ * Entries are added/modified ONLY via ADR amendment + PR per the static-with-amendment
34
+ * policy declared in ADR-078.
35
+ *
36
+ * @see ADR-078 — Boundary Registry as SSoT for Rust/TS layering
37
+ */
38
+ export const BOUNDARY_REGISTRY = [
39
+ // ============================================================
40
+ // Crates (19 entries) — from sg-boundary-crates-decision-matrix
41
+ // ============================================================
42
+ {
43
+ module: 'cant-core',
44
+ intent: 'cpu-bound',
45
+ rustCore: 'crates/cant-core',
46
+ tsWrapper: 'packages/cant',
47
+ canonicalHome: 'cleocode',
48
+ perfBudget: {
49
+ latency_p50_ms: 5,
50
+ latency_p99_ms: 50,
51
+ },
52
+ safetyBudget: {
53
+ panic_unwind: 'forbidden',
54
+ root_escape: 'forbidden',
55
+ },
56
+ amendments: [],
57
+ rationale: 'Cant parser/compiler (19,002 LOC) — CPU-bound hot path consumed by cant-runtime, cant-lsp, cant-napi, signaldock-protocol, signaldock-sdk, integration-tests, and via napi from packages/cant. Flip publish=true to expose as a Rust SDK for external consumers.',
58
+ },
59
+ {
60
+ module: 'cant-lsp',
61
+ intent: 'cpu-bound',
62
+ rustCore: 'crates/cant-lsp',
63
+ canonicalHome: 'cleocode',
64
+ perfBudget: {
65
+ latency_p50_ms: 50,
66
+ latency_p99_ms: 500,
67
+ startup_max_ms: 200,
68
+ },
69
+ safetyBudget: {
70
+ panic_unwind: 'forbidden',
71
+ root_escape: 'forbidden',
72
+ },
73
+ amendments: [],
74
+ rationale: 'Cant Language Server Protocol binary (1,935 LOC) invoked by editors. Internal-only: publish=false since it ships as a binary, not a library consumed by other crates.',
75
+ },
76
+ {
77
+ module: 'cant-napi',
78
+ intent: 'ffi-surface',
79
+ napiBinding: 'crates/cant-napi',
80
+ tsWrapper: 'packages/cant',
81
+ canonicalHome: 'cleocode',
82
+ perfBudget: {
83
+ latency_p50_ms: 5,
84
+ latency_p99_ms: 50,
85
+ startup_max_ms: 100,
86
+ },
87
+ safetyBudget: {
88
+ panic_unwind: 'allowed-with-recovery',
89
+ root_escape: 'forbidden',
90
+ },
91
+ amendments: [],
92
+ rationale: 'napi binding shim (736 LOC) for cant-core. Loaded via packages/cant/src/native-loader.ts and packages/core/src/system/dependencies.ts. Internal-only — shipped via per-platform packages/cant-napi-* npm packages, not crates.io.',
93
+ },
94
+ {
95
+ module: 'cant-router',
96
+ intent: 'cpu-bound',
97
+ rustCore: 'crates/cant-router',
98
+ canonicalHome: 'cleocode',
99
+ perfBudget: {
100
+ latency_p50_ms: 5,
101
+ latency_p99_ms: 50,
102
+ },
103
+ safetyBudget: {
104
+ panic_unwind: 'forbidden',
105
+ root_escape: 'forbidden',
106
+ },
107
+ amendments: [],
108
+ rationale: 'Cant Router (984 LOC) — CPU-bound dispatch consumed by cant-napi and integration-tests. Flip publish=true: useful externally for cant ecosystem consumers.',
109
+ },
110
+ {
111
+ module: 'cant-runtime',
112
+ intent: 'cpu-bound',
113
+ rustCore: 'crates/cant-runtime',
114
+ canonicalHome: 'cleocode',
115
+ perfBudget: {
116
+ latency_p50_ms: 5,
117
+ latency_p99_ms: 50,
118
+ },
119
+ safetyBudget: {
120
+ panic_unwind: 'forbidden',
121
+ root_escape: 'forbidden',
122
+ },
123
+ amendments: [],
124
+ rationale: 'Cant runtime / pipeline orchestration (1,221 LOC) consumed by cant-napi. Partial TS parallel impl exists; Rust is canonical. Flip publish=true to ship alongside cant-core.',
125
+ },
126
+ {
127
+ module: 'cleo-llm-native',
128
+ intent: 'migration-pending',
129
+ rustCore: 'crates/cleo-llm-native',
130
+ canonicalHome: 'archived',
131
+ perfBudget: {
132
+ latency_p50_ms: 5,
133
+ latency_p99_ms: 50,
134
+ },
135
+ safetyBudget: {
136
+ panic_unwind: 'forbidden',
137
+ root_escape: 'forbidden',
138
+ },
139
+ amendments: ['adr-078-boundary-registry'],
140
+ rationale: 'Verified-dead code: 531 LOC Rust crate referenced ONLY by packages/core/src/llm/rust/__tests__/. Production transports (chat-completions/gemini/openai) import StreamingThinkScrubber from the TS think-scrubber.js path. CLEO_USE_RUST gate is never set in any workflow. Scheduled for deletion in T10205; see ADR-078 implementation tasks.',
141
+ },
142
+ {
143
+ module: 'conduit-core',
144
+ intent: 'data-manifest',
145
+ rustCore: 'crates/conduit-core',
146
+ canonicalHome: 'cleocode',
147
+ perfBudget: {
148
+ latency_p50_ms: 10,
149
+ },
150
+ safetyBudget: {
151
+ panic_unwind: 'forbidden',
152
+ root_escape: 'forbidden',
153
+ },
154
+ amendments: [],
155
+ rationale: 'Conduit serde-types crate (681 LOC) — stable contract surface consumed by cant-core, signaldock-protocol, signaldock-core, integration-tests, AND external /mnt/projects/signaldock-core + /mnt/projects/signaldock/backend via git deps. Mirrors @cleocode/contracts/conduit.ts. Forced KEEP+publish=true: deleting breaks production, and signaldock-protocol publish requires it.',
156
+ },
157
+ {
158
+ module: 'integration-tests',
159
+ intent: 'cpu-bound',
160
+ rustCore: 'crates/integration-tests',
161
+ canonicalHome: 'cleocode',
162
+ perfBudget: {
163
+ latency_p50_ms: 100,
164
+ latency_p99_ms: 2000,
165
+ },
166
+ safetyBudget: {
167
+ panic_unwind: 'allowed-with-recovery',
168
+ root_escape: 'forbidden',
169
+ },
170
+ amendments: [],
171
+ rationale: 'Internal Rust test harness (241 LOC) over lafs-core/conduit-core/cant-core/cant-router/signaldock-core. publish=false intentional — test code never ships.',
172
+ },
173
+ {
174
+ module: 'lafs-core',
175
+ intent: 'cpu-bound',
176
+ rustCore: 'crates/lafs-core',
177
+ tsWrapper: 'packages/lafs',
178
+ canonicalHome: 'cleocode',
179
+ perfBudget: {
180
+ latency_p50_ms: 5,
181
+ latency_p99_ms: 50,
182
+ },
183
+ safetyBudget: {
184
+ panic_unwind: 'forbidden',
185
+ root_escape: 'forbidden',
186
+ },
187
+ amendments: [],
188
+ rationale: 'LAFS envelope serialization core (1,432 LOC) consumed by conduit-core, signaldock-protocol, lafs-napi, integration-tests. Mirrors @cleocode/lafs/src/envelope.ts. Flip publish=true to expose canonical envelope spec as a Rust library.',
189
+ },
190
+ {
191
+ module: 'lafs-napi',
192
+ intent: 'ffi-surface',
193
+ napiBinding: 'crates/lafs-napi',
194
+ tsWrapper: 'packages/lafs',
195
+ canonicalHome: 'cleocode',
196
+ perfBudget: {
197
+ latency_p50_ms: 5,
198
+ latency_p99_ms: 50,
199
+ startup_max_ms: 100,
200
+ },
201
+ safetyBudget: {
202
+ panic_unwind: 'allowed-with-recovery',
203
+ root_escape: 'forbidden',
204
+ },
205
+ amendments: [],
206
+ rationale: 'napi binding shim (95 LOC) for lafs-core. Loaded via packages/lafs/src/native-loader.ts. Internal-only — shipped via packages/lafs-napi-* per-platform npm packages.',
207
+ },
208
+ {
209
+ module: 'signaldock-core',
210
+ intent: 'migrated-out',
211
+ canonicalHome: { external: '/mnt/projects/signaldock/' },
212
+ perfBudget: { latency_p50_ms: 10, latency_p99_ms: 100 },
213
+ safetyBudget: {
214
+ panic_unwind: 'forbidden',
215
+ root_escape: 'forbidden',
216
+ network_egress: 'allowed',
217
+ },
218
+ amendments: ['adr-078-boundary-registry'],
219
+ rationale: 'Migrated to /mnt/projects/signaldock/ via Saga T10180 (T10187). crates/signaldock-core deleted from cleocode.',
220
+ },
221
+ {
222
+ module: 'signaldock-payments',
223
+ intent: 'migrated-out',
224
+ canonicalHome: { external: '/mnt/projects/signaldock/' },
225
+ perfBudget: { latency_p50_ms: 50, latency_p99_ms: 1000 },
226
+ safetyBudget: {
227
+ panic_unwind: 'forbidden',
228
+ root_escape: 'forbidden',
229
+ network_egress: 'allowed',
230
+ },
231
+ amendments: ['adr-078-boundary-registry'],
232
+ rationale: 'Migrated to /mnt/projects/signaldock/ via Saga T10180 (T10187). crates/signaldock-payments deleted from cleocode.',
233
+ },
234
+ {
235
+ module: 'signaldock-protocol',
236
+ intent: 'migrated-out',
237
+ canonicalHome: { external: '/mnt/projects/signaldock/' },
238
+ perfBudget: { latency_p50_ms: 10 },
239
+ safetyBudget: { panic_unwind: 'forbidden', root_escape: 'forbidden' },
240
+ amendments: ['adr-078-boundary-registry'],
241
+ rationale: 'Migrated to /mnt/projects/signaldock/ via Saga T10180 (T10187). crates/signaldock-protocol deleted from cleocode.',
242
+ },
243
+ {
244
+ module: 'signaldock-runtime',
245
+ intent: 'migrated-out',
246
+ canonicalHome: { external: '/mnt/projects/signaldock-runtime/' },
247
+ perfBudget: { latency_p50_ms: 50, latency_p99_ms: 1000, startup_max_ms: 500 },
248
+ safetyBudget: {
249
+ panic_unwind: 'allowed-with-recovery',
250
+ root_escape: 'forbidden',
251
+ network_egress: 'allowed',
252
+ },
253
+ amendments: ['adr-078-boundary-registry'],
254
+ rationale: 'Migrated to /mnt/projects/signaldock-runtime/ via Saga T10180 (T10187). crates/signaldock-runtime deleted from cleocode.',
255
+ },
256
+ {
257
+ module: 'signaldock-sdk',
258
+ intent: 'migrated-out',
259
+ canonicalHome: { external: '/mnt/projects/signaldock/' },
260
+ perfBudget: { latency_p50_ms: 50, latency_p99_ms: 1000 },
261
+ safetyBudget: {
262
+ panic_unwind: 'forbidden',
263
+ root_escape: 'forbidden',
264
+ network_egress: 'allowed',
265
+ },
266
+ amendments: ['adr-078-boundary-registry'],
267
+ rationale: 'Migrated to /mnt/projects/signaldock/ via Saga T10180 (T10187). crates/signaldock-sdk deleted from cleocode.',
268
+ },
269
+ {
270
+ module: 'signaldock-storage',
271
+ intent: 'migrated-out',
272
+ canonicalHome: { external: '/mnt/projects/signaldock/' },
273
+ perfBudget: { latency_p50_ms: 10, latency_p99_ms: 100 },
274
+ safetyBudget: { panic_unwind: 'forbidden', root_escape: 'forbidden' },
275
+ amendments: ['adr-078-boundary-registry'],
276
+ rationale: 'Migrated to /mnt/projects/signaldock/ via Saga T10180 (T10187). crates/signaldock-storage deleted from cleocode.',
277
+ },
278
+ {
279
+ module: 'signaldock-transport',
280
+ intent: 'migrated-out',
281
+ canonicalHome: { external: '/mnt/projects/signaldock/' },
282
+ perfBudget: { latency_p50_ms: 50, latency_p99_ms: 1000 },
283
+ safetyBudget: {
284
+ panic_unwind: 'forbidden',
285
+ root_escape: 'forbidden',
286
+ network_egress: 'allowed',
287
+ },
288
+ amendments: ['adr-078-boundary-registry'],
289
+ rationale: 'Migrated to /mnt/projects/signaldock/ via Saga T10180 (T10187). crates/signaldock-transport deleted from cleocode.',
290
+ },
291
+ {
292
+ module: 'worktree-napi',
293
+ intent: 'ffi-surface',
294
+ napiBinding: 'crates/worktree-napi',
295
+ tsWrapper: 'packages/worktree',
296
+ canonicalHome: 'cleocode',
297
+ perfBudget: {
298
+ latency_p50_ms: 5,
299
+ latency_p99_ms: 50,
300
+ startup_max_ms: 100,
301
+ },
302
+ safetyBudget: {
303
+ panic_unwind: 'allowed-with-recovery',
304
+ root_escape: 'forbidden',
305
+ },
306
+ amendments: ['adr-077-worktreeinclude'],
307
+ rationale: 'napi binding shim (515 LOC) for worktrunk-core, used by packages/core spawn-pipeline tests, packages/core/src/scaffold/ensure-config.ts, and shipped via packages/worktree-napi-* per-platform npm packages. Internal-only.',
308
+ },
309
+ {
310
+ module: 'worktrunk-core',
311
+ intent: 'cpu-bound',
312
+ rustCore: 'crates/worktrunk-core',
313
+ tsWrapper: 'packages/worktree',
314
+ canonicalHome: 'cleocode',
315
+ perfBudget: {
316
+ latency_p50_ms: 5,
317
+ latency_p99_ms: 50,
318
+ },
319
+ safetyBudget: {
320
+ panic_unwind: 'forbidden',
321
+ root_escape: 'forbidden',
322
+ },
323
+ amendments: ['adr-077-worktreeinclude', 'adr-078-boundary-registry'],
324
+ rationale: 'Worktree primitives core (1,352 LOC) vendored from /mnt/projects/worktrunk per D010, consumed by worktree-napi. Reference implementation of the boundary-registry pattern. Internal-only today; publish=true is a future option if external worktree-tooling emerges.',
325
+ },
326
+ // ============================================================
327
+ // Packages (20 entries) — from sg-boundary-packages-decision-matrix
328
+ // ============================================================
329
+ {
330
+ module: 'adapters',
331
+ intent: 'harness-adapter',
332
+ tsWrapper: 'packages/adapters',
333
+ canonicalHome: 'cleocode',
334
+ perfBudget: {
335
+ latency_p50_ms: 100,
336
+ latency_p99_ms: 2000,
337
+ },
338
+ safetyBudget: {
339
+ panic_unwind: 'allowed-with-recovery',
340
+ root_escape: 'allowed-with-justification',
341
+ network_egress: 'allowed',
342
+ fs_writes_outside_root: 'audited',
343
+ },
344
+ amendments: [],
345
+ rationale: 'Claude Code / Cursor / OpenCode harness adapters (10,661 LOC) consumed only by core. Provider-specific FS layouts + child_process spawning; TS-only fit.',
346
+ },
347
+ {
348
+ module: 'agents',
349
+ intent: 'data-manifest',
350
+ tsWrapper: 'packages/agents',
351
+ canonicalHome: 'cleocode',
352
+ perfBudget: {
353
+ latency_p50_ms: 10,
354
+ },
355
+ safetyBudget: {
356
+ panic_unwind: 'forbidden',
357
+ root_escape: 'forbidden',
358
+ },
359
+ amendments: [],
360
+ rationale: 'Asset-only package (0 TS LOC) — ships .cant + templates consumed by 2 packages. No logic; pure data manifest.',
361
+ },
362
+ {
363
+ module: 'animations',
364
+ intent: 'frontend',
365
+ tsWrapper: 'packages/animations',
366
+ canonicalHome: 'cleocode',
367
+ perfBudget: {
368
+ latency_p50_ms: 16,
369
+ latency_p99_ms: 33,
370
+ },
371
+ safetyBudget: {
372
+ panic_unwind: 'allowed-with-recovery',
373
+ root_escape: 'forbidden',
374
+ },
375
+ amendments: [],
376
+ rationale: 'TTY render animations (1,351 LOC) consumed by cleo. 60fps frame budget; terminal output is irrelevant for Rust.',
377
+ },
378
+ {
379
+ module: 'brain',
380
+ intent: 'io-coordination',
381
+ tsWrapper: 'packages/brain',
382
+ canonicalHome: 'cleocode',
383
+ perfBudget: {
384
+ latency_p50_ms: 100,
385
+ latency_p99_ms: 1000,
386
+ },
387
+ safetyBudget: {
388
+ panic_unwind: 'allowed-with-recovery',
389
+ root_escape: 'forbidden',
390
+ },
391
+ amendments: [],
392
+ rationale: 'Multi-DB substrate adapter (1,628 LOC) consumed by studio + self. IO-bound over better-sqlite3 + drizzle; no Rust port warranted today. Hot path (embeddings) lives in core/src/memory/, not here.',
393
+ },
394
+ {
395
+ module: 'caamp',
396
+ intent: 'orchestration-glue',
397
+ tsWrapper: 'packages/caamp',
398
+ canonicalHome: 'cleocode',
399
+ perfBudget: {
400
+ latency_p50_ms: 100,
401
+ latency_p99_ms: 2000,
402
+ },
403
+ safetyBudget: {
404
+ panic_unwind: 'allowed-with-recovery',
405
+ root_escape: 'forbidden',
406
+ fs_writes_outside_root: 'audited',
407
+ },
408
+ amendments: [],
409
+ rationale: 'CAAMP packaging + harness registry (28,439 LOC) consumed by 3 packages. FS layouts + provider quirks fit TS; no Rust hot path.',
410
+ },
411
+ {
412
+ module: 'cant',
413
+ intent: 'ffi-surface',
414
+ tsWrapper: 'packages/cant',
415
+ canonicalHome: 'cleocode',
416
+ perfBudget: {
417
+ latency_p50_ms: 10,
418
+ latency_p99_ms: 100,
419
+ startup_max_ms: 100,
420
+ },
421
+ safetyBudget: {
422
+ panic_unwind: 'allowed-with-recovery',
423
+ root_escape: 'forbidden',
424
+ },
425
+ amendments: [],
426
+ rationale: 'Thin TS wrapper (4,960 LOC) over cant-core/cant-napi/cant-runtime Rust crates. 651 LOC is the native-loader; remaining glue is composer/bundle/migrate/markdown-parser/mental-model. Working hybrid — no deletion needed.',
427
+ },
428
+ {
429
+ module: 'cleo',
430
+ intent: 'orchestration-glue',
431
+ tsWrapper: 'packages/cleo',
432
+ canonicalHome: 'cleocode',
433
+ perfBudget: {
434
+ latency_p50_ms: 100,
435
+ latency_p99_ms: 2000,
436
+ startup_max_ms: 500,
437
+ },
438
+ safetyBudget: {
439
+ panic_unwind: 'allowed-with-recovery',
440
+ root_escape: 'forbidden',
441
+ fs_writes_outside_root: 'audited',
442
+ },
443
+ amendments: [],
444
+ rationale: 'CLI dispatch binary (83,143 LOC, 0 consumers — top of stack). Decomposition tracked under SG-ARCH-SOLID T9833. TS-only orchestration glue; no Rust hot path.',
445
+ },
446
+ {
447
+ module: 'cleo-os',
448
+ intent: 'harness-adapter',
449
+ tsWrapper: 'packages/cleo-os',
450
+ canonicalHome: 'cleocode',
451
+ perfBudget: {
452
+ latency_p50_ms: 100,
453
+ latency_p99_ms: 2000,
454
+ startup_max_ms: 500,
455
+ },
456
+ safetyBudget: {
457
+ panic_unwind: 'allowed-with-recovery',
458
+ root_escape: 'allowed-with-justification',
459
+ fs_writes_outside_root: 'audited',
460
+ },
461
+ amendments: [],
462
+ rationale: 'Pi launcher wrapper (3,598 LOC) — 0 consumers (binary). Wraps JS-only Pi harness; TS-only fit.',
463
+ },
464
+ {
465
+ module: 'contracts',
466
+ intent: 'data-manifest',
467
+ tsWrapper: 'packages/contracts',
468
+ canonicalHome: 'cleocode',
469
+ perfBudget: {
470
+ latency_p50_ms: 10,
471
+ },
472
+ safetyBudget: {
473
+ panic_unwind: 'forbidden',
474
+ root_escape: 'forbidden',
475
+ },
476
+ amendments: ['adr-078-boundary-registry'],
477
+ rationale: 'Typed contracts SSoT (35,905 LOC, Zod schemas) consumed by 15 packages. Pure types; no logic; TS-only by definition (it defines the type surface). Hosts BOUNDARY_REGISTRY itself.',
478
+ },
479
+ {
480
+ module: 'core',
481
+ intent: 'orchestration-glue',
482
+ tsWrapper: 'packages/core',
483
+ canonicalHome: 'cleocode',
484
+ perfBudget: {
485
+ latency_p50_ms: 100,
486
+ latency_p99_ms: 2000,
487
+ },
488
+ safetyBudget: {
489
+ panic_unwind: 'allowed-with-recovery',
490
+ root_escape: 'forbidden',
491
+ fs_writes_outside_root: 'audited',
492
+ },
493
+ amendments: [],
494
+ rationale: 'SDK runtime (295,846 LOC) consumed by 10 packages — currently a god-package. Decomposition tracked under SG-ARCH-SOLID T9834. Mixed workload; most paths are IO-coordination but no module is CPU-bound enough to mandate a Rust port today.',
495
+ },
496
+ {
497
+ module: 'git-shim',
498
+ intent: 'ffi-surface',
499
+ tsWrapper: 'packages/git-shim',
500
+ canonicalHome: 'cleocode',
501
+ perfBudget: {
502
+ latency_p50_ms: 50,
503
+ latency_p99_ms: 1000,
504
+ startup_max_ms: 100,
505
+ },
506
+ safetyBudget: {
507
+ panic_unwind: 'allowed-with-recovery',
508
+ root_escape: 'forbidden',
509
+ fs_writes_outside_root: 'forbidden',
510
+ },
511
+ amendments: [],
512
+ rationale: 'PATH-binary git shim (1,452 LOC) — standalone, 0 in-repo consumers. Must fork+exec; bin must be Node for npm distribution. TS-only fit.',
513
+ },
514
+ {
515
+ module: 'lafs',
516
+ intent: 'io-coordination',
517
+ tsWrapper: 'packages/lafs',
518
+ canonicalHome: 'cleocode',
519
+ perfBudget: {
520
+ latency_p50_ms: 50,
521
+ latency_p99_ms: 1000,
522
+ },
523
+ safetyBudget: {
524
+ panic_unwind: 'allowed-with-recovery',
525
+ root_escape: 'forbidden',
526
+ network_egress: 'allowed',
527
+ },
528
+ amendments: [],
529
+ rationale: 'Envelope + A2A bridge (11,353 LOC) consumed by 6 packages. Rust core (lafs-core + lafs-napi) handles canonical envelope serialization; TS layer is A2A express bridge + envelope validation glue (2,600 LOC a2a/* uses JS-only @a2a-js/sdk).',
530
+ },
531
+ {
532
+ module: 'mcp-adapter',
533
+ intent: 'orchestration-glue',
534
+ tsWrapper: 'packages/mcp-adapter',
535
+ canonicalHome: 'cleocode',
536
+ perfBudget: {
537
+ latency_p50_ms: 100,
538
+ latency_p99_ms: 2000,
539
+ },
540
+ safetyBudget: {
541
+ panic_unwind: 'allowed-with-recovery',
542
+ root_escape: 'forbidden',
543
+ network_egress: 'allowed',
544
+ },
545
+ amendments: [],
546
+ rationale: 'External MCP bridge (379 LOC) — 0 in-repo consumers (binary only). MCP SDK is JS-native; TS-only fit.',
547
+ },
548
+ {
549
+ module: 'nexus',
550
+ intent: 'cpu-bound',
551
+ tsWrapper: 'packages/nexus',
552
+ canonicalHome: 'cleocode',
553
+ perfBudget: {
554
+ latency_p50_ms: 50,
555
+ latency_p99_ms: 500,
556
+ },
557
+ safetyBudget: {
558
+ panic_unwind: 'allowed-with-recovery',
559
+ root_escape: 'forbidden',
560
+ },
561
+ amendments: [],
562
+ rationale: 'Code-intelligence (16,431 LOC) consumed by cleo + core. CPU-bound (tree-sitter AST + graphology), but tree-sitter is already native via npm. Pure-JS graphology hot loop is the only candidate; future SG-NEXUS-RUST-CORE saga (out-of-scope per ADR-078) may add a nexus-core Rust crate. Keep TS for now.',
563
+ },
564
+ {
565
+ module: 'paths',
566
+ intent: 'data-manifest',
567
+ tsWrapper: 'packages/paths',
568
+ canonicalHome: 'cleocode',
569
+ perfBudget: {
570
+ latency_p50_ms: 5,
571
+ },
572
+ safetyBudget: {
573
+ panic_unwind: 'forbidden',
574
+ root_escape: 'forbidden',
575
+ },
576
+ amendments: [],
577
+ rationale: 'XDG paths SSoT (588 LOC) consumed by 9 packages. Leaf data-manifest with no logic beyond path resolution; TS-only.',
578
+ },
579
+ {
580
+ module: 'playbooks',
581
+ intent: 'orchestration-glue',
582
+ tsWrapper: 'packages/playbooks',
583
+ canonicalHome: 'cleocode',
584
+ perfBudget: {
585
+ latency_p50_ms: 100,
586
+ latency_p99_ms: 2000,
587
+ },
588
+ safetyBudget: {
589
+ panic_unwind: 'allowed-with-recovery',
590
+ root_escape: 'forbidden',
591
+ },
592
+ amendments: [],
593
+ rationale: 'Playbook state machine (3,094 LOC) consumed by cleo + adapters. Pure DI; IO-coordination dominated. TS-only fit.',
594
+ },
595
+ {
596
+ module: 'runtime',
597
+ intent: 'io-coordination',
598
+ tsWrapper: 'packages/runtime',
599
+ canonicalHome: 'cleocode',
600
+ perfBudget: {
601
+ latency_p50_ms: 100,
602
+ latency_p99_ms: 1000,
603
+ },
604
+ safetyBudget: {
605
+ panic_unwind: 'allowed-with-recovery',
606
+ root_escape: 'forbidden',
607
+ network_egress: 'allowed',
608
+ },
609
+ amendments: [],
610
+ rationale: 'Poller/SSE/heartbeat runtime (681 LOC) consumed by cleo. Node event loop + fetch are the natural fit; no Rust port warranted.',
611
+ },
612
+ {
613
+ module: 'skills',
614
+ intent: 'data-manifest',
615
+ tsWrapper: 'packages/skills',
616
+ canonicalHome: 'cleocode',
617
+ perfBudget: {
618
+ latency_p50_ms: 10,
619
+ },
620
+ safetyBudget: {
621
+ panic_unwind: 'forbidden',
622
+ root_escape: 'forbidden',
623
+ },
624
+ amendments: [],
625
+ rationale: 'Asset-only package (0 TS LOC) — ships JSON skill registry + generated index.js consumed by core. No logic; pure data manifest.',
626
+ },
627
+ {
628
+ module: 'studio',
629
+ intent: 'frontend',
630
+ tsWrapper: 'packages/studio',
631
+ canonicalHome: 'cleocode',
632
+ perfBudget: {
633
+ latency_p50_ms: 16,
634
+ latency_p99_ms: 33,
635
+ },
636
+ safetyBudget: {
637
+ panic_unwind: 'allowed-with-recovery',
638
+ root_escape: 'forbidden',
639
+ network_egress: 'allowed',
640
+ },
641
+ amendments: [],
642
+ rationale: 'SvelteKit frontend (16,636 LOC, d3/three/sigma) — 0 in-repo consumers. SvelteKit + browser code; TS always.',
643
+ },
644
+ {
645
+ module: 'worktree',
646
+ intent: 'ffi-surface',
647
+ tsWrapper: 'packages/worktree',
648
+ canonicalHome: 'cleocode',
649
+ perfBudget: {
650
+ latency_p50_ms: 50,
651
+ latency_p99_ms: 1000,
652
+ startup_max_ms: 100,
653
+ },
654
+ safetyBudget: {
655
+ panic_unwind: 'allowed-with-recovery',
656
+ root_escape: 'forbidden',
657
+ fs_writes_outside_root: 'audited',
658
+ },
659
+ amendments: ['adr-077-worktreeinclude', 'adr-078-boundary-registry'],
660
+ rationale: 'Worktree SSoT primitive layer (1,972 LOC) — canonical create/destroy/list/prune/include/copy-on-write bound by @cleocode/paths. Post-PR-#487 the responsibilities are distinct from packages/core/src/worktree/ (SDK-level enrichment). Consumes worktrunk-core via worktree-napi.',
661
+ },
662
+ ];
663
+ //# sourceMappingURL=boundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boundary.js","sourceRoot":"","sources":["../src/boundary.ts"],"names":[],"mappings":"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"}