@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
@@ -0,0 +1,47 @@
1
+ import type { GovernanceAssessment, SnapshotComparison } from './models.js';
2
+ export type GovernanceAudience = 'management' | 'technical-lead' | 'developer';
3
+ export type GovernanceInsightCategory = 'cost-of-change' | 'time-to-market' | 'delivery-risk' | 'predictability' | 'maintainability' | 'ownership' | (string & {});
4
+ export interface GovernanceInsightDriver {
5
+ id: string;
6
+ label: string;
7
+ value?: number | string;
8
+ score?: number;
9
+ unit?: 'ratio' | 'count' | 'score';
10
+ trend?: 'improving' | 'stable' | 'worsening';
11
+ explanation?: string;
12
+ }
13
+ export interface GovernanceInsight {
14
+ id: string;
15
+ audience: GovernanceAudience;
16
+ category: GovernanceInsightCategory;
17
+ severity: 'low' | 'medium' | 'high';
18
+ title: string;
19
+ summary: string;
20
+ drivers: GovernanceInsightDriver[];
21
+ relatedMeasurements: string[];
22
+ relatedSignals: string[];
23
+ relatedViolations: string[];
24
+ }
25
+ export interface DeliveryImpactIndex {
26
+ id: string;
27
+ name: string;
28
+ score: number;
29
+ risk: 'low' | 'medium' | 'high';
30
+ trend?: 'improving' | 'stable' | 'worsening';
31
+ drivers: GovernanceInsightDriver[];
32
+ }
33
+ export interface DeliveryImpactAssessment {
34
+ generatedAt: string;
35
+ profile: string;
36
+ indices: DeliveryImpactIndex[];
37
+ insights: GovernanceInsight[];
38
+ drivers: GovernanceInsightDriver[];
39
+ }
40
+ export interface BuildDeliveryImpactAssessmentInput {
41
+ assessment: GovernanceAssessment;
42
+ comparison?: SnapshotComparison;
43
+ }
44
+ export declare function buildDeliveryImpactAssessment(input: BuildDeliveryImpactAssessmentInput): DeliveryImpactAssessment;
45
+ export declare const calculateDeliveryImpact: typeof buildDeliveryImpactAssessment;
46
+ export declare function summarizeDeliveryImpact(assessment: DeliveryImpactAssessment): string;
47
+ //# sourceMappingURL=delivery-impact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-impact.d.ts","sourceRoot":"","sources":["../../src/core/delivery-impact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAIpB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,yBAAyB,GACjC,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,WAAW,GACX,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACnC,KAAK,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC7C,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,kCAAkC;IACjD,UAAU,EAAE,oBAAoB,CAAC;IACjC,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAYD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,kCAAkC,GACxC,wBAAwB,CAqB1B;AAED,eAAO,MAAM,uBAAuB,sCAAgC,CAAC;AAErE,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,wBAAwB,GACnC,MAAM,CAiBR"}
@@ -1,4 +1,4 @@
1
- import { DriftSignal, DriftSummary, MetricSnapshot, SnapshotComparison } from './models.js';
1
+ import type { DriftSignal, DriftSummary, MetricSnapshot, SnapshotComparison } from './models.js';
2
2
  export declare function compareSnapshots(baseline: MetricSnapshot, current: MetricSnapshot): SnapshotComparison;
3
3
  export declare function summarizeDrift(comparison: SnapshotComparison, threshold?: number): DriftSignal[];
4
4
  export declare function buildDriftSummary(signals: DriftSignal[]): DriftSummary;
