@organon-methodology/tools 0.3.0 → 0.4.1

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 (189) hide show
  1. package/dist/cli/commands/coverage.d.ts.map +1 -1
  2. package/dist/cli/commands/coverage.js +4 -3
  3. package/dist/cli/commands/coverage.js.map +1 -1
  4. package/dist/cli/commands/find.d.ts.map +1 -1
  5. package/dist/cli/commands/find.js +4 -3
  6. package/dist/cli/commands/find.js.map +1 -1
  7. package/dist/cli/commands/generate-tests.d.ts.map +1 -1
  8. package/dist/cli/commands/generate-tests.js +4 -3
  9. package/dist/cli/commands/generate-tests.js.map +1 -1
  10. package/dist/cli/commands/generate.d.ts.map +1 -1
  11. package/dist/cli/commands/generate.js +4 -3
  12. package/dist/cli/commands/generate.js.map +1 -1
  13. package/dist/cli/commands/health.d.ts.map +1 -1
  14. package/dist/cli/commands/health.js +4 -3
  15. package/dist/cli/commands/health.js.map +1 -1
  16. package/dist/cli/commands/init.d.ts.map +1 -1
  17. package/dist/cli/commands/init.js +9 -0
  18. package/dist/cli/commands/init.js.map +1 -1
  19. package/dist/cli/commands/query.d.ts.map +1 -1
  20. package/dist/cli/commands/query.js +4 -3
  21. package/dist/cli/commands/query.js.map +1 -1
  22. package/dist/cli/commands/release.d.ts +12 -0
  23. package/dist/cli/commands/release.d.ts.map +1 -0
  24. package/dist/cli/commands/release.js +118 -0
  25. package/dist/cli/commands/release.js.map +1 -0
  26. package/dist/cli/commands/suggest.d.ts +12 -0
  27. package/dist/cli/commands/suggest.d.ts.map +1 -0
  28. package/dist/cli/commands/suggest.js +58 -0
  29. package/dist/cli/commands/suggest.js.map +1 -0
  30. package/dist/cli/commands/validate.d.ts.map +1 -1
  31. package/dist/cli/commands/validate.js +4 -3
  32. package/dist/cli/commands/validate.js.map +1 -1
  33. package/dist/cli/commands/verify.d.ts.map +1 -1
  34. package/dist/cli/commands/verify.js +4 -3
  35. package/dist/cli/commands/verify.js.map +1 -1
  36. package/dist/cli/index.d.ts +2 -0
  37. package/dist/cli/index.d.ts.map +1 -1
  38. package/dist/cli/index.js +6 -0
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/core/config.d.ts +11 -0
  41. package/dist/core/config.d.ts.map +1 -1
  42. package/dist/core/config.js +41 -0
  43. package/dist/core/config.js.map +1 -1
  44. package/dist/core/config.test.js +42 -1
  45. package/dist/core/config.test.js.map +1 -1
  46. package/dist/core/detect-project-name.test.d.ts +7 -0
  47. package/dist/core/detect-project-name.test.d.ts.map +1 -0
  48. package/dist/core/detect-project-name.test.js +57 -0
  49. package/dist/core/detect-project-name.test.js.map +1 -0
  50. package/dist/core/discover.d.ts +12 -0
  51. package/dist/core/discover.d.ts.map +1 -0
  52. package/dist/core/discover.js +30 -0
  53. package/dist/core/discover.js.map +1 -0
  54. package/dist/core/discover.test.d.ts +7 -0
  55. package/dist/core/discover.test.d.ts.map +1 -0
  56. package/dist/core/discover.test.js +135 -0
  57. package/dist/core/discover.test.js.map +1 -0
  58. package/dist/core/find.d.ts.map +1 -1
  59. package/dist/core/find.js +1 -16
  60. package/dist/core/find.js.map +1 -1
  61. package/dist/core/find.test.js +1 -1
  62. package/dist/core/find.test.js.map +1 -1
  63. package/dist/core/generate-tests.d.ts.map +1 -1
  64. package/dist/core/generate-tests.js +11 -22
  65. package/dist/core/generate-tests.js.map +1 -1
  66. package/dist/core/health.d.ts.map +1 -1
  67. package/dist/core/health.js +11 -22
  68. package/dist/core/health.js.map +1 -1
  69. package/dist/core/init.d.ts +6 -0
  70. package/dist/core/init.d.ts.map +1 -1
  71. package/dist/core/init.js +104 -6
  72. package/dist/core/init.js.map +1 -1
  73. package/dist/core/init.test.js +119 -3
  74. package/dist/core/init.test.js.map +1 -1
  75. package/dist/core/invariant-coverage.d.ts.map +1 -1
  76. package/dist/core/invariant-coverage.js +12 -23
  77. package/dist/core/invariant-coverage.js.map +1 -1
  78. package/dist/core/query.d.ts.map +1 -1
  79. package/dist/core/query.js +1 -19
  80. package/dist/core/query.js.map +1 -1
  81. package/dist/core/query.test.js +1 -1
  82. package/dist/core/query.test.js.map +1 -1
  83. package/dist/core/release.d.ts +30 -0
  84. package/dist/core/release.d.ts.map +1 -0
  85. package/dist/core/release.js +59 -0
  86. package/dist/core/release.js.map +1 -0
  87. package/dist/core/release.test.d.ts +7 -0
  88. package/dist/core/release.test.d.ts.map +1 -0
  89. package/dist/core/release.test.js +54 -0
  90. package/dist/core/release.test.js.map +1 -0
  91. package/dist/core/suggest-tools.d.ts.map +1 -1
  92. package/dist/core/suggest-tools.js +1 -19
  93. package/dist/core/suggest-tools.js.map +1 -1
  94. package/dist/core/suggest-tools.test.js +3 -0
  95. package/dist/core/suggest-tools.test.js.map +1 -1
  96. package/dist/core/validate-frontmatter.d.ts.map +1 -1
  97. package/dist/core/validate-frontmatter.js +13 -23
  98. package/dist/core/validate-frontmatter.js.map +1 -1
  99. package/dist/core/validate-frontmatter.test.js +44 -3
  100. package/dist/core/validate-frontmatter.test.js.map +1 -1
  101. package/dist/core/validate-workflow.d.ts.map +1 -1
  102. package/dist/core/validate-workflow.js +22 -7
  103. package/dist/core/validate-workflow.js.map +1 -1
  104. package/dist/core/validate-workflow.test.js +76 -0
  105. package/dist/core/validate-workflow.test.js.map +1 -1
  106. package/dist/core/verify-placeholders.d.ts +28 -0
  107. package/dist/core/verify-placeholders.d.ts.map +1 -0
  108. package/dist/core/verify-placeholders.js +60 -0
  109. package/dist/core/verify-placeholders.js.map +1 -0
  110. package/dist/core/verify-placeholders.test.d.ts +7 -0
  111. package/dist/core/verify-placeholders.test.d.ts.map +1 -0
  112. package/dist/core/verify-placeholders.test.js +116 -0
  113. package/dist/core/verify-placeholders.test.js.map +1 -0
  114. package/dist/core/verify-references.d.ts +23 -0
  115. package/dist/core/verify-references.d.ts.map +1 -0
  116. package/dist/core/verify-references.js +157 -0
  117. package/dist/core/verify-references.js.map +1 -0
  118. package/dist/core/verify-references.test.d.ts +7 -0
  119. package/dist/core/verify-references.test.d.ts.map +1 -0
  120. package/dist/core/verify-references.test.js +88 -0
  121. package/dist/core/verify-references.test.js.map +1 -0
  122. package/dist/core/verify-triplets.d.ts.map +1 -1
  123. package/dist/core/verify-triplets.js +1 -16
  124. package/dist/core/verify-triplets.js.map +1 -1
  125. package/dist/core/verify-version-alignment.d.ts +20 -0
  126. package/dist/core/verify-version-alignment.d.ts.map +1 -0
  127. package/dist/core/verify-version-alignment.js +43 -0
  128. package/dist/core/verify-version-alignment.js.map +1 -0
  129. package/dist/core/verify-version-alignment.test.d.ts +7 -0
  130. package/dist/core/verify-version-alignment.test.d.ts.map +1 -0
  131. package/dist/core/verify-version-alignment.test.js +57 -0
  132. package/dist/core/verify-version-alignment.test.js.map +1 -0
  133. package/dist/core/verify.d.ts.map +1 -1
  134. package/dist/core/verify.js +33 -0
  135. package/dist/core/verify.js.map +1 -1
  136. package/dist/templates/config.d.ts +2 -2
  137. package/dist/templates/config.d.ts.map +1 -1
  138. package/dist/templates/config.js +15 -3
  139. package/dist/templates/config.js.map +1 -1
  140. package/dist/templates/index.d.ts +8 -1
  141. package/dist/templates/index.d.ts.map +1 -1
  142. package/dist/templates/index.js +11 -1
  143. package/dist/templates/index.js.map +1 -1
  144. package/dist/templates/organon/claude-md.d.ts +2 -0
  145. package/dist/templates/organon/claude-md.d.ts.map +1 -1
  146. package/dist/templates/organon/claude-md.js +42 -2
  147. package/dist/templates/organon/claude-md.js.map +1 -1
  148. package/dist/templates/organon/ethos.d.ts +3 -1
  149. package/dist/templates/organon/ethos.d.ts.map +1 -1
  150. package/dist/templates/organon/ethos.js +8 -4
  151. package/dist/templates/organon/ethos.js.map +1 -1
  152. package/dist/templates/organon/index.d.ts +4 -2
  153. package/dist/templates/organon/index.d.ts.map +1 -1
  154. package/dist/templates/organon/index.js +4 -2
  155. package/dist/templates/organon/index.js.map +1 -1
  156. package/dist/templates/organon/methodology-reference.d.ts +8 -0
  157. package/dist/templates/organon/methodology-reference.d.ts.map +1 -0
  158. package/dist/templates/organon/methodology-reference.js +265 -0
  159. package/dist/templates/organon/methodology-reference.js.map +1 -0
  160. package/dist/templates/organon/observations-readme.js +1 -1
  161. package/dist/templates/organon/observations-readme.js.map +1 -1
  162. package/dist/templates/organon/philosophy.d.ts +3 -1
  163. package/dist/templates/organon/philosophy.d.ts.map +1 -1
  164. package/dist/templates/organon/philosophy.js +7 -3
  165. package/dist/templates/organon/philosophy.js.map +1 -1
  166. package/dist/templates/organon/primer.d.ts +8 -0
  167. package/dist/templates/organon/primer.d.ts.map +1 -0
  168. package/dist/templates/organon/primer.js +131 -0
  169. package/dist/templates/organon/primer.js.map +1 -0
  170. package/dist/templates/organon/protocols.js +1 -1
  171. package/dist/templates/organon/readme.d.ts.map +1 -1
  172. package/dist/templates/organon/readme.js +8 -5
  173. package/dist/templates/organon/readme.js.map +1 -1
  174. package/dist/templates/skills/domain-feature-design.d.ts.map +1 -1
  175. package/dist/templates/skills/domain-feature-design.js +5 -1
  176. package/dist/templates/skills/domain-feature-design.js.map +1 -1
  177. package/dist/templates/skills/organon-file-creation.d.ts.map +1 -1
  178. package/dist/templates/skills/organon-file-creation.js +5 -1
  179. package/dist/templates/skills/organon-file-creation.js.map +1 -1
  180. package/dist/templates/skills/quality-review.d.ts.map +1 -1
  181. package/dist/templates/skills/quality-review.js +5 -1
  182. package/dist/templates/skills/quality-review.js.map +1 -1
  183. package/dist/templates/skills/session-compounding.d.ts.map +1 -1
  184. package/dist/templates/skills/session-compounding.js +5 -1
  185. package/dist/templates/skills/session-compounding.js.map +1 -1
  186. package/dist/templates/skills/verify-and-health.d.ts.map +1 -1
  187. package/dist/templates/skills/verify-and-health.js +12 -1
  188. package/dist/templates/skills/verify-and-health.js.map +1 -1
  189. package/package.json +2 -2
