@anarchitects/governance-core 0.0.1 → 0.0.3

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 (39) hide show
  1. package/README.md +84 -54
  2. package/dist/core/adapter.d.ts +5 -2
  3. package/dist/core/adapter.d.ts.map +1 -1
  4. package/dist/core/ai-analysis.d.ts +74 -0
  5. package/dist/core/ai-analysis.d.ts.map +1 -0
  6. package/dist/core/ai-context.d.ts +125 -0
  7. package/dist/core/ai-context.d.ts.map +1 -0
  8. package/dist/core/ai-payload.d.ts +64 -0
  9. package/dist/core/ai-payload.d.ts.map +1 -0
  10. package/dist/core/ai.d.ts +1 -1
  11. package/dist/core/assessment-artifacts.d.ts +37 -0
  12. package/dist/core/assessment-artifacts.d.ts.map +1 -0
  13. package/dist/core/assessment.d.ts +2 -2
  14. package/dist/core/built-in-rule-pack.d.ts +1 -1
  15. package/dist/core/built-in-rules.d.ts +5 -2
  16. package/dist/core/built-in-rules.d.ts.map +1 -1
  17. package/dist/core/delivery-impact.d.ts +47 -0
  18. package/dist/core/delivery-impact.d.ts.map +1 -0
  19. package/dist/core/drift.d.ts +1 -1
  20. package/dist/core/exception-runtime.d.ts +46 -0
  21. package/dist/core/exception-runtime.d.ts.map +1 -0
  22. package/dist/core/exceptions.d.ts +1 -1
  23. package/dist/core/health.d.ts +11 -0
  24. package/dist/core/health.d.ts.map +1 -0
  25. package/dist/core/index.d.ts +9 -0
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/core/metrics.d.ts +9 -0
  28. package/dist/core/metrics.d.ts.map +1 -0
  29. package/dist/core/models.d.ts +1 -1
  30. package/dist/core/rule-engine.d.ts +1 -1
  31. package/dist/core/rules.d.ts +4 -4
  32. package/dist/core/signal-builders.d.ts +42 -0
  33. package/dist/core/signal-builders.d.ts.map +1 -0
  34. package/dist/core/snapshots.d.ts +1 -1
  35. package/dist/extensions/capabilities.d.ts +1 -1
  36. package/dist/extensions/contracts.d.ts +3 -3
  37. package/dist/extensions/runtime.d.ts +4 -4
  38. package/dist/index.js +3349 -1112
  39. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@ Canonical Governance contracts, deterministic evaluation logic, and portable ext
4
4
 
5
5
  ## Overview
6
6
 
7
- `@anarchitects/governance-core` is the package that defines the Governance model layer for the Community-owned Governance package family. It owns the public contracts that adapters, hosts, and extensions normalize into, plus the deterministic logic that evaluates those contracts.
7
+ `@anarchitects/governance-core` is the package that defines the Governance model layer for the Anarchitects Governance package family. It owns the public contracts that adapters, hosts, and extensions normalize into, plus the deterministic logic that evaluates those contracts.
8
8
 
9
9
  Use this package when you need:
10
10
 
@@ -39,15 +39,39 @@ The package has a single public entrypoint:
39
39
 
