@aperant/framework 0.7.4 → 0.8.1

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 (119) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +12 -0
  3. package/agents/apt-executor.md +12 -0
  4. package/agents/apt-team-docs-narrator.md +11 -0
  5. package/dist/cli/ci-watch/stop-matrix.d.mts +17 -4
  6. package/dist/cli/ci-watch/stop-matrix.d.mts.map +1 -1
  7. package/dist/cli/ci-watch/stop-matrix.mjs +41 -4
  8. package/dist/cli/ci-watch/stop-matrix.mjs.map +1 -1
  9. package/dist/cli/commands/fan-out.d.mts +2 -0
  10. package/dist/cli/commands/fan-out.d.mts.map +1 -0
  11. package/dist/cli/commands/fan-out.mjs +123 -0
  12. package/dist/cli/commands/fan-out.mjs.map +1 -0
  13. package/dist/cli/commands/init.d.mts.map +1 -1
  14. package/dist/cli/commands/init.mjs +67 -27
  15. package/dist/cli/commands/init.mjs.map +1 -1
  16. package/dist/cli/commands/modes.d.mts +22 -0
  17. package/dist/cli/commands/modes.d.mts.map +1 -1
  18. package/dist/cli/commands/modes.mjs +4 -1
  19. package/dist/cli/commands/modes.mjs.map +1 -1
  20. package/dist/cli/commands/pr-review-audit-fixer.d.mts.map +1 -1
  21. package/dist/cli/commands/pr-review-audit-fixer.mjs +86 -6
  22. package/dist/cli/commands/pr-review-audit-fixer.mjs.map +1 -1
  23. package/dist/cli/commands/roadmap.d.mts +1 -1
  24. package/dist/cli/commands/roadmap.d.mts.map +1 -1
  25. package/dist/cli/commands/roadmap.mjs +47 -4
  26. package/dist/cli/commands/roadmap.mjs.map +1 -1
  27. package/dist/cli/commands/task.d.mts.map +1 -1
  28. package/dist/cli/commands/task.mjs +15 -0
  29. package/dist/cli/commands/task.mjs.map +1 -1
  30. package/dist/cli/commands/validate-evidence.d.mts +1 -1
  31. package/dist/cli/commands/validate-evidence.d.mts.map +1 -1
  32. package/dist/cli/commands/validate-evidence.mjs +72 -47
  33. package/dist/cli/commands/validate-evidence.mjs.map +1 -1
  34. package/dist/cli/commands/wave.d.mts.map +1 -1
  35. package/dist/cli/commands/wave.mjs +91 -61
  36. package/dist/cli/commands/wave.mjs.map +1 -1
  37. package/dist/cli/commands/worktree.mjs +62 -3
  38. package/dist/cli/commands/worktree.mjs.map +1 -1
  39. package/dist/cli/config/load.mjs +1 -1
  40. package/dist/cli/config/load.mjs.map +1 -1
  41. package/dist/cli/config/parallelization.d.mts +14 -0
  42. package/dist/cli/config/parallelization.d.mts.map +1 -0
  43. package/dist/cli/config/parallelization.mjs +19 -0
  44. package/dist/cli/config/parallelization.mjs.map +1 -0
  45. package/dist/cli/coordination/agent-identity.d.mts.map +1 -1
  46. package/dist/cli/coordination/agent-identity.mjs +7 -1
  47. package/dist/cli/coordination/agent-identity.mjs.map +1 -1
  48. package/dist/cli/design/frontmatter-schema.d.mts +4 -4
  49. package/dist/cli/dispatch.d.mts.map +1 -1
  50. package/dist/cli/dispatch.mjs +2 -0
  51. package/dist/cli/dispatch.mjs.map +1 -1
  52. package/dist/cli/install/cli-to-install-root.d.mts.map +1 -1
  53. package/dist/cli/install/cli-to-install-root.mjs +0 -2
  54. package/dist/cli/install/cli-to-install-root.mjs.map +1 -1
  55. package/dist/cli/install/runtime-detect.d.mts +2 -6
  56. package/dist/cli/install/runtime-detect.d.mts.map +1 -1
  57. package/dist/cli/install/runtime-detect.mjs +8 -3
  58. package/dist/cli/install/runtime-detect.mjs.map +1 -1
  59. package/dist/cli/install/transforms/pi.d.mts +6 -0
  60. package/dist/cli/install/transforms/pi.d.mts.map +1 -0
  61. package/dist/cli/install/transforms/pi.mjs +37 -0
  62. package/dist/cli/install/transforms/pi.mjs.map +1 -0
  63. package/dist/cli/personas/sidecar.d.mts +1 -1
  64. package/dist/cli/roadmap/convex-mirror.d.mts +21 -0
  65. package/dist/cli/roadmap/convex-mirror.d.mts.map +1 -0
  66. package/dist/cli/roadmap/convex-mirror.mjs +133 -0
  67. package/dist/cli/roadmap/convex-mirror.mjs.map +1 -0
  68. package/dist/cli/roadmap/lifecycle.d.mts +1 -1
  69. package/dist/cli/roadmap/lifecycle.d.mts.map +1 -1
  70. package/dist/cli/roadmap/lifecycle.mjs +54 -0
  71. package/dist/cli/roadmap/lifecycle.mjs.map +1 -1
  72. package/dist/cli/roadmap/rollup.d.mts +2 -2
  73. package/dist/cli/wfrun/unit-shape.d.mts +27 -0
  74. package/dist/cli/wfrun/unit-shape.d.mts.map +1 -0
  75. package/dist/cli/wfrun/unit-shape.mjs +38 -0
  76. package/dist/cli/wfrun/unit-shape.mjs.map +1 -0
  77. package/dist/plugin/.claude-plugin/plugin.json +2 -1
  78. package/dist/plugin/agents/apt-executor.md +12 -0
  79. package/dist/plugin/agents/apt-team-docs-narrator.md +11 -0
  80. package/dist/plugin/skills/apt/SKILL.md +3 -2
  81. package/dist/plugin/skills/apt-execute/SKILL.md +13 -0
  82. package/dist/plugin/skills/apt-fan-out/SKILL.md +124 -0
  83. package/dist/plugin/skills/apt-pr-review/SKILL.md +8 -1
  84. package/dist/plugin/skills/apt-review/SKILL.md +4 -0
  85. package/dist/plugin/skills/apt-run/SKILL.md +20 -5
  86. package/dist/plugin/skills/apt-spar/SKILL.md +12 -9
  87. package/dist/plugin/skills/apt-verify/SKILL.md +11 -0
  88. package/dist/plugin/skills/apt-watch-ci/SKILL.md +2 -2
  89. package/dist/schemas/quick-task.d.ts +17 -17
  90. package/package.json +133 -133
  91. package/skills/apt/SKILL.md +3 -2
  92. package/skills/apt-execute/SKILL.md +13 -0
  93. package/skills/apt-fan-out/SKILL.md +124 -0
  94. package/skills/apt-review/SKILL.md +4 -0
  95. package/skills/apt-run/SKILL.md +20 -5
  96. package/skills/apt-spar/SKILL.md +12 -9
  97. package/skills/apt-verify/SKILL.md +11 -0
  98. package/skills/apt-watch-ci/SKILL.md +2 -2
  99. package/src/cli/ci-watch/stop-matrix.mjs +44 -4
  100. package/src/cli/commands/fan-out.mjs +129 -0
  101. package/src/cli/commands/init.mjs +66 -27
  102. package/src/cli/commands/modes.mjs +4 -1
  103. package/src/cli/commands/pr-review-audit-fixer.mjs +82 -6
  104. package/src/cli/commands/roadmap.mjs +48 -4
  105. package/src/cli/commands/task.mjs +15 -0
  106. package/src/cli/commands/validate-evidence.mjs +75 -50
  107. package/src/cli/commands/wave.mjs +91 -58
  108. package/src/cli/commands/worktree.mjs +56 -3
  109. package/src/cli/config/load.mjs +1 -1
  110. package/src/cli/config/parallelization.mjs +18 -0
  111. package/src/cli/coordination/agent-identity.mjs +9 -1
  112. package/src/cli/dispatch.mjs +2 -0
  113. package/src/cli/install/cli-to-install-root.mjs +0 -2
  114. package/src/cli/install/runtime-detect.mjs +8 -3
  115. package/src/cli/install/transforms/pi.mjs +37 -0
  116. package/src/cli/roadmap/convex-mirror.mjs +131 -0
  117. package/src/cli/roadmap/lifecycle.mjs +48 -0
  118. package/src/cli/wfrun/unit-shape.mjs +39 -0
  119. package/templates/config.json +1 -1
