@orkestrel/scaffold 0.0.60 → 0.0.61

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 (61) hide show
  1. package/README.md +13 -10
  2. package/dist/bin/main.js +632 -320
  3. package/dist/bin/main.js.map +1 -1
  4. package/dist/host/CLAUDE.md +5 -1
  5. package/dist/host/agents/orchestration.md +44 -19
  6. package/dist/host/agents/skills/enterprise-bootstrap/references/components.md +5 -5
  7. package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +2 -2
  8. package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +10 -9
  9. package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +21 -11
  10. package/dist/host/agents/skills/orkestrel-falsify/references/brief.md +20 -2
  11. package/dist/host/agents/skills/orkestrel-harden-package/SKILL.md +1 -1
  12. package/dist/host/agents/skills/orkestrel-harden-package/references/hardening.md +1 -1
  13. package/dist/host/agents/skills/orkestrel-harden-package/references/research.md +1 -1
  14. package/dist/host/agents/templates/brief.md +16 -7
  15. package/dist/host/agents/transports/claude.md +4 -2
  16. package/dist/host/agents/transports/codex.md +4 -1
  17. package/dist/host/claude/agents/analyst.md +3 -1
  18. package/dist/host/claude/agents/application.md +1 -1
  19. package/dist/host/claude/agents/builder.md +3 -3
  20. package/dist/host/claude/agents/checker.md +5 -0
  21. package/dist/host/claude/agents/grok.md +15 -5
  22. package/dist/host/claude/agents/implementer.md +1 -1
  23. package/dist/host/claude/agents/orkestrel.md +2 -2
  24. package/dist/host/claude/agents/planner.md +10 -0
  25. package/dist/host/claude/agents/reviewer.md +14 -8
  26. package/dist/host/claude/agents/sol.md +3 -1
  27. package/dist/host/claude/agents/verifier.md +2 -4
  28. package/dist/host/claude/rules/architecture.md +7 -5
  29. package/dist/host/claude/rules/documentation.md +1 -0
  30. package/dist/host/claude/rules/names.md +23 -5
  31. package/dist/host/claude/rules/patterns.md +1 -0
  32. package/dist/host/claude/rules/quality.md +1 -1
  33. package/dist/host/claude/rules/tests.md +3 -3
  34. package/dist/host/claude/rules/typescript.md +4 -1
  35. package/dist/host/claude/rules/writing.md +2 -2
  36. package/dist/host/codex/agents/builder.toml +6 -6
  37. package/dist/host/codex/agents/checker.toml +2 -1
  38. package/dist/host/codex/agents/grok.toml +12 -5
  39. package/dist/host/codex/agents/implementer.toml +2 -2
  40. package/dist/host/codex/agents/opus.toml +6 -1
  41. package/dist/host/codex/agents/planner.toml +11 -6
  42. package/dist/host/codex/agents/reviewer.toml +8 -6
  43. package/dist/host/guides/scaffold.md +39 -14
  44. package/dist/host/manifest.json +41 -41
  45. package/dist/host/scripts/codex.sh +0 -0
  46. package/dist/host/scripts/cursor.sh +0 -0
  47. package/dist/host/scripts/deps.sh +0 -0
  48. package/dist/host/scripts/ollama.sh +0 -0
  49. package/dist/src/core/index.cjs +420 -278
  50. package/dist/src/core/index.cjs.map +1 -1
  51. package/dist/src/core/index.d.cts +361 -220
  52. package/dist/src/core/index.d.ts +361 -220
  53. package/dist/src/core/index.js +417 -279
  54. package/dist/src/core/index.js.map +1 -1
  55. package/dist/src/server/index.cjs +208 -170
  56. package/dist/src/server/index.cjs.map +1 -1
  57. package/dist/src/server/index.d.cts +276 -152
  58. package/dist/src/server/index.d.ts +276 -152
  59. package/dist/src/server/index.js +200 -172
  60. package/dist/src/server/index.js.map +1 -1
  61. package/package.json +4 -3
@@ -13,8 +13,11 @@ does not work. Scaffold makes the shared set data — a vendored data root shipp
13
13
  write the difference back.
14
14
 
15
15
  That root stages the vendored set and the instruction canon, and a target meets them differently.
16
- `HOST_PATHS` names the vendored set — the toolchain, the policy proofs, the bench scripts, and the
17
- harness permission file — and every target carries its own copy, which the verbs write and compare.
16
+ `HOST_PATHS` names the vendored set — the licence, the harness permission file, the
17
+ session-start hooks, the shared policy register, the shared policy proof, the shared policy plugin,
18
+ the shared configuration leaf and its proof, the byte-identical root dotfiles, and the guide mirrors
19
+ a generated workspace starts from, never its own guide — and each target carries its own copy of
20
+ the paths it selects, which the verbs write and compare.
18
21
  `CANON_PATHS` names the instruction canon — the coding and orchestration contracts, the rules, the
