@planu/cli 5.3.4 → 5.3.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 +15 -0
  2. package/dist/engine/execution/validate-job-executor.js +25 -10
  3. package/dist/engine/planu-core.darwin-arm64.node.manifest.json +7 -7
  4. package/dist/engine/planu-core.darwin-arm64.node.sbom.json +4 -4
  5. package/dist/engine/planu-core.darwin-x64.node.manifest.json +7 -7
  6. package/dist/engine/planu-core.darwin-x64.node.sbom.json +4 -4
  7. package/dist/engine/planu-core.linux-arm64-gnu.node.manifest.json +7 -7
  8. package/dist/engine/planu-core.linux-arm64-gnu.node.sbom.json +4 -4
  9. package/dist/engine/planu-core.linux-arm64-musl.node.manifest.json +7 -7
  10. package/dist/engine/planu-core.linux-arm64-musl.node.sbom.json +4 -4
  11. package/dist/engine/planu-core.linux-x64-gnu.node.manifest.json +7 -7
  12. package/dist/engine/planu-core.linux-x64-gnu.node.sbom.json +4 -4
  13. package/dist/engine/planu-core.linux-x64-musl.node.manifest.json +7 -7
  14. package/dist/engine/planu-core.linux-x64-musl.node.sbom.json +4 -4
  15. package/dist/engine/planu-core.win32-arm64-msvc.node.manifest.json +7 -7
  16. package/dist/engine/planu-core.win32-arm64-msvc.node.sbom.json +4 -4
  17. package/dist/engine/planu-core.win32-x64-msvc.node.manifest.json +7 -7
  18. package/dist/engine/planu-core.win32-x64-msvc.node.sbom.json +4 -4
  19. package/dist/engine/reconcile/apply-changes.d.ts +0 -12
  20. package/dist/engine/reconcile/apply-changes.js +11 -33
  21. package/dist/engine/reconcile/verify-write.js +2 -3
  22. package/dist/engine/rules-reconciler.js +21 -2
  23. package/dist/engine/spec-format/acceptance-criteria.js +7 -1
  24. package/dist/engine/universal-rules/catalog.js +6 -0
  25. package/dist/engine/universal-rules/rules/agent-teams.js +0 -2
  26. package/dist/engine/universal-rules/rules/planu-approval-gates.js +0 -1
  27. package/dist/engine/universal-rules/rules/planu-bdd-criteria.js +0 -1
  28. package/dist/engine/universal-rules/rules/planu-clean-code-no-comments.d.ts +3 -0
  29. package/dist/engine/universal-rules/rules/planu-clean-code-no-comments.js +30 -0
  30. package/dist/engine/universal-rules/rules/planu-debate-review.d.ts +3 -0
  31. package/dist/engine/universal-rules/rules/planu-debate-review.js +38 -0
  32. package/dist/engine/universal-rules/rules/planu-dogfood-bugs.js +0 -2
  33. package/dist/engine/universal-rules/rules/planu-english-specs.js +0 -1
  34. package/dist/engine/universal-rules/rules/planu-minimal-change.js +0 -2
  35. package/dist/engine/universal-rules/rules/planu-modes.js +0 -2
  36. package/dist/engine/universal-rules/rules/planu-release-policy.js +0 -1
  37. package/dist/engine/universal-rules/rules/planu-revert-proof-tests.d.ts +3 -0
  38. package/dist/engine/universal-rules/rules/planu-revert-proof-tests.js +34 -0
  39. package/dist/engine/universal-rules/rules/planu-sdd-model-routing.js +0 -1
  40. package/dist/engine/universal-rules/rules/planu-workflow.js +0 -2
  41. package/dist/engine/validator/validation-report-writer.js +1 -1
  42. package/dist/tools/reconcile-spec.d.ts +1 -1
  43. package/dist/tools/reconcile-spec.js +303 -178
  44. package/dist/tools/update-status/dod-gates.js +3 -3
  45. package/dist/types/reconcile.d.ts +5 -17
  46. package/dist/types/reconcile.js +1 -7
  47. package/package.json +9 -9
  48. package/planu-native.json +1 -1
  49. package/planu-plugin.json +1 -1
@@ -1,58 +1,46 @@
1
- /**
2
- * Sections whose values do not appear as literal text in spec.md body —
3
- * applied/verified at the metadata layer, never via string-replace.
4
- * Shared by apply-changes.ts (skip) and verify-write.ts (skip).
5
- */
6
- export declare const RECONCILE_METADATA_SECTIONS: ReadonlySet<string>;
7
- /** A single failed post-write verification entry (Bug D). */
1
+ export declare const SECTIONS_WITHOUT_LITERAL_BODY_TEXT: ReadonlySet<string>;
8
2
  export interface VerifyWriteFailure {
9
3
  section: string;
10
4
  newValue: string;
11
5
  reason: string;
12
6
  }
13
- /** Result of verifyWriteSucceeded (Bug D). */
14
7
  export interface VerifyWriteResult {
15
8
  verified: boolean;
16
9
  missingChanges: VerifyWriteFailure[];
17
10
  }
