@organon-methodology/tools 0.4.1 → 0.5.0

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 (47) hide show
  1. package/README.md +7 -3
  2. package/dist/cli/commands/export.d.ts +12 -0
  3. package/dist/cli/commands/export.d.ts.map +1 -0
  4. package/dist/cli/commands/export.js +74 -0
  5. package/dist/cli/commands/export.js.map +1 -0
  6. package/dist/cli/commands/query.d.ts +1 -0
  7. package/dist/cli/commands/query.d.ts.map +1 -1
  8. package/dist/cli/commands/query.js +8 -1
  9. package/dist/cli/commands/query.js.map +1 -1
  10. package/dist/cli/index.d.ts +1 -0
  11. package/dist/cli/index.d.ts.map +1 -1
  12. package/dist/cli/index.js +3 -0
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/core/config.d.ts.map +1 -1
  15. package/dist/core/config.js +2 -0
  16. package/dist/core/config.js.map +1 -1
  17. package/dist/core/export.d.ts +17 -0
  18. package/dist/core/export.d.ts.map +1 -0
  19. package/dist/core/export.js +167 -0
  20. package/dist/core/export.js.map +1 -0
  21. package/dist/core/export.test.d.ts +7 -0
  22. package/dist/core/export.test.d.ts.map +1 -0
  23. package/dist/core/export.test.js +265 -0
  24. package/dist/core/export.test.js.map +1 -0
  25. package/dist/core/query.d.ts +11 -1
  26. package/dist/core/query.d.ts.map +1 -1
  27. package/dist/core/query.js +23 -0
  28. package/dist/core/query.js.map +1 -1
  29. package/dist/core/query.test.js +70 -0
  30. package/dist/core/query.test.js.map +1 -1
  31. package/dist/core/types.d.ts +35 -0
  32. package/dist/core/types.d.ts.map +1 -1
  33. package/dist/core/validate-frontmatter.js +8 -4
  34. package/dist/core/validate-frontmatter.js.map +1 -1
  35. package/dist/mcp/tools.d.ts.map +1 -1
  36. package/dist/mcp/tools.js +17 -2
  37. package/dist/mcp/tools.js.map +1 -1
  38. package/dist/templates/config.d.ts +2 -2
  39. package/dist/templates/config.d.ts.map +1 -1
  40. package/dist/templates/config.js +5 -3
  41. package/dist/templates/config.js.map +1 -1
  42. package/dist/templates/skills/domain-feature-design.js +1 -1
  43. package/dist/templates/skills/organon-file-creation.js +1 -1
  44. package/dist/templates/skills/quality-review.js +1 -1
  45. package/dist/templates/skills/session-compounding.js +1 -1
  46. package/dist/templates/skills/verify-and-health.js +1 -1
  47. package/package.json +1 -1
package/README.md CHANGED
@@ -42,10 +42,10 @@ packages/tools/src/
42
42
  │ ├── suggest-tools.ts ← Automation tier suggestions
43
43
  │ └── verify.ts ← Gate registry orchestrator
44
44
  ├── cli/ ← Thin yargs adapter
45
- │ └── commands/ ← validate, generate, query, health, find, verify, mcp
45
+ │ └── commands/ ← validate, generate, query, health, find, verify, export, mcp
46
46
  ├── mcp/ ← Thin MCP adapter
47
47
  │ ├── server.ts ← stdio transport
48
- │ ├── tools.ts ← 8 MCP tools
48
+ │ ├── tools.ts ← 9 MCP tools
49
49
  │ ├── resources.ts ← 4 MCP resources
50
50
  │ └── prompts.ts ← 4 MCP prompts
51
51
  └── index.ts ← Public API
@@ -81,6 +81,10 @@ organon find --name=frontmatter
81
81
  organon verify
82
82
  organon verify --gate frontmatter triplets
83
83
 
84
+ # Export knowledge graph as JSON
85
+ organon export
86
+ organon export --no-pretty
87
+
84
88
  # Start MCP server
85
89
  organon mcp
