arkgate 4.6.0 → 4.6.2

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 (78) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/README.md +11 -5
  3. package/bin/ark-check-runtime.mjs +115 -128
  4. package/bin/ark-mcp-runtime.mjs +86 -48
  5. package/bin/ark.mjs +21 -78
  6. package/bin/lib/agent-projection.mjs +1 -1
  7. package/bin/lib/analysis-engine.mjs +3 -3
  8. package/bin/lib/ci-and-commands.mjs +11 -11
  9. package/bin/lib/config-contract.mjs +2 -0
  10. package/bin/lib/contract-smells.mjs +5 -5
  11. package/bin/lib/design-smells.mjs +1 -1
  12. package/bin/lib/doctor-advisories.mjs +9 -0
  13. package/bin/lib/doctor-next-actions.mjs +92 -0
  14. package/bin/lib/doctor-plan.mjs +61 -71
  15. package/bin/lib/field-install.mjs +1 -1
  16. package/bin/lib/first-run-help.mjs +221 -0
  17. package/bin/lib/html-report-advisories.mjs +20 -0
  18. package/bin/lib/improvement-compass-map.mjs +20 -20
  19. package/bin/lib/pilot-loop.mjs +1 -1
  20. package/bin/lib/post-green-path.mjs +2 -2
  21. package/bin/lib/prepare-change.mjs +9 -0
  22. package/bin/lib/product-copy.mjs +1 -1
  23. package/bin/lib/start-preview.mjs +17 -10
  24. package/bin/lib/status-command.mjs +19 -0
  25. package/bin/lib/status-manifest.mjs +23 -0
  26. package/bin/lib/team-parliament-io.mjs +338 -0
  27. package/bin/lib/team-parliament.mjs +383 -0
  28. package/bin/lib/upgrade-whats-new.mjs +16 -0
  29. package/bin/lib/violations.mjs +8 -4
  30. package/dist/{configTypes-CC0FEXoF.d.ts → configTypes-B8uIcLaG.d.ts} +5 -0
  31. package/dist/eslint/index.cjs +2 -2
  32. package/dist/eslint/index.d.ts +1 -1
  33. package/dist/eslint/index.js +2 -2
  34. package/dist/index.cjs +8 -8
  35. package/dist/index.d.ts +66 -2
  36. package/dist/index.js +8 -8
  37. package/docs/README.md +5 -5
  38. package/docs/agent-guide.md +21 -17
  39. package/docs/configuration.md +36 -2
  40. package/docs/develop.md +13 -1
  41. package/docs/enthusiast/README.md +1 -1
  42. package/docs/enthusiast/how-to-agent-gates.md +3 -3
  43. package/docs/enthusiast/how-to-pick-shape.md +2 -2
  44. package/docs/enthusiast/tutorial-first-project.md +4 -3
  45. package/docs/package-surface.md +5 -3
  46. package/docs/product-voice.md +48 -10
  47. package/docs/use.md +10 -5
  48. package/package.json +2 -2
  49. package/schemas/ark.config.schema.json +9 -0
  50. package/schemas/ark.status-manifest.schema.json +51 -0
  51. package/server.json +3 -3
  52. package/templates/agent-skills/README.md +1 -1
  53. package/templates/agent-skills/ark-adopt/SKILL.md +59 -23
  54. package/templates/agent-skills/ark-architect/SKILL.md +24 -145
  55. package/templates/agent-skills/ark-autopilot/SKILL.md +49 -32
  56. package/templates/agent-skills/ark-contract/SKILL.md +21 -105
  57. package/templates/agent-skills/ark-coverage/SKILL.md +7 -3
  58. package/templates/agent-skills/ark-explain/SKILL.md +8 -4
  59. package/templates/agent-skills/ark-explore/SKILL.md +38 -21
  60. package/templates/agent-skills/ark-fix/SKILL.md +34 -157
  61. package/templates/agent-skills/ark-loop/SKILL.md +31 -153
  62. package/templates/agent-skills/ark-place/SKILL.md +35 -14
  63. package/templates/agent-skills/ark-runtime/SKILL.md +3 -3
  64. package/templates/agent-skills/ark-think/SKILL.md +6 -2
  65. package/templates/agent-skills/ark-upgrade/SKILL.md +21 -10
  66. package/templates/skills/ark-adopt.md +59 -23
  67. package/templates/skills/ark-architect.md +24 -145
  68. package/templates/skills/ark-autopilot.md +49 -32
  69. package/templates/skills/ark-contract.md +21 -105
  70. package/templates/skills/ark-coverage.md +7 -3
  71. package/templates/skills/ark-explain.md +8 -4
  72. package/templates/skills/ark-explore.md +38 -21
  73. package/templates/skills/ark-fix.md +34 -157
  74. package/templates/skills/ark-loop.md +31 -153
  75. package/templates/skills/ark-place.md +35 -14
  76. package/templates/skills/ark-runtime.md +3 -3
  77. package/templates/skills/ark-think.md +6 -2
  78. package/templates/skills/ark-upgrade.md +21 -10
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-CC0FEXoF.js';
1
+ import { a as ArkConfigRule, b as ArkConfigSchemaVersion, c as ArkConfigLoadResult, d as ArkConfigLayer, A as ArkConfig, e as ArkConfigIssue } from './configTypes-B8uIcLaG.js';
2
2
 
