@orkestrel/scaffold 0.0.103 → 0.0.105

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 (94) hide show
  1. package/dist/agents/skills/orkestrel-dispatch/scripts/helpers.js +84 -1
  2. package/dist/agents/skills/orkestrel-dispatch/scripts/launch.js +21 -6
  3. package/dist/agents/skills/orkestrel-harden/scripts/titles.js +338 -0
  4. package/dist/agents/skills/orkestrel-publish/scripts/swap.js +3 -39
  5. package/dist/agents/skills/orkestrel-publish/scripts/wave.js +433 -47
  6. package/dist/agents/skills/orkestrel-publish/scripts/window.js +2 -1
  7. package/dist/bin/main.js +17 -10
  8. package/dist/bin/main.js.map +1 -1
  9. package/dist/host/agents/orchestration.md +6 -6
  10. package/dist/host/agents/skills/enterprise-bootstrap/references/components.md +2 -2
  11. package/dist/host/agents/skills/enterprise-bootstrap/references/inspection.md +1 -1
  12. package/dist/host/agents/skills/orkestrel-build/SKILL.md +2 -2
  13. package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +2 -2
  14. package/dist/host/agents/skills/orkestrel-debrief/references/field-testing.md +1 -1
  15. package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +3 -3
  16. package/dist/host/agents/skills/orkestrel-dispatch/SKILL.md +10 -10
  17. package/dist/host/agents/skills/orkestrel-dispatch/references/launch.md +1 -0
  18. package/dist/host/agents/skills/orkestrel-dispatch/scripts/helpers.ts +100 -1
  19. package/dist/host/agents/skills/orkestrel-dispatch/scripts/launch.ts +27 -6
  20. package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +4 -4
  21. package/dist/host/agents/skills/orkestrel-falsify/agents/openai.yaml +1 -1
  22. package/dist/host/agents/skills/orkestrel-falsify/references/brief.md +8 -7
  23. package/dist/host/agents/skills/orkestrel-falsify/references/reconcile.md +6 -6
  24. package/dist/host/agents/skills/orkestrel-harden/SKILL.md +6 -1
  25. package/dist/host/agents/skills/orkestrel-harden/references/bindings.md +1700 -0
  26. package/dist/host/agents/skills/orkestrel-harden/references/contract.md +2 -2
  27. package/dist/host/agents/skills/orkestrel-harden/references/equivalence.md +48 -0
  28. package/dist/host/agents/skills/orkestrel-harden/references/hardening.md +4 -2
  29. package/dist/host/agents/skills/orkestrel-harden/scripts/titles.ts +425 -0
  30. package/dist/host/agents/skills/orkestrel-journey/SKILL.md +2 -2
  31. package/dist/host/agents/skills/orkestrel-journey/references/captures.md +9 -8
  32. package/dist/host/agents/skills/orkestrel-parallel/SKILL.md +72 -0
  33. package/dist/host/agents/skills/orkestrel-parallel/agents/openai.yaml +4 -0
  34. package/dist/host/agents/skills/orkestrel-parallel/references/harnesses.md +12 -0
  35. package/dist/host/agents/skills/orkestrel-polish/SKILL.md +3 -3
  36. package/dist/host/agents/skills/orkestrel-publish/SKILL.md +2 -2
  37. package/dist/host/agents/skills/orkestrel-publish/references/release.md +1 -0
  38. package/dist/host/agents/skills/orkestrel-publish/references/wave.md +56 -13
  39. package/dist/host/agents/skills/orkestrel-publish/references/window.md +6 -6
  40. package/dist/host/agents/skills/orkestrel-publish/scripts/swap.ts +5 -49
  41. package/dist/host/agents/skills/orkestrel-publish/scripts/wave.ts +646 -49
  42. package/dist/host/agents/skills/orkestrel-publish/scripts/window.ts +2 -1
  43. package/dist/host/agents/transports/codex.md +1 -1
  44. package/dist/host/claude/agents/orkestrel.md +54 -53
  45. package/dist/host/claude/agents/reviewer.md +4 -4
  46. package/dist/host/claude/agents/verifier.md +1 -1
  47. package/dist/host/claude/rules/documentation.md +2 -1
  48. package/dist/host/claude/rules/patterns.md +1 -1
  49. package/dist/host/claude/rules/quality.md +2 -2
  50. package/dist/host/claude/rules/styles.md +1 -1
  51. package/dist/host/claude/rules/tests.md +34 -8
  52. package/dist/host/claude/rules/typescript.md +29 -0
  53. package/dist/host/claude/rules/workspace.md +32 -22
  54. package/dist/host/claude/rules/writing.md +34 -26
  55. package/dist/host/claude/settings.json +2 -0
  56. package/dist/host/claude/skills/orkestrel-debrief/SKILL.md +1 -1
  57. package/dist/host/claude/skills/orkestrel-falsify/SKILL.md +1 -1
  58. package/dist/host/claude/skills/orkestrel-parallel/SKILL.md +11 -0
  59. package/dist/host/codex/agents/analyst.toml +3 -3
  60. package/dist/host/codex/agents/reviewer.toml +4 -4
  61. package/dist/host/codex/agents/verifier.toml +3 -1
  62. package/dist/host/configs/policy.ts +13 -2
  63. package/dist/host/dotfiles/editorconfig +0 -1
  64. package/dist/host/dotfiles/gitattributes +0 -1
  65. package/dist/host/dotfiles/gitignore +0 -1
  66. package/dist/host/dotfiles/oxlintrc.json +24 -0
  67. package/dist/host/guides/agent.md +1674 -598
  68. package/dist/host/guides/budget.md +89 -29
  69. package/dist/host/guides/form.md +485 -99
  70. package/dist/host/guides/mcp.md +14 -2
  71. package/dist/host/guides/ollama.md +367 -86
  72. package/dist/host/guides/probe.md +1 -1
  73. package/dist/host/guides/scaffold.md +158 -101
  74. package/dist/host/guides/study.md +3185 -0
  75. package/dist/host/guides/table.md +239 -29
  76. package/dist/host/guides/terminal.md +22 -20
  77. package/dist/host/guides/test.md +776 -315
  78. package/dist/host/manifest.json +117 -65
  79. package/dist/host/tests/config.test.ts +136 -82
  80. package/dist/host/tests/policy.test.ts +41 -3
  81. package/dist/host/tests/setupPolicy.ts +87 -29
  82. package/dist/src/core/index.cjs +1389 -612
  83. package/dist/src/core/index.cjs.map +1 -1
  84. package/dist/src/core/index.d.cts +35 -20
  85. package/dist/src/core/index.d.ts +35 -20
  86. package/dist/src/core/index.js +1387 -613
  87. package/dist/src/core/index.js.map +1 -1
  88. package/dist/src/server/index.cjs +12 -12
  89. package/dist/src/server/index.cjs.map +1 -1
  90. package/dist/src/server/index.d.cts +12 -12
  91. package/dist/src/server/index.d.ts +12 -12
  92. package/dist/src/server/index.js +12 -12
  93. package/dist/src/server/index.js.map +1 -1
  94. package/package.json +5 -5