86
90
  ```
@@ -89,7 +93,7 @@ organon mcp
89
93
 
90
94
  Start with `organon mcp`. Exposes:
91
95
 
92
- **8 Tools:** `organon_validate_frontmatter`, `organon_generate_frontmatter`, `organon_query`, `organon_health`, `organon_find`, `organon_verify_triplets`, `organon_suggest_tools`, `organon_verify`
96
+ **9 Tools:** `organon_validate_frontmatter`, `organon_generate_frontmatter`, `organon_query`, `organon_health`, `organon_find`, `organon_verify_triplets`, `organon_suggest_tools`, `organon_export`, `organon_verify`
93
97
 
94
98
  **4 Resources:** `organon://index`, `organon://file/{path}`, `organon://scope/{scope}`, `organon://health`
95
99
 
@@ -0,0 +1,12 @@
1
+ /**
2
+ * organon export — Export knowledge graph as structured JSON.
3
+ */
4
+ import type { CommandModule } from 'yargs';
5
+ interface ExportArgs {
6
+ 'project-root': string;
7
+ config?: string;
8
+ pretty: boolean;
9
+ }
10
+ export declare const exportCommand: CommandModule<{}, ExportArgs>;
11
+ export {};
12
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,UAAU,UAAU;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE,UAAU,CAwEvD,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * organon export — Export knowledge graph as structured JSON.
3
+ */
4
+ import chalk from 'chalk';
5
+ import { resolveConfig, resolveProjectRoot } from '../../core/config.js';
6
+ import { exportKnowledgeGraph } from '../../core/export.js';
7
+ import { NodeFileSystem } from '../../core/node-fs.js';
8
+ export const exportCommand = {
9
+ command: 'export',
10
+ describe: 'Export organon knowledge graph as structured JSON',
11
+ builder: (yargs) => {
12
+ return yargs
13
+ .option('project-root', {
14
+ describe: 'Project root directory',
15
+ type: 'string',
16
+ default: process.cwd(),
17
+ })
18
+ .option('config', {
19
+ describe: 'Path to organon.config.json',
20
+ type: 'string',
21
+ })
22
+ .option('pretty', {
23
+ describe: 'Pretty-print JSON output',
24
+ type: 'boolean',
25
+ default: true,
26
+ })
27
+ .example('$0 export', 'Export knowledge graph as JSON')
28
+ .example('$0 export --no-pretty', 'Export compact JSON (for piping)');
29
+ },
30
+ handler: async (args) => {
31
+ const fs = new NodeFileSystem();
32
+ const projectRoot = await resolveProjectRoot(args['project-root'], fs);
33
+ const config = await resolveConfig(projectRoot, fs, args.config);
34
+ // Read version: try package.json first, then methodology_version from config
35
+ let version = '0.0.0';
36
+ try {
37
+ const pkgContent = await fs.readFile(`${projectRoot}/package.json`);
38
+ const pkg = JSON.parse(pkgContent);
39
+ if (pkg.version) {
40
+ version = pkg.version;
41
+ }
42
+ }
43
+ catch {
44
+ // Fall through to config-based version
45
+ }
46
+ if (version === '0.0.0') {
47
+ try {
48
+ const cfgContent = await fs.readFile(`${projectRoot}/organon.config.json`);
49
+ const cfg = JSON.parse(cfgContent);
50
+ if (cfg.methodology_version) {
51
+ version = cfg.methodology_version;
52
+ }
53
+ }
54
+ catch {
55
+ // Use default version
56
+ }
57
+ }
58
+ const result = await exportKnowledgeGraph({
59
+ projectRoot,
60
+ config,
61
+ fs,
62
+ version,
63
+ });
64
+ if (args.pretty) {
65
+ console.log(JSON.stringify(result, null, 2));
66
+ }
67
+ else {
68
+ console.log(JSON.stringify(result));
69
+ }
70
+ // Summary to stderr so it doesn't pollute JSON output
71
+ console.error(chalk.dim(`Exported: ${result.entities.length} entities, ${result.assertions.length} assertions, ${result.relationships.length} relationships, ${result.rules.length} rules`));
72
+ },
73
+ };
74
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/cli/commands/export.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ interface QueryArgs {
12
12
  budget?: number;
13
13
  name?: string;
14
14
  related?: string;
15
+ category?: string;
15
16
  verbose?: boolean;
16
17
  }