19
22
  skills, the templates, the transport contracts, the agent roles, the bench configuration, and the
20
23
  MCP registrations — which stays in one place and is published for reading. A target carries the
@@ -110,6 +113,8 @@ Exported from `@orkestrel/scaffold`, and reachable from
110
113
  | `BIN_ENTRY_PATH` | const | The executable entry whose presence makes a workspace `bin`. |
111
114
  | `CANON_PATHS` | const | The instruction-canon paths staged for reading rather than for a target, frozen. |
112
115
  | `CATALOG_AGENT_PATH` | const | The agent file whose marker-bounded package table the catalog verb alone owns. |
116
+ | `CATALOG_CLOSING_MARKER` | const | The marker closing the package table inside the catalog agent file. |
117
+ | `CATALOG_OPENING_MARKER` | const | The marker opening the package table inside the catalog agent file. |
113
118
  | `CONFIG_TEMPLATES` | const | Formatter-stable template text for every configuration artifact. |
114
119
  | `CONFORMANCE_TEST_PATH` | const | The official-tooling drift proof whose presence makes a workspace `conformance`. |
115
120
  | `CONTROL_CHARACTER_PATTERN` | const | Unicode controls, formatting controls, and line and paragraph separators rejected in text. |
@@ -205,6 +210,7 @@ Exported from `@orkestrel/scaffold`, and reachable from
205
210
 
206
211
  | Name | Kind | Summary |
207
212
  | --------------------------- | -------- | ----------------------------------------------------------------------------- |
213
+ | `artifactToFinding` | function | Project one planned artifact and the bytes found at its path into a verdict. |
208
214
  | `artifactToHex` | function | Project an artifact to the exact bytes it claims, as hexadecimal. |
209
215
  | `bytesToHex` | function | Encode bytes as exact lowercase hexadecimal text. |
210
216
  | `catalogToLayers` | function | Project a catalog into the layers it publishes in. |
@@ -219,6 +225,8 @@ Exported from `@orkestrel/scaffold`, and reachable from
219
225
  | `inferGroup` | function | Infer the `Group` a path belongs to. |
220
226
  | `isCanonPath` | function | Test whether a path belongs to the instruction canon a target reads. |
221
227
  | `isDeferredPath` | function | Test whether another surface owns the vendored bytes at a path. |
228
+ | `isFloorPath` | function | Test whether a destination's floor bytes survive a live overlay. |
229
+ | `isRetainedPath` | function | Test whether another surface owns a target's present bytes at a path. |
222
230
  | `manifestToDependencies` | function | Project a manifest's `@orkestrel/*` declarations into separate section lists. |
223
231
  | `manifestToName` | function | Project a package manifest's text to its own name. |
224
232
  | `matchesDriftReachability` | function | Test whether `inferDrift` could have produced a finding for an ownership. |
@@ -232,13 +240,13 @@ Exported from `@orkestrel/scaffold`, and reachable from
232
240
  | `selectGroups` | function | Select the groups a compile covers, in plan order. |
233
241
  | `selectHostPaths` | function | Select the host paths a named workspace vendors. |
234
242
  | `serializeTypeScriptString` | function | Serialize one string as a single-quoted TypeScript literal. |
243
+ | `srcToRoot` | function | Select the single published environment a package root points at. |
235
244
 
236
245
  #### Compilers
237
246
 
238
247
  | Name | Kind | Summary |
239
248
  | ----------------------------------- | -------- | ------------------------------------------------------------------------------- |
240
249
  | `applyOverrides` | function | Replace the content of every drafted artifact an override names. |
241
- | `artifactToFinding` | function | Project one planned artifact and the bytes found at its path into a verdict. |
242
250
  | `artifactsToQuestions` | function | Measure a drafted artifact list against the laws a whole plan decides. |
243
251
  | `blueprintToConfigArtifacts` | function | Compile every artifact in the `configs` group. |
244
252
  | `blueprintToDevDependencies` | function | Project a blueprint into the development dependencies its manifest declares. |
@@ -265,7 +273,6 @@ Exported from `@orkestrel/scaffold`, and reachable from
265
273
  | `replacePlanRanges` | function | Replace writable ranges in a plan's manifest and recompute its identity. |
266
274
  | `srcToEntry` | function | Project a published selection into the manifest's entry fields. |
267
275
  | `srcToExports` | function | Project a published selection into the manifest's `exports` map. |
268
- | `srcToRoot` | function | Select the single published environment a package root points at. |
269
276
 
270
277
  #### Factories
271
278
 
@@ -296,12 +303,16 @@ Exported from `@orkestrel/scaffold/server`, and reachable from
296
303
 
297
304
  | Name | Kind | Summary |
298
305
  | ----------------------- | --------- | ------------------------------------------------------------------------------------ |
