arkgate 4.8.2 → 4.8.4

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 (73) hide show
  1. package/CHANGELOG.md +257 -3
  2. package/README.md +47 -9
  3. package/bin/ark-check-runtime.mjs +340 -5
  4. package/bin/ark-layer-match.mjs +170 -13
  5. package/bin/ark-mcp-runtime.mjs +9 -2
  6. package/bin/lib/analysis-completeness.mjs +86 -0
  7. package/bin/lib/analysis-engine.mjs +6 -6
  8. package/bin/lib/architecture-scan.mjs +2 -0
  9. package/bin/lib/ark-order-facts.mjs +59 -0
  10. package/bin/lib/ark-order-sensors.mjs +31 -2
  11. package/bin/lib/arkrule-file-hints.mjs +6 -2
  12. package/bin/lib/arkrules-contract.mjs +9 -1
  13. package/bin/lib/arkrules-sensors.mjs +22 -2
  14. package/bin/lib/check-args.mjs +66 -0
  15. package/bin/lib/config-contract.mjs +26 -0
  16. package/bin/lib/config-extras.mjs +2 -0
  17. package/bin/lib/design-smells.mjs +85 -0
  18. package/bin/lib/diagnostic-catalog.mjs +8 -2
  19. package/bin/lib/first-run-help.mjs +12 -0
  20. package/bin/lib/invariant-coverage-io.mjs +175 -19
  21. package/bin/lib/invariant-coverage.mjs +110 -7
  22. package/bin/lib/literal-path-drift-io.mjs +569 -0
  23. package/bin/lib/literal-path-drift.mjs +761 -0
  24. package/bin/lib/policy-delta-io.mjs +5 -0
  25. package/bin/lib/remediation.mjs +24 -1
  26. package/bin/lib/resolved-candidate-facts.mjs +31 -0
  27. package/bin/lib/rules-under-contract.mjs +5 -0
  28. package/bin/lib/scan-files.mjs +54 -0
  29. package/bin/lib/sensor-promote-cli.mjs +372 -0
  30. package/bin/lib/sensor-promote-io.mjs +246 -0
  31. package/bin/lib/sensor-promotion.mjs +363 -0
  32. package/dist/{configTypes-BdCe_gvv.d.ts → configTypes-dy5PfTqS.d.ts} +36 -0
  33. package/dist/{diagnosticCatalog-CPzH-MLN.d.ts → diagnosticCatalog-DgTs0abp.d.ts} +169 -11
  34. package/dist/eslint/index.cjs +5 -5
  35. package/dist/eslint/index.d.ts +34 -1
  36. package/dist/eslint/index.js +5 -5
  37. package/dist/index.cjs +31 -31
  38. package/dist/index.d.ts +85 -7
  39. package/dist/index.js +31 -31
  40. package/dist/nestjs/index.cjs +5 -5
  41. package/dist/nestjs/index.d.ts +3 -3
  42. package/dist/nestjs/index.js +5 -5
  43. package/dist/runtime/index.cjs +13 -13
  44. package/dist/runtime/index.d.ts +6 -6
  45. package/dist/runtime/index.js +13 -13
  46. package/dist/{types-DCSlrRnV.d.ts → types-BuM8WNqe.d.ts} +1 -1
  47. package/dist/{types-C9KApBzX.d.ts → types-D95drJ3_.d.ts} +1 -1
  48. package/docs/README.md +4 -4
  49. package/docs/agent-guide.md +182 -0
  50. package/docs/configuration.md +89 -9
  51. package/docs/develop.md +24 -2
  52. package/docs/diagnostics.md +79 -1
  53. package/docs/enthusiast/README.md +6 -4
  54. package/docs/package-surface.md +36 -4
  55. package/docs/product-voice.md +15 -5
  56. package/docs/use.md +8 -5
  57. package/package.json +2 -2
  58. package/schemas/ark.arkrules.schema.json +1 -0
  59. package/schemas/ark.config.schema.json +72 -0
  60. package/schemas/ark.resolved-candidate-facts.schema.json +1 -1
  61. package/server.json +3 -3
  62. package/templates/agent-skills/README.md +1 -1
  63. package/templates/agent-skills/ark-adopt/SKILL.md +13 -3
  64. package/templates/agent-skills/ark-autopilot/SKILL.md +1 -1
  65. package/templates/agent-skills/ark-contract/SKILL.md +4 -0
  66. package/templates/agent-skills/ark-coverage/SKILL.md +1 -0
  67. package/templates/agent-skills/ark-place/SKILL.md +6 -2
  68. package/templates/arkrules/ApplicationOrchestration.json +6 -0
  69. package/templates/skills/ark-adopt.md +13 -3
  70. package/templates/skills/ark-autopilot.md +1 -1
  71. package/templates/skills/ark-contract.md +4 -0
  72. package/templates/skills/ark-coverage.md +1 -0
  73. package/templates/skills/ark-place.md +6 -2