package/dist/bin/main.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { align, renderTable, strip, stripControls, width } from "@orkestrel/console";
3
3
  import { attempt, isArray, isDefined, isError, isInstance, isRecord, isString, parseJSON } from "@orkestrel/contract";
4
- import { AXES, BIN_ENTRY_PATH, CATALOG_AGENT_PATH, CONFORMANCE_TEST_PATH, Compiler, DEPENDENCY_NAME_PATTERN, ENVIRONMENTS, FRAMEWORKS, GLOBAL_SETUP_PATH, GROUPS, GUIDES_TEST_PATH, HOST_PATHS, INTEGRATION_TEST_PATH, JOURNEY_CONFIG_PATH, MAX_MANIFEST_BYTES, MAX_PATH_LENGTH, RESERVED_SHEET_NAMES, SERVICE_SETUP_PATH, SHEET_ENTRY_NAME, SHOWCASE_CONFIG_PATH, SHOWCASE_DEV_DEPENDENCIES, SHOWCASE_PAGES_PATH, SKILLS_CONFIG_PATH, STYLES_ENTRY_PATH, ScaffoldError, THEMES_BARREL_PATH, THEMES_ENTRY_PATH, blueprintToConfigArtifacts, blueprintToDevDependencies, blueprintToFaces, blueprintToManifestOverrides, blueprintToProjects, blueprintToScripts, blueprintToSheets, blueprintToTestArtifacts, blueprintToWritableScripts, compareVersions, createBlueprint, extractRangeMajor, extractVersion, isFloorPath, isScaffoldError, isSheetName, iterateAnswers, manifestToDependencies, manifestToName, nameToGuide, parseExtension, replaceManifestOverrides, replaceManifestScripts, replacePlanRanges } from "../src/core/index.js";
4
+ import { AXES, BIN_ENTRY_PATH, CATALOG_AGENT_PATH, CONFORMANCE_TEST_PATH, Compiler, DEPENDENCY_NAME_PATTERN, ENVIRONMENTS, FRAMEWORKS, GLOBAL_SETUP_PATH, GROUPS, GUIDES_TEST_PATH, HOST_PATHS, INTEGRATION_TEST_PATH, JOURNEY_CONFIG_PATH, MAX_MANIFEST_BYTES, MAX_PATH_LENGTH, RESERVED_SHEET_NAMES, SERVICE_SETUP_PATH, SHEET_ENTRY_NAME, SHOWCASE_CONFIG_PATH, SHOWCASE_DEV_DEPENDENCIES, SHOWCASE_PAGES_PATH, SKILLS_CONFIG_PATH, STYLES_ENTRY_PATH, ScaffoldError, THEMES_BARREL_PATH, THEMES_ENTRY_PATH, TREE_TEST_PATH, blueprintToConfigArtifacts, blueprintToDevDependencies, blueprintToFaces, blueprintToManifestOverrides, blueprintToProjects, blueprintToScripts, blueprintToSheets, blueprintToTestArtifacts, blueprintToWritableScripts, compareVersions, createBlueprint, extractRangeMajor, extractVersion, isFloorPath, isScaffoldError, isSheetName, iterateAnswers, manifestToDependencies, manifestToName, nameToGuide, parseExtension, replaceManifestOverrides, replaceManifestScripts, replacePlanRanges } from "../src/core/index.js";
5
5
  import { MAX_INVENTORY_PATHS, Materializer, Upstream, filesToHost, isExactCaseFile, isPhysicalDirectory, isWorktree, listFiles, readFileText, readHostFloor, readHostManifest, readSnapshot, resolveContainedPath } from "../src/server/index.js";