306
+ | `BytesReadResult` | interface | The outcome of one bounded read whose body is taken as exact bytes. |
299
307
  | `Host` | interface | A whole vendored host supplied as a value rather than read from a directory. |
308
+ | `HostInventory` | interface | The committed vendored-file inventory as one call's reads are decided against. |
300
309
  | `HostManifest` | interface | The complete vendored-host inventory. |
301
310
  | `ManifestEntry` | interface | One file record of the vendored host's manifest, including its exact-byte digest. |
302
311
  | `MaterializeResult` | interface | The outcome of one mutation of a target. |
303
312
  | `MaterializerInterface` | interface | The mutation contract: the package's only filesystem writer. |
304
313
  | `MaterializerOptions` | interface | Options for the materializer. |
314
+ | `ReadAllowance` | interface | The byte allowance one whole upstream call spends across every read it makes. |
315
+ | `TextReadResult` | interface | The outcome of one bounded read whose body is taken as text. |
305
316
  | `Worktree` | interface | What git reports about a target's working tree. |
306
317
  | `UpstreamInterface` | interface | The upstream contract: the package's only network reader, and it never writes. |
307
318
  | `UpstreamOptions` | interface | Options for the upstream reader. |
@@ -315,6 +326,12 @@ Exported from `@orkestrel/scaffold/server`, and reachable from
315
326
  | Name | Kind | Summary |
316
327
  | ----------------------------------- | ----- | ---------------------------------------------------------------------------------------- |
317
328
  | `BRANCH_PATTERN` | const | The Git branch syntax the repository endpoint accepts. |
329
+ | `DEFAULT_BRANCH` | const | The repository branch a raw content read addresses when a caller names none. |
330
+ | `DEFAULT_REGISTRY_BASE` | const | The registry a version read addresses when a caller names none. |
331
+ | `DEFAULT_REPOSITORY_BASE` | const | The raw content host a repository read addresses when a caller names none. |
332
+ | `DEFAULT_UPSTREAM_CONCURRENCY` | const | The simultaneous upstream requests a reader opens with. |
333
+ | `DEFAULT_UPSTREAM_RETRIES` | const | The retries one upstream request is given when a caller names none. |
334
+ | `DEFAULT_UPSTREAM_TIMEOUT` | const | The timeout one upstream request is given when a caller names none, in milliseconds. |
318
335
  | `DIGEST_PATTERN` | const | The exact SHA-256 syntax a digest is stated in: sixty-four lowercase hexadecimal digits. |
319
336
  | `DRIVE_PATTERN` | const | The drive prefix a Windows host path may open with. |
320
337
  | `INVALID_SEGMENT_CHARACTER_PATTERN` | const | Visible characters no host path segment may carry. |
@@ -327,7 +344,11 @@ Exported from `@orkestrel/scaffold/server`, and reachable from
327
344
  | `MAX_UPSTREAM_CONCURRENCY` | const | Maximum simultaneous upstream requests. |
328
345
  | `MAX_UPSTREAM_RETRIES` | const | Maximum retries one upstream request may be given after a transport fault. |
329
346
  | `MAX_UPSTREAM_TIMEOUT` | const | Maximum timeout one upstream request may be given, in milliseconds. |
347
+ | `ORKESTREL_SCOPE` | const | The npm scope and repository owner the fleet's packages and sources are published under. |
348
+ | `PACKUMENT_MEDIA_TYPE` | const | The media type that selects the registry's abbreviated packument. |
330
349
  | `RESERVED_SEGMENT_PATTERN` | const | The Windows device names that stay reserved even when an extension follows. |
350
+ | `SCAFFOLD_REPOSITORY` | const | The repository this package's own vendored files are served from. |
351
+ | `UNREADABLE_VERSION_NOTE` | const | The note a release carries when its packument names no readable latest version. |
331
352
 
332
353
  #### Guards
333
354
 
@@ -367,7 +388,7 @@ Exported from `@orkestrel/scaffold/server`, and reachable from
367
388
  | `isPhysicalDirectory` | function | Test whether a path is a physical directory this package will read or write into. |
368
389
  | `isPhysicalFile` | function | Test whether a path is a physical file this package will read or replace. |
369
390
  | `isVacant` | function | Test whether a target is safe to write a fresh workspace into. |
370
- | `listCanonPaths` | function | Lists the canon paths a target holds, filtered to a plan's groups. |
391
+ | `listCanonPaths` | function | List the canon paths a target holds, filtered to a plan's groups. |
371
392
  | `listDirectories` | function | List a directory's descendant directories as sorted root-relative paths. |
372
393
  | `listFiles` | function | List a directory's files as sorted root-relative paths. |
373
394
  | `matchesAnchor` | function | Test whether a captured directory is still the same directory. |
@@ -379,7 +400,7 @@ Exported from `@orkestrel/scaffold/server`, and reachable from
379
400
  | `matchesProtectedPath` | function | Test whether a target-relative path is one no verb may delete. |