@@ -1,5 +1,5 @@
1
- import { e as CreateArchitectureProfileOptions, b as ArchitectureProfile, d as ArkCheckConfig, C as CreateArchitectureProfileFromArkConfigOptions, f as CreateElevenLayerArkConfigOptions, i as Policy, j as IntentCreator, I as IntentName } from './types-DCSlrRnV.js';
2
- import { A as ArkConfig, c as ArkConfigLoadResult } from './configTypes-BdCe_gvv.js';
1
+ import { e as CreateArchitectureProfileOptions, b as ArchitectureProfile, d as ArkCheckConfig, C as CreateArchitectureProfileFromArkConfigOptions, f as CreateElevenLayerArkConfigOptions, i as Policy, j as IntentCreator, I as IntentName } from './types-BuM8WNqe.js';
2
+ import { A as ArkConfig, c as ArkConfigLoadResult } from './configTypes-dy5PfTqS.js';
3
3
 
4
4
  /** Versioned public result contract shared by every ArkGate enforcement adapter. */
5
5
  /**
@@ -409,7 +409,7 @@ declare const ARK_ANALYSIS_RESULT_SCHEMA: {
409
409
  };
410
410
 
411
411
  /** ArkGate library version — single source of truth. */
412
- declare const version = "4.8.2";
412
+ declare const version = "4.8.4";
413
413
 
