arkgate 4.8.11 → 4.8.14

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 (93) hide show
  1. package/CHANGELOG.md +125 -2
  2. package/README.md +39 -46
  3. package/SECURITY.md +5 -3
  4. package/bin/ark-check-runtime.mjs +11 -9
  5. package/bin/lib/agent-projection-formatters.mjs +2 -0
  6. package/bin/lib/agent-skills-package.mjs +63 -8
  7. package/bin/lib/analysis-engine.mjs +4 -4
  8. package/bin/lib/architecture-scan.mjs +8 -2
  9. package/bin/lib/ark-order-doctor.mjs +160 -0
  10. package/bin/lib/ark-order-report.mjs +65 -0
  11. package/bin/lib/ark-order-sensors.mjs +1 -1
  12. package/bin/lib/ci-and-commands.mjs +7 -2
  13. package/bin/lib/design-smells.mjs +21 -1
  14. package/bin/lib/diagnostic-catalog.mjs +4 -4
  15. package/bin/lib/doctor-advisories.mjs +99 -18
  16. package/bin/lib/doctor-human.mjs +4 -11
  17. package/bin/lib/doctor-plan.mjs +4 -3
  18. package/bin/lib/extra-merge-teeth.mjs +32 -4
  19. package/bin/lib/first-run-help.mjs +11 -2
  20. package/bin/lib/gate-files.mjs +40 -3
  21. package/bin/lib/html-report-advisories.mjs +2 -0
  22. package/bin/lib/html-report-depth.mjs +8 -18
  23. package/bin/lib/html-report.mjs +16 -0
  24. package/bin/lib/install-migrate.mjs +23 -0
  25. package/bin/lib/mcp-hook-payload.mjs +1 -1
  26. package/bin/lib/product-copy.mjs +4 -0
  27. package/bin/lib/remediation.mjs +7 -7
  28. package/bin/lib/resolved-candidate-facts.mjs +144 -36
  29. package/bin/lib/rules-under-contract.mjs +14 -0
  30. package/bin/lib/scan-files.mjs +39 -0
  31. package/bin/lib/start-preview.mjs +4 -0
  32. package/bin/lib/status-command.mjs +28 -0
  33. package/bin/lib/status-manifest.mjs +23 -0
  34. package/bin/lib/upgrade-whats-new.mjs +3 -3
  35. package/bin/lib/violations.mjs +40 -1
  36. package/dist/{diagnosticCatalog-DiflIock.d.ts → diagnosticCatalog-DVx_2RmF.d.ts} +1 -1
  37. package/dist/eslint/index.cjs +4 -4
  38. package/dist/eslint/index.js +4 -4
  39. package/dist/index.cjs +31 -31
  40. package/dist/index.d.ts +129 -15
  41. package/dist/index.js +31 -31
  42. package/dist/nestjs/index.cjs +1 -1
  43. package/dist/nestjs/index.js +1 -1
  44. package/dist/runtime/index.cjs +15 -15
  45. package/dist/runtime/index.d.ts +1 -1
  46. package/dist/runtime/index.js +15 -15
  47. package/docs/README.md +11 -8
  48. package/docs/agent-guide.md +30 -13
  49. package/docs/ai-gates.md +3 -1
  50. package/docs/arkorder.md +35 -10
  51. package/docs/configuration.md +7 -6
  52. package/docs/develop.md +3 -1
  53. package/docs/diagnostics.md +7 -7
  54. package/docs/enthusiast/README.md +6 -1
  55. package/docs/enthusiast/how-to-gallery-starter.md +2 -1
  56. package/docs/package-surface.md +8 -5
  57. package/docs/product-voice.md +40 -13
  58. package/docs/threat-model.md +2 -2
  59. package/docs/typescript-support.md +3 -3
  60. package/docs/use.md +18 -11
  61. package/package.json +1 -1
  62. package/schemas/ark.status-manifest.schema.json +47 -0
  63. package/server.json +2 -2
  64. package/templates/agent-skills/README.md +7 -4
  65. package/templates/agent-skills/ark-adopt/SKILL.md +9 -5
  66. package/templates/agent-skills/ark-architect/SKILL.md +5 -18
  67. package/templates/agent-skills/ark-autopilot/SKILL.md +8 -4
  68. package/templates/agent-skills/ark-contract/SKILL.md +9 -20
  69. package/templates/agent-skills/ark-coverage/SKILL.md +12 -8
  70. package/templates/agent-skills/ark-explain/SKILL.md +7 -3
  71. package/templates/agent-skills/ark-explore/SKILL.md +25 -4
  72. package/templates/agent-skills/ark-fix/SKILL.md +15 -20
  73. package/templates/agent-skills/ark-loop/SKILL.md +14 -20
  74. package/templates/agent-skills/ark-order/SKILL.md +200 -0
  75. package/templates/agent-skills/ark-place/SKILL.md +11 -8
  76. package/templates/agent-skills/ark-runtime/SKILL.md +17 -4
  77. package/templates/agent-skills/ark-think/SKILL.md +24 -126
  78. package/templates/agent-skills/ark-upgrade/SKILL.md +13 -2
  79. package/templates/skills/ark-adopt.md +9 -5
  80. package/templates/skills/ark-architect.md +5 -18
  81. package/templates/skills/ark-autopilot.md +8 -4
  82. package/templates/skills/ark-contract.md +9 -20
  83. package/templates/skills/ark-coverage.md +12 -8
  84. package/templates/skills/ark-explain.md +7 -3
  85. package/templates/skills/ark-explore.md +25 -4
  86. package/templates/skills/ark-fix.md +15 -20
  87. package/templates/skills/ark-loop.md +14 -20
  88. package/templates/skills/ark-order.md +200 -0
  89. package/templates/skills/ark-place.md +11 -8
  90. package/templates/skills/ark-runtime.md +17 -4
  91. package/templates/skills/ark-think.md +24 -126
  92. package/templates/skills/ark-upgrade.md +13 -2
  93. package/templates/tests/ark-adoption-gaps.test.ts +5 -4
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AdapterViolationInput, a as ArkRulesFile, E as EffectiveArkRules, R as ResolvedArkRunKernelCallKind, b as ResolvedArkRunDeclarationFact, c as ResolvedArkRunKernelCallFact, d as ResolvedArkRunManagedNewFact, e as ResolvedDependencyFact, f as ResolvedArkRunCompositionRootHitFact, g as ResolvedFactsReason, h as ResolvedArkOrderPlaneCallFact, i as ResolvedArkOrderGenericUpdateFact, j as ResolvedArkOrderRootHitFact, k as ResolvedArkOrderXiFieldWriteFact, l as ResolvedArkOrderIngestWriteFact } from './diagnosticCatalog-DiflIock.js';
2
- export { m as ADAPTER_DIAGNOSTIC_DOCS_RELATIVE_PATH, n as AICodeGate, o as AICodeGateContext, p as AICodeGateOptions, q as AICodeGateResult, r as AICodeGateViolation, s as AIGateExtension, t as ANALYSIS_IR_SCHEMA_VERSION, u as ARK_ANALYSIS_RESULT_SCHEMA, v as ARK_ANALYSIS_RESULT_SCHEMA_VERSION, w as ARK_DESIGN_DELTA_SCHEMA_VERSION, x as ARK_ENFORCEMENT_STATE_SCHEMA_VERSION, y as AdapterCompletenessReason, z as AdapterDiagnostic, B as AdapterResult, C as AdapterSeverity, 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 analyzeArchitectureConvergence, b1 as analyzeChange, b2 as analyzePolicyDelta, b3 as analyzeProject, b4 as analyzeResolvedProject, b5 as buildArkRuleFileHints, b6 as canPromoteInvariant, b7 as catalogFixForRuleId, b8 as catalogWhyForRuleId, b9 as classifyArkPolicyDelta, ba as collectAnalysisConfigWarnings, bb as collectEmptyAppliesToFindings, bc as collectForbiddenCapabilityUses, bd as createAICodeGate, be as createAdapterResult, bf as createArchitectureProfile, bg as createArchitectureProfileFromArkConfig, bh as createElevenLayerArkConfig, bi as createResolvedCandidateFacts, bj as deriveArkRuleFileHints, bk as detectArchitectureCycles, bl as deterministicHash, bm as diagnosticDocsFragment, bn as diagnosticDocsPath, bo as elevenLayerProfile, bp as evaluateArchitectureGraph, bq as evaluateArkRuleSensors, br as evaluateInvariantCoverage, bs as explainViolation, bt as extractClassShapesFromSource, bu as extractSemanticDependencies, bv as getDiagnosticCatalogEntry, bw as isCataloguedOrArkRuleFamily, bx as isKnownDiagnosticCode, by as loadContract, bz as loadResolvedCandidateFacts, bA as policyDeltaAcknowledgementMatches, bB as preflightChange, bC as preflightResolvedChange, bD as resolvedFactsEvidenceRequirementsHash, bE as serializeDiagnosticCatalog, bF as stableSerialize, bG as toAdapterDiagnostic, bH as version } from './diagnosticCatalog-DiflIock.js';
1
+ import { A as AdapterViolationInput, a as ArkRulesFile, E as EffectiveArkRules, R as ResolvedArkRunKernelCallKind, b as ResolvedArkRunDeclarationFact, c as ResolvedArkRunKernelCallFact, d as ResolvedArkRunManagedNewFact, e as ResolvedDependencyFact, f as ResolvedArkRunCompositionRootHitFact, g as ResolvedFactsReason, h as ResolvedArkOrderPlaneCallFact, i as ResolvedArkOrderGenericUpdateFact, j as ResolvedArkOrderRootHitFact, k as ResolvedArkOrderXiFieldWriteFact, l as ResolvedArkOrderIngestWriteFact } from './diagnosticCatalog-DVx_2RmF.js';
2
+ export { m as ADAPTER_DIAGNOSTIC_DOCS_RELATIVE_PATH, n as AICodeGate, o as AICodeGateContext, p as AICodeGateOptions, q as AICodeGateResult, r as AICodeGateViolation, s as AIGateExtension, t as ANALYSIS_IR_SCHEMA_VERSION, u as ARK_ANALYSIS_RESULT_SCHEMA, v as ARK_ANALYSIS_RESULT_SCHEMA_VERSION, w as ARK_DESIGN_DELTA_SCHEMA_VERSION, x as ARK_ENFORCEMENT_STATE_SCHEMA_VERSION, y as AdapterCompletenessReason, z as AdapterDiagnostic, B as AdapterResult, C as AdapterSeverity, 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 analyzeArchitectureConvergence, b1 as analyzeChange, b2 as analyzePolicyDelta, b3 as analyzeProject, b4 as analyzeResolvedProject, b5 as buildArkRuleFileHints, b6 as canPromoteInvariant, b7 as catalogFixForRuleId, b8 as catalogWhyForRuleId, b9 as classifyArkPolicyDelta, ba as collectAnalysisConfigWarnings, bb as collectEmptyAppliesToFindings, bc as collectForbiddenCapabilityUses, bd as createAICodeGate, be as createAdapterResult, bf as createArchitectureProfile, bg as createArchitectureProfileFromArkConfig, bh as createElevenLayerArkConfig, bi as createResolvedCandidateFacts, bj as deriveArkRuleFileHints, bk as detectArchitectureCycles, bl as deterministicHash, bm as diagnosticDocsFragment, bn as diagnosticDocsPath, bo as elevenLayerProfile, bp as evaluateArchitectureGraph, bq as evaluateArkRuleSensors, br as evaluateInvariantCoverage, bs as explainViolation, bt as extractClassShapesFromSource, bu as extractSemanticDependencies, bv as getDiagnosticCatalogEntry, bw as isCataloguedOrArkRuleFamily, bx as isKnownDiagnosticCode, by as loadContract, bz as loadResolvedCandidateFacts, bA as policyDeltaAcknowledgementMatches, bB as preflightChange, bC as preflightResolvedChange, bD as resolvedFactsEvidenceRequirementsHash, bE as serializeDiagnosticCatalog, bF as stableSerialize, bG as toAdapterDiagnostic, bH as version } from './diagnosticCatalog-DVx_2RmF.js';
3
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-Djbs3KjE.js';
4
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-j7so8B4O.js';
5
5
 