40
40
  ```ts
41
41
  import {
42
+ buildDeliveryImpactAssessment,
43
+ buildCognitiveLoadContext,
44
+ buildDriftInterpretationAnalysis,
42
45
  buildGovernanceAssessment,
46
+ buildGovernanceAssessmentArtifacts,
47
+ buildGovernancePayloadTruncationMetadata,
48
+ buildGovernanceConformanceSignals,
49
+ buildGovernanceGraphSignals,
50
+ buildGovernancePolicySignals,
51
+ buildGovernanceRecommendations,
52
+ buildOnboardingContext,
53
+ buildPersistentSmellSignals,
54
+ buildPrImpactContext,
55
+ buildRecommendationsTrendContext,
56
+ buildRefactoringSuggestionsContext,
43
57
  buildGovernanceWorkspace,
44
58
  buildMetricSnapshot,
59
+ buildScopedDriftRequest,
60
+ buildScopedRootCauseRequest,
61
+ buildScopedScorecardRequest,
62
+ calculateGovernanceHealth,
63
+ calculateGovernanceMetrics,
64
+ compareGovernanceViolationsForPriority,
45
65
  compareSnapshots,
46
66
  coreBuiltInRulePack,
67
+ evaluateGovernancePolicies,
47
68
  evaluateRulePack,
69
+ buildManagementInsightsAiRequest,
48
70
  normalizeGovernanceException,
49
71
  normalizeGovernanceProfile,
50
72
  registerLoadedGovernanceExtensions,
73
+ scopeGovernanceDependencies,
74
+ sliceGovernancePayloadItems,
51
75
  type GovernanceWorkspaceAdapter,
52
76
  type GovernanceWorkspace,
53
77
  type GovernanceWorkspaceAdapterResult,
@@ -62,6 +86,8 @@ The root export currently re-exports these API groups:
62
86
  - `built-in-rule-pack`
63
87
  - `built-in-rules`
64
88
  - `drift`
89
+ - `ai-context`
90
+ - `ai-payload`
65
91
  - `models`
66
92
  - `exceptions`
67
93
  - `profile`
@@ -90,6 +116,18 @@ Core contracts include:
90
116
  Deterministic helpers include:
91
117
 
92
118
  - `buildGovernanceAssessment(...)`
119
+ - `buildGovernanceAssessmentArtifacts(...)`
120
+ - `buildGovernanceWorkspace(...)`, `buildGovernanceInventory(...)`, and `buildGovernanceWorkspaceFromAdapterResult(...)`
121
+ - `buildGovernanceGraphSignals(...)`, `buildGovernanceConformanceSignals(...)`, `buildGovernancePolicySignals(...)`, and `mergeGovernanceSignals(...)`
122
+ - `calculateGovernanceMetrics(...)`
123
+ - `calculateGovernanceHealth(...)`
124
+ - `buildGovernanceRecommendations(...)`
125
+ - `applyGovernanceExceptions(...)`, `evaluateGovernanceExceptionLifecycle(...)`, and `buildGovernanceExceptionReport(...)`
126
+ - `buildDeliveryImpactAssessment(...)` and `summarizeDeliveryImpact(...)`
127
+ - deterministic AI request builders and summarizers such as `buildRootCauseRequest(...)`, `buildPrImpactRequest(...)`, `buildScorecardRequest(...)`, `buildOnboardingRequest(...)`, `buildManagementInsightsAiRequest(...)`, `summarizeRootCause(...)`, `summarizePrImpact(...)`, `summarizeScorecard(...)`, `summarizeOnboarding(...)`, and `summarizeManagementInsights(...)`
128
+ - deterministic payload-scope helpers such as `buildGovernancePayloadTruncationMetadata(...)`, `sliceGovernancePayloadItems(...)`, `scopeGovernanceDependencies(...)`, and `compareGovernanceViolationsForPriority(...)`
129
+ - scoped AI handoff request helpers such as `buildScopedRootCauseRequest(...)`, `buildScopedDriftRequest(...)`, and `buildScopedScorecardRequest(...)`
130
+ - deterministic AI context builders such as `buildPrImpactContext(...)`, `buildCognitiveLoadContext(...)`, `buildRecommendationsTrendContext(...)`, `buildPersistentSmellSignals(...)`, `buildRefactoringSuggestionsContext(...)`, `buildOnboardingContext(...)`, and `buildDriftInterpretationAnalysis(...)`
93
131
  - `evaluateRules(...)` and `evaluateRulePack(...)`
94
132
  - `normalizeGovernanceProfile(...)`
95
133
  - `normalizeGovernanceException(...)`
@@ -105,6 +143,7 @@ Built-in Governance rule content includes:
105
143
  - `coreBuiltInRulePacks`
106
144
  - `coreBuiltInPolicyRules`
107
145
  - `evaluateCoreBuiltInPolicyViolations(...)`
146
+ - `evaluateGovernancePolicies(...)`
108
147
 
109
148
  ### Extension APIs
110
149
 
@@ -137,24 +176,22 @@ The package is designed to sit between concrete adapters and higher-level hosts:
137
176
 
138
177
  ```ts
139
178
  import {
140
- buildGovernanceAssessment,
141
- coreBuiltInRulePack,
142
- evaluateRulePack,
179
+ buildGovernanceAssessmentArtifacts,
143
180
  normalizeGovernanceProfile,
144
- type GovernanceWorkspace,
181
+ type GovernanceWorkspaceAdapterResult,
145
182
  } from '@anarchitects/governance-core';
146
183
 