@@ -0,0 +1,157 @@
1
+ /**
2
+ * References verification gate (blocking).
3
+ *
4
+ * Checks that cross-file references actually resolve:
5
+ * - inherits_from names → real organon file name fields
6
+ * - related_domains / related_features → real organon names
7
+ * - Workflow loads: paths → exist on disk
8
+ * - Workflow protocol_file paths → exist on disk
9
+ *
10
+ * @organon-invariant INV-TOOLS-2 every-command-has-tests
11
+ */
12
+ import { parseFrontmatter } from './frontmatter-parser.js';
13
+ import { joinPath } from './config.js';
14
+ import { discoverOrganonFiles } from './discover.js';
15
+ // ---------------------------------------------------------------------------
16
+ // Main
17
+ // ---------------------------------------------------------------------------
18
+ export async function verifyReferences(options) {
19
+ const { projectRoot, config, fs } = options;
20
+ const errors = [];
21
+ const warnings = [];
22
+ // 1. Collect all organon files + their frontmatter
23
+ const organonFiles = await discoverOrganonFiles(projectRoot, config, fs);
24
+ const allFrontmatter = new Map();
25
+ for (const file of organonFiles) {
26
+ const absPath = joinPath(projectRoot, file);
27
+ try {
28
+ const content = await fs.readFile(absPath);
29
+ const { frontmatter } = parseFrontmatter(content);
30
+ allFrontmatter.set(file, frontmatter);
31
+ }
32
+ catch {
33
+ allFrontmatter.set(file, null);
34
+ }
35
+ }
36
+ // Build a set of known organon names for quick lookup
37
+ const knownNames = new Set();
38
+ for (const [, fm] of allFrontmatter) {
39
+ if (fm?.name)
40
+ knownNames.add(fm.name);
41
+ }
42
+ // 2. Check organon file references
43
+ for (const [file, fm] of allFrontmatter) {
44
+ if (!fm)
45
+ continue;
46
+ // inherits_from → must resolve to a real organon name
47
+ if (fm.inherits_from) {
48
+ for (const parent of fm.inherits_from) {
49
+ if (!knownNames.has(parent)) {
50
+ errors.push({
51
+ severity: 'error',
52
+ code: 'REFERENCE_BROKEN_INHERIT',
53
+ message: `inherits_from references '${parent}' but no organon with that name found`,
54
+ file,
55
+ });
56
+ }
57
+ }
58
+ }
59
+ // related_domains → must resolve
60
+ if (fm.related_domains) {
61
+ for (const domain of fm.related_domains) {
62
+ if (!knownNames.has(domain)) {
63
+ errors.push({
64
+ severity: 'error',
65
+ code: 'REFERENCE_BROKEN_DOMAIN',
66
+ message: `related_domains references '${domain}' but no organon with that name found`,
67
+ file,
68
+ });
69
+ }
70
+ }
71
+ }
72
+ // related_features → must resolve
73
+ if (fm.related_features) {
74
+ for (const feature of fm.related_features) {
75
+ if (!knownNames.has(feature)) {
76
+ errors.push({
77
+ severity: 'error',
78
+ code: 'REFERENCE_BROKEN_FEATURE',
79
+ message: `related_features references '${feature}' but no organon with that name found`,
80
+ file,
81
+ });
82
+ }
83
+ }
84
+ }
85
+ }
86
+ // 3. Check workflow file references
87
+ const workflowFiles = await discoverWorkflowFiles(projectRoot, config, fs);
88
+ for (const file of workflowFiles) {
89
+ const absPath = joinPath(projectRoot, file);
90
+ let content;
91
+ try {
92
+ content = await fs.readFile(absPath);
93
+ }
94
+ catch {
95
+ continue;
96
+ }
97
+ const { frontmatter } = parseFrontmatter(content);
98
+ if (!frontmatter)
99
+ continue;
100
+ // loads: paths → must exist on disk
101
+ const loads = frontmatter['loads'];
102
+ if (loads && Array.isArray(loads)) {
103
+ for (const loadPath of loads) {
104
+ const absLoadPath = joinPath(projectRoot, loadPath);
105
+ if (!await fs.exists(absLoadPath)) {
106
+ errors.push({
107
+ severity: 'error',
108
+ code: 'REFERENCE_BROKEN_LOADS',
109
+ message: `Workflow loads path '${loadPath}' does not exist on disk`,
110
+ file,
111
+ });
112
+ }
113
+ }
114
+ }
115
+ // protocol_file → must exist on disk
116
+ const protocolFile = frontmatter['protocol_file'];
117
+ if (protocolFile) {
118
+ const absProtoPath = joinPath(projectRoot, protocolFile);
119
+ if (!await fs.exists(absProtoPath)) {
120
+ errors.push({
121
+ severity: 'error',
122
+ code: 'REFERENCE_BROKEN_PROTOCOL_FILE',
123
+ message: `Workflow protocol_file '${protocolFile}' does not exist on disk`,
124
+ file,
125
+ });
126
+ }
127
+ }
128
+ }
129
+ return {
130
+ success: errors.length === 0,
131
+ errors,
132
+ warnings,
133
+ };
134
+ }
135
+ // ---------------------------------------------------------------------------
136
+ // Helpers
137
+ // ---------------------------------------------------------------------------
138
+ async function discoverWorkflowFiles(projectRoot, config, fs) {
139
+ const files = new Set();
140
+ const paths = config.workflowPaths;
141
+ const searchPaths = [
142
+ paths.claudeCode,
143
+ paths.cursor,
144
+ paths.generic,
145
+ ].filter((p) => p !== undefined);
146
+ for (const dir of searchPaths) {
147
+ const fullDir = joinPath(projectRoot, dir);
148
+ if (await fs.exists(fullDir)) {
149
+ const matches = await fs.glob('**/*.md', { cwd: fullDir, ignore: [] });
150
+ for (const m of matches) {
151
+ files.add(joinPath(dir, m));
152
+ }
153
+ }
154
+ }
155
+ return [...files].sort();
156
+ }
157
+ //# sourceMappingURL=verify-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-references.js","sourceRoot":"","sources":["../../src/core/verify-references.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Tests for references verification gate.
3
+ *
4
+ * @organon-invariant INV-TOOLS-2 every-command-has-tests
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=verify-references.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-references.test.d.ts","sourceRoot":"","sources":["../../src/core/verify-references.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Tests for references verification gate.
3
+ *
4
+ * @organon-invariant INV-TOOLS-2 every-command-has-tests
5
+ */
6
+ import { describe, it, expect } from 'vitest';
7
+ import { verifyReferences } from './verify-references.js';
8
+ import { MemoryFileSystem, makeEthos, makeWorkflow } from './test-helpers.js';
9
+ function makeConfig(projectRoot, extraPaths = []) {
10
+ return {
11
+ projectRoot,
12
+ organonPaths: ['.', ...extraPaths],
13
+ organonGlobs: ['**/ETHOS.md', '**/PHILOSOPHY.md', '**/README.md'],
14
+ ignorePatterns: [],
15
+ workflowPaths: { generic: 'workflows' },
16
+ freshnessThresholdHours: 24,
17
+ };
18
+ }
19
+ describe('verifyReferences', () => {
20
+ it('passes when all references resolve', async () => {
21
+ const parentEthos = makeEthos({ name: 'parent', scope: 'product' });
22
+ const childEthos = makeEthos({ name: 'child', scope: 'domain', extra: { inherits_from: '["parent"]' } });
23
+ const fs = new MemoryFileSystem({
24
+ '/project/ETHOS.md': parentEthos,
25
+ '/project/domains/child/ETHOS.md': childEthos,
26
+ });
27
+ const config = makeConfig('/project', ['domains']);
28
+ const result = await verifyReferences({ projectRoot: '/project', config, fs });
29
+ expect(result.success).toBe(true);
30
+ });
31
+ it('reports broken inherits_from reference', async () => {
32
+ const ethos = makeEthos({ name: 'child', scope: 'domain', extra: { inherits_from: '["nonexistent-parent"]' } });
33
+ const fs = new MemoryFileSystem({
34
+ '/project/ETHOS.md': ethos,
35
+ });
36
+ const config = makeConfig('/project');
37
+ const result = await verifyReferences({ projectRoot: '/project', config, fs });
38
+ expect(result.success).toBe(false);
39
+ expect(result.errors).toContainEqual(expect.objectContaining({ code: 'REFERENCE_BROKEN_INHERIT' }));
40
+ });
41
+ it('reports broken related_domains reference', async () => {
42
+ const ethos = makeEthos({ name: 'test', scope: 'domain', extra: { related_domains: '["ghost-domain"]' } });
43
+ const fs = new MemoryFileSystem({
44
+ '/project/ETHOS.md': ethos,
45
+ });
46
+ const config = makeConfig('/project');
47
+ const result = await verifyReferences({ projectRoot: '/project', config, fs });
48
+ expect(result.success).toBe(false);
49
+ expect(result.errors).toContainEqual(expect.objectContaining({ code: 'REFERENCE_BROKEN_DOMAIN' }));
50
+ });
51
+ it('reports broken related_features reference', async () => {
52
+ const ethos = makeEthos({ name: 'test', scope: 'domain', extra: { related_features: '["ghost-feature"]' } });
53
+ const fs = new MemoryFileSystem({
54
+ '/project/ETHOS.md': ethos,
55
+ });
56
+ const config = makeConfig('/project');
57
+ const result = await verifyReferences({ projectRoot: '/project', config, fs });
58
+ expect(result.success).toBe(false);
59
+ expect(result.errors).toContainEqual(expect.objectContaining({ code: 'REFERENCE_BROKEN_FEATURE' }));
60
+ });
61
+ it('reports broken workflow loads path', async () => {
62
+ const fs = new MemoryFileSystem({
63
+ '/project/workflows/test.md': makeWorkflow({ loads: ['/nonexistent.md'] }),
64
+ });
65
+ const config = makeConfig('/project');
66
+ const result = await verifyReferences({ projectRoot: '/project', config, fs });
67
+ expect(result.success).toBe(false);
68
+ expect(result.errors).toContainEqual(expect.objectContaining({ code: 'REFERENCE_BROKEN_LOADS' }));
69
+ });
70
+ it('reports broken workflow protocol_file path', async () => {
71
+ const workflow = makeWorkflow({ protocolFile: 'nonexistent/PROTOCOLS.md' });
72
+ const fs = new MemoryFileSystem({
73
+ '/project/workflows/test.md': workflow,
74
+ '/project/ETHOS.md': '# ethos',
75
+ });
76
+ const config = makeConfig('/project');
77
+ const result = await verifyReferences({ projectRoot: '/project', config, fs });
78
+ expect(result.success).toBe(false);
79
+ expect(result.errors).toContainEqual(expect.objectContaining({ code: 'REFERENCE_BROKEN_PROTOCOL_FILE' }));
80
+ });
81
+ it('passes when no organon files or workflows exist', async () => {
82
+ const fs = new MemoryFileSystem({});
83
+ const config = makeConfig('/project');
84
+ const result = await verifyReferences({ projectRoot: '/project', config, fs });
85
+ expect(result.success).toBe(true);
86
+ });
87
+ });
88
+ //# sourceMappingURL=verify-references.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-references.test.js","sourceRoot":"","sources":["../../src/core/verify-references.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify-triplets.d.ts","sourceRoot":"","sources":["../../src/core/verify-triplets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAGV,UAAU,EAEV,aAAa,EAGb,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,UAAU,CAAC;CAChB;AAMD,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA6J/B"}
1
+ {"version":3,"file":"verify-triplets.d.ts","sourceRoot":"","sources":["../../src/core/verify-triplets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAGV,UAAU,EAEV,aAAa,EAGb,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,UAAU,CAAC;CAChB;AAMD,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA6J/B"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { parseFrontmatter } from './frontmatter-parser.js';
11
11
  import { joinPath } from './config.js';
12
+ import { discoverOrganonFiles } from './discover.js';
12
13
  // ---------------------------------------------------------------------------
13
14
  // Main
14
15
  // ---------------------------------------------------------------------------
@@ -198,20 +199,4 @@ async function discoverWorkflowFiles(projectRoot, config, fs) {
198
199
  }
199
200
  return [...files].sort();
200
201
  }
201
- async function discoverOrganonFiles(projectRoot, config, fs) {
202
- const allFiles = new Set();
203
- for (const organonPath of config.organonPaths) {
204
- for (const pattern of config.organonGlobs) {
205
- const fullPattern = organonPath === '.' ? pattern : `${organonPath}/${pattern}`;
206
- const matches = await fs.glob(fullPattern, {
207
- cwd: projectRoot,
208
- ignore: config.ignorePatterns,
209
- });
210
- for (const m of matches) {
211
- allFiles.add(m);
212
- }
213
- }
214
- }
215
- return [...allFiles].sort();
216
- }
217
202
  //# sourceMappingURL=verify-triplets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-triplets.js","sourceRoot":"","sources":["../../src/core/verify-triplets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAsBvC,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B;IAE9B,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,6CAA6C;IAC7C,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,aAAa,GAAwB,EAAE,CAAC;IAC9C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE7D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxD,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACtC,IAAI,WAAW,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gBACvC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,qBAAqB,IAAI,EAAE;gBACpC,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0D,CAAC;IAE9F,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,WAAW,EAAE,CAAC;gBAChB,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE;oBAC1B,UAAU,EAAE,WAAW,CAAC,aAAa,CAAuB;oBAC5D,YAAY,EAAE,WAAW,CAAC,eAAe,CAAuB;iBACjE,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,4EAA4E;gBAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAClE,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACxE,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE;oBAC1B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAClD,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9C,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS;YAAE,SAAS;QAEzC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAwB,EAAE,CAAC;YAC9C,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACpB,KAAK,GAAG,KAAK,CAAC;oBACd,aAAa,CAAC,IAAI,CAAC;wBACjB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,+BAA+B;wBACrC,OAAO,EAAE,YAAY,KAAK,CAAC,EAAE,yCAAyC;wBACtE,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,UAAU,EAAE,sCAAsC,KAAK,CAAC,EAAE,EAAE;qBAC7D,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAExC,yBAAyB;oBACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;oBAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,KAAK,GAAG,KAAK,CAAC;wBACd,aAAa,CAAC,IAAI,CAAC;4BACjB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,4BAA4B;4BAClC,OAAO,EAAE,YAAY,KAAK,CAAC,EAAE,yBAAyB,KAAK,CAAC,QAAQ,8BAA8B;4BAClG,IAAI,EAAE,EAAE,CAAC,IAAI;4BACb,UAAU,EAAE,6BAA6B,KAAK,CAAC,QAAQ,GAAG;yBAC3D,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,gCAAgC;wBAChC,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC/C,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;4BAC7C,KAAK,GAAG,KAAK,CAAC;4BACd,aAAa,CAAC,IAAI,CAAC;gCACjB,QAAQ,EAAE,OAAO;gCACjB,IAAI,EAAE,iCAAiC;gCACvC,OAAO,EAAE,aAAa,MAAM,sBAAsB,MAAM,CAAC,UAAU,IAAI,MAAM,mBAAmB,KAAK,CAAC,EAAE,GAAG;gCAC3G,IAAI,EAAE,MAAM;gCACZ,UAAU,EAAE,0BAA0B,MAAM,SAAS,KAAK,CAAC,EAAE,GAAG;6BACjE,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC;gBACZ,UAAU,EAAE,KAAK,CAAC,EAAE;gBACpB,YAAY,EAAE,EAAE,CAAC,IAAI;gBACrB,cAAc,EAAE,KAAK,CAAC,eAAe;gBACrC,YAAY,EAAE,KAAK,CAAC,QAAQ;gBAC5B,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS;gBACvG,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK;gBACL,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC;YACpE,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YACvB,6CAA6C;YAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,aAAa,EAAE,6BAA6B,MAAM,CAAC,UAAU,kCAAkC;oBACxG,IAAI,EAAE,EAAE;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,MAAM,iBAAiB,GAAG,QAAQ;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE5B,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,QAAQ;QACR,iBAAiB;QACjB,iBAAiB;QACjB,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,YAAoB,EAAE,aAAuB;IACrE,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACzE,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,IACE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;YACjC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EACjD,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,WAAmB,EACnB,MAAqB,EACrB,EAAc;IAEd,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;IAEnC,MAAM,WAAW,GAAG;QAClB,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,OAAO;KACd,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAE9C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;gBACvC,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,WAAmB,EACnB,MAAqB,EACrB,EAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;YAChF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;gBACzC,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,MAAM,CAAC,cAAc;aAC9B,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"verify-triplets.js","sourceRoot":"","sources":["../../src/core/verify-triplets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Version alignment gate (advisory).
3
+ *
4
+ * Checks:
5
+ * 1. organon.config.json methodology_version matches bundled METHODOLOGY_VERSION
6
+ *
7
+ * @organon-invariant INV-TOOLS-2 every-command-has-tests
8
+ */
9
+ import type { DiagnosticMessage, FileSystem, OrganonConfig } from './types.js';
10
+ export interface VersionAlignmentResult {
11
+ success: boolean;
12
+ errors: DiagnosticMessage[];
13
+ warnings: DiagnosticMessage[];
14
+ }
15
+ export declare function verifyVersionAlignment(options: {
16
+ projectRoot: string;
17
+ config: OrganonConfig;
18
+ fs: FileSystem;
19
+ }): Promise<VersionAlignmentResult>;
20
+ //# sourceMappingURL=verify-version-alignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-version-alignment.d.ts","sourceRoot":"","sources":["../../src/core/verify-version-alignment.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAMD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,UAAU,CAAC;CAChB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8BlC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Version alignment gate (advisory).
3
+ *
4
+ * Checks:
5
+ * 1. organon.config.json methodology_version matches bundled METHODOLOGY_VERSION
6
+ *
7
+ * @organon-invariant INV-TOOLS-2 every-command-has-tests
8
+ */
9
+ import { joinPath } from './config.js';
10
+ import { METHODOLOGY_VERSION } from '../templates/config.js';
11
+ // ---------------------------------------------------------------------------
12
+ // Main
13
+ // ---------------------------------------------------------------------------
14
+ export async function verifyVersionAlignment(options) {
15
+ const { projectRoot, fs } = options;
16
+ const errors = [];
17
+ const warnings = [];
18
+ // 1. Check organon.config.json methodology_version vs bundled
19
+ try {
20
+ const configPath = joinPath(projectRoot, 'organon.config.json');
21
+ const configContent = await fs.readFile(configPath);
22
+ const config = JSON.parse(configContent);
23
+ const configVersion = config.methodology_version;
24
+ if (configVersion && configVersion !== METHODOLOGY_VERSION) {
25
+ warnings.push({
26
+ severity: 'warning',
27
+ code: 'VERSION_METHODOLOGY_DRIFT',
28
+ message: `organon.config.json methodology_version '${configVersion}' does not match CLI version '${METHODOLOGY_VERSION}'`,
29
+ file: 'organon.config.json',
30
+ suggestion: `Run 'organon upgrade' or update methodology_version to '${METHODOLOGY_VERSION}'`,
31
+ });
32
+ }
33
+ }
34
+ catch {
35
+ // No config file — not an error for this gate
36
+ }
37
+ return {
38
+ success: true, // Advisory gate — always passes
39
+ errors,
40
+ warnings,
41
+ };
42
+ }
43
+ //# sourceMappingURL=verify-version-alignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-version-alignment.js","sourceRoot":"","sources":["../../src/core/verify-version-alignment.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAiB7D,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAI5C;IACC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,8DAA8D;IAC9D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAEjD,IAAI,aAAa,IAAI,aAAa,KAAK,mBAAmB,EAAE,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,4CAA4C,aAAa,iCAAiC,mBAAmB,GAAG;gBACzH,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,2DAA2D,mBAAmB,GAAG;aAC9F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI,EAAE,gCAAgC;QAC/C,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Tests for version alignment gate.
3
+ *
4
+ * @organon-invariant INV-TOOLS-2 every-command-has-tests
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=verify-version-alignment.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-version-alignment.test.d.ts","sourceRoot":"","sources":["../../src/core/verify-version-alignment.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Tests for version alignment gate.
3
+ *
4
+ * @organon-invariant INV-TOOLS-2 every-command-has-tests
5
+ */
6
+ import { describe, it, expect } from 'vitest';
7
+ import { verifyVersionAlignment } from './verify-version-alignment.js';
8
+ import { MemoryFileSystem } from './test-helpers.js';
9
+ import { METHODOLOGY_VERSION } from '../templates/config.js';
10
+ function makeConfig(projectRoot) {
11
+ return {
12
+ projectRoot,
13
+ organonPaths: ['.'],
14
+ organonGlobs: ['**/ETHOS.md'],
15
+ ignorePatterns: [],
16
+ workflowPaths: {},
17
+ freshnessThresholdHours: 24,
18
+ };
19
+ }
20
+ describe('verifyVersionAlignment', () => {
21
+ it('passes when methodology_version matches CLI', async () => {
22
+ const fs = new MemoryFileSystem({
23
+ '/project/organon.config.json': JSON.stringify({ methodology_version: METHODOLOGY_VERSION }),
24
+ });
25
+ const config = makeConfig('/project');
26
+ const result = await verifyVersionAlignment({ projectRoot: '/project', config, fs });
27
+ expect(result.success).toBe(true);
28
+ expect(result.warnings).toHaveLength(0);
29
+ });
30
+ it('warns when methodology_version drifts from CLI', async () => {
31
+ const fs = new MemoryFileSystem({
32
+ '/project/organon.config.json': JSON.stringify({ methodology_version: '0.1.0' }),
33
+ });
34
+ const config = makeConfig('/project');
35
+ const result = await verifyVersionAlignment({ projectRoot: '/project', config, fs });
36
+ expect(result.success).toBe(true); // Advisory
37
+ expect(result.warnings).toContainEqual(expect.objectContaining({ code: 'VERSION_METHODOLOGY_DRIFT' }));
38
+ });
39
+ it('passes when no config file exists', async () => {
40
+ const fs = new MemoryFileSystem({});
41
+ const config = makeConfig('/project');
42
+ const result = await verifyVersionAlignment({ projectRoot: '/project', config, fs });
43
+ expect(result.success).toBe(true);
44
+ expect(result.warnings).toHaveLength(0);
45
+ });
46
+ it('does not check cross-package version alignment', async () => {
47
+ const fs = new MemoryFileSystem({
48
+ '/project/organon.config.json': JSON.stringify({ methodology_version: METHODOLOGY_VERSION }),
49
+ '/project/packages/tools/package.json': JSON.stringify({ version: '1.0.0' }),
50
+ '/project/packages/testing/package.json': JSON.stringify({ version: '0.9.0' }),
51
+ });
52
+ const config = makeConfig('/project');
53
+ const result = await verifyVersionAlignment({ projectRoot: '/project', config, fs });
54
+ expect(result.warnings).toHaveLength(0);
55
+ });
56
+ });
57
+ //# sourceMappingURL=verify-version-alignment.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-version-alignment.test.js","sourceRoot":"","sources":["../../src/core/verify-version-alignment.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/core/verify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,YAAY,EAEZ,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,UAAU,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAQD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAEjE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAkGD,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAwD1E"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/core/verify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,YAAY,EAEZ,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,UAAU,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAQD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAEjE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAmID,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAwD1E"}
@@ -11,6 +11,9 @@ import { health as runHealth } from './health.js';
11
11
  import { computeInvariantCoverage } from './invariant-coverage.js';
12
12
  import { validateWorkflow } from './validate-workflow.js';
13
13
  import { verifyTier4Tests } from './verify-tier4-tests.js';
14
+ import { verifyPlaceholders } from './verify-placeholders.js';
15
+ import { verifyReferences } from './verify-references.js';
16
+ import { verifyVersionAlignment } from './verify-version-alignment.js';
14
17
  // ---------------------------------------------------------------------------
15
18
  // Gate registry
16
19
  // ---------------------------------------------------------------------------
@@ -95,6 +98,33 @@ const tier4TestsGate = async ({ projectRoot, config, fs }) => {
95
98
  warnings: result.warnings,
96
99
  };
97
100
  };
