@yourtechtribe-labs/koncept-core 0.2.0-alpha.4 → 0.2.0-alpha.6

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.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { VERSION } from './version.js';
2
- export { ConceptSchema, IndexEntrySchema, RoleEnum, ConceptTypeEnum, SeverityEnum, StatusEnum, AutomatedCheckSchema, ParticipantSelectorSchema, LinkTypeEnum, LinkRefSchema, } from './schema.js';
3
- export type { Concept, IndexEntry, Participant, Invariant, SourceOfTruth, Role, ConceptType, Severity, Status, AutomatedCheck, ParticipantSelector, LinkType, LinkRef, } from './schema.js';
2
+ export { ConceptSchema, IndexEntrySchema, RoleEnum, ConceptTypeEnum, SeverityEnum, StatusEnum, AutomatedCheckSchema, ParticipantSelectorSchema, NamingSchema, LinkTypeEnum, LinkRefSchema, } from './schema.js';
3
+ export type { Concept, IndexEntry, Participant, Invariant, SourceOfTruth, Naming, Role, ConceptType, Severity, Status, AutomatedCheck, ParticipantSelector, LinkType, LinkRef, } from './schema.js';
4
4
  export { parseConceptString, parseConceptFile } from './parser.js';
5
5
  export type { ParseResult, ParseError, ParseErrorType } from './parser.js';
6
6
  export { indexConcepts, writeIndex, isIndexClean } from './indexer.js';
@@ -19,4 +19,6 @@ export { runChecks } from './checker.js';
19
19
  export type { CheckOptions, CheckStatus, InvariantCheckResult, CheckResult, } from './checker.js';
20
20
  export { parseVerdict, reviewAffected, buildPrompt } from './review.js';
21
21
  export type { Verdict, InvariantReview, ReviewResult, ReviewOptions, } from './review.js';
22
+ export { collectNamingCandidates, judgeCandidates, buildNamingPrompt, parseNamingVerdict, parseAddedLines, } from './lint-naming.js';
23
+ export type { ScannedLine, ScannedFile, LintCandidate, LintCandidatesResult, LintFinding, NamingVerdict, } from './lint-naming.js';
22
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,OAAO,GACR,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAClE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACtE,YAAY,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,WAAW,GACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAClE,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACrD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EACV,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,GACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACvE,YAAY,EACV,OAAO,EACP,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,MAAM,EACN,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,OAAO,GACR,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAClE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACtE,YAAY,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,WAAW,GACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAClE,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACrD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EACV,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,GACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACvE,YAAY,EACV,OAAO,EACP,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  export { VERSION } from './version.js';
5
5
  // Schema — top-level types + main schemas. Sub-schemas (Participant, Invariant,
6
6
  // SourceOfTruth) and the kebab-id regex stay internal.
7
- export { ConceptSchema, IndexEntrySchema, RoleEnum, ConceptTypeEnum, SeverityEnum, StatusEnum, AutomatedCheckSchema, ParticipantSelectorSchema, LinkTypeEnum, LinkRefSchema, } from './schema.js';
7
+ export { ConceptSchema, IndexEntrySchema, RoleEnum, ConceptTypeEnum, SeverityEnum, StatusEnum, AutomatedCheckSchema, ParticipantSelectorSchema, NamingSchema, LinkTypeEnum, LinkRefSchema, } from './schema.js';
8
8
  // Parser
9
9
  export { parseConceptString, parseConceptFile } from './parser.js';
10
10
  // Indexer
@@ -23,4 +23,6 @@ export { suggestLinks } from './suggest-links.js';
23
23
  export { runChecks } from './checker.js';
24
24
  // Review (LLM semantic reviewer — pure; llm + diff injected by the CLI)
25
25
  export { parseVerdict, reviewAffected, buildPrompt } from './review.js';