414
414
  /**
415
415
  * AI Code Gate (basic).
@@ -573,6 +573,20 @@ type ResolvedArkOrderRootHitFact = {
573
573
  matchedRoot: string;
574
574
  hasPlaneFactory: boolean;
575
575
  };
576
+ type ResolvedArkOrderXiFieldWriteFact = {
577
+ file: string;
578
+ line: number;
579
+ key: string;
580
+ };
581
+ type ResolvedArkOrderIngestWriteFact = {
582
+ file: string;
583
+ line: number;
584
+ };
585
+ type ResolvedArkOrderReleaseKeyCountFact = {
586
+ file: string;
587
+ line: number;
588
+ keyCount: number;
589
+ };
576
590
 
577
591
  /**
578
592
  * Versioned type vocabulary for resolved candidate facts (schema 1.0).
@@ -724,8 +738,11 @@ type ResolvedCandidateFactsInput = {
724
738
  arkOrderPlaneCalls?: readonly ResolvedArkOrderPlaneCallFact[];
725
739
  arkOrderGenericUpdates?: readonly ResolvedArkOrderGenericUpdateFact[];
726
740
  arkOrderRootHits?: readonly ResolvedArkOrderRootHitFact[];
741
+ arkOrderXiFieldWrites?: readonly ResolvedArkOrderXiFieldWriteFact[];
742
+ arkOrderIngestWritesXi?: readonly ResolvedArkOrderIngestWriteFact[];
743
+ arkOrderReleaseKeyCounts?: readonly ResolvedArkOrderReleaseKeyCountFact[];
727
744
  };
728
- type ResolvedCandidateFacts = Omit<ResolvedCandidateFactsInput, 'candidateTreeHash' | 'classShapes' | 'arkRunKernelCalls' | 'arkOrderPlaneCalls' | 'arkOrderGenericUpdates' | 'arkOrderRootHits' | 'arkRunManagedNews' | 'arkRunCompositionRootHits' | 'arkRunDeclarations'> & {
745
+ type ResolvedCandidateFacts = Omit<ResolvedCandidateFactsInput, 'candidateTreeHash' | 'classShapes' | 'arkRunKernelCalls' | 'arkOrderPlaneCalls' | 'arkOrderGenericUpdates' | 'arkOrderXiFieldWrites' | 'arkOrderIngestWritesXi' | 'arkOrderReleaseKeyCounts' | 'arkOrderRootHits' | 'arkRunManagedNews' | 'arkRunCompositionRootHits' | 'arkRunDeclarations'> & {
729
746
  schemaVersion: typeof RESOLVED_CANDIDATE_FACTS_SCHEMA_VERSION;
730
747
  completenessReasons: ResolvedFactsReason[];
731
748
  candidateTreeHash: string;
@@ -744,6 +761,9 @@ type ResolvedCandidateFacts = Omit<ResolvedCandidateFactsInput, 'candidateTreeHa
744
761
  arkOrderPlaneCalls: ResolvedArkOrderPlaneCallFact[];
745
762
  arkOrderGenericUpdates: ResolvedArkOrderGenericUpdateFact[];
746
763
  arkOrderRootHits: ResolvedArkOrderRootHitFact[];
764
+ arkOrderXiFieldWrites: ResolvedArkOrderXiFieldWriteFact[];
765
+ arkOrderIngestWritesXi: ResolvedArkOrderIngestWriteFact[];
766
+ arkOrderReleaseKeyCounts: ResolvedArkOrderReleaseKeyCountFact[];
747
767
  factsHash: string;
748
768
  };
749
769
 
@@ -1388,6 +1408,71 @@ declare const RESOLVED_CANDIDATE_FACTS_SCHEMA: {
1388
1408
  };
1389
1409
  };
1390
1410
  };
1411
+ readonly arkOrderXiFieldWrites: {
1412
+ readonly type: "array";
1413
+ readonly items: {
1414
+ readonly type: "object";
1415
+ readonly additionalProperties: false;
1416
+ readonly required: readonly ["file", "line", "key"];
1417
+ readonly properties: {
1418
+ readonly file: {
1419
+ readonly type: "string";
1420
+ readonly minLength: 1;
1421
+ readonly pattern: "^(?!/)(?![A-Za-z]:/)(?!.*\\\\)(?!.*//)(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*[\\u0000-\\u001f\\u007f])(?!.*\\/$).+$";
1422
+ };
1423
+ readonly line: {
1424
+ readonly type: "integer";
1425
+ readonly minimum: 1;
1426
+ };
1427
+ readonly key: {
1428
+ readonly type: "string";
1429
+ readonly minLength: 1;
1430
+ };
1431
+ };
1432
+ };
1433
+ };
1434
+ readonly arkOrderIngestWritesXi: {
1435
+ readonly type: "array";
1436
+ readonly items: {
1437
+ readonly type: "object";
1438
+ readonly additionalProperties: false;
1439
+ readonly required: readonly ["file", "line"];
1440
+ readonly properties: {
1441
+ readonly file: {
1442
+ readonly type: "string";
1443
+ readonly minLength: 1;
1444
+ readonly pattern: "^(?!/)(?![A-Za-z]:/)(?!.*\\\\)(?!.*//)(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*[\\u0000-\\u001f\\u007f])(?!.*\\/$).+$";
1445
+ };
1446
+ readonly line: {
1447
+ readonly type: "integer";
1448
+ readonly minimum: 1;
1449
+ };
1450
+ };
1451
+ };
1452
+ };
1453
+ readonly arkOrderReleaseKeyCounts: {
1454
+ readonly type: "array";
1455
+ readonly items: {
1456
+ readonly type: "object";
1457
+ readonly additionalProperties: false;
1458
+ readonly required: readonly ["file", "line", "keyCount"];
1459
+ readonly properties: {
1460
+ readonly file: {
1461
+ readonly type: "string";
1462
+ readonly minLength: 1;
1463
+ readonly pattern: "^(?!/)(?![A-Za-z]:/)(?!.*\\\\)(?!.*//)(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*[\\u0000-\\u001f\\u007f])(?!.*\\/$).+$";
1464
+ };
1465
+ readonly line: {
1466
+ readonly type: "integer";
1467
+ readonly minimum: 1;
1468
+ };
1469
+ readonly keyCount: {
1470
+ readonly type: "integer";
1471
+ readonly minimum: 1;
1472
+ };
1473
+ };
1474
+ };
1475
+ };
1391
1476
  readonly factsHash: {
1392
1477
  readonly type: "string";
1393
1478
  readonly minLength: 1;
@@ -1598,7 +1683,7 @@ declare function collectForbiddenCapabilityUses(ts: any, sourceFile: any, forbid
1598
1683
  * ./arkRulesContract.ts so generate:cli-pure can emit a self-contained artifact.
1599
1684
  */
1600
1685
  /** Closed sensor vocabulary (ADR 0013). Unknown sensors fail closed at load time. */
1601
- declare const ARK_RULE_SENSOR_IDS: readonly ["aggregate-private-state", "always-valid-factory", "domain-event-on-mutation", "orchestration-only", "thin-adapter", "no-anemic-model", "invariant-coverage"];
1686
+ declare const ARK_RULE_SENSOR_IDS: readonly ["aggregate-private-state", "always-valid-factory", "domain-event-on-mutation", "orchestration-only", "thin-adapter", "writes-via-aggregate", "no-anemic-model", "invariant-coverage"];
1602
1687
  type ArkRuleSensorId = (typeof ARK_RULE_SENSOR_IDS)[number];
1603
1688
  type ArkRuleMode = 'advisory' | 'enforced';
1604
1689
  type ArkRuleStructureEntry = {
@@ -1668,10 +1753,21 @@ type InvariantCoverageEvidence = {
1668
1753
  /** When no test globs were supplied, coverage cannot be proven. */
1669
1754
  partial: boolean;
1670
1755
  description: string;
1756
+ /** Test file that supplied the `test-title` evidence, when there was one. */
1757
+ testEvidenceFile?: string;
1758
+ /**
1759
+ * The only covering test found sits outside `coverage.coverageRoots` — the
1760
+ * places the project declares its runner executes. ArkGate never runs tests,
1761
+ * so a title match outside those roots is a test that exists, not a test that
1762
+ * runs. Absent (undefined) when no roots were declared: without a declaration
1763
+ * there is nothing to compare against, and silence is honest.
1764
+ */
1765
+ outsideDeclaredRoots?: boolean;
1671
1766
  };
1672
1767
  type InvariantUncoveredKind = 'never-had-tests' | 'tests-disappeared';
1768
+ type InvariantCoverageRuleId = 'INVARIANT_UNCOVERED' | 'INVARIANT_COVERAGE_OUTSIDE_ROOTS';
1673
1769
  type InvariantCoverageViolation = {
1674
- ruleId: 'INVARIANT_UNCOVERED';
1770
+ ruleId: InvariantCoverageRuleId;
1675
1771
  message: string;
1676
1772
  file: string;
1677
1773
  line: number;
@@ -1680,8 +1776,12 @@ type InvariantCoverageViolation = {
1680
1776
  fromLayer: string;
1681
1777
  severity: 'error' | 'warning';
1682
1778
  failsStrict: boolean;
1683
- /** Adopt residual (no test suite) vs regression (suite exists, coverage gone). */
1684
- kind: InvariantUncoveredKind;
1779
+ /**
1780
+ * Adopt residual (no test suite) vs regression (suite exists, coverage gone).
1781
+ * Only INVARIANT_UNCOVERED carries it: an outside-roots finding is about
1782
+ * WHERE the covering test lives, not about whether one exists.
1783
+ */
1784
+ kind?: InvariantUncoveredKind;
1685
1785
  };
1686
1786
  type EvaluateInvariantCoverageInput = {
1687
1787
  arkRules: EffectiveArkRules;
@@ -1696,6 +1796,55 @@ type EvaluateInvariantCoverageInput = {
1696
1796
  * the suite may exist outside the scan budget.
1697
1797
  */
1698
1798
  coverageBudgetExhausted?: boolean;
1799
+ /** Numbers behind the scan: what was loaded, what was discarded and why. */
1800
+ coverageStats?: InvariantCoverageStats;
1801
+ /**
1802
+ * Declared (`coverage.coverageRoots`) path prefixes where the project says its
1803
+ * runner actually executes tests. ArkGate never executes anything: this is a
1804
+ * second DECLARATION to compare the first against. Absent or empty means no
1805
+ * declaration was made, so no outside-roots claim is possible.
1806
+ */
1807
+ coverageRoots?: readonly string[];
1808
+ };
1809
+ /**
1810
+ * What the Tooling scan actually saw. Every discard has a counted reason —
1811
+ * a silent drop would make an uncovered verdict unexplainable.
1812
+ */
1813
+ type InvariantCoverageStats = {
1814
+ /**
1815
+ * Files actually opened and read. Always >= filesLoaded: a test is read
1816
+ * before it can be judged for naming an invariant, so the file budget bounds
1817
+ * RETENTION, not I/O. Reporting only the retained count made
1818
+ * `coverage.maxFiles` read as a knob on how much the scan opens.
1819
+ */
1820
+ filesRead?: number;
1821
+ /** Files retained as coverage evidence (tests + production). */
1822
+ filesLoaded: number;
1823
+ /** Test files retained (subset of filesLoaded). */
1824
+ testFilesRetained: number;
1825
+ /** The file budget in force for this scan (config `coverage.maxFiles` or the default). */
1826
+ maxFiles: number;
1827
+ discarded: {
1828
+ /** Reached the file budget. */
1829
+ budget: number;
1830
+ /** Test file naming no catalogued invariant (scanned, then dropped). */
1831
+ noInvariantMention: number;
1832
+ /** Larger than the per-file byte cap. */
1833
+ oversize: number;
1834
+ /**
1835
+ * stat/read failed on a file or a directory: permissions, a broken symlink,
1836
+ * or something that moved mid-scan. Files and directories share one counter.
1837
+ */
1838
+ unreadable: number;
1839
+ /** Directory deeper than the walk depth limit — its files were never seen. */
1840
+ depthLimited: number;
1841
+ /**
1842
+ * Symlink inside the tree whose target resolves outside the project root.
1843
+ * Refused as evidence: a file that is not in this repo must not prove an
1844
+ * invariant covered.
1845
+ */
1846
+ outOfRoot: number;
1847
+ };
1699
1848
  };
1700
1849
  declare function evaluateInvariantCoverage(input: EvaluateInvariantCoverageInput): {
1701
1850
  coverage: InvariantCoverageEvidence[];
@@ -1762,6 +1911,7 @@ type EvaluateArkRuleSensorsInput = {
1762
1911
  fileHints?: Readonly<Record<string, {
1763
1912
  orchestrationHeavy?: boolean;
1764
1913
  adapterThick?: boolean;
1914
+ persistenceWrite?: boolean;
1765
1915
  }>>;
1766
1916
  };
1767
1917
  /**
@@ -1782,6 +1932,7 @@ declare function collectEmptyAppliesToFindings(arkRules: EffectiveArkRules, file
1782
1932
  declare function deriveArkRuleFileHints(_file: string, content: string): {
1783
1933
  orchestrationHeavy?: boolean;
1784
1934
  adapterThick?: boolean;
1935
+ persistenceWrite?: boolean;
1785
1936
  } | null;
1786
1937
  /**
1787
1938
  * Build fileHints map from path→content. Omits paths with no flags (sparse map).
@@ -1789,6 +1940,7 @@ declare function deriveArkRuleFileHints(_file: string, content: string): {
1789
1940
  declare function buildArkRuleFileHints(fileContents: Readonly<Record<string, string>>): Record<string, {
1790
1941
  orchestrationHeavy?: boolean;
1791
1942
  adapterThick?: boolean;
1943
+ persistenceWrite?: boolean;
1792
1944
  }>;
1793
1945
  /**
1794
1946
  * Lightweight class-shape extraction from TypeScript source text (no compiler).
@@ -1884,15 +2036,21 @@ type AnalyzeResolvedProjectInput = {
1884
2036
  testFiles?: readonly string[];
1885
2037
  testGlobsMissing?: boolean;
1886
2038
  coverageBudgetExhausted?: boolean;
2039
+ /** Declared `coverage.coverageRoots`: where the project says its runner runs. */
2040
+ coverageRoots?: readonly string[];
2041
+ /** Counted scan facts: files loaded, tests retained, discards by reason. */
2042
+ stats?: InvariantCoverageStats;
1887
2043
  };
1888
2044
  /**
1889
2045
  * AR07 — Tooling-supplied orchestration/thin-adapter heuristics per file.
1890
2046
  * Prefer deriveArkRuleFileHints / buildArkRuleFileHints (Domain pure).
1891
- * When omitted, orchestration-only and thin-adapter sensors stay silent.
2047
+ * When omitted, orchestration-only, thin-adapter, and writes-via-aggregate
2048
+ * sensors stay silent.
1892
2049
  */
1893
2050
  fileHints?: Readonly<Record<string, {
1894
2051
  orchestrationHeavy?: boolean;
1895
2052
  adapterThick?: boolean;
2053
+ persistenceWrite?: boolean;
1896
2054
  }>>;
1897
2055
  };
1898
2056
  type PreflightResolvedChangeInput = {
@@ -2246,7 +2404,7 @@ type ArkDesignDeltaResult = {
2246
2404
  declare const DIAGNOSTIC_DOCS_RELATIVE_PATH: "docs/diagnostics.md";
2247
2405
  /** Schema id for serializing the catalog snapshot (agents / install projection). */
2248
2406
  declare const DIAGNOSTIC_CATALOG_SCHEMA_VERSION: "1.0";
2249
- type DiagnosticCategory = 'layer' | 'capability' | 'publish' | 'safety' | 'arkrules' | 'arkrun' | 'arkorder' | 'preflight' | 'analysis' | 'snippet-policy' | 'config' | 'adapter' | 'meta';
2407
+ type DiagnosticCategory = 'layer' | 'capability' | 'publish' | 'safety' | 'arkrules' | 'arkrun' | 'arkorder' | 'preflight' | 'analysis' | 'drift' | 'snippet-policy' | 'config' | 'adapter' | 'meta';
2250
2408
  type DiagnosticCatalogEntry = {
2251
2409
  /** Stable public violation / diagnostic id. */
2252
2410
  ruleId: string;
@@ -2310,4 +2468,4 @@ declare function catalogFixForRuleId(ruleId: string | null | undefined): string
2310
2468
  */
2311
2469
  declare function catalogWhyForRuleId(ruleId: string | null | undefined): string | undefined;
2312
2470
 
2313
- export { type ArchitectureConvergenceClassification as $, type ArkRulesFile as A, type AnalysisCapabilityUse as B, type AnalysisCompilerOptions as C, type AnalysisCompleteness as D, type EffectiveArkRules as E, type AnalysisContract as F, type AnalysisEvidence as G, type AnalysisFile as H, type AnalysisFileChange as I, type AnalysisFileInput as J, type AnalysisImportEdge as K, type AnalysisIr as L, type AnalysisMode as M, type AnalysisResult as N, type AnalysisViolation as O, type AnalyzeArchitectureConvergenceInput as P, type AnalyzeChangeInput as Q, type ResolvedArkRunKernelCallKind as R, type AnalyzePolicyDeltaInput as S, type AnalyzeProjectInput as T, type AnalyzeResolvedProjectInput as U, type ArchitectureActualChange as V, type ArchitectureChangeMap as W, type ArchitectureChangeMapContract as X, type ArchitectureChangeMapDependency as Y, type ArchitectureChangeMapFile as Z, type ArchitectureChangeOperation as _, type ResolvedArkRunDeclarationFact as a, adapterFindingOccurrenceTargetKeys as a$, type ArchitectureConvergenceFinding as a0, type ArchitectureConvergenceResult as a1, type ArchitectureDependency as a2, type ArchitectureEngineEdge as a3, type ArchitectureEngineResult as a4, type ArchitectureEngineViolation as a5, type ArkDesignDeltaResult as a6, type ArkEnforcementHost as a7, type ArkEnforcementState as a8, type ArkRuleSensorViolation as a9, type PolicyDeltaClassification as aA, type PolicyDeltaFinding as aB, type PreflightResolvedChangeInput as aC, type PreparedChangeFile as aD, RESOLVED_CANDIDATE_FACTS_SCHEMA as aE, RESOLVED_CANDIDATE_FACTS_SCHEMA_VERSION as aF, type ResolvedAmbientFact as aG, type ResolvedAnalysisFile as aH, type ResolvedAnalysisIr as aI, type ResolvedAnalysisResult as aJ, type ResolvedCandidateFacts as aK, type ResolvedCandidateFactsInput as aL, type ResolvedCapability as aM, type ResolvedCapabilityFact as aN, type ResolvedChangePreflightResult as aO, type ResolvedDependencyKind as aP, type ResolvedDependencyState as aQ, type ResolvedFactsCompleteness as aR, type ResolvedFileFact as aS, type ResolvedIntentReferenceFact as aT, type ResolvedPublishFact as aU, type ResolvedSafetyFact as aV, type ResolvedSafetyKind as aW, type ResolvedSafetyReport as aX, type SemanticDependency as aY, type SemanticDependencyKind as aZ, adapterDocsCodePath as a_, type ChangePreflightResult as aa, type ClassShapeFact as ab, type CollectAnalysisConfigWarningsInput as ac, DIAGNOSTIC_CATALOG as ad, DIAGNOSTIC_CATALOG_SCHEMA_VERSION as ae, DIAGNOSTIC_DOCS_RELATIVE_PATH as af, DIAGNOSTIC_RULE_IDS as ag, type DesignDeltaChange as ah, type DesignDeltaEnforcementScope as ai, type DesignDeltaIdentity as aj, type DesignSmellEvidence as ak, type DesignSmellFinding as al, type DesignSmellId as am, type DiagnosticCatalogEntry as an, type DiagnosticCategory as ao, type EnforcementBoundaryState as ap, type EnforcementEvidence as aq, type EnforcementEvidenceField as ar, type EnforcementVerification as as, type EvaluateArchitectureGraphInput as at, type ForbiddenCapabilityUse as au, type InvariantCoverageEvidence as av, POLICY_DELTA_SCHEMA_VERSION as aw, type PolicyDelta as ax, type PolicyDeltaAcknowledgement as ay, type PolicyDeltaAnalysis as az, type ResolvedArkRunKernelCallFact as b, adapterFindingRefFromTargetKey as b0, adapterFindingTargetKey as b1, analyzeArchitectureConvergence as b2, analyzeChange as b3, analyzePolicyDelta as b4, analyzeProject as b5, analyzeResolvedProject as b6, buildArkRuleFileHints as b7, canPromoteInvariant as b8, catalogFixForRuleId as b9, loadContract as bA, loadResolvedCandidateFacts as bB, policyDeltaAcknowledgementMatches as bC, preflightChange as bD, preflightResolvedChange as bE, resolvedFactsEvidenceRequirementsHash as bF, serializeDiagnosticCatalog as bG, stableSerialize as bH, toAdapterDiagnostic as bI, version as bJ, catalogWhyForRuleId as ba, classifyArkPolicyDelta as bb, collectAnalysisConfigWarnings as bc, collectEmptyAppliesToFindings as bd, collectForbiddenCapabilityUses as be, createAICodeGate as bf, createAdapterResult as bg, createArchitectureProfile as bh, createArchitectureProfileFromArkConfig as bi, createElevenLayerArkConfig as bj, createResolvedCandidateFacts as bk, deriveArkRuleFileHints as bl, detectArchitectureCycles as bm, deterministicHash as bn, diagnosticDocsFragment as bo, diagnosticDocsPath as bp, elevenLayerProfile as bq, evaluateArchitectureGraph as br, evaluateArkRuleSensors as bs, evaluateInvariantCoverage as bt, explainViolation as bu, extractClassShapesFromSource as bv, extractSemanticDependencies as bw, getDiagnosticCatalogEntry as bx, isCataloguedOrArkRuleFamily as by, isKnownDiagnosticCode as bz, type ResolvedArkRunManagedNewFact as c, type ResolvedDependencyFact as d, type ResolvedArkRunCompositionRootHitFact as e, type ResolvedFactsReason as f, type ResolvedArkOrderPlaneCallFact as g, type ResolvedArkOrderGenericUpdateFact as h, type ResolvedArkOrderRootHitFact as i, ADAPTER_DIAGNOSTIC_DOCS_RELATIVE_PATH as j, type AICodeGate as k, type AICodeGateContext as l, type AICodeGateOptions as m, type AICodeGateResult as n, type AICodeGateViolation as o, type AIGateExtension as p, ANALYSIS_IR_SCHEMA_VERSION as q, ARK_ANALYSIS_RESULT_SCHEMA as r, ARK_ANALYSIS_RESULT_SCHEMA_VERSION as s, ARK_DESIGN_DELTA_SCHEMA_VERSION as t, ARK_ENFORCEMENT_STATE_SCHEMA_VERSION as u, type AdapterCompletenessReason as v, type AdapterDiagnostic as w, type AdapterResult as x, type AdapterSeverity as y, type AdapterViolationInput as z };
2471
+ export { type ArchitectureChangeMapFile as $, type ArkRulesFile as A, type AdapterSeverity as B, type AdapterViolationInput as C, type AnalysisCapabilityUse as D, type EffectiveArkRules as E, type AnalysisCompilerOptions as F, type AnalysisCompleteness as G, type AnalysisContract as H, type AnalysisEvidence as I, type AnalysisFile as J, type AnalysisFileChange as K, type AnalysisFileInput as L, type AnalysisImportEdge as M, type AnalysisIr as N, type AnalysisMode as O, type AnalysisResult as P, type AnalysisViolation as Q, type ResolvedArkRunKernelCallKind as R, type AnalyzeArchitectureConvergenceInput as S, type AnalyzeChangeInput as T, type AnalyzePolicyDeltaInput as U, type AnalyzeProjectInput as V, type AnalyzeResolvedProjectInput as W, type ArchitectureActualChange as X, type ArchitectureChangeMap as Y, type ArchitectureChangeMapContract as Z, type ArchitectureChangeMapDependency as _, type ResolvedArkRunDeclarationFact as a, type SemanticDependencyKind as a$, type ArchitectureChangeOperation as a0, type ArchitectureConvergenceClassification as a1, type ArchitectureConvergenceFinding as a2, type ArchitectureConvergenceResult as a3, type ArchitectureDependency as a4, type ArchitectureEngineEdge as a5, type ArchitectureEngineResult as a6, type ArchitectureEngineViolation as a7, type ArkDesignDeltaResult as a8, type ArkEnforcementHost as a9, type PolicyDeltaAcknowledgement as aA, type PolicyDeltaAnalysis as aB, type PolicyDeltaClassification as aC, type PolicyDeltaFinding as aD, type PreflightResolvedChangeInput as aE, type PreparedChangeFile as aF, RESOLVED_CANDIDATE_FACTS_SCHEMA as aG, RESOLVED_CANDIDATE_FACTS_SCHEMA_VERSION as aH, type ResolvedAmbientFact as aI, type ResolvedAnalysisFile as aJ, type ResolvedAnalysisIr as aK, type ResolvedAnalysisResult as aL, type ResolvedCandidateFacts as aM, type ResolvedCandidateFactsInput as aN, type ResolvedCapability as aO, type ResolvedCapabilityFact as aP, type ResolvedChangePreflightResult as aQ, type ResolvedDependencyKind as aR, type ResolvedDependencyState as aS, type ResolvedFactsCompleteness as aT, type ResolvedFileFact as aU, type ResolvedIntentReferenceFact as aV, type ResolvedPublishFact as aW, type ResolvedSafetyFact as aX, type ResolvedSafetyKind as aY, type ResolvedSafetyReport as aZ, type SemanticDependency as a_, type ArkEnforcementState as aa, type ArkRuleSensorViolation as ab, type ChangePreflightResult as ac, type ClassShapeFact as ad, type CollectAnalysisConfigWarningsInput as ae, DIAGNOSTIC_CATALOG as af, DIAGNOSTIC_CATALOG_SCHEMA_VERSION as ag, DIAGNOSTIC_DOCS_RELATIVE_PATH as ah, DIAGNOSTIC_RULE_IDS as ai, type DesignDeltaChange as aj, type DesignDeltaEnforcementScope as ak, type DesignDeltaIdentity as al, type DesignSmellEvidence as am, type DesignSmellFinding as an, type DesignSmellId as ao, type DiagnosticCatalogEntry as ap, type DiagnosticCategory as aq, type EnforcementBoundaryState as ar, type EnforcementEvidence as as, type EnforcementEvidenceField as at, type EnforcementVerification as au, type EvaluateArchitectureGraphInput as av, type ForbiddenCapabilityUse as aw, type InvariantCoverageEvidence as ax, POLICY_DELTA_SCHEMA_VERSION as ay, type PolicyDelta as az, type ResolvedArkRunKernelCallFact as b, adapterDocsCodePath as b0, adapterFindingOccurrenceTargetKeys as b1, adapterFindingRefFromTargetKey as b2, adapterFindingTargetKey as b3, analyzeArchitectureConvergence as b4, analyzeChange as b5, analyzePolicyDelta as b6, analyzeProject as b7, analyzeResolvedProject as b8, buildArkRuleFileHints as b9, isCataloguedOrArkRuleFamily as bA, isKnownDiagnosticCode as bB, loadContract as bC, loadResolvedCandidateFacts as bD, policyDeltaAcknowledgementMatches as bE, preflightChange as bF, preflightResolvedChange as bG, resolvedFactsEvidenceRequirementsHash as bH, serializeDiagnosticCatalog as bI, stableSerialize as bJ, toAdapterDiagnostic as bK, version as bL, canPromoteInvariant as ba, catalogFixForRuleId as bb, catalogWhyForRuleId as bc, classifyArkPolicyDelta as bd, collectAnalysisConfigWarnings as be, collectEmptyAppliesToFindings as bf, collectForbiddenCapabilityUses as bg, createAICodeGate as bh, createAdapterResult as bi, createArchitectureProfile as bj, createArchitectureProfileFromArkConfig as bk, createElevenLayerArkConfig as bl, createResolvedCandidateFacts as bm, deriveArkRuleFileHints as bn, detectArchitectureCycles as bo, deterministicHash as bp, diagnosticDocsFragment as bq, diagnosticDocsPath as br, elevenLayerProfile as bs, evaluateArchitectureGraph as bt, evaluateArkRuleSensors as bu, evaluateInvariantCoverage as bv, explainViolation as bw, extractClassShapesFromSource as bx, extractSemanticDependencies as by, getDiagnosticCatalogEntry as bz, type ResolvedArkRunManagedNewFact as c, type ResolvedDependencyFact as d, type ResolvedArkRunCompositionRootHitFact as e, type ResolvedFactsReason as f, type ResolvedArkOrderPlaneCallFact as g, type ResolvedArkOrderGenericUpdateFact as h, type ResolvedArkOrderRootHitFact as i, type ResolvedArkOrderXiFieldWriteFact as j, type ResolvedArkOrderIngestWriteFact as k, ADAPTER_DIAGNOSTIC_DOCS_RELATIVE_PATH as l, type AICodeGate as m, type AICodeGateContext as n, type AICodeGateOptions as o, type AICodeGateResult as p, type AICodeGateViolation as q, type AIGateExtension as r, ANALYSIS_IR_SCHEMA_VERSION as s, ARK_ANALYSIS_RESULT_SCHEMA as t, ARK_ANALYSIS_RESULT_SCHEMA_VERSION as u, ARK_DESIGN_DELTA_SCHEMA_VERSION as v, ARK_ENFORCEMENT_STATE_SCHEMA_VERSION as w, type AdapterCompletenessReason as x, type AdapterDiagnostic as y, type AdapterResult as z };