3
3
  /**
4
4
  * Canonical, pure contract for ark.config.json.
@@ -107,6 +107,16 @@ declare const ARK_CONFIG_SCHEMA: {
107
107
  };
108
108
  readonly default: {};
109
109
  };
110
+ /** Team parliament — GitHub handles or emails who may loosen the law (not part of policy hash). */
111
+ readonly stewards: {
112
+ readonly default: readonly [];
113
+ readonly type: "array";
114
+ readonly items: {
115
+ readonly type: "string";
116
+ readonly minLength: 1;
117
+ };
118
+ readonly uniqueItems: true;
119
+ };
110
120
  };
111
121
  readonly $defs: {
112
122
  readonly layer: {
@@ -244,7 +254,7 @@ declare function loadArkConfigContract(input: unknown, source?: string): ArkConf
244
254
  declare function parseArkConfigJson(json: string, source?: string): ArkConfigLoadResult;
245
255
 
246
256
  /** ArkGate library version — single source of truth. */
247
- declare const version = "4.6.0";
257
+ declare const version = "4.6.2";
248
258
 
249
259
  /** Versioned public result contract shared by every ArkGate enforcement adapter. */
250
260
  /**
@@ -2986,6 +2996,16 @@ type StatusManifest = {
2986
2996
  * Tooling should always supply a projection (including mode=unavailable).
2987
2997
  */
2988
2998
  improvementCompass?: StatusImprovementCompassSlice;
2999
+ /** Optional checkout-vs-base honesty (TW). Never a gate input. */
3000
+ vsBase?: StatusVsBaseSlice;
3001
+ };
3002
+ type StatusVsBaseSlice = {
3003
+ baseRef: string;
3004
+ line: string;
3005
+ pinLocal: string | null;
3006
+ pinBase: string | null;
3007
+ contractEqual: boolean;
3008
+ baselineGrew: boolean;
2989
3009
  };
2990
3010
  /**
2991
3011
  * Pure facts supplied by Tooling after path canonicalization and I/O.
@@ -3029,11 +3049,17 @@ type StatusManifestFacts = {
3029
3049
  rulesFrozenResidual?: number | null;
3030
3050
  /** Optional override when Tooling already computed productHonesty next action. */
3031
3051
  nextActionOverride?: StatusNextAction | null;
3052
+ /**
3053
+ * Leftover design work remains (import rules may be clean). Not a score.
3054
+ * When true, nextAction must not be stay-enforced.
3055
+ */
3056
+ leftoverDesignWork?: boolean;
3032
3057
  /**
3033
3058
  * Improvement compass residual slice (notAScore) with honesty mode.
3034
3059
  * Prefer projectStatusImprovementCompass() before passing facts.
3035
3060
  */
3036
3061
  improvementCompass?: StatusImprovementCompassSlice | null;
3062
+ vsBase?: StatusVsBaseSlice | null;
3037
3063
  };
3038
3064
  /**
3039
3065
  * Evaluate project binding for status without filesystem.
@@ -3306,6 +3332,44 @@ declare const ARK_STATUS_MANIFEST_SCHEMA: {
3306
3332
  };
3307
3333
  };
3308
3334
  };
3335
+ readonly vsBase: {
3336
+ readonly type: "object";
3337
+ readonly description: "Checkout vs a git base ref: pin, contract identity, baseline grow. Advisory honesty only — never a gate input.";
3338
+ readonly additionalProperties: false;
3339
+ readonly required: readonly ["baseRef", "line", "pinLocal", "pinBase", "contractEqual", "baselineGrew"];
3340
+ readonly properties: {
3341
+ readonly baseRef: {
3342
+ readonly type: "string";
3343
+ readonly minLength: 1;
3344
+ };
3345
+ readonly line: {
3346
+ readonly type: "string";
3347
+ readonly minLength: 1;
3348
+ };
3349
+ readonly pinLocal: {
3350
+ readonly anyOf: readonly [{
3351
+ readonly type: "string";
3352
+ readonly minLength: 1;
3353
+ }, {
3354
+ readonly type: "null";
3355
+ }];
3356
+ };
3357
+ readonly pinBase: {
3358
+ readonly anyOf: readonly [{
3359
+ readonly type: "string";
3360
+ readonly minLength: 1;
3361
+ }, {
3362
+ readonly type: "null";
3363
+ }];
3364
+ };
3365
+ readonly contractEqual: {
3366
+ readonly type: "boolean";
3367
+ };
3368
+ readonly baselineGrew: {
3369
+ readonly type: "boolean";
3370
+ };
3371
+ };
3372
+ };
3309
3373
  };
3310
3374
  };
3311
3375