@@ -0,0 +1,46 @@
1
+ import type { GovernanceExceptionReport, GovernanceExceptionStatus, Violation } from './models.js';
2
+ import { type GovernanceException } from './exceptions.js';
3
+ import type { GovernanceConformanceFinding } from './signal-builders.js';
4
+ export interface GovernanceExceptionLifecycle {
5
+ exception: GovernanceException;
6
+ status: GovernanceExceptionStatus;
7
+ }
8
+ export interface GovernanceExceptionMatch {
9
+ exceptionId: string;
10
+ scopeKey: string;
11
+ specificity: number;
12
+ }
13
+ export interface GovernanceAppliedFinding<T> {
14
+ finding: T;
15
+ outcome: 'active' | 'suppressed';
16
+ matchedExceptionId?: string;
17
+ matchedExceptionStatus?: GovernanceExceptionStatus;
18
+ }
19
+ export interface GovernanceSuppressedFinding<T> {
20
+ finding: T;
21
+ outcome: 'suppressed';
22
+ matchedExceptionId: string;
23
+ }
24
+ export interface GovernanceExceptionApplicationResult {
25
+ declaredExceptions: GovernanceException[];
26
+ exceptionStatuses: Record<string, GovernanceExceptionStatus>;
27
+ policyViolations: GovernanceAppliedFinding<Violation>[];
28
+ conformanceFindings: GovernanceAppliedFinding<GovernanceConformanceFinding>[];
29
+ activePolicyViolations: Violation[];
30
+ suppressedPolicyViolations: GovernanceSuppressedFinding<Violation>[];
31
+ reactivatedPolicyViolations: GovernanceAppliedFinding<Violation>[];
32
+ activeConformanceFindings: GovernanceConformanceFinding[];
33
+ suppressedConformanceFindings: GovernanceSuppressedFinding<GovernanceConformanceFinding>[];
34
+ reactivatedConformanceFindings: GovernanceAppliedFinding<GovernanceConformanceFinding>[];
35
+ }
36
+ export interface ApplyGovernanceExceptionsInput {
37
+ exceptions: GovernanceException[];
38
+ policyViolations: Violation[];
39
+ conformanceFindings: GovernanceConformanceFinding[];
40
+ asOf: Date;
41
+ }
42
+ export declare function evaluateGovernanceExceptionLifecycle(exception: GovernanceException, asOf: Date): GovernanceExceptionLifecycle;
43
+ export declare function applyGovernanceExceptions(input: ApplyGovernanceExceptionsInput): GovernanceExceptionApplicationResult;
44
+ export declare function buildGovernanceExceptionReport(application: GovernanceExceptionApplicationResult): GovernanceExceptionReport;
45
+ export declare function createEmptyGovernanceExceptionReport(): GovernanceExceptionReport;
46
+ //# sourceMappingURL=exception-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception-runtime.d.ts","sourceRoot":"","sources":["../../src/core/exception-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,yBAAyB,EAEzB,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,mBAAmB,EAKzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEzE,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,mBAAmB,CAAC;IAC/B,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,yBAAyB,CAAC;CACpD;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,YAAY,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oCAAoC;IACnD,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;IAC1C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC7D,gBAAgB,EAAE,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;IACxD,mBAAmB,EAAE,wBAAwB,CAAC,4BAA4B,CAAC,EAAE,CAAC;IAC9E,sBAAsB,EAAE,SAAS,EAAE,CAAC;IACpC,0BAA0B,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAAE,CAAC;IACrE,2BAA2B,EAAE,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;IACnE,yBAAyB,EAAE,4BAA4B,EAAE,CAAC;IAC1D,6BAA6B,EAAE,2BAA2B,CAAC,4BAA4B,CAAC,EAAE,CAAC;IAC3F,8BAA8B,EAAE,wBAAwB,CAAC,4BAA4B,CAAC,EAAE,CAAC;CAC1F;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,mBAAmB,EAAE,4BAA4B,EAAE,CAAC;IACpD,IAAI,EAAE,IAAI,CAAC;CACZ;AAaD,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,IAAI,GACT,4BAA4B,CAsB9B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,GACpC,oCAAoC,CAgDtC;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,oCAAoC,GAChD,yBAAyB,CA0E3B;AAED,wBAAgB,oCAAoC,IAAI,yBAAyB,CAShF"}
@@ -1,4 +1,4 @@
1
- import { GovernanceConformanceCategory } from './signals.js';
1
+ import type { GovernanceConformanceCategory } from './signals.js';
2
2
  export type GovernanceExceptionSource = 'policy' | 'conformance';
