@loomhelm/multi-task-flow 0.2.6 → 0.2.7

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 (93) hide show
  1. package/README.md +3 -3
  2. package/package.json +1 -1
  3. package/toolkit/artifact-manifest.json +330 -26
  4. package/toolkit/package.json +1 -1
  5. package/toolkit/skills/docs-migrate/scripts/_runtime/compatibility_cli.ts +12 -0
  6. package/toolkit/skills/docs-migrate/scripts/_runtime/compatibility_docs.ts +115 -0
  7. package/toolkit/skills/docs-migrate/scripts/_runtime/compatibility_shared.ts +230 -0
  8. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/checks/replay.ts +336 -0
  9. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/git.ts +54 -0
  10. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/hardware_ingest.ts +377 -0
  11. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/hardware_locks.ts +181 -0
  12. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/legacy_spec_id.ts +131 -0
  13. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/migration_common.ts +291 -0
  14. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/next_plan.ts +199 -0
  15. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/next_plan_support.ts +245 -0
  16. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/spec_contract.ts +299 -0
  17. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift.ts +387 -0
  18. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_helpers.ts +381 -0
  19. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_legacy.ts +376 -0
  20. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_paths.ts +3 -0
  21. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_types.ts +27 -0
  22. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_validation.ts +251 -0
  23. package/toolkit/skills/docs-migrate/scripts/_runtime/modules/docs/spec_migration.ts +191 -0
  24. package/toolkit/skills/docs-migrate/scripts/gen_legacy_spec_id.ts +1 -1
  25. package/toolkit/skills/docs-migrate/scripts/specs_migrate_guard.ts +1 -1
  26. package/toolkit/skills/find-next-plan/scripts/_runtime/compatibility_cli.ts +12 -0
  27. package/toolkit/skills/find-next-plan/scripts/_runtime/compatibility_docs.ts +115 -0
  28. package/toolkit/skills/find-next-plan/scripts/_runtime/compatibility_shared.ts +230 -0
  29. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/checks/replay.ts +336 -0
  30. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/git.ts +54 -0
  31. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/hardware_ingest.ts +377 -0
  32. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/hardware_locks.ts +181 -0
  33. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/legacy_spec_id.ts +131 -0
  34. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/migration_common.ts +291 -0
  35. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/next_plan.ts +199 -0
  36. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/next_plan_support.ts +245 -0
  37. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/spec_contract.ts +299 -0
  38. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift.ts +387 -0
  39. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_helpers.ts +381 -0
  40. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_legacy.ts +376 -0
  41. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_paths.ts +3 -0
  42. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_types.ts +27 -0
  43. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_validation.ts +251 -0
  44. package/toolkit/skills/find-next-plan/scripts/_runtime/modules/docs/spec_migration.ts +191 -0
  45. package/toolkit/skills/find-next-plan/scripts/find_next_plan.ts +1 -1
  46. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/compatibility_cli.ts +12 -0
  47. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/compatibility_docs.ts +115 -0
  48. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/compatibility_shared.ts +230 -0
  49. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/checks/replay.ts +336 -0
  50. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/git.ts +54 -0
  51. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/hardware_ingest.ts +377 -0
  52. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/hardware_locks.ts +181 -0
  53. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/legacy_spec_id.ts +131 -0
  54. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/migration_common.ts +291 -0
  55. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/next_plan.ts +199 -0
  56. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/next_plan_support.ts +245 -0
  57. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_contract.ts +299 -0
  58. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift.ts +387 -0
  59. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_helpers.ts +381 -0
  60. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_legacy.ts +376 -0
  61. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_paths.ts +3 -0
  62. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_types.ts +27 -0
  63. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_validation.ts +251 -0
  64. package/toolkit/skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_migration.ts +191 -0
  65. package/toolkit/skills/hardware-doc-ingest/scripts/ingest_mineru_extract.ts +1 -1
  66. package/toolkit/skills/hardware-doc-ingest/scripts/verify_doc_locks.ts +1 -1
  67. package/toolkit/skills/multi-task-flow/dist/app.js +66 -66
  68. package/toolkit/skills/multi-task-flow/lib/view.ts +6 -2
  69. package/toolkit/skills/multi-task-flow/web/app.ts +2 -2
  70. package/toolkit/skills/multi-task-flow/web/graph-layout.ts +3 -3
  71. package/toolkit/skills/source-manifest.json +315 -11
  72. package/toolkit/skills/spec-sync/SKILL.md +1 -1
  73. package/toolkit/skills/spec-sync/scripts/_runtime/compatibility_cli.ts +12 -0
  74. package/toolkit/skills/spec-sync/scripts/_runtime/compatibility_docs.ts +115 -0
  75. package/toolkit/skills/spec-sync/scripts/_runtime/compatibility_shared.ts +230 -0
  76. package/toolkit/skills/spec-sync/scripts/_runtime/modules/checks/replay.ts +336 -0
  77. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/git.ts +54 -0
  78. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/hardware_ingest.ts +377 -0
  79. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/hardware_locks.ts +181 -0
  80. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/legacy_spec_id.ts +131 -0
  81. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/migration_common.ts +291 -0
  82. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/next_plan.ts +199 -0
  83. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/next_plan_support.ts +245 -0
  84. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/spec_contract.ts +299 -0
  85. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/spec_drift.ts +387 -0
  86. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_helpers.ts +381 -0
  87. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_legacy.ts +376 -0
  88. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_paths.ts +3 -0
  89. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_types.ts +27 -0
  90. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_validation.ts +251 -0
  91. package/toolkit/skills/spec-sync/scripts/_runtime/modules/docs/spec_migration.ts +191 -0
  92. package/toolkit/skills/spec-sync/scripts/spec_drift_check.ts +1 -1
  93. package/toolkit/skills/support-manifest.json +77 -1