380
401
  | `matchesSensitivePath` | function | Test whether a path names local configuration or a credential. |
381
402
  | `pathToStorage` | function | Project a target-relative path to the storage name a vendored host holds it under. |
382
- | `pruneEmptiedDirectories` | function | Removes every directory one set of deletions emptied. |
403
+ | `pruneEmptiedDirectories` | function | Remove every directory one set of deletions emptied. |
383
404
  | `readAnchor` | function | Capture one directory's physical identity. |
384
405
  | `readExpectation` | function | Capture what one destination holds before a write. |
385
406
  | `readFileHex` | function | Read one contained file as its exact bytes in lowercase hexadecimal. |
@@ -1172,10 +1193,11 @@ generating a workspace with no network receives.
1172
1193
  The vendored data root is the shared file set, staged into the published package as plain data.
1173
1194
  Staging walks `HOST_PATHS` and `CANON_PATHS`, and a release ships what both name.
1174
1195
 
1175
- `HOST_PATHS` is the vendored set, and a target receives a copy of each path it selects: the licence,
1176
- the harness permission file, the bench scripts, the shared policy register, the byte-identical root
1177
- dotfiles, and the guide mirrors a generated workspace starts from. It is a candidate list rather than
1178
- a plan, because a workspace never mirrors its own guide.
1196
+ `HOST_PATHS` is the vendored set, and a target receives a copy of each path it selects: the
1197
+ licence, the harness permission file, the session-start hooks, the shared policy register, the
1198
+ shared policy proof, the shared policy plugin, the shared configuration leaf and its proof, the
1199
+ byte-identical root dotfiles, and the guide mirrors a generated workspace starts from. It is a
1200
+ candidate list rather than a plan, because a workspace never mirrors its own guide.
1179
1201
 
1180
1202
  `CANON_PATHS` is the instruction canon, staged for reading instead: the `AGENTS.md` coding contract,
1181
1203
  the `CLAUDE.md` harness bridge, the `.agents/orchestration.md` agent-operation contract, the rules
@@ -1486,10 +1508,13 @@ value it asked for. A verb that creates a workspace throws it, because it chose
1486
1508
  nothing to hand back. A blocking question closed the gate; a non-blocking one is a shape the package
1487
1509
  can describe and declines to create.
1488
1510
 
1489
- Every entity publishes an emitter. The compiler emits `compile`, `audit`, `block`, `error`, and
1490
- `destroy`; the materializer emits `write`, `remove`, `finish`, `error`, and `destroy`; the upstream
1491
- reader emits `release`, `mirror`, `error`, and `destroy`. Errors are emitted immediately before they
1492
- are thrown, so an observer sees a refusal even where the caller catches it.
1511
+ The compiler, the materializer, and the upstream reader each publish an emitter; `WriteTransaction`
1512
+ publishes none and reports through its return values and its thrown errors. The compiler emits
1513
+ `compile`, `audit`, `block`, `error`, and `destroy`; the materializer emits `write`, `remove`,
1514
+ `finish`, `error`, and `destroy`; the upstream reader emits `release`, `mirror`, `file`, `error`,
1515
+ and `destroy`. Every error raised after construction is emitted on `error` immediately before it is
1516
+ thrown, so an observer sees a refusal even where the caller catches it; a constructor refusal
1517
+ precedes the emitter and is thrown alone.
1493
1518
 
1494
1519
  ## Limits
1495
1520
 
@@ -10,7 +10,7 @@
10
10
  "storage": "CLAUDE.md",
11
11
  "destination": "CLAUDE.md",
12
12
  "executable": false,
13
- "digest": "b380ae8ddc9190b244dcf0d31daab895fef6ec10f74549092816251e3b5e57a9"
13
+ "digest": "3428bb67c466f2880aab56f4a95129e482b6abf0b99e93e738ad790f578413ee"
14
14
  },
15
15
  {
16
16
  "storage": "LICENSE",
@@ -22,7 +22,7 @@
22
22
  "storage": "agents/orchestration.md",
23
23
  "destination": ".agents/orchestration.md",
24
24
  "executable": false,
25
- "digest": "601036308ef2144a5e6e0aeb9af58127c43b25a007d194a1cfbc501f9fade1d7"
25
+ "digest": "5a03f0752db8449cfaf82c427917b1e9d8b3595313c46659afcfa927ac11cf0f"
26
26
  },
27
27
  {
28
28
  "storage": "agents/skills/enterprise-bootstrap/SKILL.md",
@@ -46,7 +46,7 @@
46
46
  "storage": "agents/skills/enterprise-bootstrap/references/components.md",
47
47
  "destination": ".agents/skills/enterprise-bootstrap/references/components.md",
48
48
  "executable": false,
49
- "digest": "fb3575cf79b5a8741e3c4585a164bccde458fff00163f82bd631a1e6961ee56d"
49
+ "digest": "252de08e786aa41834f13df4d115e33b3c56d897ccea00b95ed4912da62fbd89"
50
50
  },