147
- const workspace: GovernanceWorkspace = {
148
- id: 'demo',
149
- name: 'demo',
150
- root: '.',
184
+ const adapterResult: GovernanceWorkspaceAdapterResult = {
185
+ workspaceId: 'demo',
186
+ workspaceName: 'demo',
187
+ workspaceRoot: '.',
151
188
  projects: [],
152
189
  dependencies: [],
153
190
  };
154
191
 
155
192
  const profile = normalizeGovernanceProfile({
156
193
  name: 'default',
157
- boundaryPolicySource: 'governance',
194
+ boundaryPolicySource: 'profile',
158
195
  layers: ['app', 'domain', 'data'],
159
196
  allowedDomainDependencies: {},
160
197
  ownership: { required: false, metadataField: 'team' },
@@ -167,55 +204,48 @@ const profile = normalizeGovernanceProfile({
167
204
  metrics: {},
168
205
  });
169
206
 
170
- const ruleResult = await evaluateRulePack(coreBuiltInRulePack, {
171
- workspace,
207
+ const artifacts = await buildGovernanceAssessmentArtifacts({
208
+ workspaceAdapterResult: adapterResult,
172
209
  profile,
210
+ exceptions: [],
173
211
  });
174
212
 
175
- const assessment = buildGovernanceAssessment({
176
- workspace,
177
- profile: profile.name,
178
- violations: ruleResult.violations,
179
- measurements: [],
180
- signals: [],
181
- warnings: [],
182
- exceptions: {
183
- summary: {
184
- declaredCount: 0,
185
- matchedCount: 0,
186
- suppressedPolicyViolationCount: 0,
187
- suppressedConformanceFindingCount: 0,
188
- unusedExceptionCount: 0,
189
- activeExceptionCount: 0,
190
- staleExceptionCount: 0,
191
- expiredExceptionCount: 0,
192
- reactivatedPolicyViolationCount: 0,
193
- reactivatedConformanceFindingCount: 0,
194
- },
195
- used: [],
196
- unused: [],
197
- suppressedFindings: [],
198
- reactivatedFindings: [],
199
- },
200
- health: {
201
- score: 100,
202
- status: 'good',
203
- grade: 'A',
204
- reasons: [],
205
- hotspots: {
206
- metrics: [],
207
- projects: [],
208
- },
209
- explainability: {
210
- topIssues: [],
211
- metrics: [],
212
- projects: [],
213
- },
214
- },
215
- recommendations: [],
216
- });
213
+ console.log(artifacts.assessment.health.status);
217
214
  ```
218
215
 
216
+ ## Host Consumption Surface
217
+
218
+ Thin runtime hosts can consume the package in this order:
219
+
220
+ - normalize adapter output with `buildGovernanceWorkspace(...)` or `buildGovernanceAssessmentArtifacts(...)`
221
+ - evaluate built-in policies with `evaluateGovernancePolicies(...)`
222
+ - build canonical signals with `buildGovernanceGraphSignals(...)`, `buildGovernanceConformanceSignals(...)`, `buildGovernancePolicySignals(...)`, and `mergeGovernanceSignals(...)`
223
+ - calculate metrics and health with `calculateGovernanceMetrics(...)` and `calculateGovernanceHealth(...)`
224
+ - build recommendations with `buildGovernanceRecommendations(...)`
225
+ - apply exception lifecycle and suppression with `evaluateGovernanceExceptionLifecycle(...)`, `applyGovernanceExceptions(...)`, and `buildGovernanceExceptionReport(...)`
226
+ - build higher-level delivery and AI artifacts with `buildDeliveryImpactAssessment(...)`, `buildManagementInsightsAiRequest(...)`, `summarizeManagementInsights(...)`, and the other deterministic AI request/summarizer helpers
227
+
228
+ ## AI Host Helpers
229
+
230
+ Thin host packages can now keep AI handoff shaping in Core by composing:
231
+
232
+ - `scopeGovernanceDependencies(...)`
233
+ - `sliceGovernancePayloadItems(...)`
234
+ - `compareGovernanceViolationsForPriority(...)`
235
+ - `buildScopedRootCauseRequest(...)`
236
+ - `buildScopedDriftRequest(...)`
237
+ - `buildScopedScorecardRequest(...)`
238
+ - `buildDriftInterpretationAnalysis(...)`
239
+ - `buildPrImpactContext(...)`
240
+ - `buildCognitiveLoadContext(...)`
241
+ - `buildRecommendationsTrendContext(...)`
242
+ - `buildPersistentSmellSignals(...)`
243
+ - `buildRefactoringSuggestionsContext(...)`
244
+ - `buildOnboardingContext(...)`
245
+
246
+ These helpers are deterministic and host-independent. Hosts still own file IO,
247
+ git diffing, workspace-root path resolution, output rendering, and persistence.
248
+
219
249
  ## Package Boundaries
220
250
 
221
251
  `@anarchitects/governance-core` is platform-independent.
@@ -1,5 +1,5 @@
1
- import { GovernanceWorkspace } from './models.js';
2
- import { ProfileOverrides } from './profile.js';
1
+ import type { GovernanceWorkspace } from './models.js';
2
+ import type { ProfileOverrides } from './profile.js';
3
3
  export interface GovernanceWorkspaceAdapterResult {
4
4
  workspace?: GovernanceWorkspace;
5
5
  workspaceId?: string;
@@ -62,4 +62,7 @@ export interface GovernanceDiagnostic {
62
62
  details?: Record<string, unknown>;
63
63
  }
64
64
  export declare function buildGovernanceWorkspace(adapterResult: GovernanceWorkspaceAdapterResult, overrides?: ProfileOverrides): GovernanceWorkspace;
65
+ export declare const buildGovernanceInventory: typeof buildGovernanceWorkspace;
66
+ export declare const normalizeGovernanceWorkspace: typeof buildGovernanceWorkspace;
67
+ export declare const buildGovernanceWorkspaceFromAdapterResult: typeof buildGovernanceWorkspace;
65
68
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/core/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/core/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,gCAAgC;IAC/C,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,yCAAyC,GACjD,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,WAAW,qCAAqC;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,yCAAyC,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B,CAAC,MAAM,GAAG,OAAO;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,qCAAqC,CAAC;IAC7D,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,gCAAgC,CAAC;CAChE;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK,GAAG,OAAO;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,gCAAgC,EAC/C,SAAS,GAAE,gBAA2C,GACrD,mBAAmB,CAsDrB;AAED,eAAO,MAAM,wBAAwB,iCAA2B,CAAC;AAEjE,eAAO,MAAM,4BAA4B,iCAA2B,CAAC;AAErE,eAAO,MAAM,yCAAyC,iCAC5B,CAAC"}
@@ -0,0 +1,74 @@
1
+ import type { AiAnalysisRequest, AiAnalysisResult, GovernanceAssessment, GovernanceDependency, MetricSnapshot, SnapshotComparison, SnapshotViolation } from './models.js';
2
+ import type { DeliveryImpactAssessment } from './delivery-impact.js';
3
+ export interface BuildManagementInsightsAiRequestInput {
4
+ deliveryImpact: DeliveryImpactAssessment;
5
+ assessment?: GovernanceAssessment;
6
+ comparison?: SnapshotComparison;
7
+ generatedAt?: string;
8
+ profile?: string;
9
+ metadata?: Record<string, unknown>;
10
+ }
11
+ export declare function buildRootCauseRequest(params: {
12
+ profile: string;
13
+ snapshot: MetricSnapshot;
14
+ dependencies: GovernanceDependency[];
15
+ topViolations?: SnapshotViolation[];
16
+ metadata?: Record<string, unknown>;
17
+ }): AiAnalysisRequest;
18
+ export declare function buildPrImpactRequest(params: {
19
+ profile: string;
20
+ affectedProjects: string[];
21
+ dependencies: GovernanceDependency[];
22
+ metadata?: Record<string, unknown>;
23
+ }): AiAnalysisRequest;
24
+ export declare function buildScorecardRequest(params: {
25
+ profile: string;
26
+ snapshot: MetricSnapshot;
27
+ comparison?: SnapshotComparison;
28
+ metadata?: Record<string, unknown>;
29
+ }): AiAnalysisRequest;
30
+ export declare function buildOnboardingRequest(params: {
31
+ profile: string;
32
+ dependencies: GovernanceDependency[];
33
+ topViolations?: SnapshotViolation[];
34
+ metadata?: Record<string, unknown>;
35
+ }): AiAnalysisRequest;
36
+ export declare function buildCognitiveLoadRequest(params: {
37
+ profile: string;
38
+ affectedProjects: string[];
39
+ dependencies: GovernanceDependency[];
40
+ metadata?: Record<string, unknown>;
41
+ }): AiAnalysisRequest;
42
+ export declare function buildArchitectureRecommendationsRequest(params: {
43
+ profile: string;
44
+ dependencies: GovernanceDependency[];
45
+ topViolations?: SnapshotViolation[];
46
+ comparison?: SnapshotComparison;
47
+ metadata?: Record<string, unknown>;
48
+ }): AiAnalysisRequest;
49
+ export declare function buildSmellClustersRequest(params: {
50
+ profile: string;
51
+ dependencies: GovernanceDependency[];
52
+ topViolations?: SnapshotViolation[];
53
+ comparison?: SnapshotComparison;
54
+ metadata?: Record<string, unknown>;
55
+ }): AiAnalysisRequest;
56
+ export declare function buildRefactoringSuggestionsRequest(params: {
57
+ profile: string;
58
+ dependencies: GovernanceDependency[];
59
+ topViolations?: SnapshotViolation[];
60
+ comparison?: SnapshotComparison;
61
+ metadata?: Record<string, unknown>;
62
+ }): AiAnalysisRequest;
63
+ export declare function buildManagementInsightsAiRequest(input: BuildManagementInsightsAiRequestInput): AiAnalysisRequest;
64
+ export declare function rankTopViolations(violations: SnapshotViolation[], limit?: number): SnapshotViolation[];
65
+ export declare function summarizeRootCause(request: AiAnalysisRequest): AiAnalysisResult;
66
+ export declare function summarizePrImpact(request: AiAnalysisRequest): AiAnalysisResult;
67
+ export declare function summarizeScorecard(request: AiAnalysisRequest): AiAnalysisResult;
68
+ export declare function summarizeOnboarding(request: AiAnalysisRequest): AiAnalysisResult;
69
+ export declare function summarizeManagementInsights(request: AiAnalysisRequest): AiAnalysisResult;
70
+ export declare function summarizeArchitectureRecommendations(request: AiAnalysisRequest): AiAnalysisResult;
71
+ export declare function summarizeCognitiveLoad(request: AiAnalysisRequest): AiAnalysisResult;
72
+ export declare function summarizeSmellClusters(request: AiAnalysisRequest): AiAnalysisResult;
73
+ export declare function summarizeRefactoringSuggestions(request: AiAnalysisRequest): AiAnalysisResult;
74
+ //# sourceMappingURL=ai-analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-analysis.d.ts","sourceRoot":"","sources":["../../src/core/ai-analysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ import type { AiAnalysisRequest, AiAnalysisResult, DriftSignal, DriftSummary, GovernanceDependency, GovernanceProject, MetricSnapshot, SnapshotViolation } from './models.js';
2
+ export interface GovernancePrImpactContext {
3
+ changedFilesCount: number;
4
+ affectedProjects: string[];
5
+ affectedProjectsCount: number;
6
+ affectedDomains: string[];
7
+ affectedDomainCount: number;
8
+ scopedDependencyCount: number;
9
+ crossDomainDependencyEdges: number;
10
+ }
11
+ export interface FanoutProjectSummary {
12
+ project: string;
13
+ fanout: number;
14
+ }
15
+ export interface GovernanceCognitiveLoadContext {
16
+ scope: string;
17
+ selectedProjects: string[];
18
+ selectedProjectsCount: number;
19
+ affectedDomains: string[];
20
+ affectedDomainCount: number;
21
+ scopedDependencyCount: number;
22
+ crossDomainDependencyEdges: number;
23
+ averageFanout: number;
24
+ maxFanout: number;
25
+ topFanoutProjects: FanoutProjectSummary[];
26
+ project?: string;
27
+ domain?: string;
28
+ }
29
+ export interface GovernanceRecommendationsTrendContext {
30
+ overallTrend: DriftSignal['status'];
31
+ worseningSignalCount: number;
32
+ improvingSignalCount: number;
33
+ stableSignalCount: number;
34
+ signalCount: number;
35
+ snapshotCount: number;
36
+ trendWindowInsufficient: boolean;
37
+ }
38
+ export interface GovernancePersistentSmellSignal {
39
+ type: string;
40
+ source: string;
41
+ count: number;
42
+ }
43
+ export interface HotspotProjectSummary {
44
+ project: string;
45
+ count: number;
46
+ }
47
+ export interface GovernanceRefactoringSuggestionsContext {
48
+ analyzedViolations: number;
49
+ totalViolations: number;
50
+ hotspotProjects: HotspotProjectSummary[];
51
+ highFanoutProjects: HotspotProjectSummary[];
52
+ hotspotDomains: string[];
53
+ persistentSmellSignals: GovernancePersistentSmellSignal[];
54
+ snapshotCount: number;
55
+ sampledSnapshotCount: number;
56
+ }
57
+ export interface DomainCountSummary {
58
+ domain: string;
59
+ count: number;
60
+ }
61
+ export interface LayerCountSummary {
62
+ layer: string;
63
+ count: number;
64
+ }
65
+ export interface GovernanceOnboardingContext {
66
+ projectCount: number;
67
+ dependencyCount: number;
68
+ ownershipCoverage: number;
69
+ domainSummary: DomainCountSummary[];
70
+ layerSummary: LayerCountSummary[];
71
+ topFanoutProjects: HotspotProjectSummary[];
72
+ analyzedViolations: number;
73
+ totalViolations: number;
74
+ }
75
+ export interface BuildPrImpactContextInput {
76
+ affectedProjects: readonly string[] | readonly GovernanceProject[];
77
+ dependencies: readonly GovernanceDependency[];
78
+ projects?: readonly GovernanceProject[];
79
+ changedFiles?: readonly string[];
80
+ changedFilesCount?: number;
81
+ }
82
+ export interface BuildCognitiveLoadContextInput {
83
+ selectedProjects: readonly string[] | readonly GovernanceProject[];
84
+ dependencies: readonly GovernanceDependency[];
85
+ projects?: readonly GovernanceProject[];
86
+ scope?: string;
87
+ project?: string;
88
+ domain?: string;
89
+ topProjectsLimit?: number;
90
+ }
91
+ export interface BuildRecommendationsTrendContextInput {
92
+ signals: readonly DriftSignal[];
93
+ summary?: DriftSummary;
94
+ snapshotCount?: number;
95
+ }
96
+ export interface BuildPersistentSmellSignalsInput {
97
+ recentSnapshots: readonly MetricSnapshot[];
98
+ minimumOccurrences?: number;
99
+ }
100
+ export interface BuildRefactoringSuggestionsContextInput {
101
+ violations: readonly SnapshotViolation[];
102
+ dependencies: readonly GovernanceDependency[];
103
+ projects: readonly GovernanceProject[];
104
+ recentSnapshots?: readonly MetricSnapshot[];
105
+ topProjectsLimit?: number;
106
+ analyzedViolationsLimit?: number;
107
+ minimumPersistentOccurrences?: number;
108
+ }
109
+ export interface BuildOnboardingContextInput {
110
+ projects: readonly GovernanceProject[];
111
+ dependencies: readonly GovernanceDependency[];
112
+ topViolations?: readonly SnapshotViolation[];
113
+ topProjectsLimit?: number;
114
+ totalViolationsCount?: number;
115
+ }
116
+ export declare function summarizeDriftInterpretation(request: AiAnalysisRequest, signals: readonly DriftSignal[], summary: DriftSummary): AiAnalysisResult;
117
+ export declare const buildDriftInterpretationAnalysis: typeof summarizeDriftInterpretation;
118
+ export declare function buildPrImpactContext(input: BuildPrImpactContextInput): GovernancePrImpactContext;
119
+ export declare function buildCognitiveLoadContext(input: BuildCognitiveLoadContextInput): GovernanceCognitiveLoadContext;
120
+ export declare function countWorseningDriftSignals(signals: readonly DriftSignal[]): number;
121
+ export declare function buildRecommendationsTrendContext(input: BuildRecommendationsTrendContextInput): GovernanceRecommendationsTrendContext;
122
+ export declare function buildPersistentSmellSignals(input: BuildPersistentSmellSignalsInput): GovernancePersistentSmellSignal[];
123
+ export declare function buildRefactoringSuggestionsContext(input: BuildRefactoringSuggestionsContextInput): GovernanceRefactoringSuggestionsContext;
124
+ export declare function buildOnboardingContext(input: BuildOnboardingContextInput): GovernanceOnboardingContext;
125
+ //# sourceMappingURL=ai-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-context.d.ts","sourceRoot":"","sources":["../../src/core/ai-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import type { AiAnalysisRequest, DriftSignal, DriftSummary, GovernanceDependency, MetricSnapshot, SnapshotComparison, SnapshotViolation } from './models.js';
2
+ export interface GovernancePayloadTruncationMetadata {
3
+ totalCount: number;
4
+ selectedCount: number;
5
+ limit: number;
6
+ truncated: boolean;
7
+ }
8
+ export interface GovernancePayloadSliceResult<T> {
9
+ items: T[];
10
+ truncation: GovernancePayloadTruncationMetadata;
11
+ }
12
+ export interface RootCausePayloadScope {
13
+ projectScopeCount: number;
14
+ dependencies: GovernancePayloadTruncationMetadata;
15
+ violations: GovernancePayloadTruncationMetadata;
16
+ }
17
+ export interface DriftPayloadScope {
18
+ signals: GovernancePayloadTruncationMetadata;
19
+ metricDeltas: GovernancePayloadTruncationMetadata;
20
+ scoreDeltas: GovernancePayloadTruncationMetadata;
21
+ newViolations: GovernancePayloadTruncationMetadata;
22
+ resolvedViolations: GovernancePayloadTruncationMetadata;
23
+ }
24
+ export interface ScorecardPayloadScope {
25
+ snapshotViolations: GovernancePayloadTruncationMetadata;
26
+ metricDeltas: GovernancePayloadTruncationMetadata;
27
+ scoreDeltas: GovernancePayloadTruncationMetadata;
28
+ }
29
+ export interface ScopedGovernanceAiRequestResult<TScope> {
30
+ request: AiAnalysisRequest;
31
+ payloadScope: TScope;
32
+ }
33
+ export interface BuildScopedRootCauseRequestInput {
34
+ request: AiAnalysisRequest;
35
+ dependencies?: GovernanceDependency[];
36
+ topViolations?: SnapshotViolation[];
37
+ projectScope?: Iterable<string>;
38
+ dependencyLimit?: number;
39
+ topViolationsLimit?: number;
40
+ }
41
+ export interface BuildScopedDriftRequestInput {
42
+ request: AiAnalysisRequest;
43
+ comparison?: SnapshotComparison;
44
+ signals?: DriftSignal[];
45
+ summary?: DriftSummary;
46
+ signalLimit?: number;
47
+ deltaLimit?: number;
48
+ violationLimit?: number;
49
+ }
50
+ export interface BuildScopedScorecardRequestInput {
51
+ request: AiAnalysisRequest;
52
+ snapshot?: MetricSnapshot;
53
+ comparison?: SnapshotComparison;
54
+ violationLimit?: number;
55
+ deltaLimit?: number;
56
+ }
57
+ export declare function buildGovernancePayloadTruncationMetadata(totalCount: number, selectedCount: number, limit: number): GovernancePayloadTruncationMetadata;
58
+ export declare function sliceGovernancePayloadItems<T>(items: readonly T[], limit: number | undefined, compare: (left: T, right: T) => number): GovernancePayloadSliceResult<T>;
59
+ export declare function scopeGovernanceDependencies(dependencies: readonly GovernanceDependency[], projectScope: Iterable<string>, limit?: number): GovernancePayloadSliceResult<GovernanceDependency>;
60
+ export declare function compareGovernanceViolationsForPriority(left: SnapshotViolation, right: SnapshotViolation): number;
61
+ export declare function buildScopedRootCauseRequest(input: BuildScopedRootCauseRequestInput): ScopedGovernanceAiRequestResult<RootCausePayloadScope>;
62
+ export declare function buildScopedDriftRequest(input: BuildScopedDriftRequestInput): ScopedGovernanceAiRequestResult<DriftPayloadScope>;
63
+ export declare function buildScopedScorecardRequest(input: BuildScopedScorecardRequestInput): ScopedGovernanceAiRequestResult<ScorecardPayloadScope>;
64
+ //# sourceMappingURL=ai-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-payload.d.ts","sourceRoot":"","sources":["../../src/core/ai-payload.ts"],"names":[],"mappings":"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"}
package/dist/core/ai.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AiAnalysisRequest, AiAnalysisResult } from './models.js';
1
+ import type { AiAnalysisRequest, AiAnalysisResult } from './models.js';
2
2
  export type AiHandoffUseCase = Extract<AiAnalysisRequest['kind'], 'root-cause' | 'drift' | 'pr-impact' | 'scorecard' | 'management-insights'>;
3
3
  export interface GovernanceAiHandoffPayload<TRequest = Record<string, unknown>, TAnalysis = AiAnalysisResult> {
4
4
  useCase: AiHandoffUseCase;
@@ -0,0 +1,37 @@
1
+ import type { GovernanceCapability, GovernanceDiagnostic, GovernanceWorkspaceAdapterResult } from './adapter.js';
2
+ import { type GovernanceExceptionApplicationResult } from './exception-runtime.js';
3
+ import { type GovernanceExtensionDiagnostic, type GovernanceExtensionHostContext, type GovernanceExtensionRegistry } from '../extensions/index.js';
4
+ import type { GovernanceAssessment, GovernanceWorkspace, Measurement, Recommendation, Violation } from './models.js';
5
+ import type { GovernanceException } from './exceptions.js';
6
+ import type { GovernanceProfile } from './profile.js';
7
+ import { type GovernanceConformanceFinding, type GovernanceGraphSnapshot } from './signal-builders.js';
8
+ import type { GovernanceSignal } from './signals.js';
9
+ export interface BuildGovernanceAssessmentArtifactsInput {
10
+ profile: GovernanceProfile;
11
+ workspaceAdapterResult?: GovernanceWorkspaceAdapterResult;
12
+ workspace?: GovernanceWorkspace;
13
+ warnings?: string[];
14
+ exceptions?: GovernanceException[];
15
+ conformanceFindings?: GovernanceConformanceFinding[];
16
+ graphSnapshot?: GovernanceGraphSnapshot;
17
+ capabilities?: GovernanceCapability[];
18
+ diagnostics?: GovernanceDiagnostic[];
19
+ extensionRegistry?: GovernanceExtensionRegistry;
20
+ extensionContext?: GovernanceExtensionHostContext;
21
+ extensionDiagnostics?: GovernanceExtensionDiagnostic[];
22
+ asOf?: Date;
23
+ }
24
+ export interface GovernanceAssessmentArtifacts {
25
+ workspace: GovernanceWorkspace;
26
+ assessment: GovernanceAssessment;
27
+ violations: Violation[];
28
+ signals: GovernanceSignal[];
29
+ measurements: Measurement[];
30
+ recommendations: Recommendation[];
31
+ exceptionApplication: GovernanceExceptionApplicationResult;
32
+ extensionDiagnostics: GovernanceExtensionDiagnostic[];
33
+ capabilities: GovernanceCapability[];
34
+ diagnostics: GovernanceDiagnostic[];
35
+ }
36
+ export declare function buildGovernanceAssessmentArtifacts(input: BuildGovernanceAssessmentArtifactsInput): Promise<GovernanceAssessmentArtifacts>;
37
+ //# sourceMappingURL=assessment-artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assessment-artifacts.d.ts","sourceRoot":"","sources":["../../src/core/assessment-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gCAAgC,EACjC,MAAM,cAAc,CAAC;AAGtB,OAAO,EAIL,KAAK,oCAAoC,EAC1C,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAKL,KAAK,4BAA4B,EAEjC,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,uCAAuC;IACtD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,sBAAsB,CAAC,EAAE,gCAAgC,CAAC;IAC1D,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,mBAAmB,CAAC,EAAE,4BAA4B,EAAE,CAAC;IACrD,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,2BAA2B,CAAC;IAChD,gBAAgB,CAAC,EAAE,8BAA8B,CAAC;IAClD,oBAAoB,CAAC,EAAE,6BAA6B,EAAE,CAAC;IACvD,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,oBAAoB,CAAC;IACjC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,oBAAoB,EAAE,oCAAoC,CAAC;IAC3D,oBAAoB,EAAE,6BAA6B,EAAE,CAAC;IACtD,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAED,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,uCAAuC,GAC7C,OAAO,CAAC,6BAA6B,CAAC,CAkIxC"}
@@ -1,5 +1,5 @@
1
- import { GovernanceAssessment, GovernanceExceptionReport, GovernanceTopIssue, Measurement, MetricBreakdown, Recommendation, SignalBreakdown, Violation, GovernanceWorkspace, HealthScore } from './models.js';
2
- import { GovernanceSignal } from './signals.js';
1
+ import type { GovernanceAssessment, GovernanceExceptionReport, GovernanceTopIssue, Measurement, MetricBreakdown, Recommendation, SignalBreakdown, Violation, GovernanceWorkspace, HealthScore } from './models.js';
2
+ import type { GovernanceSignal } from './signals.js';
3
3
  export type GovernanceAssessmentReportType = 'health' | 'boundaries' | 'ownership' | 'architecture';
4
4
  export interface GovernanceAssessmentInput {
5
5
  workspace: GovernanceWorkspace;
@@ -1,4 +1,4 @@
1
- import { GovernanceRulePack } from './rules.js';
1
+ import type { GovernanceRulePack } from './rules.js';
2
2
  export declare const CORE_BUILT_IN_RULE_PACK_ID = "core";
3
3
  export declare const coreBuiltInRulePack: GovernanceRulePack;
4
4
  export declare const coreBuiltInRulePacks: GovernanceRulePack[];
@@ -1,5 +1,5 @@
1
- import { Violation } from './models.js';
2
- import { GovernanceRule, GovernanceRuleContext, GovernanceRuleResult } from './rules.js';
1
+ import type { Violation } from './models.js';
2
+ import type { GovernanceRule, GovernanceRuleContext, GovernanceRuleResult } from './rules.js';
3
3
  type SynchronousGovernanceRule<TOptions = unknown> = GovernanceRule<TOptions> & {
4
4
  evaluate(context: GovernanceRuleContext<TOptions>): GovernanceRuleResult;
5
5
  };
@@ -12,5 +12,8 @@ export declare const missingDomainRule: SynchronousGovernanceRule;
12
12
  export declare const missingLayerRule: SynchronousGovernanceRule;
13
13
  export declare const coreBuiltInPolicyRules: GovernanceRule[];
14
14
  export declare function evaluateCoreBuiltInPolicyViolations(context: GovernanceRuleContext): Violation[];
15
+ export declare function evaluateGovernancePolicies(workspace: GovernanceRuleContext['workspace'], profile: GovernanceRuleContext['profile']): Violation[];
16
+ export declare function evaluateGovernancePolicies(context: GovernanceRuleContext): Violation[];
17
+ export declare const evaluateBuiltInGovernancePolicies: typeof evaluateGovernancePolicies;
15
18
  export {};
16
19
  //# sourceMappingURL=built-in-rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"built-in-rules.d.ts","sourceRoot":"","sources":["../../src/core/built-in-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AAYhE,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,KAAK,yBAAyB,CAAC,QAAQ,GAAG,OAAO,IAC/C,cAAc,CAAC,QAAQ,CAAC,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC;CAC1E,CAAC;AAEJ,eAAO,MAAM,kBAAkB,EAAE,yBAuChC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBA+C/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,yBAqCnC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,yBAgCvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBAmC/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBA2B/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,yBA2B9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAQlD,CAAC;AAEF,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,qBAAqB,GAC7B,SAAS,EAAE,CAwFb"}
1
+ {"version":3,"file":"built-in-rules.d.ts","sourceRoot":"","sources":["../../src/core/built-in-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AAYhE,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,KAAK,yBAAyB,CAAC,QAAQ,GAAG,OAAO,IAC/C,cAAc,CAAC,QAAQ,CAAC,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC;CAC1E,CAAC;AAEJ,eAAO,MAAM,kBAAkB,EAAE,yBAuChC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBA+C/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,yBAqCnC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,yBAgCvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBAmC/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,yBA2B/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,yBA2B9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAQlD,CAAC;AAEF,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,qBAAqB,GAC7B,SAAS,EAAE,CAwFb;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACxC,SAAS,EAAE,CAAC;AACf,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,qBAAqB,GAC7B,SAAS,EAAE,CAAC;AAiBf,eAAO,MAAM,iCAAiC,mCAA6B,CAAC"}