@aperant/framework 0.6.4 → 0.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.
- package/CHANGELOG.md +38 -0
- package/README.md +64 -10
- package/agents/apt-improver.md +99 -0
- package/agents/apt-planner.md +115 -10
- package/dist/__test-helpers/run-cmd.d.mts +4 -2
- package/dist/__test-helpers/run-cmd.d.mts.map +1 -1
- package/dist/__test-helpers/run-cmd.mjs +56 -15
- package/dist/__test-helpers/run-cmd.mjs.map +1 -1
- package/dist/cli/ci-watch/lock.d.mts +53 -0
- package/dist/cli/ci-watch/lock.d.mts.map +1 -0
- package/dist/cli/ci-watch/lock.mjs +172 -0
- package/dist/cli/ci-watch/lock.mjs.map +1 -0
- package/dist/cli/ci-watch/state.d.mts +36 -0
- package/dist/cli/ci-watch/state.d.mts.map +1 -0
- package/dist/cli/ci-watch/state.mjs +103 -0
- package/dist/cli/ci-watch/state.mjs.map +1 -0
- package/dist/cli/ci-watch/stop-matrix.d.mts +58 -0
- package/dist/cli/ci-watch/stop-matrix.d.mts.map +1 -0
- package/dist/cli/ci-watch/stop-matrix.mjs +164 -0
- package/dist/cli/ci-watch/stop-matrix.mjs.map +1 -0
- package/dist/cli/cli-wrappers/ci-watch.d.mts +2 -0
- package/dist/cli/cli-wrappers/ci-watch.d.mts.map +1 -0
- package/dist/cli/cli-wrappers/ci-watch.mjs +9 -0
- package/dist/cli/cli-wrappers/ci-watch.mjs.map +1 -0
- package/dist/cli/commands/adr.d.mts +5 -0
- package/dist/cli/commands/adr.d.mts.map +1 -0
- package/dist/cli/commands/adr.mjs +228 -0
- package/dist/cli/commands/adr.mjs.map +1 -0
- package/dist/cli/commands/ci-watch.d.mts +7 -0
- package/dist/cli/commands/ci-watch.d.mts.map +1 -0
- package/dist/cli/commands/ci-watch.mjs +465 -0
- package/dist/cli/commands/ci-watch.mjs.map +1 -0
- package/dist/cli/commands/context.d.mts +7 -0
- package/dist/cli/commands/context.d.mts.map +1 -0
- package/dist/cli/commands/context.mjs +224 -0
- package/dist/cli/commands/context.mjs.map +1 -0
- package/dist/cli/commands/event.d.mts.map +1 -1
- package/dist/cli/commands/event.mjs +59 -24
- package/dist/cli/commands/event.mjs.map +1 -1
- package/dist/cli/commands/host-detect.d.mts +1 -1
- package/dist/cli/commands/host-detect.d.mts.map +1 -1
- package/dist/cli/commands/host-detect.mjs +30 -3
- package/dist/cli/commands/host-detect.mjs.map +1 -1
- package/dist/cli/commands/modes.d.mts +13 -0
- package/dist/cli/commands/modes.d.mts.map +1 -0
- package/dist/cli/commands/modes.mjs +220 -0
- package/dist/cli/commands/modes.mjs.map +1 -0
- package/dist/cli/commands/route.mjs +1 -1
- package/dist/cli/commands/route.mjs.map +1 -1
- package/dist/cli/commands/task.d.mts.map +1 -1
- package/dist/cli/commands/task.mjs +108 -6
- package/dist/cli/commands/task.mjs.map +1 -1
- package/dist/cli/commands/tokens.d.mts.map +1 -1
- package/dist/cli/commands/tokens.mjs +150 -6
- package/dist/cli/commands/tokens.mjs.map +1 -1
- package/dist/cli/commands/triage.d.mts +8 -0
- package/dist/cli/commands/triage.d.mts.map +1 -0
- package/dist/cli/commands/triage.mjs +259 -0
- package/dist/cli/commands/triage.mjs.map +1 -0
- package/dist/cli/config/post-merge-sweep.d.mts +18 -0
- package/dist/cli/config/post-merge-sweep.d.mts.map +1 -1
- package/dist/cli/config/post-merge-sweep.mjs +48 -3
- package/dist/cli/config/post-merge-sweep.mjs.map +1 -1
- package/dist/cli/consistency/registry.d.mts +11 -0
- package/dist/cli/consistency/registry.d.mts.map +1 -1
- package/dist/cli/consistency/registry.mjs +13 -0
- package/dist/cli/consistency/registry.mjs.map +1 -1
- package/dist/cli/coordination/agent-identity.d.mts +9 -0
- package/dist/cli/coordination/agent-identity.d.mts.map +1 -1
- package/dist/cli/coordination/agent-identity.mjs +11 -0
- package/dist/cli/coordination/agent-identity.mjs.map +1 -1
- package/dist/cli/coordination/event-log.d.mts +27 -0
- package/dist/cli/coordination/event-log.d.mts.map +1 -1
- package/dist/cli/coordination/event-log.mjs +72 -2
- package/dist/cli/coordination/event-log.mjs.map +1 -1
- package/dist/cli/dispatch.d.mts.map +1 -1
- package/dist/cli/dispatch.mjs +14 -1
- package/dist/cli/dispatch.mjs.map +1 -1
- package/dist/cli/gate/registry.d.mts +11 -0
- package/dist/cli/gate/registry.d.mts.map +1 -1
- package/dist/cli/gate/registry.mjs +13 -0
- package/dist/cli/gate/registry.mjs.map +1 -1
- package/dist/cli/help.d.mts.map +1 -1
- package/dist/cli/help.mjs +1 -0
- package/dist/cli/help.mjs.map +1 -1
- package/dist/cli/host/detect.d.mts +1 -0
- package/dist/cli/host/detect.d.mts.map +1 -1
- package/dist/cli/host/detect.mjs +5 -0
- package/dist/cli/host/detect.mjs.map +1 -1
- package/dist/cli/route/envelope.d.mts +68 -4
- package/dist/cli/route/envelope.d.mts.map +1 -1
- package/dist/cli/route/envelope.mjs +140 -103
- package/dist/cli/route/envelope.mjs.map +1 -1
- package/dist/cli/route/skill-discover.d.mts +9 -0
- package/dist/cli/route/skill-discover.d.mts.map +1 -1
- package/dist/cli/route/skill-discover.mjs +11 -0
- package/dist/cli/route/skill-discover.mjs.map +1 -1
- package/dist/cli/skill-author/contract.d.mts +1 -0
- package/dist/cli/skill-author/contract.d.mts.map +1 -1
- package/dist/cli/skill-author/contract.mjs +7 -0
- package/dist/cli/skill-author/contract.mjs.map +1 -1
- package/dist/cli/task/worktree-cleanup.d.mts +9 -1
- package/dist/cli/task/worktree-cleanup.d.mts.map +1 -1
- package/dist/cli/task/worktree-cleanup.mjs +190 -9
- package/dist/cli/task/worktree-cleanup.mjs.map +1 -1
- package/dist/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/plugin/agents/apt-planner.md +1 -1
- package/dist/plugin/skills/apt/SKILL.md +111 -5
- package/dist/plugin/skills/apt-author-skill/SKILL.md +11 -0
- package/dist/plugin/skills/apt-bootstrap/SKILL.md +1 -0
- package/dist/plugin/skills/apt-classify/SKILL.md +1 -0
- package/dist/plugin/skills/apt-close-task/SKILL.md +1 -0
- package/dist/plugin/skills/apt-create-docs/SKILL.md +1 -0
- package/dist/plugin/skills/apt-debug/SKILL.md +2 -0
- package/dist/plugin/skills/apt-design/SKILL.md +2 -0
- package/dist/plugin/skills/apt-discuss/SKILL.md +2 -0
- package/dist/plugin/skills/apt-docs/SKILL.md +2 -0
- package/dist/plugin/skills/apt-execute/SKILL.md +1 -0
- package/dist/plugin/skills/apt-mockup/SKILL.md +2 -0
- package/dist/plugin/skills/apt-pause/SKILL.md +1 -0
- package/dist/plugin/skills/apt-personas/SKILL.md +1 -0
- package/dist/plugin/skills/apt-plan/SKILL.md +2 -0
- package/dist/plugin/skills/apt-pr-review/SKILL.md +1 -0
- package/dist/plugin/skills/apt-quick/SKILL.md +2 -0
- package/dist/plugin/skills/apt-resume/SKILL.md +1 -0
- package/dist/plugin/skills/apt-review/SKILL.md +1 -0
- package/dist/plugin/skills/apt-roadmap/SKILL.md +1 -0
- package/dist/plugin/skills/apt-roundtable/SKILL.md +2 -0
- package/dist/plugin/skills/apt-run/SKILL.md +1 -0
- package/dist/plugin/skills/apt-scan/SKILL.md +1 -0
- package/dist/plugin/skills/apt-setup/SKILL.md +1 -0
- package/dist/plugin/skills/apt-ship/SKILL.md +6 -5
- package/dist/plugin/skills/apt-stress-test/SKILL.md +1 -0
- package/dist/plugin/skills/apt-terminal/SKILL.md +1 -0
- package/dist/plugin/skills/apt-update/SKILL.md +5 -0
- package/dist/plugin/skills/apt-verify/SKILL.md +1 -0
- package/dist/plugin/skills/apt-verify-proof/SKILL.md +1 -0
- package/dist/types/config.d.ts +85 -0
- package/dist/types/config.d.ts.map +1 -1
- package/package.json +125 -125
- package/prompts/coder.md +2 -0
- package/prompts/planner.md +12 -0
- package/prompts/spec_writer.md +9 -0
- package/skills/apt/SKILL.md +1 -0
- package/skills/apt-close-task/SKILL.md +32 -1
- package/skills/apt-debug/SKILL.md +39 -6
- package/skills/apt-debug/appendices/diagnose-discipline.md +119 -0
- package/skills/apt-diagram/SKILL.md +342 -0
- package/skills/apt-diagram/appendices/design-discipline.md +97 -0
- package/skills/apt-discuss/SKILL.md +25 -0
- package/skills/apt-discuss/appendices/grill-discipline.md +104 -0
- package/skills/apt-discuss/appendices/zoom-out-helper.md +79 -0
- package/skills/apt-execute/SKILL.md +48 -5
- package/skills/apt-execute/appendices/tdd-mode.md +107 -0
- package/skills/apt-improve/DEEPENING.md +84 -0
- package/skills/apt-improve/INTERFACE-DESIGN.md +97 -0
- package/skills/apt-improve/LANGUAGE.md +104 -0
- package/skills/apt-improve/SKILL.md +141 -0
- package/skills/apt-plan/SKILL.md +147 -4
- package/skills/apt-planner.md +42 -1
- package/skills/apt-pr-review/SKILL.md +46 -16
- package/skills/apt-prototype/LOGIC.md +109 -0
- package/skills/apt-prototype/SKILL.md +143 -0
- package/skills/apt-prototype/UI.md +90 -0
- package/skills/apt-quick/SKILL.md +30 -0
- package/skills/apt-review/SKILL.md +2 -0
- package/skills/apt-run/SKILL.md +32 -4
- package/skills/apt-setup/SKILL.md +128 -2
- package/skills/apt-ship/SKILL.md +47 -0
- package/skills/apt-triage/AGENT-BRIEF.md +84 -0
- package/skills/apt-triage/OUT-OF-SCOPE.md +75 -0
- package/skills/apt-triage/SKILL.md +169 -0
- package/skills/apt-verify/SKILL.md +3 -0
- package/skills/apt-verify-proof/SKILL.md +3 -0
- package/skills/apt-watch-ci/SKILL.md +163 -0
- package/skills/apt-zoom-out/SKILL.md +130 -0
- package/src/cli/ci-watch/lock.mjs +178 -0
- package/src/cli/ci-watch/state.mjs +103 -0
- package/src/cli/ci-watch/stop-matrix.mjs +181 -0
- package/src/cli/cli-wrappers/ci-watch.mjs +9 -0
- package/src/cli/commands/adr.mjs +243 -0
- package/src/cli/commands/ci-watch.mjs +503 -0
- package/src/cli/commands/context.mjs +244 -0
- package/src/cli/commands/event.mjs +63 -24
- package/src/cli/commands/host-detect.mjs +33 -7
- package/src/cli/commands/modes.mjs +215 -0
- package/src/cli/commands/route.mjs +1 -1
- package/src/cli/commands/task.mjs +125 -18
- package/src/cli/commands/tokens.mjs +157 -6
- package/src/cli/commands/triage.mjs +277 -0
- package/src/cli/config/post-merge-sweep.mjs +49 -3
- package/src/cli/consistency/registry.mjs +14 -0
- package/src/cli/coordination/agent-identity.mjs +12 -0
- package/src/cli/coordination/event-log.mjs +73 -2
- package/src/cli/dispatch.mjs +15 -1
- package/src/cli/gate/registry.mjs +14 -0
- package/src/cli/help.mjs +1 -0
- package/src/cli/host/detect.mjs +5 -0
- package/src/cli/route/envelope.mjs +140 -106
- package/src/cli/route/skill-discover.mjs +12 -0
- package/src/cli/skill-author/contract.mjs +7 -0
- package/src/cli/task/worktree-cleanup.mjs +191 -9
- package/templates/adr-format.md +56 -0
- package/templates/config.json +4 -0
- package/templates/context-format.md +34 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* commands/modes.mjs — `apt-tools modes list` (Pocock adoption ST-13, AC12).
|
|
3
|
+
*
|
|
4
|
+
* Power-user discoverability tool. Returns a JSON envelope with one
|
|
5
|
+
* record per discovered skill, exposing modes / flags / content-formats /
|
|
6
|
+
* config-driven behavior so a power user can build a mental model of
|
|
7
|
+
* the framework without reading 30 SKILL.md files.
|
|
8
|
+
*
|
|
9
|
+
* Adding a new skill auto-appears in `modes list` output without any
|
|
10
|
+
* code changes — the discovery is filesystem-scan-based (mirrors the
|
|
11
|
+
* router's eager skill-discover module).
|
|
12
|
+
*
|
|
13
|
+
* CLI:
|
|
14
|
+
* apt-tools modes list [project-dir]
|
|
15
|
+
*
|
|
16
|
+
* Output envelope:
|
|
17
|
+
* { status: 'ok', command: 'modes-list',
|
|
18
|
+
* skills: [{ name, modes, flags, content_formats, config_keys, file_path }] }
|
|
19
|
+
*
|
|
20
|
+
* Field semantics:
|
|
21
|
+
* - name — frontmatter `name` (e.g. "apt:plan")
|
|
22
|
+
* - modes — frontmatter `execution_modes` (array)
|
|
23
|
+
* - flags — parsed from frontmatter `argument-hint`
|
|
24
|
+
* - content_formats — frontmatter `produces` (optional array; [] when absent)
|
|
25
|
+
* - config_keys — hardcoded skill→config-paths map maintained inline
|
|
26
|
+
*/
|
|
27
|
+
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
28
|
+
import { join, resolve } from 'node:path';
|
|
29
|
+
import { parse as parseYaml } from 'yaml';
|
|
30
|
+
import { ok } from '../util/result.mjs';
|
|
31
|
+
const FRONTMATTER_RE = /^---\s*([\s\S]*?)\s*---/;
|
|
32
|
+
/**
|
|
33
|
+
* Hardcoded skill→config-paths map. Maintained inline so adding a new
|
|
34
|
+
* config-dependent skill is a one-line change.
|
|
35
|
+
*
|
|
36
|
+
* Per AC12, this is the mapping `modes list` consumes to enumerate
|
|
37
|
+
* which config keys a skill cares about. Skills that don't touch
|
|
38
|
+
* config are omitted (their config_keys is `[]`).
|
|
39
|
+
*
|
|
40
|
+
* @type {Record<string, string[]>}
|
|
41
|
+
*/
|
|
42
|
+
const SKILL_CONFIG_KEYS = {
|
|
43
|
+
'apt:execute': ['coding.tdd_default', 'tdd.iron_law'],
|
|
44
|
+
'apt:triage': [
|
|
45
|
+
'task_tracking.backend',
|
|
46
|
+
'task_tracking.publish_to_tracker',
|
|
47
|
+
'task_tracking.tracker_url',
|
|
48
|
+
'task_tracking.tracker_label_vocabulary',
|
|
49
|
+
],
|
|
50
|
+
'apt:prototype': ['coding.prototype_discipline'],
|
|
51
|
+
'apt:verify': ['verification.evidence_capture', 'verification.max_iterations'],
|
|
52
|
+
'apt:verify-proof': ['verification.open_report', 'verification.report_formats'],
|
|
53
|
+
'apt:review': ['pipeline.skip_review'],
|
|
54
|
+
'apt:ship': ['pipeline.auto_branch', 'pipeline.branch_prefix'],
|
|
55
|
+
'apt:setup': ['*'], // setup edits config — wildcard surface
|
|
56
|
+
'apt:run': ['parallelization.enabled', 'parallelization.max_agents'],
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Parse the `argument-hint` frontmatter field for `--flag` tokens.
|
|
60
|
+
* Returns a deduplicated array.
|
|
61
|
+
*
|
|
62
|
+
* @param {string|undefined} hint
|
|
63
|
+
* @returns {string[]}
|
|
64
|
+
*/
|
|
65
|
+
function parseFlags(hint) {
|
|
66
|
+
if (typeof hint !== 'string')
|
|
67
|
+
return [];
|
|
68
|
+
const flags = new Set();
|
|
69
|
+
for (const m of hint.matchAll(/--[a-z][a-z0-9-]*/gi)) {
|
|
70
|
+
flags.add(m[0]);
|
|
71
|
+
}
|
|
72
|
+
return [...flags];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Walk a skills root and return every apt-<slug>/SKILL.md it contains.
|
|
76
|
+
*
|
|
77
|
+
* @param {string} root
|
|
78
|
+
*/
|
|
79
|
+
function walkSkillRoot(root) {
|
|
80
|
+
if (!existsSync(root))
|
|
81
|
+
return [];
|
|
82
|
+
let stat;
|
|
83
|
+
try {
|
|
84
|
+
stat = statSync(root);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
if (!stat.isDirectory())
|
|
90
|
+
return [];
|
|
91
|
+
let entries;
|
|
92
|
+
try {
|
|
93
|
+
entries = readdirSync(root, { withFileTypes: true });
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
const out = [];
|
|
99
|
+
for (const entry of entries) {
|
|
100
|
+
if (!entry.name.startsWith('apt'))
|
|
101
|
+
continue;
|
|
102
|
+
if (!entry.isDirectory())
|
|
103
|
+
continue;
|
|
104
|
+
const skillFile = join(root, entry.name, 'SKILL.md');
|
|
105
|
+
if (existsSync(skillFile))
|
|
106
|
+
out.push(skillFile);
|
|
107
|
+
}
|
|
108
|
+
return out;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Parse a single SKILL.md into a modes-list record. Returns null if
|
|
112
|
+
* the frontmatter is unparseable.
|
|
113
|
+
*
|
|
114
|
+
* @param {string} file
|
|
115
|
+
*/
|
|
116
|
+
function readSkillForModes(file) {
|
|
117
|
+
let text;
|
|
118
|
+
try {
|
|
119
|
+
text = readFileSync(file, 'utf-8');
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
const m = text.match(FRONTMATTER_RE);
|
|
125
|
+
if (!m)
|
|
126
|
+
return null;
|
|
127
|
+
let parsed;
|
|
128
|
+
try {
|
|
129
|
+
parsed = parseYaml(m[1]);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
if (parsed === null || typeof parsed !== 'object')
|
|
135
|
+
return null;
|
|
136
|
+
const name = typeof parsed.name === 'string' ? parsed.name : null;
|
|
137
|
+
if (name === null)
|
|
138
|
+
return null;
|
|
139
|
+
const modes = Array.isArray(parsed.execution_modes)
|
|
140
|
+
? parsed.execution_modes.filter((m) => typeof m === 'string')
|
|
141
|
+
: [];
|
|
142
|
+
const flags = parseFlags(parsed['argument-hint']);
|
|
143
|
+
const content_formats = Array.isArray(parsed.produces)
|
|
144
|
+
? parsed.produces.filter((p) => typeof p === 'string')
|
|
145
|
+
: [];
|
|
146
|
+
// config_keys: prefer frontmatter `config_keys:` field when present; fall back
|
|
147
|
+
// to the hardcoded SKILL_CONFIG_KEYS map so skills not yet migrated still work.
|
|
148
|
+
const config_keys = Array.isArray(parsed.config_keys)
|
|
149
|
+
? parsed.config_keys.filter((k) => typeof k === 'string')
|
|
150
|
+
: SKILL_CONFIG_KEYS[name] || [];
|
|
151
|
+
return {
|
|
152
|
+
name,
|
|
153
|
+
modes,
|
|
154
|
+
flags,
|
|
155
|
+
content_formats,
|
|
156
|
+
config_keys,
|
|
157
|
+
file_path: file,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* CLI entry: `apt-tools modes <subcommand> [project-dir]`.
|
|
162
|
+
*
|
|
163
|
+
* Subcommands: `list` (the only v1 subcommand).
|
|
164
|
+
*
|
|
165
|
+
* The trusted-skill-roots discovery follows the same pattern as the
|
|
166
|
+
* router's skill-discover module, but at minimum scans
|
|
167
|
+
* `packages/framework/skills/` relative to the framework checkout. For
|
|
168
|
+
* project-installed skills, the project's `.aperant/deps/.../skills`
|
|
169
|
+
* tree is also scanned when present.
|
|
170
|
+
*/
|
|
171
|
+
export function cmdModes(subcommand, projectDir, _extraArgs) {
|
|
172
|
+
const cmd = subcommand || 'list';
|
|
173
|
+
if (cmd !== 'list') {
|
|
174
|
+
return ok({
|
|
175
|
+
status: 'error',
|
|
176
|
+
command: 'modes',
|
|
177
|
+
error: `Unknown subcommand: ${cmd}. Use 'list'.`,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
// Project-dir is optional for modes list — defaults to cwd.
|
|
181
|
+
const absProjectDir = projectDir ? resolve(projectDir) : process.cwd();
|
|
182
|
+
// Compute trusted skill roots. The framework's own skills root
|
|
183
|
+
// (relative to this file) is always included; project-installed
|
|
184
|
+
// roots (.aperant/deps/...) are added when present.
|
|
185
|
+
const roots = new Set();
|
|
186
|
+
// Framework checkout root: this file is at
|
|
187
|
+
// .../packages/framework/src/cli/commands/modes.mjs → 5 levels up
|
|
188
|
+
// to the framework root, then skills/.
|
|
189
|
+
const frameworkRoot = resolve(new URL('../../../skills', import.meta.url).pathname);
|
|
190
|
+
if (existsSync(frameworkRoot))
|
|
191
|
+
roots.add(frameworkRoot);
|
|
192
|
+
const projectSkillRoot = join(absProjectDir, 'packages/framework/skills');
|
|
193
|
+
if (existsSync(projectSkillRoot))
|
|
194
|
+
roots.add(projectSkillRoot);
|
|
195
|
+
const installedRoot = join(absProjectDir, '.aperant/deps/node_modules/@aperant/framework/skills');
|
|
196
|
+
if (existsSync(installedRoot))
|
|
197
|
+
roots.add(installedRoot);
|
|
198
|
+
const seen = new Set();
|
|
199
|
+
const skills = [];
|
|
200
|
+
for (const root of roots) {
|
|
201
|
+
for (const file of walkSkillRoot(root)) {
|
|
202
|
+
const record = readSkillForModes(file);
|
|
203
|
+
if (!record)
|
|
204
|
+
continue;
|
|
205
|
+
if (seen.has(record.name))
|
|
206
|
+
continue; // first-writer-wins
|
|
207
|
+
seen.add(record.name);
|
|
208
|
+
skills.push(record);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
skills.sort((a, b) => a.name.localeCompare(b.name));
|
|
212
|
+
return ok({
|
|
213
|
+
status: 'ok',
|
|
214
|
+
command: 'modes-list',
|
|
215
|
+
project_dir: absProjectDir,
|
|
216
|
+
skills,
|
|
217
|
+
scanned_roots: [...roots],
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=modes.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modes.mjs","sourceRoot":"","sources":["../../../src/cli/commands/modes.mjs"],"names":[],"mappings":"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"}
|
|
@@ -432,7 +432,7 @@ export function cmdRoute(projectDir, extraArgs) {
|
|
|
432
432
|
return exitWith({
|
|
433
433
|
status: 'error',
|
|
434
434
|
command: 'route',
|
|
435
|
-
error_code: '
|
|
435
|
+
error_code: 'skill_description_too_long',
|
|
436
436
|
reason: e instanceof Error ? e.message : String(e),
|
|
437
437
|
}, 1);
|
|
438
438
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.mjs","sourceRoot":"","sources":["../../../src/cli/commands/route.mjs"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"route.mjs","sourceRoot":"","sources":["../../../src/cli/commands/route.mjs"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/task.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/task.mjs"],"names":[],"mappings":"AA2CA,6HAu9CC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* commands/task.mjs — per-task isolated directories for multi-agent concurrency (C29).
|
|
3
3
|
*
|
|
4
|
-
* task subcommand: create | list | get | close | update | move | complete-subtask | prune
|
|
4
|
+
* task subcommand: create | list | get | close | update | move | complete-subtask | narration-drain | prune
|
|
5
5
|
*
|
|
6
6
|
* Layer 1 (post-CLI-layering refactor, subtask 9). cmdTask returns
|
|
7
7
|
* { envelope, exitCode } — it MUST NOT call process.exit, output(), or fail()
|
|
@@ -14,6 +14,7 @@ import { spawnSync } from 'node:child_process';
|
|
|
14
14
|
import { existsSync, mkdirSync, readFileSync, rmSync } from 'node:fs';
|
|
15
15
|
import { join, resolve } from 'node:path';
|
|
16
16
|
import { getTaskIsolationConfig } from '../config/load.mjs';
|
|
17
|
+
import { findMostRecentEventForTask } from '../coordination/event-log.mjs';
|
|
17
18
|
import { createCoordinationStore } from '../coordination/store.mjs';
|
|
18
19
|
import { getGitIdentity } from '../git/identity.mjs';
|
|
19
20
|
import { detectWorktree } from '../git/worktree-detect.mjs';
|
|
@@ -36,7 +37,7 @@ import { atomicWriteJson } from '../util/io.mjs';
|
|
|
36
37
|
import { err, exitWith, ok } from '../util/result.mjs';
|
|
37
38
|
export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
38
39
|
if (!subcommand)
|
|
39
|
-
return err('Usage: apt-tools task <create|list|get|close|update|move|complete-subtask|prune> <project-dir> [flags]');
|
|
40
|
+
return err('Usage: apt-tools task <create|list|get|close|update|move|complete-subtask|narration-drain|prune> <project-dir> [flags]');
|
|
40
41
|
if (!projectDir)
|
|
41
42
|
return err('Usage: apt-tools task ' + subcommand + ' <project-dir> [flags]');
|
|
42
43
|
const targetDir = resolve(projectDir);
|
|
@@ -416,6 +417,11 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
416
417
|
if (!taskId)
|
|
417
418
|
return err('Required: --id <task-id>');
|
|
418
419
|
const verdict = flags.get('verdict') || 'completed';
|
|
420
|
+
// Internal flag set by `task close-merged` when
|
|
421
|
+
// GitHub confirmed state === 'MERGED'. Threads through to
|
|
422
|
+
// computeWorktreeCleanup so cleanup skips local merge-back and
|
|
423
|
+
// runs fetch + ff-only instead.
|
|
424
|
+
const prMerged = flags.has('pr-merged-remotely');
|
|
419
425
|
if (!existsSync(statePath))
|
|
420
426
|
return err('No state.json found');
|
|
421
427
|
// withFileLock callback can produce either an error envelope (early
|
|
@@ -472,11 +478,14 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
472
478
|
});
|
|
473
479
|
// Worktree cleanup hook — honors task_isolation.cleanup_on_close
|
|
474
480
|
// (never | ask | auto). See src/cli/task/worktree-cleanup.mjs.
|
|
481
|
+
// prMerged threads from `task close-merged`
|
|
482
|
+
// via --pr-merged-remotely; when true, cleanup runs fetch +
|
|
483
|
+
// ff-only instead of local merge-back.
|
|
475
484
|
let cleanup = null;
|
|
476
485
|
if (task.worktree_path) {
|
|
477
486
|
const isolation = getTaskIsolationConfig(targetDir);
|
|
478
487
|
const mode = isolation.cleanup_on_close || 'ask';
|
|
479
|
-
cleanup = computeWorktreeCleanup(task, mode, targetDir);
|
|
488
|
+
cleanup = computeWorktreeCleanup(task, mode, targetDir, { prMerged });
|
|
480
489
|
}
|
|
481
490
|
// Best-effort team sync: commit shared bookkeeping so teammates
|
|
482
491
|
// don't have to pick up orphaned diffs. Never fails task close.
|
|
@@ -653,6 +662,22 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
653
662
|
let lifecycleTransition = null;
|
|
654
663
|
if (flags.has('lifecycle-phase')) {
|
|
655
664
|
task.lifecycle_phase = flags.get('lifecycle-phase');
|
|
665
|
+
// R6 (roundtable 2026-05-14) — compute elapsed_ms since the
|
|
666
|
+
// previous LIFECYCLE event (or task.created) for phase-boundary
|
|
667
|
+
// telemetry. The 'task.lifecycle.' opPrefix is critical: without
|
|
668
|
+
// it, the most-recent event lookup picks up high-frequency events
|
|
669
|
+
// like task.tokens.recorded, which would silently corrupt
|
|
670
|
+
// elapsed_ms attribution (PR #115 review finding LOG-001).
|
|
671
|
+
const prev = findMostRecentEventForTask(targetDir, taskId, 'task.lifecycle.');
|
|
672
|
+
let prevTime = prev ? new Date(prev.t).getTime() : null;
|
|
673
|
+
// LOG-003: when no prior lifecycle event exists (first transition),
|
|
674
|
+
// fall back to task.created_at so planning phase duration is captured.
|
|
675
|
+
if (!prevTime && task.created_at) {
|
|
676
|
+
const createdMs = new Date(task.created_at).getTime();
|
|
677
|
+
if (Number.isFinite(createdMs))
|
|
678
|
+
prevTime = createdMs;
|
|
679
|
+
}
|
|
680
|
+
const elapsed_ms = prevTime ? Date.now() - prevTime : null;
|
|
656
681
|
// R10 — emit the lifecycle transition event even when the
|
|
657
682
|
// side-effect helper decides the phase spec is a no-op; the
|
|
658
683
|
// caller still changed task.lifecycle_phase.
|
|
@@ -664,6 +689,7 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
664
689
|
scope: task.scope || 'project',
|
|
665
690
|
milestone_id: task.milestone_id ?? null,
|
|
666
691
|
phase_id: task.phase_id ?? null,
|
|
692
|
+
elapsed_ms,
|
|
667
693
|
},
|
|
668
694
|
});
|
|
669
695
|
// C56 B5 — exhaustive lifecycle→roadmap-phase map. `null`
|
|
@@ -1126,7 +1152,7 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
1126
1152
|
// Drive the full close path via an in-process CLI call so all of
|
|
1127
1153
|
// task close's side effects (team-sync, worktree cleanup, phase flip
|
|
1128
1154
|
// when auto_close_phase is on, event emission, INDEX regen) run.
|
|
1129
|
-
const
|
|
1155
|
+
const closeArgs = [
|
|
1130
1156
|
resolve(import.meta.dirname ?? '.', '..', '..', '..', 'bin', 'apt-tools.mjs'),
|
|
1131
1157
|
'task',
|
|
1132
1158
|
'close',
|
|
@@ -1135,7 +1161,18 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
1135
1161
|
id,
|
|
1136
1162
|
'--verdict',
|
|
1137
1163
|
closeVerdict,
|
|
1138
|
-
]
|
|
1164
|
+
];
|
|
1165
|
+
// Only signal pr_merged_remotely when GitHub
|
|
1166
|
+
// confirmed MERGED. CLOSED-not-merged is a rejection path; leaving
|
|
1167
|
+
// cleanup behavior unchanged there is intentional (spec §11 R3).
|
|
1168
|
+
if (parsed.state === 'MERGED') {
|
|
1169
|
+
closeArgs.push('--pr-merged-remotely');
|
|
1170
|
+
}
|
|
1171
|
+
const closeRes = spawnSync('node', closeArgs, {
|
|
1172
|
+
cwd: targetDir,
|
|
1173
|
+
encoding: 'utf-8',
|
|
1174
|
+
env: { ...process.env },
|
|
1175
|
+
});
|
|
1139
1176
|
if (closeRes.status !== 0) {
|
|
1140
1177
|
errors.push({
|
|
1141
1178
|
id,
|
|
@@ -1185,6 +1222,33 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
1185
1222
|
verdict: closeVerdict,
|
|
1186
1223
|
mergedAt: parsed.mergedAt ?? null,
|
|
1187
1224
|
});
|
|
1225
|
+
// Append a pending_narration[] ledger entry on successful merged close
|
|
1226
|
+
// so /apt:close-task --narrate-only can drain it later. The ledger is
|
|
1227
|
+
// additive-only; failure to write must never undo the close above
|
|
1228
|
+
// (R4 ledger leak — caller can manually invoke the narrator).
|
|
1229
|
+
if (closeVerdict === 'approved') {
|
|
1230
|
+
try {
|
|
1231
|
+
withFileLock(statePath, () => {
|
|
1232
|
+
const fresh = JSON.parse(readFileSync(statePath, 'utf-8'));
|
|
1233
|
+
if (!Array.isArray(fresh.pending_narration))
|
|
1234
|
+
fresh.pending_narration = [];
|
|
1235
|
+
fresh.pending_narration.push({
|
|
1236
|
+
task_id: id,
|
|
1237
|
+
scope: task.scope || 'project',
|
|
1238
|
+
phase_id: task.phase_id ?? null,
|
|
1239
|
+
closed_at: new Date().toISOString(),
|
|
1240
|
+
pr_number: parsed.number ?? null,
|
|
1241
|
+
});
|
|
1242
|
+
atomicWriteJson(statePath, fresh);
|
|
1243
|
+
}, { projectRoot: targetDir });
|
|
1244
|
+
}
|
|
1245
|
+
catch (e) {
|
|
1246
|
+
errors.push({
|
|
1247
|
+
id,
|
|
1248
|
+
reason: `ledger-write-failed: ${e.message ?? String(e)}`,
|
|
1249
|
+
});
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1188
1252
|
}
|
|
1189
1253
|
return ok({
|
|
1190
1254
|
status: 'ok',
|
|
@@ -1195,6 +1259,44 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
1195
1259
|
errors,
|
|
1196
1260
|
});
|
|
1197
1261
|
}
|
|
1262
|
+
case 'narration-drain': {
|
|
1263
|
+
// Remove a single pending_narration[] row under the same withFileLock
|
|
1264
|
+
// guard task close uses. Caller (apt:close-task --narrate-only) invokes
|
|
1265
|
+
// this once per drained entry AFTER its background narrator spawn
|
|
1266
|
+
// returns — so a spawn failure leaves the row in place for retry.
|
|
1267
|
+
const taskId = flags.get('task');
|
|
1268
|
+
if (!taskId)
|
|
1269
|
+
return err('Required: --task <task-id>');
|
|
1270
|
+
if (!existsSync(statePath)) {
|
|
1271
|
+
return ok({
|
|
1272
|
+
status: 'ok',
|
|
1273
|
+
command: 'task-narration-drain',
|
|
1274
|
+
removed: null,
|
|
1275
|
+
remaining: 0,
|
|
1276
|
+
reason: 'no-state',
|
|
1277
|
+
});
|
|
1278
|
+
}
|
|
1279
|
+
let removed = null;
|
|
1280
|
+
let remaining = 0;
|
|
1281
|
+
withFileLock(statePath, () => {
|
|
1282
|
+
const state = JSON.parse(readFileSync(statePath, 'utf-8'));
|
|
1283
|
+
const ledger = Array.isArray(state.pending_narration) ? state.pending_narration : [];
|
|
1284
|
+
const idx = ledger.findIndex((row) => row && row.task_id === taskId);
|
|
1285
|
+
if (idx >= 0) {
|
|
1286
|
+
removed = ledger[idx];
|
|
1287
|
+
ledger.splice(idx, 1);
|
|
1288
|
+
state.pending_narration = ledger;
|
|
1289
|
+
atomicWriteJson(statePath, state);
|
|
1290
|
+
}
|
|
1291
|
+
remaining = ledger.length;
|
|
1292
|
+
}, { projectRoot: targetDir });
|
|
1293
|
+
return ok({
|
|
1294
|
+
status: 'ok',
|
|
1295
|
+
command: 'task-narration-drain',
|
|
1296
|
+
removed,
|
|
1297
|
+
remaining,
|
|
1298
|
+
});
|
|
1299
|
+
}
|
|
1198
1300
|
case 'prune': {
|
|
1199
1301
|
// C56 A4 — retention verb. Removes `.aperant/tasks/{id}/` directories
|
|
1200
1302
|
// whose task row is in `state.completed_tasks[]` AND whose completion
|
|
@@ -1290,7 +1392,7 @@ export function cmdTask(subcommand, projectDir, extraArgs) {
|
|
|
1290
1392
|
});
|
|
1291
1393
|
}
|
|
1292
1394
|
default:
|
|
1293
|
-
return err(`Unknown task subcommand: ${subcommand}. Expected: create, list, get, close, update, move, complete-subtask, close-merged, prune`);
|
|
1395
|
+
return err(`Unknown task subcommand: ${subcommand}. Expected: create, list, get, close, update, move, complete-subtask, close-merged, narration-drain, prune`);
|
|
1294
1396
|
}
|
|
1295
1397
|
}
|
|
1296
1398
|
/**
|