@@ -888,7 +888,7 @@ declare function demoteExtraPlaneTeethUnderClassificationFloor<T extends {
888
888
  severity?: string;
889
889
  }>(violations: T[], classification?: ExtraMergeTeethClassification): T[];
890
890
  /** Stamp for extra-plane honesty: never one architecture score. */
891
- declare const MERGE_PLANES_DUAL_STAMP = "Structure = heuristics; invariants = catalog+coverage evidence (not business runtime); ArkRun = kernel usage + declarations (not a score); ArkOrder = pattern slaving (not a score). Extra planes never merge into one architecture score. Advisory ArkRules \u2260 merge teeth. Advisory ArkRun \u2260 merge teeth. Advisory ArkOrder \u2260 merge teeth.";
891
+ declare const MERGE_PLANES_DUAL_STAMP = "Structure = heuristics; invariants = catalog+coverage evidence (not business runtime); ArkRun = kernel usage + declarations (not a score); ArkOrder = the few big product choices (not a score). Extra planes never merge into one architecture score. Advisory ArkRules \u2260 merge teeth. Advisory ArkRun \u2260 merge teeth. Advisory ArkOrder \u2260 merge teeth.";
892
892
  type MergePlanesArkRulesInput = {
893
893
  active: boolean;
894
894
  structureEnforced?: number;
@@ -905,6 +905,11 @@ type MergePlanesArkRunInput = {
905
905
  mode?: 'advisory' | 'enforced' | null;
906
906
  residualCount?: number;
907
907
  };
908
+ type MergePlanesArkOrderInput = {
909
+ present: boolean;
910
+ mode?: 'advisory' | 'enforced' | null;
911
+ residualCount?: number;
912
+ };
908
913
  type MergePlanesHonesty = {
909
914
  layers: {
910
915
  role: 'inter-layer-edges';
@@ -935,6 +940,14 @@ type MergePlanesHonesty = {
935
940
  extraMergeTeeth: boolean;
936
941
  note: string;
937
942
  };
943
+ arkOrder: {
944
+ role: 'pattern-slaving';
945
+ present: boolean;
946
+ mode: 'advisory' | 'enforced' | null;
947
+ residualCount: number;
948
+ extraMergeTeeth: boolean;
949
+ note: string;
950
+ };
938
951
  extraMergeTeeth: boolean;
939
952
  dualPlaneStamp: string;
940
953
  failMergeWhen: string;
@@ -952,6 +965,7 @@ declare function composeMergePlanesHonesty(input?: {
952
965
  classification?: ExtraMergeTeethClassificationInput | null;
953
966
  arkRules?: MergePlanesArkRulesInput | null;
954
967
  arkRun?: MergePlanesArkRunInput | null;
968
+ arkOrder?: MergePlanesArkOrderInput | null;
955
969
  }): MergePlanesHonesty;
956
970
 
957
971
  /**
@@ -1207,6 +1221,21 @@ declare function inventoryToExtractionCard(candidate: RulesInventoryCandidate):
1207
1221
  next: string;
1208
1222
  };
1209
1223
 
1224
+ /**
1225
+ * Doctor / status / report ArkOrder section. Always notAScore.
1226
+ * Residual is a unique ARKORDER finding-id count — never a score or LLM verdict.
1227
+ * Absence is an honest silent row. Does not invent residual when the extra is off.
1228
+ */
1229
+
1230
+ type ArkOrderDoctorMode = 'advisory' | 'enforced';
1231
+ type ArkOrderStatusSlice = {
1232
+ notAScore: true;
1233
+ present: boolean;
1234
+ mode: ArkOrderDoctorMode | null;
1235
+ extraMergeTeeth: boolean;
1236
+ residual: number | null;
1237
+ };
1238
+
1210
1239
  /**
1211
1240
  * Public status manifest (ACS03 + DF02 honesty).
1212
1241
  *
@@ -1320,6 +1349,11 @@ type StatusManifest = {
1320
1349
  * residual is a finding-id count (null = unknown, not green).
1321
1350
  */
1322
1351
  arkRun?: ArkRunStatusSlice;
1352
+ /**
1353
+ * ArkOrder extra residual. Always notAScore; never a gate input.
1354
+ * residual is a finding-id count (null = unknown, not green).
1355
+ */
1356
+ arkOrder?: ArkOrderStatusSlice;
1323
1357
  };
1324
1358
  type StatusVsBaseSlice = {
1325
1359
  baseRef: string;
@@ -1389,6 +1423,8 @@ type StatusManifestFacts = {
1389
1423
  vsBase?: StatusVsBaseSlice | null;
1390
1424
  /** Thin ArkRun extra facts (notAScore). residual null = unknown, not green. */
1391
1425
  arkRun?: ArkRunStatusSlice | null;
1426
+ /** Thin ArkOrder extra facts (notAScore). residual null = unknown, not green. */
1427
+ arkOrder?: ArkOrderStatusSlice | null;
1392
1428
  };
1393
1429
  /**
1394
1430
  * Evaluate project binding for status without filesystem.
@@ -1731,6 +1767,38 @@ declare const ARK_STATUS_MANIFEST_SCHEMA: {
1731
1767
  };
1732
1768
  };
1733
1769
  };
1770
+ readonly arkOrder: {
1771
+ readonly type: "object";
1772
+ readonly description: "ArkOrder extra residual (notAScore). present/mode from config; residual is a finding-id count (null = unknown, not green). extraMergeTeeth is honesty, never a score.";
1773
+ readonly additionalProperties: false;
1774
+ readonly required: readonly ["notAScore", "present", "mode", "extraMergeTeeth", "residual"];
1775
+ readonly properties: {
1776
+ readonly notAScore: {
1777
+ readonly const: true;
1778
+ };
1779
+ readonly present: {
1780
+ readonly type: "boolean";
1781
+ };
1782
+ readonly mode: {
1783
+ readonly anyOf: readonly [{
1784
+ readonly enum: readonly ["advisory", "enforced"];
1785
+ }, {
1786
+ readonly type: "null";
1787
+ }];
1788
+ };
1789
+ readonly extraMergeTeeth: {
1790
+ readonly type: "boolean";
1791
+ };
1792
+ readonly residual: {
1793
+ readonly anyOf: readonly [{
1794
+ readonly type: "integer";
1795
+ readonly minimum: 0;
1796
+ }, {
1797
+ readonly type: "null";
1798
+ }];
1799
+ };
1800
+ };
1801
+ };
1734
1802
  };
1735
1803
  };
1736
1804
 
@@ -2032,19 +2100,23 @@ declare function projectionHasNonEnforcementLabel(bodyOrBlock: string): boolean;
2032
2100
  declare function mergeAgentProjectionDocument(existing: string | null | undefined, desiredBlock: string): AgentProjectionMergeResult;
2033
2101
 
2034
2102
  /**
2035
- * Agent Skills packaging contract (ACS05).
2103
+ * Agent Skills packaging contract (ACS05, opened by issue #216 / ADR 0036).
2036
2104
  *
2037
- * Closed catalog of the **existing 13** `/ark-*` skill names and pure validation
2038
- * for Agent Skills–compatible layout (`<name>/SKILL.md` with YAML frontmatter).
2105
+ * Closed catalog of shipped `/ark-*` skill names and pure validation for Agent
2106
+ * Skills–compatible layout (`<name>/SKILL.md` with YAML frontmatter).
2039
2107
  *
2040
- * **No new skill names** the freeze list is the product contract. Packaging is
2041
- * distribution only; enforcement remains ark-check / hooks / CI, never skills alone.
2108
+ * The set must exercise 100% of product capacity (Layers + ArkRules + ArkRun +
2109
+ * ArkOrder + north star Contener · Guiar · Ordenar). First-class doors do the
2110
+ * work; leftover names stay as one-release redirect stubs. Add a name only with
2111
+ * a live ROADMAP item. Packaging is distribution only; enforcement remains
2112
+ * ark-check / hooks / CI, never skills alone.
2042
2113
  *
2043
2114
  * Canonical authoring source remains flat `templates/skills/<name>.md`. The
2044
2115
  * Agent Skills layout is the generated twin at `templates/agent-skills/<name>/SKILL.md`.
2045
2116
  *
2046
2117
  * Zero Node I/O. Optional CLI surface: generated `bin/lib/agent-skills-package.mjs`.
2047
2118
  *
2119
+ * @see docs/adr/0036-skill-catalog-product-capacity.md
2048
2120
  * @see docs/plans/agent-contract-surface-4.3/README.md
2049
2121
  * @see https://agentskills.io/specification
2050
2122
  */
@@ -2059,13 +2131,51 @@ declare const FLAT_SKILL_TEMPLATES_RELATIVE_ROOT: "templates/skills";
2059
2131
  /** Required entry filename inside each skill directory (Agent Skills standard). */
2060
2132
  declare const AGENT_SKILL_ENTRY_FILENAME: "SKILL.md";
2061
2133
  /**
2062
- * Closed skill-name freeze (ACS / ADR skill freeze). Exactly these 13 names ship.
2134
+ * North-star filter for first-class doors. Not a score. Not enforcement.
2135
+ * Skills speak these so an agent picks the right sibling.
2136
+ */
2137
+ declare const ARK_SKILL_NORTH_STAR: readonly ["Contener", "Guiar", "Ordenar"];
2138
+ type ArkSkillNorthStar = (typeof ARK_SKILL_NORTH_STAR)[number];
2139
+ /**
2140
+ * First-class doors. Each must have crisp when / not when / handoff.
2141
+ * Sorted alphabetically.
2142
+ */
2143
+ declare const ARK_FIRST_CLASS_SKILL_NAMES: readonly ["ark-adopt", "ark-autopilot", "ark-coverage", "ark-explain", "ark-explore", "ark-order", "ark-place", "ark-runtime", "ark-upgrade"];
2144
+ type ArkFirstClassSkillName = (typeof ARK_FIRST_CLASS_SKILL_NAMES)[number];
2145
+ /**
2146
+ * One-release redirect stubs. Muscle memory / old docs still resolve.
2147
+ * Values are first-class doors. Capability surface must stay zero-loss.
2148
+ */
2149
+ declare const ARK_SKILL_STUB_REDIRECTS: Readonly<{
2150
+ readonly 'ark-architect': "ark-adopt";
2151
+ readonly 'ark-contract': "ark-adopt";
2152
+ readonly 'ark-fix': "ark-autopilot";
2153
+ readonly 'ark-loop': "ark-autopilot";
2154
+ readonly 'ark-think': "ark-explore";
2155
+ }>;
2156
+ type ArkSkillStubName = keyof typeof ARK_SKILL_STUB_REDIRECTS;
2157
+ /**
2158
+ * Product surface → first-class doors that exercise it.
2159
+ * Standing check: every surface has at least one first-class door.
2160
+ */
2161
+ declare const ARK_SKILL_CAPACITY: Readonly<{
2162
+ readonly Layers: readonly ["ark-adopt", "ark-place", "ark-explore", "ark-autopilot", "ark-coverage", "ark-explain"];
2163
+ readonly ArkRules: readonly ["ark-adopt", "ark-explore", "ark-autopilot"];
2164
+ readonly ArkRun: readonly ["ark-adopt", "ark-runtime", "ark-place", "ark-autopilot"];
2165
+ readonly ArkOrder: readonly ["ark-adopt", "ark-order", "ark-place", "ark-autopilot"];
2166
+ readonly Contener: readonly ["ark-adopt", "ark-place", "ark-upgrade"];
2167
+ readonly Guiar: readonly ["ark-explore", "ark-autopilot", "ark-explain", "ark-coverage", "ark-runtime"];
2168
+ readonly Ordenar: readonly ["ark-order"];
2169
+ }>;
2170
+ type ArkSkillCapacitySurface = keyof typeof ARK_SKILL_CAPACITY;
2171
+ /**
2172
+ * Closed shipped catalog (first-class + one-release stubs).
2063
2173
  * Sorted alphabetically for deterministic inventory diffs.
2064
2174
  */
2065
- declare const ARK_SKILL_NAMES: readonly ["ark-adopt", "ark-architect", "ark-autopilot", "ark-contract", "ark-coverage", "ark-explain", "ark-explore", "ark-fix", "ark-loop", "ark-place", "ark-runtime", "ark-think", "ark-upgrade"];
2175
+ declare const ARK_SKILL_NAMES: readonly ["ark-adopt", "ark-architect", "ark-autopilot", "ark-contract", "ark-coverage", "ark-explain", "ark-explore", "ark-fix", "ark-loop", "ark-order", "ark-place", "ark-runtime", "ark-think", "ark-upgrade"];
2066
2176
  type ArkSkillName = (typeof ARK_SKILL_NAMES)[number];
2067
- /** Count of frozen skill names (must stay 13 until a ROADMAP item lifts the freeze). */
2068
- declare const ARK_SKILL_NAME_COUNT: 13;
2177
+ /** Count of shipped skill names (first-class + stubs). */
2178
+ declare const ARK_SKILL_NAME_COUNT: 14;
2069
2179
  /**
2070
2180
  * Agent Skills `name` field rules (agentskills.io):
2071
2181
  * - 1–64 characters
@@ -2073,8 +2183,12 @@ declare const ARK_SKILL_NAME_COUNT: 13;
2073
2183
  * - no leading/trailing hyphen; no consecutive hyphens
2074
2184
  */
2075
2185
  declare function isValidAgentSkillName(name: string): boolean;
2076
- /** True when `name` is one of the frozen 13 Ark skill names. */
2186
+ /** True when `name` is in the closed shipped catalog. */
2077
2187
  declare function isArkSkillName(name: string): name is ArkSkillName;
2188
+ /** True when `name` is a first-class door (not a redirect stub). */
2189
+ declare function isFirstClassArkSkillName(name: string): name is ArkFirstClassSkillName;
2190
+ /** First-class door a leftover name redirects to, or null. */
2191
+ declare function arkSkillStubRedirect(name: string): ArkFirstClassSkillName | null;
2078
2192
  type ParsedSkillFrontmatter = {
2079
2193
  /** Raw frontmatter keys (string values; nested YAML not supported). */
2080
2194
  fields: Readonly<Record<string, string>>;
@@ -2134,7 +2248,7 @@ type ValidateAgentSkillsPackageResult = {
2134
2248
  presentCount: number;
2135
2249
  };
2136
2250
  /**
2137
- * Validate a full Agent Skills package inventory against the frozen 13-name catalog.
2251
+ * Validate a full Agent Skills package inventory against the closed catalog.
2138
2252
  * Detects missing, extra, duplicate, invalid, and (when supplied) flat-template drift.
2139
2253
  */
2140
2254
  declare function validateAgentSkillsPackage(entries: readonly AgentSkillPackageEntry[]): ValidateAgentSkillsPackageResult;
@@ -2176,4 +2290,4 @@ declare function agentSkillPackageFileRelativePath(skillName: string): string;
2176
2290
  */
2177
2291
  declare function flatSkillTemplateFileRelativePath(skillName: string): string;
2178
2292
 
2179
- export { AGENT_PROJECTION_BEGIN_MARKER, AGENT_PROJECTION_END_MARKER, AGENT_PROJECTION_ENFORCEMENT_SURFACES, AGENT_PROJECTION_NON_ENFORCEMENT_LABEL, AGENT_SKILLS_PACKAGE_RELATIVE_ROOT, AGENT_SKILL_ENTRY_FILENAME, ARKORDER_RULE_IDS, ARKORDER_TIER1_SENSOR_IDS, ARKRUN_INTERACTION_NAME_INCOMPLETE, ARKRUN_KERNEL_FACTORY_CALLEES, ARKRUN_KERNEL_INTERACTION_CALLEES, ARKRUN_RULE_IDS, ARKRUN_TIER1_SENSOR_IDS, ARKRUN_TRANSPORT_BYPASS_SPECIFIERS, ARK_AGENT_PROJECTION_SCHEMA_VERSION, ARK_AGENT_SKILLS_PACKAGE_SCHEMA_VERSION, ARK_CONFIG_SCHEMA, ARK_CONFIG_SCHEMA_VERSION, ARK_IMPROVEMENT_COMPASS_SCHEMA_VERSION, ARK_PROJECT_IDENTITY_SCHEMA, ARK_PROJECT_IDENTITY_SCHEMA_URL, ARK_PROJECT_IDENTITY_SCHEMA_VERSION, ARK_RULES_SCHEMA, ARK_RULES_SCHEMA_VERSION, ARK_RULE_SENSORS, ARK_RUN_DOCTOR_SCHEMA_VERSION, ARK_SKILL_DESCRIPTION_VERSION_PATTERN, ARK_SKILL_NAMES, ARK_SKILL_NAME_COUNT, ARK_STATUS_MANIFEST_SCHEMA, ARK_STATUS_MANIFEST_SCHEMA_URL, ARK_STATUS_MANIFEST_SCHEMA_VERSION, AdapterViolationInput, type AgentProjectionCatalogEntry, type AgentProjectionFacts, type AgentProjectionLayerSummary, type AgentProjectionMergeAction, type AgentProjectionMergeResult, type AgentProjectionMeta, type AgentProjectionProfile, type AgentSkillPackageEntry, type AgentSkillValidationIssue, ArkConfig, ArkConfigLoadResult, type ArkOrderRuleId, type ArkOrderSensorFinding, ArkRulesFile, type ArkRunDoctorSection, type ArkRunRuleId, type ArkRunSensorFinding, type ArkRunStatusSlice, type ArkRunTier1SensorId, type ArkSkillName, DEFAULT_AGENT_PROJECTION_RULE_IDS, EXTRA_MERGE_TEETH_GOVERNED_FLOOR, EffectiveArkRules, type EffectiveContract, EffectiveContractError, type EffectiveContractWarning, type EvaluateArkRunSensorsInput, type EvaluateArkRunSensorsResult, type ExtraMergeTeethClassification, FLAT_SKILL_TEMPLATES_RELATIVE_ROOT, IMPROVEMENT_COMPASS_OUT_OF_SCOPE_LENSES, IMPROVEMENT_COMPASS_TOP_RESIDUAL_CAP, IMPROVEMENT_LENS_IDS, type ImprovementCompass, type ImprovementCompassEvidence, type ImprovementCompassFacts, type ImprovementCompassNextAction, type ImprovementCompassSmellFact, type ImprovementCompassViolationFact, type ImprovementLens, type ImprovementLensId, type ImprovementLensStatus, MERGE_PLANES_DUAL_STAMP, type MergePlanesHonesty, PROJECT_BINDING_SCHEMA, PROJECT_EXPECTATION_SCHEMA, type ParseSkillDocumentResult, type ParsedSkillFrontmatter, type ProjectBinding, type ProjectExpectation, type ProjectIdentity, ResolvedArkRunCompositionRootHitFact, ResolvedArkRunDeclarationFact, ResolvedArkRunKernelCallFact, ResolvedArkRunKernelCallKind, ResolvedArkRunManagedNewFact, ResolvedDependencyFact, ResolvedFactsReason, type RulesInventoryCandidate, type RulesInventoryResult, STATUS_COMPASS_FACTS_SOURCES, STATUS_COMPASS_MODES, STATUS_COMPASS_REASON_CODES, type StatusActivationSlice, type StatusCheckVerdict, type StatusCompassFactsSource, type StatusCompassMode, type StatusCompassReasonCode, type StatusImprovementCompassSlice, type StatusLastCheckSlice, type StatusManifest, type StatusManifestFacts, type StatusNextAction, type StatusProjectIdentitySlice, type StatusRulesSlice, type StatusWritePathClass, type ValidateAgentSkillDocumentInput, type ValidateAgentSkillsPackageResult, adapterDocsCodePath, adapterFindingOccurrenceTargetKeys, adapterFindingRefFromTargetKey, adapterFindingTargetKey, agentProjectionContentIdentity, agentSkillEntryRelativePath, agentSkillPackageFileRelativePath, arkRunKernelCallKind, buildAgentProjectionBeginMarker, buildAgentProjectionBlock, buildAgentProjectionBody, buildAgentProjectionMeta, buildEffectiveArkRules, buildImprovementCompass, buildRulesInventory, buildStatusManifest, classifyResolvedLayerCoverage, classifyStatusWritePath, composeMergePlanesHonesty, createProjectId, createProjectIdentity, defaultHonestLabel, demoteExtraPlaneTeethUnderClassificationFloor, effectiveContractPolicyPayload, emptyEffectiveArkRules, evaluateArkOrderSensors, evaluateArkRunEditorSensors, evaluateArkRunEditorSensorsFromSource, evaluateArkRunSensors, evaluateStatusBinding, extraMergeTeethAllowed, extractAgentProjectionBlock, extractArkRunDeclarationsFromSource, extractArkRunImportedConstructorNamesFromSource, extractArkRunKernelCallsFromSource, extractArkRunManagedNewsFromSource, extractArkRunValueImportDependenciesFromSource, flatSkillTemplateFileRelativePath, formatAgentProjectionCatalogShortList, formatAgentProjectionLayers, formatArkRunDoctorLines, formatImprovementCompassDoctorLines, formatImprovementCompassResidualLabels, inventoryToExtractionCard, isArkOrderRuleId, isArkRunKernelModuleSpecifier, isArkRunRuleId, isArkRunTransportBypassSpecifier, isArkSkillName, isExtraPlaneFinding, isValidAgentSkillName, loadArkConfigContract, loadArkRulesContract, mergeAgentProjectionDocument, normalizeExtraMergeTeethClassification, normalizeSkillContent, normalizeStatusImprovementCompass, parseAgentProjectionStamp, parseArkConfigJson, parseArkRulesJson, parseSkillDescriptionVersion, parseSkillDocument, primaryImprovementCompassNextAction, projectStatusArkRun, projectStatusImprovementCompass, projectionHasNonEnforcementLabel, projectionMatchesPackageVersion, resolveEffectiveContract, resolveStatusNextAction, skillDescriptionVersionPrefix, stampSkillDescription, statusCompassResidualIsSubsetOfDoctor, stripSkillDescriptionVersion, summarizeArkRunSection, unavailableStatusImprovementCompass, validateAgentSkillDocument, validateAgentSkillsPackage };
2293
+ export { AGENT_PROJECTION_BEGIN_MARKER, AGENT_PROJECTION_END_MARKER, AGENT_PROJECTION_ENFORCEMENT_SURFACES, AGENT_PROJECTION_NON_ENFORCEMENT_LABEL, AGENT_SKILLS_PACKAGE_RELATIVE_ROOT, AGENT_SKILL_ENTRY_FILENAME, ARKORDER_RULE_IDS, ARKORDER_TIER1_SENSOR_IDS, ARKRUN_INTERACTION_NAME_INCOMPLETE, ARKRUN_KERNEL_FACTORY_CALLEES, ARKRUN_KERNEL_INTERACTION_CALLEES, ARKRUN_RULE_IDS, ARKRUN_TIER1_SENSOR_IDS, ARKRUN_TRANSPORT_BYPASS_SPECIFIERS, ARK_AGENT_PROJECTION_SCHEMA_VERSION, ARK_AGENT_SKILLS_PACKAGE_SCHEMA_VERSION, ARK_CONFIG_SCHEMA, ARK_CONFIG_SCHEMA_VERSION, ARK_FIRST_CLASS_SKILL_NAMES, ARK_IMPROVEMENT_COMPASS_SCHEMA_VERSION, ARK_PROJECT_IDENTITY_SCHEMA, ARK_PROJECT_IDENTITY_SCHEMA_URL, ARK_PROJECT_IDENTITY_SCHEMA_VERSION, ARK_RULES_SCHEMA, ARK_RULES_SCHEMA_VERSION, ARK_RULE_SENSORS, ARK_RUN_DOCTOR_SCHEMA_VERSION, ARK_SKILL_CAPACITY, ARK_SKILL_DESCRIPTION_VERSION_PATTERN, ARK_SKILL_NAMES, ARK_SKILL_NAME_COUNT, ARK_SKILL_NORTH_STAR, ARK_SKILL_STUB_REDIRECTS, ARK_STATUS_MANIFEST_SCHEMA, ARK_STATUS_MANIFEST_SCHEMA_URL, ARK_STATUS_MANIFEST_SCHEMA_VERSION, AdapterViolationInput, type AgentProjectionCatalogEntry, type AgentProjectionFacts, type AgentProjectionLayerSummary, type AgentProjectionMergeAction, type AgentProjectionMergeResult, type AgentProjectionMeta, type AgentProjectionProfile, type AgentSkillPackageEntry, type AgentSkillValidationIssue, ArkConfig, ArkConfigLoadResult, type ArkFirstClassSkillName, type ArkOrderRuleId, type ArkOrderSensorFinding, ArkRulesFile, type ArkRunDoctorSection, type ArkRunRuleId, type ArkRunSensorFinding, type ArkRunStatusSlice, type ArkRunTier1SensorId, type ArkSkillCapacitySurface, type ArkSkillName, type ArkSkillNorthStar, type ArkSkillStubName, DEFAULT_AGENT_PROJECTION_RULE_IDS, EXTRA_MERGE_TEETH_GOVERNED_FLOOR, EffectiveArkRules, type EffectiveContract, EffectiveContractError, type EffectiveContractWarning, type EvaluateArkRunSensorsInput, type EvaluateArkRunSensorsResult, type ExtraMergeTeethClassification, FLAT_SKILL_TEMPLATES_RELATIVE_ROOT, IMPROVEMENT_COMPASS_OUT_OF_SCOPE_LENSES, IMPROVEMENT_COMPASS_TOP_RESIDUAL_CAP, IMPROVEMENT_LENS_IDS, type ImprovementCompass, type ImprovementCompassEvidence, type ImprovementCompassFacts, type ImprovementCompassNextAction, type ImprovementCompassSmellFact, type ImprovementCompassViolationFact, type ImprovementLens, type ImprovementLensId, type ImprovementLensStatus, MERGE_PLANES_DUAL_STAMP, type MergePlanesHonesty, PROJECT_BINDING_SCHEMA, PROJECT_EXPECTATION_SCHEMA, type ParseSkillDocumentResult, type ParsedSkillFrontmatter, type ProjectBinding, type ProjectExpectation, type ProjectIdentity, ResolvedArkRunCompositionRootHitFact, ResolvedArkRunDeclarationFact, ResolvedArkRunKernelCallFact, ResolvedArkRunKernelCallKind, ResolvedArkRunManagedNewFact, ResolvedDependencyFact, ResolvedFactsReason, type RulesInventoryCandidate, type RulesInventoryResult, STATUS_COMPASS_FACTS_SOURCES, STATUS_COMPASS_MODES, STATUS_COMPASS_REASON_CODES, type StatusActivationSlice, type StatusCheckVerdict, type StatusCompassFactsSource, type StatusCompassMode, type StatusCompassReasonCode, type StatusImprovementCompassSlice, type StatusLastCheckSlice, type StatusManifest, type StatusManifestFacts, type StatusNextAction, type StatusProjectIdentitySlice, type StatusRulesSlice, type StatusWritePathClass, type ValidateAgentSkillDocumentInput, type ValidateAgentSkillsPackageResult, adapterDocsCodePath, adapterFindingOccurrenceTargetKeys, adapterFindingRefFromTargetKey, adapterFindingTargetKey, agentProjectionContentIdentity, agentSkillEntryRelativePath, agentSkillPackageFileRelativePath, arkRunKernelCallKind, arkSkillStubRedirect, buildAgentProjectionBeginMarker, buildAgentProjectionBlock, buildAgentProjectionBody, buildAgentProjectionMeta, buildEffectiveArkRules, buildImprovementCompass, buildRulesInventory, buildStatusManifest, classifyResolvedLayerCoverage, classifyStatusWritePath, composeMergePlanesHonesty, createProjectId, createProjectIdentity, defaultHonestLabel, demoteExtraPlaneTeethUnderClassificationFloor, effectiveContractPolicyPayload, emptyEffectiveArkRules, evaluateArkOrderSensors, evaluateArkRunEditorSensors, evaluateArkRunEditorSensorsFromSource, evaluateArkRunSensors, evaluateStatusBinding, extraMergeTeethAllowed, extractAgentProjectionBlock, extractArkRunDeclarationsFromSource, extractArkRunImportedConstructorNamesFromSource, extractArkRunKernelCallsFromSource, extractArkRunManagedNewsFromSource, extractArkRunValueImportDependenciesFromSource, flatSkillTemplateFileRelativePath, formatAgentProjectionCatalogShortList, formatAgentProjectionLayers, formatArkRunDoctorLines, formatImprovementCompassDoctorLines, formatImprovementCompassResidualLabels, inventoryToExtractionCard, isArkOrderRuleId, isArkRunKernelModuleSpecifier, isArkRunRuleId, isArkRunTransportBypassSpecifier, isArkSkillName, isExtraPlaneFinding, isFirstClassArkSkillName, isValidAgentSkillName, loadArkConfigContract, loadArkRulesContract, mergeAgentProjectionDocument, normalizeExtraMergeTeethClassification, normalizeSkillContent, normalizeStatusImprovementCompass, parseAgentProjectionStamp, parseArkConfigJson, parseArkRulesJson, parseSkillDescriptionVersion, parseSkillDocument, primaryImprovementCompassNextAction, projectStatusArkRun, projectStatusImprovementCompass, projectionHasNonEnforcementLabel, projectionMatchesPackageVersion, resolveEffectiveContract, resolveStatusNextAction, skillDescriptionVersionPrefix, stampSkillDescription, statusCompassResidualIsSubsetOfDoctor, stripSkillDescriptionVersion, summarizeArkRunSection, unavailableStatusImprovementCompass, validateAgentSkillDocument, validateAgentSkillsPackage };