18
- /** A change that could not be applied to spec.md body (Bug D). */
19
11
  export interface SkippedChange {
20
12
  section: string;
21
13
  originalValue: string;
22
14
  reason: string;
15
+ reasonCategory: 'skipped' | 'ambiguous';
23
16
  }
24
- /** Result of applyChangesToSpec (Bug D). */
25
17
  export interface ApplyChangesResult {
26
18
  applied: number;
27
19
  skipped: SkippedChange[];
28
20
  fileWritten: boolean;
29
21
  }
30
- /** Body bounds of a markdown section, used by apply-changes' anchoring. */
22
+ export interface ApplyChangesToSpecFilesResult {
23
+ auditWritten: boolean;
24
+ }
31
25
  export interface SectionBounds {
32
26
  start: number;
33
27
  end: number;
34
28
  }
35
- /** Parsed snapshot of status.json used by status-reconciler (Bug G). */
36
29
  export interface CurrentStatus {
37
30
  totalSpecs: number;
38
31
  content: Record<string, unknown>;
39
- /** True when status.json exists; false when missing (ENOENT). */
40
32
  exists: boolean;
41
- /** True when status.json existed but could not be parsed/read for non-ENOENT reasons. */
42
33
  corrupt: boolean;
43
34
  }
44
- /** Result of reconcileStatusFromDisk (Bug G). */
45
35
  export interface StatusReconcileResult {
46
36
  reconciled: boolean;
47
37
  before: number;
48
38
  after: number;
49
39
  }
50
40
  import type { ProjectKnowledge } from './project/core.js';
51
- /** Result when a project was resolved via resolveProjectFromPath (Bug F). */
52
41
  export interface ResolvedProject {
53
42
  projectId: string;
54
43
  knowledge: ProjectKnowledge;
55
- /** True when knowledge was recovered from disk fingerprint. */
56
44
  recovered: boolean;
57
45
  }
58
46
  //# sourceMappingURL=reconcile.d.ts.map
@@ -1,10 +1,4 @@
1
- // types/reconcile.ts SPEC-1011: Types for reconcile engine modules
2
- /**
3
- * Sections whose values do not appear as literal text in spec.md body —
4
- * applied/verified at the metadata layer, never via string-replace.
5
- * Shared by apply-changes.ts (skip) and verify-write.ts (skip).
6
- */
7
- export const RECONCILE_METADATA_SECTIONS = new Set([
1
+ export const SECTIONS_WITHOUT_LITERAL_BODY_TEXT = new Set([
8
2
  'estimation',
9
3
  'cost',
10
4
  'status',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planu/cli",
3
- "version": "5.3.4",
3
+ "version": "5.3.5",
4
4
  "description": "Planu — MCP Server for Spec Driven Development with native Rust acceleration for hot paths. Cross-platform (Linux/macOS/Windows, x64/arm64, glibc/musl).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -35,14 +35,14 @@
35
35
  "packageName": "@planu/core"
36
36
  },
37
37
  "optionalDependencies": {
38
- "@planu/core-darwin-arm64": "5.3.4",
39
- "@planu/core-darwin-x64": "5.3.4",
40
- "@planu/core-linux-arm64-gnu": "5.3.4",
41
- "@planu/core-linux-arm64-musl": "5.3.4",
42
- "@planu/core-linux-x64-gnu": "5.3.4",
43
- "@planu/core-linux-x64-musl": "5.3.4",
44
- "@planu/core-win32-arm64-msvc": "5.3.4",
45
- "@planu/core-win32-x64-msvc": "5.3.4"
38
+ "@planu/core-darwin-arm64": "5.3.5",
39
+ "@planu/core-darwin-x64": "5.3.5",
40
+ "@planu/core-linux-arm64-gnu": "5.3.5",
41
+ "@planu/core-linux-arm64-musl": "5.3.5",
42
+ "@planu/core-linux-x64-gnu": "5.3.5",
43
+ "@planu/core-linux-x64-musl": "5.3.5",
44
+ "@planu/core-win32-arm64-msvc": "5.3.5",
45
+ "@planu/core-win32-x64-msvc": "5.3.5"
46
46
  },
47
47
  "engines": {
48
48
  "node": ">=24.0.0"
package/planu-native.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dev.planu.native",
3
3
  "displayName": "Planu Native Lightweight Surface",
4
- "version": "5.3.4",
4
+ "version": "5.3.5",
5
5
  "packageName": "@planu/cli",
6
6
  "modes": {
7
7
  "lightweight": {
package/planu-plugin.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "dev.planu.cli",
3
3
  "displayName": "Planu — Spec Driven Development",
4
4
  "description": "Manage software specs, estimations, and autonomous SDD workflows. Language-agnostic MCP server for Claude Code.",
5
- "version": "5.3.4",
5
+ "version": "5.3.5",
6
6
  "icon": "assets/plugin/icon.svg",
7
7
  "command": ["npx", "@planu/cli@latest"],
8
8
  "packageName": "@planu/cli",