26
+ // lint-naming (K4 — DR-1 enforcement; deterministic pre-filter + injected judge)
27
+ export { collectNamingCandidates, judgeCandidates, buildNamingPrompt, parseNamingVerdict, parseAddedLines, } from './lint-naming.js';
26
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,uEAAuE;AACvE,4CAA4C;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,gFAAgF;AAChF,uDAAuD;AACvD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AAiBpB,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGlE,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAStE,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,6BAA6B;AAC7B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAQlE,mDAAmD;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGrD,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,sBAAsB;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAQxC,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,uEAAuE;AACvE,4CAA4C;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,gFAAgF;AAChF,uDAAuD;AACvD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AAkBpB,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGlE,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAStE,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,6BAA6B;AAC7B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAQlE,mDAAmD;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGrD,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,sBAAsB;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAQxC,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAQvE,iFAAiF;AACjF,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAE/D,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,aAAa,CAAA;AAGtD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,UAAU,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,iBAAiB,EAAE,iBAAiB,EAAE,CAAA;IACtC,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B;AAKD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoFzE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAOzD"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAE/D,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,aAAa,CAAA;AAGtD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,UAAU,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,iBAAiB,EAAE,iBAAiB,EAAE,CAAA;IACtC,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B;AAKD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAqFzE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAOzD"}
package/dist/indexer.js CHANGED
@@ -91,6 +91,7 @@ export async function indexConcepts(rootDir) {
91
91
  status: concept.status,
92
92
  participants_paths: concept.participants.map((p) => normalizeForward(p.file)),
93
93
  tags: concept.tags,
94
+ glossary_terms: concept.glossary_terms,
94
95
  file: normalizeForward(filePath),
95
96
  });