3
3
  export interface GovernanceExceptionReview {
4
4
  createdAt?: string;
@@ -0,0 +1,11 @@
1
+ import type { GovernanceTopIssue, HealthScore, HealthStatusThresholds, Measurement, Recommendation, Violation } from './models.js';
2
+ export type MetricWeights = Partial<Record<Measurement['id'], number>>;
3
+ export interface GovernanceHealthExplainabilityInput {
4
+ topIssues?: GovernanceTopIssue[];
5
+ projectHotspotLimit?: number;
6
+ }
7
+ export declare function calculateGovernanceHealth(measurements: Measurement[], metricWeights?: MetricWeights, statusThresholds?: Partial<HealthStatusThresholds>, explainabilityInput?: GovernanceHealthExplainabilityInput): HealthScore;
8
+ export declare const calculateHealthScore: typeof calculateGovernanceHealth;
9
+ export declare function buildGovernanceRecommendations(violations: Violation[], measurements: Measurement[]): Recommendation[];
10
+ export declare const buildRecommendations: typeof buildGovernanceRecommendations;
11
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/core/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAGlB,WAAW,EAEX,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvE,MAAM,WAAW,mCAAmC;IAClD,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,WAAW,EAAE,EAC3B,aAAa,GAAE,aAAkB,EACjC,gBAAgB,GAAE,OAAO,CAAC,sBAAsB,CAAoC,EACpF,mBAAmB,GAAE,mCAAwC,GAC5D,WAAW,CAiCb;AAED,eAAO,MAAM,oBAAoB,kCAA4B,CAAC;AAE9D,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,SAAS,EAAE,EACvB,YAAY,EAAE,WAAW,EAAE,GAC1B,cAAc,EAAE,CAwClB;AAED,eAAO,MAAM,oBAAoB,uCAAiC,CAAC"}
@@ -1,14 +1,23 @@
1
1
  export * from './adapter.js';
2
+ export * from './ai-analysis.js';
3
+ export * from './ai-context.js';
4
+ export * from './ai-payload.js';
2
5
  export * from './assessment.js';
6
+ export * from './assessment-artifacts.js';
3
7
  export * from './ai.js';
4
8
  export * from './built-in-rule-pack.js';
5
9
  export * from './built-in-rules.js';
10
+ export * from './delivery-impact.js';
6
11
  export * from './drift.js';
12
+ export * from './exception-runtime.js';
7
13
  export * from './models.js';
8
14
  export * from './exceptions.js';
15
+ export * from './health.js';
16
+ export * from './metrics.js';
9
17
  export * from './profile.js';
10
18
  export * from './rule-engine.js';
11
19
  export * from './rules.js';
20
+ export * from './signal-builders.js';
12
21
  export * from './signals.js';
13
22
  export * from './snapshots.js';
14
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Measurement, GovernanceWorkspace } from './models.js';
2
+ import type { GovernanceSignal } from './signals.js';
3
+ export interface CalculateGovernanceMetricsInput {
4
+ workspace: GovernanceWorkspace;
5
+ signals: GovernanceSignal[];
6
+ }
7
+ export declare function calculateGovernanceMetrics(input: CalculateGovernanceMetricsInput): Measurement[];
8
+ export declare const calculateMetrics: typeof calculateGovernanceMetrics;
9
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQrD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,+BAA+B,GACrC,WAAW,EAAE,CA0Ef;AAED,eAAO,MAAM,gBAAgB,mCAA6B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { GovernanceSignalCategory, GovernanceSignalSeverity, GovernanceSignalSource, GovernanceSignalType } from './signals.js';
1
+ import type { GovernanceSignalCategory, GovernanceSignalSeverity, GovernanceSignalSource, GovernanceSignalType } from './signals.js';
2
2
  export interface GovernanceWorkspace {
3
3
  id: string;
4
4
  name: string;
@@ -1,4 +1,4 @@
1
- import { GovernanceRule, GovernanceRuleContext, GovernanceRuleExecutionResult, GovernanceRulePack } from './rules.js';
1
+ import type { GovernanceRule, GovernanceRuleContext, GovernanceRuleExecutionResult, GovernanceRulePack } from './rules.js';
2
2
  export declare function evaluateRules<TOptions = unknown>(rules: GovernanceRule<TOptions>[], context: GovernanceRuleContext<TOptions>): Promise<GovernanceRuleExecutionResult>;
3
3
  export declare function evaluateRulePack<TOptions = unknown>(rulePack: GovernanceRulePack<TOptions>, context: GovernanceRuleContext<TOptions>): Promise<GovernanceRuleExecutionResult>;
4
4
  //# sourceMappingURL=rule-engine.d.ts.map
@@ -1,7 +1,7 @@
1
- import { GovernanceCapability, GovernanceDiagnostic } from './adapter.js';
2
- import { Measurement, Violation, GovernanceWorkspace } from './models.js';
3
- import { GovernanceProfile } from './profile.js';
4
- import { GovernanceSignal } from './signals.js';
1
+ import type { GovernanceCapability, GovernanceDiagnostic } from './adapter.js';
2
+ import type { Measurement, Violation, GovernanceWorkspace } from './models.js';
3
+ import type { GovernanceProfile } from './profile.js';
4
+ import type { GovernanceSignal } from './signals.js';
5
5
  export type GovernanceRuleSeverity = Violation['severity'];
6
6
  export type GovernanceRuleCategory = Violation['category'] | 'convention' | 'metadata' | 'structure' | 'snapshot' | 'drift' | 'ai' | (string & {});
7
7
  export interface GovernanceRuleContext<TOptions = unknown> {
@@ -0,0 +1,42 @@
1
+ import type { Violation } from './models.js';
2
+ import type { GovernanceSignal, GovernanceSignalCategory, GovernanceSignalSeverity } from './signals.js';
3
+ export interface GovernanceGraphSnapshotProject {
4
+ id: string;
5
+ domain?: string;
6
+ }
7
+ export interface GovernanceGraphSnapshotDependency {
8
+ sourceProjectId: string;
9
+ targetProjectId: string;
10
+ type?: string;
11
+ }
12
+ export interface GovernanceGraphSnapshot {
13
+ extractedAt: string;
14
+ projects: GovernanceGraphSnapshotProject[];
15
+ dependencies: GovernanceGraphSnapshotDependency[];
16
+ }
17
+ export interface GovernanceConformanceFinding {
18
+ ruleId?: string;
19
+ projectId?: string;
20
+ relatedProjectIds: string[];
21
+ category: GovernanceSignalCategory;
22
+ severity: GovernanceSignalSeverity;
23
+ message: string;
24
+ metadata?: Record<string, unknown>;
25
+ }
26
+ export interface GovernanceConformanceSnapshot {
27
+ extractedAt: string;
28
+ findings: GovernanceConformanceFinding[];
29
+ }
30
+ export interface BuildGovernanceSignalsOptions {
31
+ graphSnapshot: GovernanceGraphSnapshot;
32
+ conformanceSnapshot?: GovernanceConformanceSnapshot;
33
+ policyViolations?: Violation[];
34
+ }
35
+ export declare function buildGovernanceGraphSignals(snapshot: GovernanceGraphSnapshot): GovernanceSignal[];
36
+ export declare function buildGovernanceConformanceSignals(snapshot: GovernanceConformanceSnapshot): GovernanceSignal[];
37
+ export declare function buildGovernancePolicySignals(violations: Violation[], options?: {
38
+ createdAt?: string;
39
+ }): GovernanceSignal[];
40
+ export declare function buildGovernanceSignals(options: BuildGovernanceSignalsOptions): GovernanceSignal[];
41
+ export declare function mergeGovernanceSignals(...signalGroups: GovernanceSignal[][]): GovernanceSignal[];
42
+ //# sourceMappingURL=signal-builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-builders.d.ts","sourceRoot":"","sources":["../../src/core/signal-builders.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,8BAA8B;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iCAAiC;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,8BAA8B,EAAE,CAAC;IAC3C,YAAY,EAAE,iCAAiC,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,wBAAwB,CAAC;IACnC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,4BAA4B,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,uBAAuB,CAAC;IACvC,mBAAmB,CAAC,EAAE,6BAA6B,CAAC;IACpD,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;CAChC;AA8BD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,uBAAuB,GAChC,gBAAgB,EAAE,CA2EpB;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,6BAA6B,GACtC,gBAAgB,EAAE,CAMpB;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,gBAAgB,EAAE,CAMpB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,gBAAgB,EAAE,CAYpB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,YAAY,EAAE,gBAAgB,EAAE,EAAE,GACpC,gBAAgB,EAAE,CAUpB"}
@@ -1,4 +1,4 @@
1
- import { GovernanceAssessment, MetricSnapshot, SnapshotDeliveryImpactSummary } from './models.js';
1
+ import type { GovernanceAssessment, MetricSnapshot, SnapshotDeliveryImpactSummary } from './models.js';
2
2
  export interface GovernanceSnapshotMetadata {
3
3
  timestamp: string;
4
4
  repo: string;
@@ -1,4 +1,4 @@
1
- import { GovernanceCapability } from '../core/index.js';
1
+ import type { GovernanceCapability } from '../core/index.js';
2
2
  export interface GovernanceCapabilityRegistry {
3
3
  has(id: string): boolean;
4
4
  get<TData = unknown>(id: string): GovernanceCapability<TData> | undefined;
@@ -1,6 +1,6 @@
1
- import { GovernanceProfile, GovernanceWorkspace, Measurement, Violation } from '../core/index.js';
2
- import { GovernanceSignal } from '../core/signals.js';
3
- import { GovernanceCapabilityRegistry } from './capabilities.js';
1
+ import type { GovernanceProfile, GovernanceWorkspace, Measurement, Violation } from '../core/index.js';
2
+ import type { GovernanceSignal } from '../core/signals.js';
3
+ import type { GovernanceCapabilityRegistry } from './capabilities.js';
4
4
  export interface GovernanceExtensionHostContext {
5
5
  workspaceRoot: string;
6
6
  profileName: string;
@@ -1,7 +1,7 @@
1
- import { GovernanceWorkspace, Measurement, Violation } from '../core/index.js';
2
- import { GovernanceSignal } from '../core/signals.js';
3
- import { GovernanceExtensionDefinition, GovernanceExtensionHost as GovernanceExtensionHostContract, GovernanceExtensionHostContext, GovernanceMetricProvider, GovernanceMetricProviderInput, GovernanceExtensionRulePack, GovernanceRulePackInput, GovernanceSignalProvider, GovernanceSignalProviderInput, GovernanceWorkspaceEnricher, GovernanceWorkspaceEnricherInput } from './contracts.js';
4
- import { GovernanceExtensionDiagnostic } from './diagnostics.js';
1
+ import type { GovernanceWorkspace, Measurement, Violation } from '../core/index.js';
2
+ import type { GovernanceSignal } from '../core/signals.js';
3
+ import type { GovernanceExtensionDefinition, GovernanceExtensionHost as GovernanceExtensionHostContract, GovernanceExtensionHostContext, GovernanceMetricProvider, GovernanceMetricProviderInput, GovernanceExtensionRulePack, GovernanceRulePackInput, GovernanceSignalProvider, GovernanceSignalProviderInput, GovernanceWorkspaceEnricher, GovernanceWorkspaceEnricherInput } from './contracts.js';
4
+ import type { GovernanceExtensionDiagnostic } from './diagnostics.js';
5
5
  interface RegisteredGovernanceContribution<T> {
6
6
  pluginId: string;
7
7
  contribution: T;