17
18
  export declare const queryCommand: CommandModule<{}, QueryArgs>;
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,UAAU,SAAS;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,CAqGrD,CAAC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,UAAU,SAAS;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,CA4GrD,CAAC"}
@@ -49,6 +49,11 @@ export const queryCommand = {
49
49
  .option('related', {
50
50
  describe: 'Filter by related domain or feature',
51
51
  type: 'string',
52
+ })
53
+ .option('category', {
54
+ describe: 'Filter by epistemic category',
55
+ type: 'string',
56
+ choices: ['constraint', 'assertion', 'rule'],
52
57
  })
53
58
  .option('verbose', {
54
59
  describe: 'Show full file content',
@@ -57,7 +62,8 @@ export const queryCommand = {
57
62
  })
58
63
  .example('$0 query --scope=meta', 'List all meta-scope organons')
59
64
  .example('$0 query --budget=20000', 'Plan context loading within 20K tokens')
60
- .example('$0 query --task=genesis_tool_impl', 'Find organons for a specific task');
65
+ .example('$0 query --task=genesis_tool_impl', 'Find organons for a specific task')
66
+ .example('$0 query --category=constraint', 'List all constraint (ETHOS) files');
61
67
  },
62
68
  handler: async (args) => {
63
69
  const fs = new NodeFileSystem();
@@ -75,6 +81,7 @@ export const queryCommand = {
75
81
  namePattern: args.name,
76
82
  relatedDomain: args.related,
77
83
  relatedFeature: args.related,
84
+ category: args.category,
78
85
  verbose: args.verbose,
79
86
  });
80
87
  console.log(chalk.blue('Organon Query'));
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * coverage — Invariant coverage analysis
15
15
  * generate-tests — Generate test scaffolds for uncovered invariants
16
16
  * suggest — Suggest automation tier upgrades
17
+ * export — Export knowledge graph as JSON
17
18
  * release — Version bump and release
18
19
  * mcp — Start MCP server
19
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG"}
package/dist/cli/index.js CHANGED
@@ -14,6 +14,7 @@
14
14
  * coverage — Invariant coverage analysis
15
15
  * generate-tests — Generate test scaffolds for uncovered invariants
16
16
  * suggest — Suggest automation tier upgrades
17
+ * export — Export knowledge graph as JSON
17
18
  * release — Version bump and release
18
19
  * mcp — Start MCP server
19
20
  */
@@ -31,6 +32,7 @@ import { verifyCommand } from './commands/verify.js';
31
32
  import { coverageCommand } from './commands/coverage.js';
32
33
  import { generateTestsCommand } from './commands/generate-tests.js';
33
34
  import { suggestCommand } from './commands/suggest.js';
35
+ import { exportCommand } from './commands/export.js';
34
36
  import { releaseCommand } from './commands/release.js';
35
37
  import { mcpCommand } from './commands/mcp.js';
36
38
  async function main() {
@@ -48,6 +50,7 @@ async function main() {
48
50
  .command(coverageCommand)
49
51
  .command(generateTestsCommand)
50
52
  .command(suggestCommand)
53
+ .command(exportCommand)
51
54
  .command(releaseCommand)
52
55
  .command(mcpCommand)
53
56
  .demandCommand(1, chalk.red('Please specify a command'))
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/B,UAAU,CAAC,SAAS,CAAC;SACrB,KAAK,CAAC,wBAAwB,CAAC;SAC/B,OAAO,CAAC,WAAW,CAAC;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,YAAY,CAAC;SACrB,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,oBAAoB,CAAC;SAC7B,OAAO,CAAC,cAAc,CAAC;SACvB,OAAO,CAAC,cAAc,CAAC;SACvB,OAAO,CAAC,UAAU,CAAC;SACnB,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;SACvD,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,OAAO,EAAE;SACT,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;SACrB,MAAM,EAAE;SACR,KAAK,EAAE,CAAC;AACb,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/B,UAAU,CAAC,SAAS,CAAC;SACrB,KAAK,CAAC,wBAAwB,CAAC;SAC/B,OAAO,CAAC,WAAW,CAAC;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,YAAY,CAAC;SACrB,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,oBAAoB,CAAC;SAC7B,OAAO,CAAC,cAAc,CAAC;SACvB,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,cAAc,CAAC;SACvB,OAAO,CAAC,UAAU,CAAC;SACnB,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;SACvD,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,OAAO,EAAE;SACT,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;SACrB,MAAM,EAAE;SACR,KAAK,EAAE,CAAC;AACb,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAU5D,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;kBASX,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA+B1D;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,UAAU,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CAyBxB;AAqCD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,UAAU,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,EAAE,EAAE,UAAU,GACb,OAAO,CAAC,MAAM,CAAC,CASjB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAU5D,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;kBASX,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAiC1D;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,UAAU,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CAyBxB;AAqCD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,UAAU,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,EAAE,EAAE,UAAU,GACb,OAAO,CAAC,MAAM,CAAC,CASjB"}
@@ -30,6 +30,8 @@ const DEFAULT_ORGANON_GLOBS = [
30
30
  '**/PROTOCOLS.md',
31
31
  '**/README.md',
32
32
  '**/components.md',
33
+ '**/observations/*.md',
34
+ '**/rfcs/*.md',
33
35
  ];
34
36
  const DEFAULT_IGNORE_PATTERNS = [
35
37
  '**/node_modules/**',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Export organon knowledge graph as structured JSON.
3
+ *
4
+ * Produces a snapshot of entities, assertions, relationships, and rules
5
+ * classified by epistemic category. This is the interoperability surface —
6
+ * external tools consume this instead of parsing organon files directly.
7
+ */
8
+ import type { ExportResult, FileSystem, OrganonConfig } from './types.js';
9
+ export interface ExportOptions {
10
+ projectRoot: string;
11
+ config: OrganonConfig;
12
+ fs: FileSystem;
13
+ /** Package version to include in export metadata */
14
+ version?: string;
15
+ }
16
+ export declare function exportKnowledgeGraph(options: ExportOptions): Promise<ExportResult>;
17
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/core/export.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAIV,YAAY,EAEZ,UAAU,EACV,aAAa,EAEd,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,UAAU,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAgCxF"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Export organon knowledge graph as structured JSON.
3
+ *
4
+ * Produces a snapshot of entities, assertions, relationships, and rules
5
+ * classified by epistemic category. This is the interoperability surface —
6
+ * external tools consume this instead of parsing organon files directly.
7
+ */
8
+ import { parseOrganonFile } from './frontmatter-parser.js';
9
+ import { joinPath } from './config.js';
10
+ import { discoverOrganonFiles } from './discover.js';
11
+ import { classifyCategory } from './query.js';
12
+ import { getRegisteredGates } from './verify.js';
13
+ // ---------------------------------------------------------------------------
14
+ // Main
15
+ // ---------------------------------------------------------------------------
16
+ export async function exportKnowledgeGraph(options) {
17
+ const { projectRoot, config, fs } = options;
18
+ const version = options.version ?? '0.0.0';
19
+ // Discover and parse all organon files
20
+ const allFiles = await discoverOrganonFiles(projectRoot, config, fs);
21
+ const parsed = [];
22
+ for (const file of allFiles) {
23
+ const absPath = joinPath(projectRoot, file);
24
+ try {
25
+ const content = await fs.readFile(absPath);
26
+ parsed.push(parseOrganonFile(file, content));
27
+ }
28
+ catch {
29
+ // Skip unreadable files
30
+ }
31
+ }
32
+ const withFrontmatter = parsed.filter((f) => f.frontmatter !== null);
33
+ const entities = buildEntities(withFrontmatter);
34
+ const assertions = buildAssertions(withFrontmatter);
35
+ const relationships = buildRelationships(withFrontmatter);
36
+ const rules = buildRules();
37
+ return {
38
+ version,
39
+ exported_at: new Date().toISOString(),
40
+ entities,
41
+ assertions,
42
+ relationships,
43
+ rules,
44
+ };
45
+ }
46
+ // ---------------------------------------------------------------------------
47
+ // Entity extraction
48
+ // ---------------------------------------------------------------------------
49
+ function fileId(file) {
50
+ // Strip extension and normalize path
51
+ const clean = file.path.replace(/\\/g, '/').replace(/\.md$/, '');
52
+ return `organon:${clean}`;
53
+ }
54
+ function buildEntities(files) {
55
+ return files.map((f) => ({
56
+ id: fileId(f),
57
+ kind: 'organon-file',
58
+ name: f.frontmatter.name,
59
+ scope: f.frontmatter.scope,
60
+ type: f.frontmatter.type,
61
+ category: classifyCategory(f),
62
+ }));
63
+ }
64
+ // ---------------------------------------------------------------------------
65
+ // Assertion extraction
66
+ // ---------------------------------------------------------------------------
67
+ function buildAssertions(files) {
68
+ const assertions = [];
69
+ for (const f of files) {
70
+ const fm = f.frontmatter;
71
+ const category = classifyCategory(f);
72
+ // Extract invariants from ETHOS files as constraints
73
+ if (fm.type === 'constraints' && fm.invariants) {
74
+ for (const inv of fm.invariants) {
75
+ assertions.push({
76
+ id: `inv:${inv.id}`,
77
+ category: 'constraint',
78
+ source: f.path,
79
+ predicate: 'declares_invariant',
80
+ content: inv.name,
81
+ });
82
+ }
83
+ }
84
+ // Extract observations as assertions
85
+ if (category === 'assertion') {
86
+ assertions.push({
87
+ id: `obs:${fm.name}`,
88
+ category: 'assertion',
89
+ source: f.path,
90
+ predicate: 'observed',
91
+ content: fm.summary,
92
+ });
93
+ }
94
+ }
95
+ return assertions;
96
+ }
97
+ // ---------------------------------------------------------------------------
98
+ // Relationship extraction
99
+ // ---------------------------------------------------------------------------
100
+ function buildRelationships(files) {
101
+ const relationships = [];
102
+ // Build name→entity ID map so inherits_from names resolve to real entities
103
+ const nameToId = new Map();
104
+ for (const f of files) {
105
+ if (f.frontmatter?.name) {
106
+ nameToId.set(f.frontmatter.name, fileId(f));
107
+ }
108
+ }
109
+ for (const f of files) {
110
+ const fm = f.frontmatter;
111
+ const id = fileId(f);
112
+ // inherits_from — resolve names to entity IDs when possible
113
+ if (fm.inherits_from) {
114
+ for (const parent of fm.inherits_from) {
115
+ relationships.push({
116
+ source: id,
117
+ predicate: 'inherits_from',
118
+ target: nameToId.get(parent) ?? `organon:${parent}`,
119
+ });
120
+ }
121
+ }
122
+ // related_domains
123
+ if (fm.related_domains) {
124
+ for (const domain of fm.related_domains) {
125
+ relationships.push({
126
+ source: id,
127
+ predicate: 'related_to_domain',
128
+ target: `domain:${domain}`,
129
+ });
130
+ }
131
+ }
132
+ // related_features
133
+ if (fm.related_features) {
134
+ for (const feature of fm.related_features) {
135
+ relationships.push({
136
+ source: id,
137
+ predicate: 'related_to_feature',
138
+ target: `feature:${feature}`,
139
+ });
140
+ }
141
+ }
142
+ // primary_rfcs
143
+ if (fm.primary_rfcs) {
144
+ for (const rfc of fm.primary_rfcs) {
145
+ relationships.push({
146
+ source: id,
147
+ predicate: 'shaped_by_rfc',
148
+ target: `rfc:${String(rfc).padStart(3, '0')}`,
149
+ });
150
+ }
151
+ }
152
+ }
153
+ return relationships;
154
+ }
155
+ // ---------------------------------------------------------------------------
156
+ // Rule extraction
157
+ // ---------------------------------------------------------------------------
158
+ function buildRules() {
159
+ const gateNames = getRegisteredGates();
160
+ return gateNames.map((name) => ({
161
+ id: `gate:${name}`,
162
+ predicate: 'validates',
163
+ targets: ['all organon files'],
164
+ type: 'blocking',
165
+ }));
166
+ }
167
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/core/export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Tests for organon export (knowledge graph).
3
+ *
4
+ * @organon-invariant INV-TOOLS-2 every-command-has-tests
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=export.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.test.d.ts","sourceRoot":"","sources":["../../src/core/export.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}