96
97
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../src/indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * lint-naming (K4) — DR-1 enforcement: flag NEW uses of a domain concept's
3
+ * forbidden aliases. Two phases, separable on purpose (see DESIGN §4-E):
4
+ *
5
+ * 1. collectNamingCandidates — DETERMINISTIC pre-filter. Regex of each
6
+ * concept's `naming.forbidden` aliases over the scanned lines. Cheap,
7
+ * read-only, no LLM, no git. Used by BOTH surfaces (MCP tool + CLI).
8
+ * 2. judgeCandidates — LLM-judge over the grey-zone candidates. Only the CLI
9
+ * (headless/CI) calls it, via the injected Anthropic seam. Inside an AI
10
+ * agent the agent IS the judge over the phase-1 candidates → no API key.
11
+ *
12
+ * Pure: no fs, no network, no git. The caller supplies the lines to scan
13
+ * (ADDED diff lines in the CLI — DR-1 is about NEW symbols; working-tree in
14
+ * MCP) and the `llm` provider. Mirrors how checker.ts injects cwd and
15
+ * review.ts injects llm (D-002/D-004: cost/network live in the CLI only).
16
+ *
17
+ * Grounding is structural, not trusted: the judge only ever sees lines WE
18
+ * found (each candidate carries its exact scanned text), so a verdict can
19
+ * never reference a line that isn't in the input. The LLM judges; it does
20
+ * not cite.
21
+ */
22
+ import type { Concept } from './schema.js';
23
+ /** A line to scan: its new-file line number and its text. */
24
+ export interface ScannedLine {
25
+ n: number;
26
+ text: string;
27
+ }
28
+ /** A file's scannable lines (added diff lines, or whole working-tree file). */
29
+ export interface ScannedFile {
30
+ file: string;
31
+ lines: ScannedLine[];
32
+ }
33
+ /** A deterministic hit: a forbidden alias matched a scanned line. Grey zone —
34
+ * may or may not be a real violation; that's the judge's call (phase 2 / agent). */
35
+ export interface LintCandidate {
36
+ conceptId: string;
37
+ conceptName: string;
38
+ /** First glossary term the concept governs, for remediation context. */
39
+ term: string | null;
40
+ canonical: string;
41
+ /** The forbidden-alias pattern (as authored) that matched. */
42
+ alias: string;
43
+ file: string;
44
+ line: number;
45
+ /** The exact matched line — the evidence (grounding, not LLM-supplied). */
46
+ text: string;
47
+ /** Per-candidate guidance for whoever judges (agent or API). */
48
+ rubric: string;
49
+ }
50
+ export interface LintCandidatesResult {
51
+ candidates: LintCandidate[];
52
+ /** How many concepts carried a `naming` block and were scanned. */
53
+ rulesApplied: number;
54
+ }
55
+ /** A judged candidate. `violation: false` candidates are kept (advisory: the
56
+ * caller decides whether to surface non-violations as "checked, fine"). */
57
+ export interface LintFinding extends LintCandidate {
58
+ violation: boolean;
59
+ reason: string;
60
+ }
61
+ export interface NamingVerdict {
62
+ violation: boolean;
63
+ reason: string;
64
+ }
65
+ /**
66
+ * Scan `files` for any concept's `naming.forbidden` aliases. Pure + deterministic.
67
+ * A concept opts in by carrying a `naming` block (intended for
68
+ * `type: naming-convention` concepts; presence is the signal). Invalid-regex
69
+ * aliases are skipped (author error; advisory tool never throws on input).
70
+ */
71
+ export declare function collectNamingCandidates(concepts: Concept[], files: ScannedFile[]): LintCandidatesResult;
72
+ export declare function buildNamingPrompt(c: LintCandidate): string;
73
+ /**
74
+ * Lenient parse: prefer an embedded JSON object `{violation, reason}`. If the
75
+ * reply is unparseable, default to NON-violation — an advisory linter must not
76
+ * fabricate a violation from noise (safe default ≠ false alarm).
77
+ */
78
+ export declare function parseNamingVerdict(raw: string): NamingVerdict;
79
+ /**
80
+ * Judge each candidate with the injected `llm`. One call per candidate. LLM
81
+ * *errors* propagate (tagged file:line(alias)) so the CLI can exit non-zero;
82
+ * unparseable *replies* coerce to non-violation and continue.
83
+ */
84
+ export declare function judgeCandidates(candidates: LintCandidate[], llm: (prompt: string) => Promise<string>): Promise<LintFinding[]>;
85
+ /**
86
+ * Parse a unified diff into its ADDED lines with accurate new-file line numbers
87
+ * (DR-1 cares about NEW symbols). Reads `@@ -a,b +c,d @@` hunk headers to track
88
+ * the new-file counter; `+`/context lines advance it, `-` lines do not. `+++`
89
+ * file headers and `\ No newline` markers are skipped. Pure string work — the
90
+ * CLI feeds this the output of `git diff`.
91
+ */
92
+ export declare function parseAddedLines(unifiedDiff: string): ScannedLine[];
93
+ //# sourceMappingURL=lint-naming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-naming.d.ts","sourceRoot":"","sources":["../src/lint-naming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAA;IACT,IAAI,EAAE,MAAM,CAAA;CACb;AAED,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,WAAW,EAAE,CAAA;CACrB;AAED;qFACqF;AACrF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;4EAC4E;AAC5E,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAsBD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,WAAW,EAAE,GACnB,oBAAoB,CA6BtB;AAID,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAW1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAmB7D;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,aAAa,EAAE,EAC3B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GACvC,OAAO,CAAC,WAAW,EAAE,CAAC,CAgBxB;AAID;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAuBlE"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * lint-naming (K4) — DR-1 enforcement: flag NEW uses of a domain concept's
3
+ * forbidden aliases. Two phases, separable on purpose (see DESIGN §4-E):
4
+ *
5
+ * 1. collectNamingCandidates — DETERMINISTIC pre-filter. Regex of each
6
+ * concept's `naming.forbidden` aliases over the scanned lines. Cheap,
7
+ * read-only, no LLM, no git. Used by BOTH surfaces (MCP tool + CLI).
8
+ * 2. judgeCandidates — LLM-judge over the grey-zone candidates. Only the CLI
9
+ * (headless/CI) calls it, via the injected Anthropic seam. Inside an AI
10
+ * agent the agent IS the judge over the phase-1 candidates → no API key.
11
+ *
12
+ * Pure: no fs, no network, no git. The caller supplies the lines to scan
13
+ * (ADDED diff lines in the CLI — DR-1 is about NEW symbols; working-tree in
14
+ * MCP) and the `llm` provider. Mirrors how checker.ts injects cwd and
15
+ * review.ts injects llm (D-002/D-004: cost/network live in the CLI only).
16
+ *
17
+ * Grounding is structural, not trusted: the judge only ever sees lines WE
18
+ * found (each candidate carries its exact scanned text), so a verdict can
19
+ * never reference a line that isn't in the input. The LLM judges; it does
20
+ * not cite.
21
+ */
22
+ // ─── Phase 1: deterministic candidate collection ───────────────────────────────
23
+ function rubricFor(alias, canonical) {
24
+ return (`Is this line a NEW use of "${alias}" as a domain symbol (an identifier, field, ` +
25
+ `or variable) that should use the canonical "${canonical}" instead? A real ` +
26
+ `violation is a domain symbol. NOT a violation: a comment, a string literal, an ` +
27
+ `unrelated identifier, an external library's own field name, or a different domain ` +
28
+ `that legitimately uses the word.`);
29
+ }
30
+ function compile(src) {
31
+ try {
32
+ return new RegExp(src);
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /**
39
+ * Scan `files` for any concept's `naming.forbidden` aliases. Pure + deterministic.
40
+ * A concept opts in by carrying a `naming` block (intended for
41
+ * `type: naming-convention` concepts; presence is the signal). Invalid-regex
42
+ * aliases are skipped (author error; advisory tool never throws on input).
43
+ */
44
+ export function collectNamingCandidates(concepts, files) {
45
+ const rules = concepts
46
+ .filter((c) => c.naming !== undefined)
47
+ .map((c) => ({ concept: c, naming: c.naming }));
48
+ const candidates = [];
49
+ for (const { concept, naming } of rules) {
50
+ for (const alias of naming.forbidden) {
51
+ const re = compile(alias);
52
+ if (re === null)
53
+ continue;
54
+ for (const f of files) {
55
+ for (const ln of f.lines) {
56
+ if (!re.test(ln.text))
57
+ continue;
58
+ candidates.push({
59
+ conceptId: concept.id,
60
+ conceptName: concept.name,
61
+ term: concept.glossary_terms[0] ?? null,
62
+ canonical: naming.canonical,
63
+ alias,
64
+ file: f.file,
65
+ line: ln.n,
66
+ text: ln.text,
67
+ rubric: rubricFor(alias, naming.canonical),
68
+ });
69
+ }
70
+ }
71
+ }
72
+ }
73
+ return { candidates, rulesApplied: rules.length };
74
+ }
75
+ // ─── Phase 2: LLM-judge (CLI/API surface only) ─────────────────────────────────
76
+ export function buildNamingPrompt(c) {
77
+ return [
78
+ 'You enforce a project naming convention. Decide whether one changed line',
79
+ 'violates it by using a prohibited alias for a domain concept.',
80
+ `\nConcept: ${c.conceptName}${c.term !== null ? ` (glossary term: ${c.term})` : ''}`,
81
+ `Canonical name: ${c.canonical}`,
82
+ `Prohibited alias: ${c.alias}`,
83
+ `\nChanged line (${c.file}:${c.line}):\n${c.text}`,
84
+ `\n${c.rubric}`,
85
+ '\nReply with a JSON object {"violation": true | false, "reason": "<1-2 sentences>"}.',
86
+ ].join('\n');
87
+ }
88
+ /**
89
+ * Lenient parse: prefer an embedded JSON object `{violation, reason}`. If the
90
+ * reply is unparseable, default to NON-violation — an advisory linter must not
91
+ * fabricate a violation from noise (safe default ≠ false alarm).
92
+ */
93
+ export function parseNamingVerdict(raw) {
94
+ const text = raw.trim();
95
+ const start = text.indexOf('{');
96
+ const end = text.lastIndexOf('}');
97
+ if (start !== -1 && end > start) {
98
+ try {
99
+ const obj = JSON.parse(text.slice(start, end + 1));
100
+ if (typeof obj.violation === 'boolean') {
101
+ const reason = typeof obj.reason === 'string' && obj.reason.trim().length > 0
102
+ ? obj.reason.trim()
103
+ : '(no reason provided)';
104
+ return { violation: obj.violation, reason };
105
+ }
106
+ }
107
+ catch {
108
+ // fall through to safe default
109
+ }
110
+ }
111
+ return { violation: false, reason: 'unparseable model output' };
112
+ }
113
+ /**
114
+ * Judge each candidate with the injected `llm`. One call per candidate. LLM
115
+ * *errors* propagate (tagged file:line(alias)) so the CLI can exit non-zero;
116
+ * unparseable *replies* coerce to non-violation and continue.
117
+ */
118
+ export async function judgeCandidates(candidates, llm) {
119
+ const findings = [];
120
+ for (const c of candidates) {
121
+ let raw;
122
+ try {
123
+ raw = await llm(buildNamingPrompt(c));
124
+ }
125
+ catch (err) {
126
+ const detail = err instanceof Error ? err.message : String(err);
127
+ throw new Error(`lint-naming judge failed for ${c.file}:${c.line} (${c.alias}): ${detail}`, {
128
+ cause: err,
129
+ });
130
+ }
131
+ const { violation, reason } = parseNamingVerdict(raw);
132
+ findings.push({ ...c, violation, reason });
133
+ }
134
+ return findings;
135
+ }
136
+ // ─── Diff helper: ADDED lines with new-file line numbers ───────────────────────
137
+ /**
138
+ * Parse a unified diff into its ADDED lines with accurate new-file line numbers
139
+ * (DR-1 cares about NEW symbols). Reads `@@ -a,b +c,d @@` hunk headers to track
140
+ * the new-file counter; `+`/context lines advance it, `-` lines do not. `+++`
141
+ * file headers and `\ No newline` markers are skipped. Pure string work — the
142
+ * CLI feeds this the output of `git diff`.
143
+ */
144
+ export function parseAddedLines(unifiedDiff) {
145
+ const out = [];
146
+ let newLine = 0;
147
+ let inHunk = false;
148
+ for (const raw of unifiedDiff.split('\n')) {
149
+ const hunk = raw.match(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/);
150
+ if (hunk) {
151
+ newLine = parseInt(hunk[1], 10);
152
+ inHunk = true;
153
+ continue;
154
+ }
155
+ if (!inHunk)
156
+ continue;
157
+ if (raw.startsWith('+++'))
158
+ continue;
159
+ if (raw.startsWith('+')) {
160
+ out.push({ n: newLine, text: raw.slice(1) });
161
+ newLine++;
162
+ continue;
163
+ }
164
+ if (raw.startsWith('-'))
165
+ continue; // removed line: new-file counter unchanged
166
+ if (raw.startsWith('\\'))
167
+ continue; // ""
168
+ newLine++; // context line: advances the new-file counter
169
+ }
170
+ return out;
171
+ }
172
+ //# sourceMappingURL=lint-naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-naming.js","sourceRoot":"","sources":["../src/lint-naming.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -54,6 +54,11 @@ export declare const ParticipantSchema: z.ZodObject<{
54
54
  purpose: z.ZodString;
55
55
  }, z.core.$strip>;
56
56
  export type Participant = z.infer<typeof ParticipantSchema>;
57
+ export declare const NamingSchema: z.ZodObject<{
58
+ canonical: z.ZodString;
59
+ forbidden: z.ZodArray<z.ZodString>;
60
+ }, z.core.$strip>;
61
+ export type Naming = z.infer<typeof NamingSchema>;
57
62
  export declare const ParticipantSelectorSchema: z.ZodObject<{
58
63
  role: z.ZodOptional<z.ZodEnum<{
59
64
  writer: "writer";
@@ -282,6 +287,11 @@ export declare const ConceptSchema: z.ZodObject<{
282
287
  }>>;
283
288
  }, z.core.$strip>]>>>;
284
289
  tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
290
+ glossary_terms: z.ZodDefault<z.ZodArray<z.ZodString>>;
291
+ naming: z.ZodOptional<z.ZodObject<{
292
+ canonical: z.ZodString;
293
+ forbidden: z.ZodArray<z.ZodString>;
294
+ }, z.core.$strip>>;
285
295
  created: z.ZodString;
286
296
  last_updated: z.ZodString;
287
297
  captured_by: z.ZodOptional<z.ZodString>;
@@ -305,6 +315,7 @@ export declare const IndexEntrySchema: z.ZodObject<{
305
315
  }>;
306
316
  participants_paths: z.ZodArray<z.ZodString>;
307
317
  tags: z.ZodArray<z.ZodString>;
318
+ glossary_terms: z.ZodDefault<z.ZodArray<z.ZodString>>;
308
319
  file: z.ZodString;
309
320
  }, z.core.$strip>;