51
51
  {
52
52
  "storage": "agents/skills/enterprise-bootstrap/references/frontend-design.md",
@@ -112,7 +112,7 @@
112
112
  "storage": "agents/skills/orkestrel-debrief/SKILL.md",
113
113
  "destination": ".agents/skills/orkestrel-debrief/SKILL.md",
114
114
  "executable": false,
115
- "digest": "862a97f1c03ca36fbc9320c8cbd2a94bbddf38f0ec8b6d60d88ab51ef94262b9"
115
+ "digest": "8fb446a0dcd75d688254928563267c78d6beb6b0f18c2b01e9c8d697e7a6d8d6"
116
116
  },
117
117
  {
118
118
  "storage": "agents/skills/orkestrel-debrief/agents/openai.yaml",
@@ -130,7 +130,7 @@
130
130
  "storage": "agents/skills/orkestrel-debrief/references/instruction-audit.md",
131
131
  "destination": ".agents/skills/orkestrel-debrief/references/instruction-audit.md",
132
132
  "executable": false,
133
- "digest": "5a6c01bcde2225c20c8a8948da837c1e0f3f71d9a2fb5786a4384bbd6ab36cef"
133
+ "digest": "7d42625e74eb9d65bcdaf1a7fdcff20b15a49028953e5b5b50008854fc95a498"
134
134
  },
135
135
  {
136
136
  "storage": "agents/skills/orkestrel-debrief/references/retention.md",
@@ -142,7 +142,7 @@
142
142
  "storage": "agents/skills/orkestrel-falsify/SKILL.md",
143
143
  "destination": ".agents/skills/orkestrel-falsify/SKILL.md",
144
144
  "executable": false,
145
- "digest": "9e4155595ae684e5d3ea4045fbac43fbe61edc2cf14becd80aa0a154e2c1d6a5"
145
+ "digest": "eb23417b69331b1ea5372f3c4fc74648672635bcefd153fd9ae181f4ef1e3518"
146
146
  },
147
147
  {
148
148
  "storage": "agents/skills/orkestrel-falsify/agents/openai.yaml",
@@ -154,7 +154,7 @@
154
154
  "storage": "agents/skills/orkestrel-falsify/references/brief.md",
155
155
  "destination": ".agents/skills/orkestrel-falsify/references/brief.md",
156
156
  "executable": false,
157
- "digest": "f0d95fed86cc78a71d23cfb21113f2abbe7c1551ee3891da013492df05881e71"
157
+ "digest": "85e17d53d08f15f2e982fbfb80c3d25628bc8664e0e415134db1dfc735c36179"
158
158
  },
159
159
  {
160
160
  "storage": "agents/skills/orkestrel-falsify/references/reconcile.md",
@@ -166,7 +166,7 @@
166
166
  "storage": "agents/skills/orkestrel-harden-package/SKILL.md",
167
167
  "destination": ".agents/skills/orkestrel-harden-package/SKILL.md",
168
168
  "executable": false,
169
- "digest": "a5000fe78f1c6a7c4b8627975f3954a6ae9f6c17e0e4b6b219fc199f833d8de4"
169
+ "digest": "7d937a4b32fdddb65fdb63541df52149c24b8d53a5de60cd2688f1b8d303242c"
170
170
  },
171
171
  {
172
172
  "storage": "agents/skills/orkestrel-harden-package/agents/openai.yaml",
@@ -190,13 +190,13 @@
190
190
  "storage": "agents/skills/orkestrel-harden-package/references/hardening.md",
191
191
  "destination": ".agents/skills/orkestrel-harden-package/references/hardening.md",
192
192
  "executable": false,
193
- "digest": "3eced19745fa9141e05be1ed109fb41d3c0644ed643bf1c835c1283d38175ab8"
193
+ "digest": "f1640afe8a5e5678ca12c3f21259a81e06e206d110cf925de2867078423db47a"
194
194
  },
195
195
  {
196
196
  "storage": "agents/skills/orkestrel-harden-package/references/research.md",
197
197
  "destination": ".agents/skills/orkestrel-harden-package/references/research.md",
198
198
  "executable": false,
199
- "digest": "ad4fd8c884a7f2ba3e07fdb875f1a48359cb69ad0308c7b976de9043c487c1e7"
199
+ "digest": "d0888af85dba4f24cadf241048a99b12219c396a83a7cdceea099ed6b1b02d43"
200
200
  },
201
201
  {
202
202
  "storage": "agents/skills/orkestrel-polish-surface/SKILL.md",
@@ -286,67 +286,67 @@
286
286
  "storage": "agents/templates/brief.md",
287
287
  "destination": ".agents/templates/brief.md",
288
288
  "executable": false,
289
- "digest": "03b841d4e8d0e898c9833bc35042d71a8a410cfc0f2880ba8ff4b29e3ba104f7"
289
+ "digest": "3dc03e4e530cd125dbc0557e266daf6fb93dd09844f5cddea5fe7a6fd5f0a201"
290
290
  },