@@ -0,0 +1,191 @@
1
+ import { existsSync, readdirSync, statSync } from "node:fs";
2
+ import { dirname, join, resolve } from "node:path";
3
+ import {
4
+ currentBranch,
5
+ inboundLinks,
6
+ isProtectedBranch,
7
+ isTopicSlug,
8
+ legacyIdentity,
9
+ parsePrefixedName,
10
+ relativePath,
11
+ type Json,
12
+ } from "./migration_common";
13
+
14
+ function regularFile(path: string): boolean {
15
+ try {
16
+ return statSync(path).isFile();
17
+ } catch {
18
+ return false;
19
+ }
20
+ }
21
+
22
+ function baseResult(
23
+ repoRoot: string,
24
+ source: string,
25
+ sourceRelative: string,
26
+ topic: string,
27
+ branch: string,
28
+ ): Json {
29
+ const targetRoot = `docs/specs/${topic}`;
30
+ return {
31
+ source: sourceRelative,
32
+ topic,
33
+ target_root: targetRoot,
34
+ target_spec: `${targetRoot}/SPEC.md`,
35
+ branch,
36
+ write_allowed: !isProtectedBranch(branch),
37
+ blocked_reason: null,
38
+ inbound_links: inboundLinks(repoRoot, source, sourceRelative),
39
+ pending_delete_approval: [],
40
+ };
41
+ }
42
+
43
+ function withTopic(result: Json, topic: string): Json {
44
+ if (isTopicSlug(topic)) return result;
45
+ result.candidate_topic = topic;
46
+ result.target_root = null;
47
+ result.target_spec = null;
48
+ result.required_topic_slug = "lowercase-kebab-case";
49
+ result.blocked_reason = "topic_slug_required";
50
+ return result;
51
+ }
52
+
53
+ export function planSpecsMigration(
54
+ repoRootInput: string,
55
+ sourceInput: string,
56
+ options: { branch?: string; legacyId?: string; topic?: string } = {},
57
+ ): Json {
58
+ const repoRoot = resolve(repoRootInput);
59
+ const source = resolve(sourceInput);
60
+ const sourceRelative = relativePath(repoRoot, source);
61
+ if (
62
+ !regularFile(source) ||
63
+ !sourceRelative.startsWith("docs/plan/") ||
64
+ !source.endsWith("/PLAN.md")
65
+ )
66
+ throw new Error("source must be an existing docs/plan/**/PLAN.md file");
67
+ const branch = options.branch ?? currentBranch(repoRoot);
68
+ const identity = legacyIdentity(
69
+ repoRoot,
70
+ source.split("/").at(-2) ?? "",
71
+ "docs/plan/README.md",
72
+ sourceRelative,
73
+ options.legacyId,
74
+ );
75
+ const topic =
76
+ options.topic ?? identity?.[1] ?? source.split("/").at(-2) ?? "";
77
+ const result = baseResult(repoRoot, source, sourceRelative, topic, branch);
78
+ result.legacy_id = identity?.[0] ?? null;
79
+ result.legacy_id_provenance = identity?.[2] ?? "none";
80
+ withTopic(result, topic);
81
+ if (result.blocked_reason) return result;
82
+ if (isProtectedBranch(branch)) {
83
+ result.blocked_reason = "protected_branch_read_only";
84
+ return result;
85
+ }
86
+ if (existsSync(resolve(repoRoot, String(result.target_root)))) {
87
+ result.blocked_reason = "slug_conflict";
88
+ return result;
89
+ }
90
+ result.action = "create_slug_spec";
91
+ result.pending_delete_approval = [sourceRelative];
92
+ return result;
93
+ }
94
+
95
+ export function planSpecsHygiene(
96
+ repoRootInput: string,
97
+ legacyRootInput: string,
98
+ options: {
99
+ branch?: string;
100
+ renameConfirmed?: boolean;
101
+ legacyId?: string;
102
+ topic?: string;
103
+ } = {},
104
+ ): Json {
105
+ const repoRoot = resolve(repoRootInput);
106
+ const legacyRoot = resolve(legacyRootInput);
107
+ const sourceRelative = relativePath(repoRoot, legacyRoot);
108
+ if (!directoryExists(legacyRoot) || !sourceRelative.startsWith("docs/specs/"))
109
+ throw new Error(
110
+ "source must be an existing docs/specs/<legacy-id>-<topic> directory",
111
+ );
112
+ const sourceSpecRelative = `${sourceRelative}/SPEC.md`;
113
+ const identity = legacyIdentity(
114
+ repoRoot,
115
+ legacyRoot.split("/").at(-1) ?? "",
116
+ "docs/specs/README.md",
117
+ sourceSpecRelative,
118
+ options.legacyId,
119
+ );
120
+ const topic =
121
+ options.topic ?? identity?.[1] ?? legacyRoot.split("/").at(-1) ?? "";
122
+ const branch = options.branch ?? currentBranch(repoRoot);
123
+ const result = baseResult(
124
+ repoRoot,
125
+ legacyRoot,
126
+ sourceRelative,
127
+ topic,
128
+ branch,
129
+ );
130
+ result.target_spec = `docs/specs/${topic}/SPEC.md`;
131
+ result.legacy_root = sourceRelative;
132
+ result.legacy_id = identity?.[0] ?? null;
133
+ result.legacy_id_provenance = identity?.[2] ?? "none";
134
+ if (!identity) {
135
+ result.blocked_reason = parsePrefixedName(
136
+ legacyRoot.split("/").at(-1) ?? "",
137
+ )
138
+ ? "legacy_id_proof_required"
139
+ : "not_legacy_id_directory";
140
+ return result;
141
+ }
142
+ withTopic(result, topic);
143
+ if (result.blocked_reason) return result;
144
+ if (isProtectedBranch(branch)) {
145
+ result.blocked_reason = "protected_branch_read_only";
146
+ return result;
147
+ }
148
+ if (existsSync(resolve(repoRoot, String(result.target_root)))) {
149
+ result.blocked_reason = "slug_conflict";
150
+ return result;
151
+ }
152
+ const conflicting: string[] = [];
153
+ const specsRoot = resolve(repoRoot, "docs/specs");
154
+ if (directoryExists(specsRoot)) {
155
+ for (const entry of readdirSync(specsRoot, { withFileTypes: true })) {
156
+ if (
157
+ !entry.isDirectory() ||
158
+ entry.name === (legacyRoot.split("/").at(-1) ?? "")
159
+ )
160
+ continue;
161
+ const sibling = resolve(specsRoot, entry.name);
162
+ const siblingRelative = relativePath(repoRoot, sibling);
163
+ const siblingIdentity = legacyIdentity(
164
+ repoRoot,
165
+ entry.name,
166
+ "docs/specs/README.md",
167
+ `${siblingRelative}/SPEC.md`,
168
+ );
169
+ if (siblingIdentity?.[1] === topic) conflicting.push(siblingRelative);
170
+ }
171
+ }
172
+ if (conflicting.length) {
173
+ result.blocked_reason = "duplicate_slug_mapping";
174
+ result.conflicting_legacy_roots = conflicting.sort();
175
+ return result;
176
+ }
177
+ if (!options.renameConfirmed) {
178
+ result.blocked_reason = "rename_confirmation_required";
179
+ return result;
180
+ }
181
+ result.action = "git_mv";
182
+ return result;
183
+ }
184
+
185
+ function directoryExists(path: string): boolean {
186
+ try {
187
+ return statSync(path).isDirectory();
188
+ } catch {
189
+ return false;
190
+ }
191
+ }
@@ -1,4 +1,4 @@
1
- import { runCompatibilityCli } from "../../bin/compatibility_cli";
1
+ import { runCompatibilityCli } from "./_runtime/compatibility_cli";
2
2
 