101
+ const placeholderDetectionGate = async ({ projectRoot, config, fs }) => {
102
+ const result = await verifyPlaceholders({ projectRoot, config, fs });
103
+ return {
104
+ gate: 'placeholder-detection',
105
+ passed: true, // Advisory — always passes
106
+ errors: result.errors,
107
+ warnings: result.warnings,
108
+ };
109
+ };
110
+ const referencesGate = async ({ projectRoot, config, fs }) => {
111
+ const result = await verifyReferences({ projectRoot, config, fs });
112
+ return {
113
+ gate: 'references',
114
+ passed: result.success,
115
+ errors: result.errors,
116
+ warnings: result.warnings,
117
+ };
118
+ };
119
+ const versionAlignmentGate = async ({ projectRoot, config, fs }) => {
120
+ const result = await verifyVersionAlignment({ projectRoot, config, fs });
121
+ return {
122
+ gate: 'version-alignment',
123
+ passed: true, // Advisory — always passes
124
+ errors: result.errors,
125
+ warnings: result.warnings,
126
+ };
127
+ };
98
128
  // Register built-in gates
99
129
  registerGate('frontmatter', frontmatterGate);
100
130
  registerGate('triplets', tripletsGate);
@@ -102,6 +132,9 @@ registerGate('freshness', freshnessGate);
102
132
  registerGate('invariant-coverage', invariantCoverageGate);