291
291
  {
292
292
  "storage": "agents/transports/claude.md",
293
293
  "destination": ".agents/transports/claude.md",
294
294
  "executable": false,
295
- "digest": "b4a8c8141054a9f66ad29943535f82b599240f38c3148d0fbf4a94060e125b89"
295
+ "digest": "a78964bdc948fe43482e4b3ff2e386c3bc4ad57f316ac47b312bbcd5a9cffc30"
296
296
  },
297
297
  {
298
298
  "storage": "agents/transports/codex.md",
299
299
  "destination": ".agents/transports/codex.md",
300
300
  "executable": false,
301
- "digest": "91b958cef7f48c76cbf8dbd4cbf87b1e5606d9769831edac04b8af1d3e1c0d09"
301
+ "digest": "6dd24d9787086daf2f9642460223323a6e0ffb2d63ea67be579f06644501ac52"
302
302
  },
303
303
  {
304
304
  "storage": "claude/agents/analyst.md",
305
305
  "destination": ".claude/agents/analyst.md",
306
306
  "executable": false,
307
- "digest": "5adabcf664eed01b83f40b035892dc0e955efdfd5c7ef1b1af6e787ac364848a"
307
+ "digest": "1ac3763736474bdc691162b22e8f9e189b22d85102f81e68f0314392f640c5b6"
308
308
  },
309
309
  {
310
310
  "storage": "claude/agents/application.md",
311
311
  "destination": ".claude/agents/application.md",
312
312
  "executable": false,
313
- "digest": "f508bb353bb6188150326edf45669a2461a55752cc20432251fbb8c007b0d4f1"
313
+ "digest": "75eaff6c02688c363b8a6a5ea506c09691bc51e1293d8724f94666e4b7a2e1fd"
314
314
  },
315
315
  {
316
316
  "storage": "claude/agents/builder.md",
317
317
  "destination": ".claude/agents/builder.md",
318
318
  "executable": false,
319
- "digest": "6df68b7be47e1eb332aa9fb50d30fb35150201fe7fcd6974590e3bd4a6c0ad0f"
319
+ "digest": "217dbf9a4c6ce2d349d8d4eb40a1624c76e0afb78fd4ee95c063753159b834c2"
320
320
  },
321
321
  {
322
322
  "storage": "claude/agents/checker.md",
323
323
  "destination": ".claude/agents/checker.md",
324
324
  "executable": false,
325
- "digest": "26dbf6cc33c2707ad0d3a2534ca21790aef712aafe6b8eb0019d9d18b1864315"
325
+ "digest": "c7bdceb5999c0bc2e07c4679dd56054145953359424ee64e2f4bbcb75115ebd5"
326
326
  },
327
327
  {
328
328
  "storage": "claude/agents/grok.md",
329
329
  "destination": ".claude/agents/grok.md",
330
330
  "executable": false,
331
- "digest": "959127e715bf79160afed7b90ceaa2878b764e4f03f341fe0be8aefc970ba960"
331
+ "digest": "fc2d68774fef1362909d78c77dc307a490319ac95f65716526d55d01802a0ea8"
332
332
  },
333
333
  {
334
334
  "storage": "claude/agents/implementer.md",
335
335
  "destination": ".claude/agents/implementer.md",
336
336
  "executable": false,
337
- "digest": "61ed5cf8060666e0240ee9fe7e81c76a52c3e5039278a1b4801dafead33e8d19"
337
+ "digest": "657f2cbe26caf1897b0959329ac4dae4189b97f064caf3833a8505ab6d63c94d"
338
338
  },
339
339
  {
340
340
  "storage": "claude/agents/orkestrel.md",
341
341
  "destination": ".claude/agents/orkestrel.md",
342
342
  "executable": false,
343
- "digest": "46347c56ea157224275c604592b381add1b644f65b4091974aff7bdca1999883"
343
+ "digest": "b5ad0097d6ec9d4ac23e3d42cba7cc4edfe45f091bf9f53a2c564c7184537fb9"
344
344
  },
345
345
  {
346
346
  "storage": "claude/agents/planner.md",
347
347
  "destination": ".claude/agents/planner.md",
348
348
  "executable": false,
349
- "digest": "f3d7ca821f3e0b15cfc28d8ca0f60d3c06d8747e8b10acd7d596a308ec8ebb87"
349
+ "digest": "d00f81e1169ee5497d0acd5c7a7559eeb3b35085f03ae963327dc9fa3c49171f"
350
350
  },