@@ -0,0 +1,39 @@
1
+ /**
2
+ * wfrun/unit-shape.mjs — FRAMEWORK-BUG-033 capability gap (ID-03).
3
+ *
4
+ * Normalize a wave-engine plan blob to the unit-agnostic
5
+ * `{units, unit_kind}` shape. Two input forms accepted:
6
+ * - Subtask-shaped (back-compat): `{subtasks: [...]}`.
7
+ * - Task-shaped (new): `{unit_kind: "task", tasks: [...]}`.
8
+ *
9
+ * Internally the wave engine operates purely on `{id, dependencies,
10
+ * files}` records — only the I/O boundary cares about the rename.
11
+ */
12
+
13
+ /**
14
+ * Detect whether a plan blob is task-shaped, subtask-shaped, or invalid.
15
+ *
16
+ * @param {unknown} plan
17
+ * @returns {{ units: Array<{id: string, dependencies: string[], files?: string[]}>, unit_kind: 'subtask' | 'task', error: string | null }}
18
+ */
19
+ export function normalizeToUnits(plan) {
20
+ if (!plan || typeof plan !== 'object') {
21
+ return { units: [], unit_kind: 'subtask', error: 'Plan must be an object' }
22
+ }
23
+ const isTaskShape =
24
+ plan.unit_kind === 'task' || (Array.isArray(plan.tasks) && !Array.isArray(plan.subtasks))
25
+ if (isTaskShape) {
26
+ if (!Array.isArray(plan.tasks)) {
27
+ return { units: [], unit_kind: 'task', error: 'Plan must contain a "tasks" array' }
28
+ }
29
+ return { units: plan.tasks, unit_kind: 'task', error: null }
30
+ }
31
+ if (!Array.isArray(plan.subtasks)) {
32
+ return {
33
+ units: [],
34
+ unit_kind: 'subtask',
35
+ error: 'Plan must contain a "subtasks" array',
36
+ }
37
+ }
38
+ return { units: plan.subtasks, unit_kind: 'subtask', error: null }
39
+ }
@@ -85,7 +85,7 @@
85
85
  "task_isolation": {
86
86
  "worktree_per_task": false,
87
87
  "branch_prefix": "apt",
88
- "from_branch": "current",
88
+ "from_branch": "main",
89
89
  "push_on_create": true,
90
90
  "cleanup_on_close": "ask"
91
91
  },