6
6
  import { createSession } from "@orkestrel/process/server";
7
7
  import { createMarkdown, flattenText, isTableNode } from "@orkestrel/markdown";
@@ -10,7 +10,7 @@ import { normalize } from "node:path";
10
10
  import { parseArgs } from "node:util";
11
11
  var package_default = {
12
12
  name: "@orkestrel/scaffold",
13
- version: "0.0.103",
13
+ version: "0.0.105",
14
14
  description: "Scaffold workspaces with commands: new, audit, repair, catalog, and overwrite.",
15
15
  keywords: [
16
16
  "audit",
@@ -110,11 +110,11 @@ var package_default = {
110
110
  },
111
111
  devDependencies: {
112
112
  "@microsoft/api-extractor": "^7.59.4",
113
- "@orkestrel/browser": "^0.0.28",
114
- "@orkestrel/guide": "^0.0.24",
113
+ "@orkestrel/browser": "^0.0.29",
114
+ "@orkestrel/guide": "^0.0.25",
115
115
  "@orkestrel/html": "^0.0.12",
116
- "@orkestrel/probe": "^0.0.23",
117
- "@orkestrel/test": "^0.0.27",
116
+ "@orkestrel/probe": "^0.0.24",
117
+ "@orkestrel/test": "^0.0.29",
118
118
  "@types/node": "^26.6.4",
119
119
  "@vitest/browser-playwright": "^4.1.11",
120
120
  "oxfmt": "^0.72.0",
@@ -975,9 +975,9 @@ function writeDiagnostic(line) {
975
975
  * break folded to a space.
976
976
  *
977
977
  * @remarks
978
- * The single write path's cleaner, and the only place hostile bytes are answered
978
+ * The single write path's cleaner, and the only place untrusted bytes are answered
979
979
  * for. A refusal quotes the argument that caused it, so an escape sequence, a
980
- * bell, or a forged second line arrives here inside otherwise ordinary prose.
980
+ * bell, or a fabricated second line arrives here inside otherwise ordinary prose.
981
981
  * ANSI escapes go first because they are what repaints a terminal, control
982
982
  * characters next, and what remains is folded onto one line because a handler
983
983
  * takes one line and a caller writing a record per call must get one record.
@@ -2389,6 +2389,7 @@ var CLI = class {
2389
2389
  const guides = resolveContainedPath(target, GUIDES_TEST_PATH);
2390
2390
  const integration = resolveContainedPath(target, INTEGRATION_TEST_PATH);
2391
2391
  const conformance = resolveContainedPath(target, CONFORMANCE_TEST_PATH);
2392
+ const tree = resolveContainedPath(target, TREE_TEST_PATH);
2392
2393
  const service = resolveContainedPath(target, SERVICE_SETUP_PATH);
2393
2394
  const global = resolveContainedPath(target, GLOBAL_SETUP_PATH);
2394
2395
  const journey = resolveContainedPath(target, JOURNEY_CONFIG_PATH);
@@ -2416,6 +2417,7 @@ var CLI = class {
2416
2417
  guides: guides !== void 0 && isExactCaseFile(guides),
2417
2418
  integration: integration !== void 0 && isExactCaseFile(integration),
2418
2419
  conformance: conformance !== void 0 && isExactCaseFile(conformance),
2420
+ tree: tree !== void 0 && isExactCaseFile(tree),
2419
2421
  service: service !== void 0 && isExactCaseFile(service),
2420
2422
  studies,
2421
2423
  global: global !== void 0 && isExactCaseFile(global),
@@ -2582,14 +2584,19 @@ var CLI = class {
2582
2584
  if (tests === void 0) return void 0;
2583
2585
  const entries = listFiles(tests).filter((path) => !path.includes("/"));
2584
2586
  const proofs = new Set(entries.filter((path) => path.endsWith(".test.ts")));
2585
- const seeds = new Map(blueprintToTestArtifacts(blueprint).map(({ path, content }) => [path, content.trim()]));
2587
+ const seeds = new Map(blueprintToTestArtifacts(blueprint).map(({ path, content, ownership }) => [path, {
2588
+ content: content.trim(),
2589
+ ownership
2590
+ }]));
2586
2591
  const modules = entries.filter((path) => {
2587
2592
  if (!path.startsWith("setup") || !path.endsWith(".ts")) return false;
2588
2593
  if (path.endsWith(".test.ts") || HOST_PATHS.includes(`tests/${path}`)) return false;
2594
+ const seed = seeds.get(`tests/${path}`);
2595
+ if (seed?.ownership === "content") return false;
2589
2596
  if (proofs.has(`${path.slice(0, -3)}.test.ts`)) return false;
2590
2597
  if (resolveContainedPath(tests, path) === void 0) return false;
2591
2598
  const content = (readFileText(tests, path) ?? "").trim();
2592
- return /^export /m.test(content) && content !== (seeds.get(`tests/${path}`) ?? "");
2599
+ return /^export /m.test(content) && content !== (seed?.content ?? "");
2593
2600
  }).sort();
2594
2601
  if (modules.length === 0) return void 0;
2595
2602
  const single = modules.length === 1;