351
351
  {
352
352
  "storage": "claude/agents/researcher.md",
@@ -358,7 +358,7 @@
358
358
  "storage": "claude/agents/reviewer.md",
359
359
  "destination": ".claude/agents/reviewer.md",
360
360
  "executable": false,
361
- "digest": "009f9ad8202de442261ccb84ac14f50581b7d5bf4103acd6608f78c4582ea1e0"
361
+ "digest": "c2282266135e7797e778e0192a6a120d24137889a0150ecf4ce1a20df8013797"
362
362
  },
363
363
  {
364
364
  "storage": "claude/agents/scout.md",
@@ -370,13 +370,13 @@
370
370
  "storage": "claude/agents/sol.md",
371
371
  "destination": ".claude/agents/sol.md",
372
372
  "executable": false,
373
- "digest": "534a395ec08e8085cfeb10722e388f51642635cc4d6deb26cd1e82c8e6a74df1"
373
+ "digest": "e2331471e36dd1af9c9173157b7c1e46c26f787de522ecb5500b4c0fb2a5e9ab"
374
374
  },
375
375
  {
376
376
  "storage": "claude/agents/verifier.md",
377
377
  "destination": ".claude/agents/verifier.md",
378
378
  "executable": false,
379
- "digest": "7b848dc297787d4cae5ae6cffa8a998709534865fe8a353642781751dd8b9794"
379
+ "digest": "a94ca2bee164f90146d997f587667d3174ceb1e7ea7b8ae85148bb700ccbb010"
380
380
  },
381
381
  {
382
382
  "storage": "claude/rules/application.md",
@@ -388,7 +388,7 @@
388
388
  "storage": "claude/rules/architecture.md",
389
389
  "destination": ".claude/rules/architecture.md",
390
390
  "executable": false,
391
- "digest": "674bcc17f8127948e11391cbbedfd7396911d88c0e99cfefe718f718ed06a333"
391
+ "digest": "2e479c2214b996901fca316d005117c5579f5064570b79bc47b99112dad569f3"
392
392
  },
393
393
  {
394
394
  "storage": "claude/rules/browser.md",
@@ -400,19 +400,19 @@
400
400
  "storage": "claude/rules/documentation.md",
401
401
  "destination": ".claude/rules/documentation.md",
402
402
  "executable": false,
403
- "digest": "1f0008550e918591632975be8ea3326249aad4d705bd46fde35f37450f392381"
403
+ "digest": "db0f5f73f0f94a28ca7b6354290008a0634c50331be21084d8452b8496303fda"
404
404
  },
405
405
  {
406
406
  "storage": "claude/rules/names.md",
407
407
  "destination": ".claude/rules/names.md",
408
408
  "executable": false,
409
- "digest": "36bbdb426fe20a4ac66972582476d3ee082ae6f7990afbda30381101ad67fbb1"
409
+ "digest": "0188561d48473e525668435262b3456a7e4292a52790fa41fe3ce50d33bfb36d"
410
410
  },
411
411
  {
412
412
  "storage": "claude/rules/patterns.md",
413
413
  "destination": ".claude/rules/patterns.md",
414
414
  "executable": false,
415
- "digest": "c128dace792fcc042446f3d35dce90ef3918d44449a424dbd6dcea4dfcab24f5"
415
+ "digest": "0fc0301c96b6b7ee23a4c743dc1903b06cf15a296155d9634ead0e813d61f200"
416
416
  },
417
417
  {
418
418
  "storage": "claude/rules/portability.md",
@@ -424,7 +424,7 @@
424
424
  "storage": "claude/rules/quality.md",
425
425
  "destination": ".claude/rules/quality.md",
426
426
  "executable": false,
427
- "digest": "bed49d37c2f97cb1b1640ee36e45a1c2a79a95fd7263513369ee53b999aa0d85"
427
+ "digest": "e99ef9fca7a0224e19f657eb52301314624bd0364c21faebe3ae1f1e6428b72a"
428
428
  },
429
429
  {
430
430
  "storage": "claude/rules/styles.md",
@@ -436,13 +436,13 @@
436
436
  "storage": "claude/rules/tests.md",
437
437
  "destination": ".claude/rules/tests.md",
438
438
  "executable": false,
439
- "digest": "2f8658425bc48b8751a5526300827c90f22226d4605514ec866891b5be4fabfb"
439
+ "digest": "71d0795d722213c73a7561e91021be0b5c1287167e3b4a93eedfde262180d2f5"
440
440
  },
441
441
  {
442
442
  "storage": "claude/rules/typescript.md",
443
443
  "destination": ".claude/rules/typescript.md",
444
444
  "executable": false,
445
- "digest": "0d8673af8d311276ae6fcbb569fecf32c046830f5dbcd3ab83eb70c9920cbae7"
445
+ "digest": "0427a66e6005eeb05a31ae4ee6cb1ec5b411ccf39183d14fe979d4728c391b01"
446
446
  },