310
321
  export type IndexEntry = z.infer<typeof IndexEntrySchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAsB,CAAA;AAQjD,eAAO,MAAM,QAAQ;;;;;EAAiD,CAAA;AACtE,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE3C,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEzD,eAAO,MAAM,YAAY;;;;EAAoC,CAAA;AAC7D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEnD,eAAO,MAAM,UAAU;;;;EAAiD,CAAA;AACxE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAI/C,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,iBAAiB;;;;;;;;;iBAI5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAO3D,eAAO,MAAM,yBAAyB;;;;;;;iBAEpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAgB3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4B/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAIvD,eAAO,MAAM,YAAY;;;;;;;EAOvB,CAAA;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEnD,eAAO,MAAM,aAAa;;;;;;;;;;mBAGxB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAInD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoBxB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAInD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;iBAQ3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAsB,CAAA;AAQjD,eAAO,MAAM,QAAQ;;;;;EAAiD,CAAA;AACtE,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE3C,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEzD,eAAO,MAAM,YAAY;;;;EAAoC,CAAA;AAC7D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEnD,eAAO,MAAM,UAAU;;;;EAAiD,CAAA;AACxE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAI/C,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,iBAAiB;;;;;;;;;iBAI5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAQ3D,eAAO,MAAM,YAAY;;;iBAGvB,CAAA;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAOjD,eAAO,MAAM,yBAAyB;;;;;;;iBAEpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAgB3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4B/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAIvD,eAAO,MAAM,YAAY;;;;;;;EAOvB,CAAA;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEnD,eAAO,MAAM,aAAa;;;;;;;;;;mBAGxB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAInD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BxB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAInD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;iBAW3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
