arkgate 4.6.4 → 4.6.5

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 (49) hide show
  1. package/CHANGELOG.md +39 -5
  2. package/README.md +6 -5
  3. package/bin/ark-check-runtime.mjs +98 -14
  4. package/bin/ark-mcp-runtime.mjs +18 -30
  5. package/bin/lib/adapter-contract.mjs +13 -9
  6. package/bin/lib/agent-projection-command.mjs +18 -0
  7. package/bin/lib/agent-projection.mjs +2 -2
  8. package/bin/lib/analysis-engine.mjs +5 -5
  9. package/bin/lib/ci-and-commands.mjs +3 -3
  10. package/bin/lib/ci-merge-boundary.mjs +89 -0
  11. package/bin/lib/config-contract.mjs +2 -0
  12. package/bin/lib/diagnostic-catalog.mjs +5 -4
  13. package/bin/lib/doctor-next-actions.mjs +17 -5
  14. package/bin/lib/doctor-plan.mjs +14 -0
  15. package/bin/lib/enforcement-honesty.mjs +2 -0
  16. package/bin/lib/graph-blind.mjs +15 -6
  17. package/bin/lib/install-migrate.mjs +10 -0
  18. package/bin/lib/invariant-coverage.mjs +6 -2
  19. package/bin/lib/managed-upgrade.mjs +8 -3
  20. package/bin/lib/presets.mjs +22 -0
  21. package/bin/lib/remediation.mjs +74 -10
  22. package/bin/lib/skill-install.mjs +2 -0
  23. package/bin/lib/snippet-analysis.mjs +40 -8
  24. package/dist/{configTypes-B8uIcLaG.d.ts → configTypes-l6XiwiC1.d.ts} +7 -0
  25. package/dist/eslint/index.cjs +3 -3
  26. package/dist/eslint/index.d.ts +1 -1
  27. package/dist/eslint/index.js +3 -3
  28. package/dist/index.cjs +26 -26
  29. package/dist/index.d.ts +11 -2
  30. package/dist/index.js +29 -29
  31. package/docs/README.md +3 -2
  32. package/docs/agent-guide.md +10 -0
  33. package/docs/brownfield-adoption.md +7 -1
  34. package/docs/configuration.md +2 -1
  35. package/docs/develop.md +4 -2
  36. package/docs/diagnostics.md +15 -5
  37. package/docs/package-surface.md +3 -2
  38. package/package.json +1 -1
  39. package/schemas/ark.config.schema.json +6 -0
  40. package/server.json +2 -2
  41. package/templates/agent-skills/README.md +1 -1
  42. package/templates/agent-skills/ark-adopt/SKILL.md +7 -0
  43. package/templates/agent-skills/ark-explore/SKILL.md +6 -0
  44. package/templates/agent-skills/ark-place/SKILL.md +11 -4
  45. package/templates/agent-skills/ark-upgrade/SKILL.md +9 -2
  46. package/templates/skills/ark-adopt.md +7 -0
  47. package/templates/skills/ark-explore.md +6 -0
  48. package/templates/skills/ark-place.md +11 -4
  49. package/templates/skills/ark-upgrade.md +9 -2
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as ArkConfigRule, b as ArkConfigSchemaVersion, c as ArkConfigLoadResult, d as ArkConfigLayer, A as ArkConfig, e as ArkConfigIssue } from './configTypes-B8uIcLaG.js';
1
+ import { a as ArkConfigRule, b as ArkConfigSchemaVersion, c as ArkConfigLoadResult, d as ArkConfigLayer, A as ArkConfig, e as ArkConfigIssue } from './configTypes-l6XiwiC1.js';
2
2
 
3
3
  /**
4
4
  * Canonical, pure contract for ark.config.json.
@@ -188,6 +188,12 @@ declare const ARK_CONFIG_SCHEMA: {
188
188
  readonly optional: {
189
189
  readonly type: "boolean";
190
190
  };
191
+ readonly reserved: {
192
+ readonly type: "boolean";
193
+ };
194
+ readonly allowEmpty: {
195
+ readonly type: "boolean";
196
+ };
191
197
  };
192
198
  };
193
199
  readonly rule: {
@@ -254,7 +260,7 @@ declare function loadArkConfigContract(input: unknown, source?: string): ArkConf
254
260
  declare function parseArkConfigJson(json: string, source?: string): ArkConfigLoadResult;
255
261
 
256
262
  /** ArkGate library version — single source of truth. */
257
- declare const version = "4.6.4";
263
+ declare const version = "4.6.5";
258
264
 
259
265
  /** Versioned public result contract shared by every ArkGate enforcement adapter. */
260
266
  /**
@@ -1996,6 +2002,7 @@ type InvariantCoverageEvidence = {
1996
2002
  partial: boolean;
1997
2003
  description: string;
1998
2004
  };
2005
+ type InvariantUncoveredKind = 'never-had-tests' | 'tests-disappeared';
1999
2006
  type InvariantCoverageViolation = {
2000
2007
  ruleId: 'INVARIANT_UNCOVERED';
2001
2008
  message: string;
@@ -2006,6 +2013,8 @@ type InvariantCoverageViolation = {
2006
2013
  fromLayer: string;
2007
2014
  severity: 'error' | 'warning';
2008
2015
  failsStrict: boolean;
2016
+ /** Adopt residual (no test suite) vs regression (suite exists, coverage gone). */
2017
+ kind: InvariantUncoveredKind;
2009
2018
  };
2010
2019
  type EvaluateInvariantCoverageInput = {
2011
2020
  arkRules: EffectiveArkRules;