arkgate 4.8.2 → 4.8.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.
- package/CHANGELOG.md +15 -3
- package/README.md +39 -8
- package/bin/lib/analysis-engine.mjs +6 -6
- package/bin/lib/ark-order-facts.mjs +59 -0
- package/bin/lib/ark-order-sensors.mjs +31 -2
- package/bin/lib/arkrule-file-hints.mjs +6 -2
- package/bin/lib/arkrules-contract.mjs +1 -0
- package/bin/lib/arkrules-sensors.mjs +22 -2
- package/bin/lib/config-extras.mjs +2 -0
- package/bin/lib/diagnostic-catalog.mjs +2 -1
- package/bin/lib/remediation.mjs +9 -1
- package/bin/lib/resolved-candidate-facts.mjs +31 -0
- package/dist/{configTypes-BdCe_gvv.d.ts → configTypes-dNJ2C0yx.d.ts} +5 -0
- package/dist/{diagnosticCatalog-CPzH-MLN.d.ts → diagnosticCatalog-C5GgeyEE.d.ts} +97 -7
- package/dist/eslint/index.cjs +6 -6
- package/dist/eslint/index.d.ts +1 -1
- package/dist/eslint/index.js +6 -6
- package/dist/index.cjs +34 -34
- package/dist/index.d.ts +24 -7
- package/dist/index.js +34 -34
- package/dist/nestjs/index.cjs +5 -5
- package/dist/nestjs/index.d.ts +3 -3
- package/dist/nestjs/index.js +5 -5
- package/dist/runtime/index.cjs +15 -15
- package/dist/runtime/index.d.ts +6 -6
- package/dist/runtime/index.js +15 -15
- package/dist/{types-C9KApBzX.d.ts → types-DeK7SYGC.d.ts} +1 -1
- package/dist/{types-DCSlrRnV.d.ts → types-dK24fDZa.d.ts} +1 -1
- package/docs/README.md +4 -4
- package/docs/configuration.md +12 -8
- package/docs/develop.md +23 -2
- package/docs/diagnostics.md +9 -0
- package/docs/enthusiast/README.md +6 -4
- package/docs/package-surface.md +4 -2
- package/docs/product-voice.md +15 -5
- package/docs/use.md +8 -5
- package/package.json +1 -1
- package/schemas/ark.arkrules.schema.json +1 -0
- package/schemas/ark.config.schema.json +9 -0
- package/schemas/ark.resolved-candidate-facts.schema.json +1 -1
- package/server.json +2 -2
- package/templates/agent-skills/README.md +1 -1
- package/templates/agent-skills/ark-adopt/SKILL.md +8 -3
- package/templates/agent-skills/ark-autopilot/SKILL.md +1 -1
- package/templates/agent-skills/ark-contract/SKILL.md +4 -0
- package/templates/agent-skills/ark-place/SKILL.md +6 -2
- package/templates/arkrules/ApplicationOrchestration.json +6 -0
- package/templates/skills/ark-adopt.md +8 -3
- package/templates/skills/ark-autopilot.md +1 -1
- package/templates/skills/ark-contract.md +4 -0
- package/templates/skills/ark-place.md +6 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { A as ArkRulesFile, E as EffectiveArkRules, R as ResolvedArkRunKernelCallKind, a as ResolvedArkRunDeclarationFact, b as ResolvedArkRunKernelCallFact, c as ResolvedArkRunManagedNewFact, d as ResolvedDependencyFact, e as ResolvedArkRunCompositionRootHitFact, f as ResolvedFactsReason, g as ResolvedArkOrderPlaneCallFact, h as ResolvedArkOrderGenericUpdateFact, i as ResolvedArkOrderRootHitFact } from './diagnosticCatalog-
|
|
2
|
-
export {
|
|
3
|
-
export { A as ArchitectureLayer, a as ArchitectureLayerConfig, b as ArchitectureProfile, c as ArchitectureRule, d as ArkCheckConfig, C as CreateArchitectureProfileFromArkConfigOptions, e as CreateArchitectureProfileOptions, f as CreateElevenLayerArkConfigOptions } from './types-
|
|
4
|
-
import { a as ArkConfigRule, b as ArkConfigSchemaVersion, c as ArkConfigLoadResult, A as ArkConfig, d as ArkConfigIssue, e as ArkConfigArkRun, f as ArkConfigLayer, g as ArkConfigArkOrder } from './configTypes-
|
|
1
|
+
import { A as ArkRulesFile, E as EffectiveArkRules, R as ResolvedArkRunKernelCallKind, a as ResolvedArkRunDeclarationFact, b as ResolvedArkRunKernelCallFact, c as ResolvedArkRunManagedNewFact, d as ResolvedDependencyFact, e as ResolvedArkRunCompositionRootHitFact, f as ResolvedFactsReason, g as ResolvedArkOrderPlaneCallFact, h as ResolvedArkOrderGenericUpdateFact, i as ResolvedArkOrderRootHitFact, j as ResolvedArkOrderXiFieldWriteFact, k as ResolvedArkOrderIngestWriteFact } from './diagnosticCatalog-C5GgeyEE.js';
|
|
2
|
+
export { l as ADAPTER_DIAGNOSTIC_DOCS_RELATIVE_PATH, m as AICodeGate, n as AICodeGateContext, o as AICodeGateOptions, p as AICodeGateResult, q as AICodeGateViolation, r as AIGateExtension, s as ANALYSIS_IR_SCHEMA_VERSION, t as ARK_ANALYSIS_RESULT_SCHEMA, u as ARK_ANALYSIS_RESULT_SCHEMA_VERSION, v as ARK_DESIGN_DELTA_SCHEMA_VERSION, w as ARK_ENFORCEMENT_STATE_SCHEMA_VERSION, x as AdapterCompletenessReason, y as AdapterDiagnostic, z as AdapterResult, B as AdapterSeverity, C as AdapterViolationInput, D as AnalysisCapabilityUse, F as AnalysisCompilerOptions, G as AnalysisCompleteness, H as AnalysisContract, I as AnalysisEvidence, J as AnalysisFile, K as AnalysisFileChange, L as AnalysisFileInput, M as AnalysisImportEdge, N as AnalysisIr, O as AnalysisMode, P as AnalysisResult, Q as AnalysisViolation, S as AnalyzeArchitectureConvergenceInput, T as AnalyzeChangeInput, U as AnalyzePolicyDeltaInput, V as AnalyzeProjectInput, W as AnalyzeResolvedProjectInput, X as ArchitectureActualChange, Y as ArchitectureChangeMap, Z as ArchitectureChangeMapContract, _ as ArchitectureChangeMapDependency, $ as ArchitectureChangeMapFile, a0 as ArchitectureChangeOperation, a1 as ArchitectureConvergenceClassification, a2 as ArchitectureConvergenceFinding, a3 as ArchitectureConvergenceResult, a4 as ArchitectureDependency, a5 as ArchitectureEngineEdge, a6 as ArchitectureEngineResult, a7 as ArchitectureEngineViolation, a8 as ArkDesignDeltaResult, a9 as ArkEnforcementHost, aa as ArkEnforcementState, ab as ArkRuleSensorViolation, ac as ChangePreflightResult, ad as ClassShapeFact, ae as CollectAnalysisConfigWarningsInput, af as DIAGNOSTIC_CATALOG, ag as DIAGNOSTIC_CATALOG_SCHEMA_VERSION, ah as DIAGNOSTIC_DOCS_RELATIVE_PATH, ai as DIAGNOSTIC_RULE_IDS, aj as DesignDeltaChange, ak as DesignDeltaEnforcementScope, al as DesignDeltaIdentity, am as DesignSmellEvidence, an as DesignSmellFinding, ao as DesignSmellId, ap as DiagnosticCatalogEntry, aq as DiagnosticCategory, ar as EnforcementBoundaryState, as as EnforcementEvidence, at as EnforcementEvidenceField, au as EnforcementVerification, av as EvaluateArchitectureGraphInput, aw as ForbiddenCapabilityUse, ax as InvariantCoverageEvidence, ay as POLICY_DELTA_SCHEMA_VERSION, az as PolicyDelta, aA as PolicyDeltaAcknowledgement, aB as PolicyDeltaAnalysis, aC as PolicyDeltaClassification, aD as PolicyDeltaFinding, aE as PreflightResolvedChangeInput, aF as PreparedChangeFile, aG as RESOLVED_CANDIDATE_FACTS_SCHEMA, aH as RESOLVED_CANDIDATE_FACTS_SCHEMA_VERSION, aI as ResolvedAmbientFact, aJ as ResolvedAnalysisFile, aK as ResolvedAnalysisIr, aL as ResolvedAnalysisResult, aM as ResolvedCandidateFacts, aN as ResolvedCandidateFactsInput, aO as ResolvedCapability, aP as ResolvedCapabilityFact, aQ as ResolvedChangePreflightResult, aR as ResolvedDependencyKind, aS as ResolvedDependencyState, aT as ResolvedFactsCompleteness, aU as ResolvedFileFact, aV as ResolvedIntentReferenceFact, aW as ResolvedPublishFact, aX as ResolvedSafetyFact, aY as ResolvedSafetyKind, aZ as ResolvedSafetyReport, a_ as SemanticDependency, a$ as SemanticDependencyKind, b0 as adapterDocsCodePath, b1 as adapterFindingOccurrenceTargetKeys, b2 as adapterFindingRefFromTargetKey, b3 as adapterFindingTargetKey, b4 as analyzeArchitectureConvergence, b5 as analyzeChange, b6 as analyzePolicyDelta, b7 as analyzeProject, b8 as analyzeResolvedProject, b9 as buildArkRuleFileHints, ba as canPromoteInvariant, bb as catalogFixForRuleId, bc as catalogWhyForRuleId, bd as classifyArkPolicyDelta, be as collectAnalysisConfigWarnings, bf as collectEmptyAppliesToFindings, bg as collectForbiddenCapabilityUses, bh as createAICodeGate, bi as createAdapterResult, bj as createArchitectureProfile, bk as createArchitectureProfileFromArkConfig, bl as createElevenLayerArkConfig, bm as createResolvedCandidateFacts, bn as deriveArkRuleFileHints, bo as detectArchitectureCycles, bp as deterministicHash, bq as diagnosticDocsFragment, br as diagnosticDocsPath, bs as elevenLayerProfile, bt as evaluateArchitectureGraph, bu as evaluateArkRuleSensors, bv as evaluateInvariantCoverage, bw as explainViolation, bx as extractClassShapesFromSource, by as extractSemanticDependencies, bz as getDiagnosticCatalogEntry, bA as isCataloguedOrArkRuleFamily, bB as isKnownDiagnosticCode, bC as loadContract, bD as loadResolvedCandidateFacts, bE as policyDeltaAcknowledgementMatches, bF as preflightChange, bG as preflightResolvedChange, bH as resolvedFactsEvidenceRequirementsHash, bI as serializeDiagnosticCatalog, bJ as stableSerialize, bK as toAdapterDiagnostic, bL as version } from './diagnosticCatalog-C5GgeyEE.js';
|
|
3
|
+
export { A as ArchitectureLayer, a as ArchitectureLayerConfig, b as ArchitectureProfile, c as ArchitectureRule, d as ArkCheckConfig, C as CreateArchitectureProfileFromArkConfigOptions, e as CreateArchitectureProfileOptions, f as CreateElevenLayerArkConfigOptions } from './types-dK24fDZa.js';
|
|
4
|
+
import { a as ArkConfigRule, b as ArkConfigSchemaVersion, c as ArkConfigLoadResult, A as ArkConfig, d as ArkConfigIssue, e as ArkConfigArkRun, f as ArkConfigLayer, g as ArkConfigArkOrder } from './configTypes-dNJ2C0yx.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Canonical, pure contract for ark.config.json.
|
|
@@ -342,6 +342,15 @@ declare const ARK_CONFIG_SCHEMA: {
|
|
|
342
342
|
readonly minimum: 1;
|
|
343
343
|
readonly default: 7;
|
|
344
344
|
};
|
|
345
|
+
readonly xiKeys: {
|
|
346
|
+
readonly default: readonly [];
|
|
347
|
+
readonly type: "array";
|
|
348
|
+
readonly items: {
|
|
349
|
+
readonly type: "string";
|
|
350
|
+
readonly minLength: 1;
|
|
351
|
+
};
|
|
352
|
+
readonly uniqueItems: true;
|
|
353
|
+
};
|
|
345
354
|
};
|
|
346
355
|
};
|
|
347
356
|
};
|
|
@@ -533,7 +542,7 @@ declare function createProjectIdentity(input: Omit<ProjectIdentity, 'schemaVersi
|
|
|
533
542
|
|
|
534
543
|
declare const ARK_RULES_SCHEMA_VERSION: "1.0";
|
|
535
544
|
/** Closed sensor vocabulary — keep in lockstep with arkRulesTypes.ARK_RULE_SENSOR_IDS. */
|
|
536
|
-
declare const ARK_RULE_SENSORS: readonly ["aggregate-private-state", "always-valid-factory", "domain-event-on-mutation", "orchestration-only", "thin-adapter", "no-anemic-model", "invariant-coverage"];
|
|
545
|
+
declare const ARK_RULE_SENSORS: readonly ["aggregate-private-state", "always-valid-factory", "domain-event-on-mutation", "orchestration-only", "thin-adapter", "writes-via-aggregate", "no-anemic-model", "invariant-coverage"];
|
|
537
546
|
declare const ARK_RULES_SCHEMA: {
|
|
538
547
|
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
539
548
|
readonly $id: "https://unpkg.com/arkgate/schemas/ark.arkrules.schema.json";
|
|
@@ -584,7 +593,7 @@ declare const ARK_RULES_SCHEMA: {
|
|
|
584
593
|
};
|
|
585
594
|
readonly sensor: {
|
|
586
595
|
readonly type: "string";
|
|
587
|
-
readonly enum: readonly ["aggregate-private-state", "always-valid-factory", "domain-event-on-mutation", "orchestration-only", "thin-adapter", "no-anemic-model", "invariant-coverage"];
|
|
596
|
+
readonly enum: readonly ["aggregate-private-state", "always-valid-factory", "domain-event-on-mutation", "orchestration-only", "thin-adapter", "writes-via-aggregate", "no-anemic-model", "invariant-coverage"];
|
|
588
597
|
};
|
|
589
598
|
readonly mode: {
|
|
590
599
|
readonly type: "string";
|
|
@@ -987,7 +996,7 @@ declare function evaluateArkRunEditorSensorsFromSource(input: {
|
|
|
987
996
|
* Pure ArkOrder tier-1 sensors (ADR 0027 / 0029). Absence of arkOrder emits nothing.
|
|
988
997
|
*/
|
|
989
998
|
|
|
990
|
-
declare const ARKORDER_TIER1_SENSOR_IDS: readonly ["arkorder-missing-plane", "arkorder-kernel-in-domain", "arkorder-generic-update", "arkorder-too-many-params", "arkorder-ingest-writes-xi"];
|
|
999
|
+
declare const ARKORDER_TIER1_SENSOR_IDS: readonly ["arkorder-missing-plane", "arkorder-kernel-in-domain", "arkorder-generic-update", "arkorder-too-many-params", "arkorder-ingest-writes-xi", "arkorder-xi-field-write"];
|
|
991
1000
|
type ArkOrderTier1SensorId = (typeof ARKORDER_TIER1_SENSOR_IDS)[number];
|
|
992
1001
|
declare const ARKORDER_RULE_IDS: {
|
|
993
1002
|
readonly 'arkorder-missing-plane': "ARKORDER_MISSING_PLANE";
|
|
@@ -995,6 +1004,7 @@ declare const ARKORDER_RULE_IDS: {
|
|
|
995
1004
|
readonly 'arkorder-generic-update': "ARKORDER_GENERIC_UPDATE";
|
|
996
1005
|
readonly 'arkorder-too-many-params': "ARKORDER_TOO_MANY_PARAMS";
|
|
997
1006
|
readonly 'arkorder-ingest-writes-xi': "ARKORDER_INGEST_WRITES_XI";
|
|
1007
|
+
readonly 'arkorder-xi-field-write': "ARKORDER_XI_FIELD_WRITE";
|
|
998
1008
|
};
|
|
999
1009
|
type ArkOrderRuleId = (typeof ARKORDER_RULE_IDS)[ArkOrderTier1SensorId];
|
|
1000
1010
|
type ArkOrderSensorFinding = {
|
|
@@ -1015,6 +1025,13 @@ type EvaluateArkOrderSensorsInput = {
|
|
|
1015
1025
|
planeCalls: readonly ResolvedArkOrderPlaneCallFact[];
|
|
1016
1026
|
genericUpdates: readonly ResolvedArkOrderGenericUpdateFact[];
|
|
1017
1027
|
planeRootHits: readonly ResolvedArkOrderRootHitFact[];
|
|
1028
|
+
xiFieldWrites?: readonly ResolvedArkOrderXiFieldWriteFact[];
|
|
1029
|
+
ingestWritesXi?: readonly ResolvedArkOrderIngestWriteFact[];
|
|
1030
|
+
releaseKeyCounts?: readonly {
|
|
1031
|
+
file: string;
|
|
1032
|
+
line: number;
|
|
1033
|
+
keyCount: number;
|
|
1034
|
+
}[];
|
|
1018
1035
|
dependencies: readonly ResolvedDependencyFact[];
|
|
1019
1036
|
layerForFile: (path: string) => string | null | undefined;
|
|
1020
1037
|
classification?: ExtraMergeTeethClassification;
|