package/dist/schema.js CHANGED
@@ -36,6 +36,16 @@ export const ParticipantSchema = z.object({
36
36
  role: RoleEnum,
37
37
  purpose: z.string().min(1),
38
38
  });
39
+ // NamingSchema (K4) — declares the canonical name of a domain concept and the
40
+ // forbidden aliases for it. Only meaningful on `type: naming-convention`
41
+ // concepts; `koncepto lint-naming` reads `forbidden` as the prohibited-alias
42
+ // patterns to scan a diff for, and surfaces `canonical` as the remediation
43
+ // ("use `next_maturity`, not `maturity_date`"). Additive/optional — a concept
44
+ // without it is unchanged.
45
+ export const NamingSchema = z.object({
46
+ canonical: z.string().min(1),
47
+ forbidden: z.array(z.string().min(1)).min(1),
48
+ });
39
49
  // ParticipantSelector — selects WHICH of a concept's declared participants a
40
50
  // static check runs over (#36). v1: an optional `role` filter over the already-
41
51
  // declared participant list. Absent selector → all participants. NO filesystem
@@ -119,6 +129,14 @@ export const ConceptSchema = z.object({
119
129
  risks_if_broken: z.array(z.string().min(1)).default([]),
120
130
  related_concepts: z.array(LinkRefSchema).default([]),
121
131
  tags: z.array(z.string().min(1)).default([]),
132
+ // K3 — glossary term(s) this concept governs (closes the vocabulary↔invariant
133
+ // loop). Free strings (like tags), NOT KebabId: they map to anchors in an
134
+ // external data-dictionary whose convention koncepto does not own. Additive,
135
+ // non-breaking (default []), same as related_concepts/tags.
136
+ glossary_terms: z.array(z.string().min(1)).default([]),
137
+ // K4 — naming-convention enforcement payload (canonical + forbidden aliases).
138
+ // Optional; only read for `type: naming-convention` concepts by lint-naming.
139
+ naming: NamingSchema.optional(),
122
140
  // Provenance
123
141
  created: z.string().min(1),
124
142
  last_updated: z.string().min(1),
@@ -133,6 +151,9 @@ export const IndexEntrySchema = z.object({
133
151
  status: StatusEnum,
134
152
  participants_paths: z.array(z.string().min(1)),
135
153
  tags: z.array(z.string().min(1)),
154
+ // K3 — denormalized so MCP search/for-file surface glossary terms without
155
+ // reading the full YAML. Default [] keeps pre-K3 indexes valid.
156
+ glossary_terms: z.array(z.string().min(1)).default([]),
136
157
  file: z.string().min(1),
137
158
  });
138
159
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAA;AAEjD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE;IAC/C,OAAO,EAAE,gEAAgE;CAC1E,CAAC,CAAA;AAEF,gFAAgF;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;AAGtE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,sBAAsB;IACtB,wBAAwB;IACxB,WAAW;IACX,YAAY;IACZ,mBAAmB;CACpB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;AAG7D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA;AAGxE,gFAAgF;AAEhF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAA;AAGF,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE;CAC1B,CAAC,CAAA;AAGF,sEAAsE;AACtE,mEAAmE;AACnE,kFAAkF;AAClF,yEAAyE;AACzE,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,yEAAyE;AACzE,iFAAiF;AACjF,kEAAkE;AAClE,8DAA8D;AAC9D,6EAA6E;AAC7E,yEAAyE;AACzE,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACrC,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACxC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACvB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,IAAI,EAAE,yBAAyB,CAAC,QAAQ,EAAE;QAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACxB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACjC,IAAI,EAAE,yBAAyB,CAAC,QAAQ,EAAE;QAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5B,IAAI,EAAE,yBAAyB,CAAC,QAAQ,EAAE;QAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B,CAAC;CACH,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,YAAY;IACtB,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;CACtD,CAAC,CAAA;AAGF,gFAAgF;AAEhF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,UAAU;IACV,SAAS;CACV,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;IACnC,OAAO;IACP,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;CACjE,CAAC,CAAA;AAGF,gFAAgF;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9B,eAAe,EAAE,mBAAmB;IAEpC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAE5C,aAAa;IACb,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC,CAAA;AAGF,gFAAgF;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,UAAU;IAClB,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yourtechtribe-labs/koncept-core",
3
- "version": "0.2.0-alpha.4",
3
+ "version": "0.2.0-alpha.6",
4
4
  "description": "Core schema, parser, and indexer for koncepto semantic concept graphs.",
5
5
  "keywords": [
6
6
  "yaml",