447
447
  {
448
448
  "storage": "claude/rules/workspace.md",
@@ -454,7 +454,7 @@
454
454
  "storage": "claude/rules/writing.md",
455
455
  "destination": ".claude/rules/writing.md",
456
456
  "executable": false,
457
- "digest": "e04ff7ae10d7efab9eefb4888af13408f1f73a5dfd33b0966d8f6c3701538bbd"
457
+ "digest": "dc979ac7bbabf483c66b22f68460d0f03ef5c3059854f1a0802d8a2a9213d2f3"
458
458
  },
459
459
  {
460
460
  "storage": "claude/settings.json",
@@ -532,31 +532,31 @@
532
532
  "storage": "codex/agents/builder.toml",
533
533
  "destination": ".codex/agents/builder.toml",
534
534
  "executable": false,
535
- "digest": "f2560a71a2fa3417fb5c8af6013aedd7f9fddfac885957da049c5b3bbb565212"
535
+ "digest": "9e2018bd4f2f0ea21b7e23cdb64f7eeec6c66cabf63b1d66bae6885ef8b0b5d0"
536
536
  },
537
537
  {
538
538
  "storage": "codex/agents/checker.toml",
539
539
  "destination": ".codex/agents/checker.toml",
540
540
  "executable": false,
541
- "digest": "fdf4e8b544dcc97d3ee8d9ddf15347fcb34bb6161e606898a42b64388f57894e"
541
+ "digest": "ff8ef40c3695d14b3abc715dce14401ee5bb5b1bed2249ecb87f37022f95b0b0"
542
542
  },
543
543
  {
544
544
  "storage": "codex/agents/grok.toml",
545
545
  "destination": ".codex/agents/grok.toml",
546
546
  "executable": false,
547
- "digest": "839c651ffcab65d387744648acc231432881ae18feb51e6526b09fe81db91e08"
547
+ "digest": "5b5b3b77c096d99a281b1f673ae6562cf30e26dda7014b7f03276cf43b442ba3"
548
548
  },
549
549
  {
550
550
  "storage": "codex/agents/implementer.toml",
551
551
  "destination": ".codex/agents/implementer.toml",
552
552
  "executable": false,
553
- "digest": "0ec715c248b78615bea6fd8a0293bad36584682ff2b8c0cb4ae7b41ec872b34c"
553
+ "digest": "1c3a8a028e210be614b3d0fbfc8a026261887fe65419672e80447c824d318c05"
554
554
  },
555
555
  {
556
556
  "storage": "codex/agents/opus.toml",
557
557
  "destination": ".codex/agents/opus.toml",
558
558
  "executable": false,
559
- "digest": "f5344489343ace7baf732a20bbec5a196c1998a9ea61fd6e8306d02b8eaafead"
559
+ "digest": "ae8c3076a800efd67af20f9a745749c5d836ed5dff9846ee390e1904eee0a74a"
560
560
  },
561
561
  {
562
562
  "storage": "codex/agents/orkestrel.toml",
@@ -568,7 +568,7 @@
568
568
  "storage": "codex/agents/planner.toml",
569
569
  "destination": ".codex/agents/planner.toml",
570
570
  "executable": false,
571
- "digest": "4a10478b1aaf9eb730580a8ce8ecea0a39305cf6c76e9cbd2926b01f40084a9d"
571
+ "digest": "7c941434c54017587e4c11f448a900dda2f6c9b11402b628189bfda03022b0c9"
572
572
  },
573
573
  {
574
574
  "storage": "codex/agents/researcher.toml",
@@ -580,7 +580,7 @@
580
580
  "storage": "codex/agents/reviewer.toml",
581
581
  "destination": ".codex/agents/reviewer.toml",
582
582
  "executable": false,
583
- "digest": "a438467f170ceb7f4ba1c509135e2edb00f7b4116cfa84dfdf645ad65158dab5"
583
+ "digest": "212fbf0df0fffe2e8077ab6e4c2b2c7ce944ed36d6a4eea274a49ec690c9a048"
584
584
  },
585
585
  {
586
586
  "storage": "codex/agents/scout.toml",
@@ -682,7 +682,7 @@
682
682
  "storage": "guides/scaffold.md",
683
683
  "destination": "guides/scaffold.md",
684
684
  "executable": false,
685
- "digest": "168273a80a9bd44046d1afe472c238858b92deae528e46d73b8ff4b4b4fe73bd"
685
+ "digest": "3a97ee2ea9cbf5cc109930a18502b24b3baef3de37e1c22989bd1cc62311a6a1"
686
686
  },
687
687
  {
688
688
  "storage": "scripts/codex.sh",
@@ -772,5 +772,5 @@
772
772
  ".codex/agents",
773
773
  ".cursor/rules"
774
774
  ],
775
- "digest": "3a71bf969918b6f6b63102a2284d178387b3283ccf5563154cd93409b556c307"
775
+ "digest": "b5e8423e828cb6d5f811692991de7dc6b5a347388229488a0461bff4e79e11dc"
776
776
  }
File without changes
File without changes
File without changes
File without changes