3
3
  if (import.meta.main)
4
4
  process.exitCode = await runCompatibilityCli("spec_drift_check");
@@ -57,5 +57,81 @@
57
57
  "skills/multi-task-flow/web/task-context-menu.ts",
58
58
  "skills/multi-task-flow/tests/ui/task-context-menu.test.ts",
59
59
  "skills/multi-task-flow/tests/viewer-runtime.test.ts",
60
- "skills/multi-task-flow/tests/viewer-socket.test.ts"
60
+ "skills/multi-task-flow/tests/viewer-socket.test.ts",
61
+ "skills/docs-migrate/scripts/_runtime/compatibility_cli.ts",
62
+ "skills/docs-migrate/scripts/_runtime/compatibility_docs.ts",
63
+ "skills/docs-migrate/scripts/_runtime/compatibility_shared.ts",
64
+ "skills/docs-migrate/scripts/_runtime/modules/checks/replay.ts",
65
+ "skills/docs-migrate/scripts/_runtime/modules/docs/git.ts",
66
+ "skills/docs-migrate/scripts/_runtime/modules/docs/hardware_ingest.ts",
67
+ "skills/docs-migrate/scripts/_runtime/modules/docs/hardware_locks.ts",
68
+ "skills/docs-migrate/scripts/_runtime/modules/docs/legacy_spec_id.ts",
69
+ "skills/docs-migrate/scripts/_runtime/modules/docs/migration_common.ts",
70
+ "skills/docs-migrate/scripts/_runtime/modules/docs/next_plan.ts",
71
+ "skills/docs-migrate/scripts/_runtime/modules/docs/next_plan_support.ts",
72
+ "skills/docs-migrate/scripts/_runtime/modules/docs/spec_contract.ts",
73
+ "skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift.ts",
74
+ "skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_helpers.ts",
75
+ "skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_legacy.ts",
76
+ "skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_paths.ts",
77
+ "skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_types.ts",
78
+ "skills/docs-migrate/scripts/_runtime/modules/docs/spec_drift_validation.ts",
79
+ "skills/docs-migrate/scripts/_runtime/modules/docs/spec_migration.ts",
80
+ "skills/find-next-plan/scripts/_runtime/compatibility_cli.ts",
81
+ "skills/find-next-plan/scripts/_runtime/compatibility_docs.ts",
82
+ "skills/find-next-plan/scripts/_runtime/compatibility_shared.ts",
83
+ "skills/find-next-plan/scripts/_runtime/modules/checks/replay.ts",
84
+ "skills/find-next-plan/scripts/_runtime/modules/docs/git.ts",
85
+ "skills/find-next-plan/scripts/_runtime/modules/docs/hardware_ingest.ts",
86
+ "skills/find-next-plan/scripts/_runtime/modules/docs/hardware_locks.ts",
87
+ "skills/find-next-plan/scripts/_runtime/modules/docs/legacy_spec_id.ts",
88
+ "skills/find-next-plan/scripts/_runtime/modules/docs/migration_common.ts",
89
+ "skills/find-next-plan/scripts/_runtime/modules/docs/next_plan.ts",
90
+ "skills/find-next-plan/scripts/_runtime/modules/docs/next_plan_support.ts",
91
+ "skills/find-next-plan/scripts/_runtime/modules/docs/spec_contract.ts",
92
+ "skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift.ts",
93
+ "skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_helpers.ts",
94
+ "skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_legacy.ts",
95
+ "skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_paths.ts",
96
+ "skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_types.ts",
97
+ "skills/find-next-plan/scripts/_runtime/modules/docs/spec_drift_validation.ts",
98
+ "skills/find-next-plan/scripts/_runtime/modules/docs/spec_migration.ts",
99
+ "skills/hardware-doc-ingest/scripts/_runtime/compatibility_cli.ts",
100
+ "skills/hardware-doc-ingest/scripts/_runtime/compatibility_docs.ts",
101
+ "skills/hardware-doc-ingest/scripts/_runtime/compatibility_shared.ts",
102
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/checks/replay.ts",
103
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/git.ts",
104
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/hardware_ingest.ts",
105
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/hardware_locks.ts",
106
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/legacy_spec_id.ts",
107
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/migration_common.ts",
108
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/next_plan.ts",
109
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/next_plan_support.ts",
110
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_contract.ts",
111
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift.ts",
112
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_helpers.ts",
113
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_legacy.ts",
114
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_paths.ts",
115
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_types.ts",
116
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_drift_validation.ts",
117
+ "skills/hardware-doc-ingest/scripts/_runtime/modules/docs/spec_migration.ts",
118
+ "skills/spec-sync/scripts/_runtime/compatibility_cli.ts",
119
+ "skills/spec-sync/scripts/_runtime/compatibility_docs.ts",
120
+ "skills/spec-sync/scripts/_runtime/compatibility_shared.ts",
121
+ "skills/spec-sync/scripts/_runtime/modules/checks/replay.ts",
122
+ "skills/spec-sync/scripts/_runtime/modules/docs/git.ts",
123
+ "skills/spec-sync/scripts/_runtime/modules/docs/hardware_ingest.ts",
124
+ "skills/spec-sync/scripts/_runtime/modules/docs/hardware_locks.ts",
125
+ "skills/spec-sync/scripts/_runtime/modules/docs/legacy_spec_id.ts",
126
+ "skills/spec-sync/scripts/_runtime/modules/docs/migration_common.ts",
127
+ "skills/spec-sync/scripts/_runtime/modules/docs/next_plan.ts",
128
+ "skills/spec-sync/scripts/_runtime/modules/docs/next_plan_support.ts",
129
+ "skills/spec-sync/scripts/_runtime/modules/docs/spec_contract.ts",
130
+ "skills/spec-sync/scripts/_runtime/modules/docs/spec_drift.ts",
131
+ "skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_helpers.ts",
132
+ "skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_legacy.ts",
133
+ "skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_paths.ts",
134
+ "skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_types.ts",
135
+ "skills/spec-sync/scripts/_runtime/modules/docs/spec_drift_validation.ts",
136
+ "skills/spec-sync/scripts/_runtime/modules/docs/spec_migration.ts"
61
137
  ]