103
133
  registerGate('workflow-quality', workflowQualityGate);
104
134
  registerGate('tier4-tests', tier4TestsGate);
135
+ registerGate('placeholder-detection', placeholderDetectionGate);
136
+ registerGate('references', referencesGate);
137
+ registerGate('version-alignment', versionAlignmentGate);
105
138
  // ---------------------------------------------------------------------------
106
139
  // Main
107
140
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/core/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/core/verify.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * organon.config.json template for organon init.
3
3
  */
4
- export declare const CONFIG_TEMPLATE = "{\n \"methodology_version\": \"0.3.0\",\n \"organonPaths\": [\"organon\", \".\"],\n \"organonGlobs\": [\n \"**/ETHOS.md\",\n \"**/PHILOSOPHY.md\",\n \"**/PROTOCOL.md\",\n \"**/PROTOCOLS.md\",\n \"**/README.md\",\n \"**/components.md\"\n ],\n \"ignorePatterns\": [\n \"**/node_modules/**\",\n \"**/dist/**\",\n \"**/.git/**\",\n \"**/coverage/**\"\n ],\n \"workflowPaths\": {\n \"claudeCode\": \".claude/skills\",\n \"cursor\": \".cursor/rules\",\n \"generic\": \"organon/workflows\"\n },\n \"freshnessThresholdHours\": 720\n}\n";
5
- export declare const METHODOLOGY_VERSION = "0.3.0";
4
+ export declare const CONFIG_TEMPLATE = "{\n \"methodology_version\": \"0.4.1\",\n \"organonPaths\": [\"organon\", \".\"],\n \"organonGlobs\": [\n \"**/ETHOS.md\",\n \"**/PHILOSOPHY.md\",\n \"**/PROTOCOL.md\",\n \"**/PROTOCOLS.md\",\n \"**/README.md\",\n \"**/PRIMER.md\",\n \"**/methodology-reference.md\",\n \"**/components.md\"\n ],\n \"ignorePatterns\": [\n \"**/node_modules/**\",\n \"**/dist/**\",\n \"**/.git/**\",\n \"**/coverage/**\"\n ],\n \"workflowPaths\": {\n \"claudeCode\": \".claude/skills\",\n \"cursor\": \".cursor/rules\",\n \"generic\": \"organon/workflows\"\n },\n \"freshnessThresholdHours\": 720,\n \"testGlobs\": [\n \"**/*.test.ts\",\n \"**/*.test.js\",\n \"**/*.spec.ts\",\n \"**/*.spec.js\"\n ],\n \"testIgnorePatterns\": [\n \"**/node_modules/**\",\n \"**/dist/**\"\n ]\n}\n";
5
+ export declare const METHODOLOGY_VERSION = "0.4.1";
6
6
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/templates/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,eAAe,okBAwB3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAU,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/templates/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,eAAe,00BAoC3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAU,CAAC"}