@aperant/framework 0.6.4 → 0.6.6
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 +54 -234
- 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/commit.d.mts.map +1 -1
- package/dist/cli/commands/commit.mjs +25 -8
- package/dist/cli/commands/commit.mjs.map +1 -1
- 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 +125 -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 +221 -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 +393 -145
- 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 +263 -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/auto-emit-artifact-ready.d.mts +16 -0
- package/dist/cli/coordination/auto-emit-artifact-ready.d.mts.map +1 -0
- package/dist/cli/coordination/auto-emit-artifact-ready.mjs +88 -0
- package/dist/cli/coordination/auto-emit-artifact-ready.mjs.map +1 -0
- 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/coordination/event-schema.d.mts +16 -0
- package/dist/cli/coordination/event-schema.d.mts.map +1 -0
- package/dist/cli/coordination/event-schema.mjs +161 -0
- package/dist/cli/coordination/event-schema.mjs.map +1 -0
- package/dist/cli/coordination/store.d.mts +6 -0
- package/dist/cli/coordination/store.d.mts.map +1 -1
- package/dist/cli/coordination/store.mjs +14 -0
- package/dist/cli/coordination/store.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 +3 -2
- 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/roadmap/conductor-view.d.mts +13 -0
- package/dist/cli/roadmap/conductor-view.d.mts.map +1 -0
- package/dist/cli/roadmap/conductor-view.mjs +31 -0
- package/dist/cli/roadmap/conductor-view.mjs.map +1 -0
- 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 +13 -1
- 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/ids.d.mts +7 -4
- package/dist/cli/task/ids.d.mts.map +1 -1
- package/dist/cli/task/ids.mjs +11 -10
- package/dist/cli/task/ids.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 +9 -1
- package/prompts/coder.md +2 -0
- package/prompts/conductor-status-check.md +23 -0
- package/prompts/conductor-sub-agent.md +57 -0
- package/prompts/conductor-system.md +172 -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 +159 -4
- package/skills/apt-plan/adapters/conductor.md +98 -0
- 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 +130 -2
- package/skills/apt-ship/SKILL.md +63 -1
- package/skills/apt-spar/SKILL.md +290 -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/commit.mjs +27 -8
- package/src/cli/commands/context.mjs +244 -0
- package/src/cli/commands/event.mjs +131 -24
- package/src/cli/commands/host-detect.mjs +33 -7
- package/src/cli/commands/modes.mjs +216 -0
- package/src/cli/commands/route.mjs +1 -1
- package/src/cli/commands/task.mjs +430 -170
- package/src/cli/commands/tokens.mjs +157 -6
- package/src/cli/commands/triage.mjs +286 -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/auto-emit-artifact-ready.mjs +96 -0
- package/src/cli/coordination/event-log.mjs +73 -2
- package/src/cli/coordination/event-schema.d.ts +13 -0
- package/src/cli/coordination/event-schema.mjs +174 -0
- package/src/cli/coordination/store.mjs +14 -0
- package/src/cli/dispatch.mjs +15 -1
- package/src/cli/gate/registry.mjs +14 -0
- package/src/cli/help.mjs +3 -2
- package/src/cli/host/detect.mjs +5 -0
- package/src/cli/roadmap/conductor-view.d.ts +10 -0
- package/src/cli/roadmap/conductor-view.mjs +31 -0
- package/src/cli/route/envelope.mjs +140 -106
- package/src/cli/route/skill-discover.mjs +14 -1
- package/src/cli/skill-author/contract.mjs +7 -0
- package/src/cli/task/ids.mjs +15 -13
- 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,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* commands/context.mjs — `apt-tools context write` (Pocock adoption ST-5, AC4).
|
|
3
|
+
*
|
|
4
|
+
* Upserts a term-block into the project's CONTEXT.md (the persistent
|
|
5
|
+
* project glossary). Format ported from Pocock's CONTEXT-FORMAT.md
|
|
6
|
+
* (see packages/framework/templates/context-format.md for the MIT
|
|
7
|
+
* attribution + field semantics).
|
|
8
|
+
*
|
|
9
|
+
* Idempotent: re-running with the same `--term` updates the existing
|
|
10
|
+
* block in place. Fields not explicitly overridden via flags are
|
|
11
|
+
* preserved from the prior block.
|
|
12
|
+
*
|
|
13
|
+
* CLI:
|
|
14
|
+
* apt-tools context write <project-dir>
|
|
15
|
+
* --term <bold-term>
|
|
16
|
+
* --definition <one-line>
|
|
17
|
+
* [--aliases-to-avoid alias1,alias2]
|
|
18
|
+
* [--cardinality 'one-to-many' | 'one-to-one' | 'many-to-many']
|
|
19
|
+
* [--flagged-ambiguity 'note']
|
|
20
|
+
* [--example-dialogue 'example']
|
|
21
|
+
*
|
|
22
|
+
* Output: JSON envelope { status: 'ok' | 'error',
|
|
23
|
+
* command: 'context-write',
|
|
24
|
+
* file: <absolute path>,
|
|
25
|
+
* term: <term>,
|
|
26
|
+
* operation: 'created' | 'updated' }.
|
|
27
|
+
*/
|
|
28
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
29
|
+
import { resolve } from 'node:path';
|
|
30
|
+
import { parseFlags } from '../util/args.mjs';
|
|
31
|
+
import { err, ok } from '../util/result.mjs';
|
|
32
|
+
const HEADER = '# Project glossary (CONTEXT.md)';
|
|
33
|
+
const HEADER_NOTE = '<!-- Managed by `apt-tools context write`. Hand-edits are preserved across upserts. -->';
|
|
34
|
+
/**
|
|
35
|
+
* Parse a single term-block out of CONTEXT.md.
|
|
36
|
+
*
|
|
37
|
+
* A block looks like:
|
|
38
|
+
* ## {Term}
|
|
39
|
+
*
|
|
40
|
+
* {Definition line}
|
|
41
|
+
*
|
|
42
|
+
* - **Aliases to avoid:** ...
|
|
43
|
+
* - **Cardinality:** ...
|
|
44
|
+
* - **Flagged ambiguities:** ...
|
|
45
|
+
* - **Example dialogue:** ...
|
|
46
|
+
*
|
|
47
|
+
* Returns `{ definition, aliasesToAvoid, cardinality, flaggedAmbiguity, exampleDialogue }`
|
|
48
|
+
* with each field as a string or null.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} blockText
|
|
51
|
+
*/
|
|
52
|
+
function parseBlock(blockText) {
|
|
53
|
+
const lines = blockText.split('\n');
|
|
54
|
+
// First non-empty line after the ## header is the definition.
|
|
55
|
+
let definition = '';
|
|
56
|
+
let i = 0;
|
|
57
|
+
while (i < lines.length && lines[i].trim() === '')
|
|
58
|
+
i++;
|
|
59
|
+
if (i < lines.length && !lines[i].startsWith('- ')) {
|
|
60
|
+
definition = lines[i].trim();
|
|
61
|
+
i++;
|
|
62
|
+
}
|
|
63
|
+
const fields = {
|
|
64
|
+
aliasesToAvoid: null,
|
|
65
|
+
cardinality: null,
|
|
66
|
+
flaggedAmbiguity: null,
|
|
67
|
+
exampleDialogue: null,
|
|
68
|
+
};
|
|
69
|
+
for (; i < lines.length; i++) {
|
|
70
|
+
const line = lines[i];
|
|
71
|
+
const m = line.match(/^- \*\*([^*]+):\*\*\s*(.*)$/);
|
|
72
|
+
if (!m)
|
|
73
|
+
continue;
|
|
74
|
+
const key = m[1].trim();
|
|
75
|
+
const value = m[2].trim();
|
|
76
|
+
switch (key) {
|
|
77
|
+
case 'Aliases to avoid':
|
|
78
|
+
fields.aliasesToAvoid = value;
|
|
79
|
+
break;
|
|
80
|
+
case 'Cardinality':
|
|
81
|
+
fields.cardinality = value;
|
|
82
|
+
break;
|
|
83
|
+
case 'Flagged ambiguities':
|
|
84
|
+
fields.flaggedAmbiguity = value;
|
|
85
|
+
break;
|
|
86
|
+
case 'Example dialogue':
|
|
87
|
+
fields.exampleDialogue = value;
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return { definition, ...fields };
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Render a term-block to markdown.
|
|
95
|
+
*
|
|
96
|
+
* @param {string} term
|
|
97
|
+
* @param {{
|
|
98
|
+
* definition: string,
|
|
99
|
+
* aliasesToAvoid: string|null,
|
|
100
|
+
* cardinality: string|null,
|
|
101
|
+
* flaggedAmbiguity: string|null,
|
|
102
|
+
* exampleDialogue: string|null,
|
|
103
|
+
* }} block
|
|
104
|
+
*/
|
|
105
|
+
function renderBlock(term, block) {
|
|
106
|
+
const lines = [`## ${term}`, '', block.definition, ''];
|
|
107
|
+
const fields = [
|
|
108
|
+
['Aliases to avoid', block.aliasesToAvoid],
|
|
109
|
+
['Cardinality', block.cardinality],
|
|
110
|
+
['Flagged ambiguities', block.flaggedAmbiguity],
|
|
111
|
+
['Example dialogue', block.exampleDialogue],
|
|
112
|
+
];
|
|
113
|
+
for (const [key, value] of fields) {
|
|
114
|
+
if (value !== null && value !== undefined && value !== '') {
|
|
115
|
+
lines.push(`- **${key}:** ${value}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return lines.join('\n');
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Find an existing block by term in the source markdown.
|
|
122
|
+
* Returns `{ start, end, prior }` or `null` if no such block exists.
|
|
123
|
+
* `start` and `end` are inclusive/exclusive offsets into `source`.
|
|
124
|
+
*
|
|
125
|
+
* @param {string} source
|
|
126
|
+
* @param {string} term
|
|
127
|
+
*/
|
|
128
|
+
function findBlock(source, term) {
|
|
129
|
+
const escaped = term.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
130
|
+
const headerRe = new RegExp(`^##\\s+${escaped}\\s*$`, 'm');
|
|
131
|
+
const m = headerRe.exec(source);
|
|
132
|
+
if (!m)
|
|
133
|
+
return null;
|
|
134
|
+
const start = m.index;
|
|
135
|
+
// Find the next ## or # header or EOF. LOG-004: including H1 prevents a
|
|
136
|
+
// manually-inserted `# Heading` from being absorbed into the block's content.
|
|
137
|
+
const tail = source.slice(m.index + m[0].length);
|
|
138
|
+
const nextRe = /^#{1,2}\s+/m;
|
|
139
|
+
const nextMatch = nextRe.exec(tail);
|
|
140
|
+
const end = nextMatch ? m.index + m[0].length + nextMatch.index : source.length;
|
|
141
|
+
const blockText = source.slice(m.index + m[0].length, end);
|
|
142
|
+
return { start, end, prior: parseBlock(blockText) };
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* CLI entry: `apt-tools context <subcommand> <project-dir> [flags]`.
|
|
146
|
+
*
|
|
147
|
+
* Only `write` is supported in v1; other subcommands return a usage error.
|
|
148
|
+
*/
|
|
149
|
+
export function cmdContext(subcommand, projectDir, extraArgs) {
|
|
150
|
+
if (subcommand !== 'write') {
|
|
151
|
+
return err('Usage: apt-tools context write <project-dir> --term <term> --definition <line> [--aliases-to-avoid ...] [--cardinality ...] [--flagged-ambiguity ...] [--example-dialogue ...]', 1, { command: 'context' });
|
|
152
|
+
}
|
|
153
|
+
if (!projectDir) {
|
|
154
|
+
return err('Usage: apt-tools context write <project-dir> --term <term> --definition <line>', 1, {
|
|
155
|
+
command: 'context-write',
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
const flags = parseFlags(extraArgs ?? []);
|
|
159
|
+
const term = flags.get('term');
|
|
160
|
+
const definition = flags.get('definition');
|
|
161
|
+
if (typeof term !== 'string' || term.trim() === '') {
|
|
162
|
+
return err('--term <bold-term> is required', 1, { command: 'context-write' });
|
|
163
|
+
}
|
|
164
|
+
if (typeof definition !== 'string' || definition.trim() === '') {
|
|
165
|
+
return err('--definition <one-line> is required', 1, { command: 'context-write' });
|
|
166
|
+
}
|
|
167
|
+
const absProjectDir = resolve(projectDir);
|
|
168
|
+
if (!existsSync(absProjectDir)) {
|
|
169
|
+
return err(`project directory not found: ${absProjectDir}`, 1, {
|
|
170
|
+
command: 'context-write',
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
const contextPath = resolve(absProjectDir, 'CONTEXT.md');
|
|
174
|
+
let source = '';
|
|
175
|
+
if (existsSync(contextPath)) {
|
|
176
|
+
source = readFileSync(contextPath, 'utf-8');
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
source = `${HEADER}\n\n${HEADER_NOTE}\n\n`;
|
|
180
|
+
}
|
|
181
|
+
// Ensure the file starts with the header even if it existed pre-Pocock.
|
|
182
|
+
if (!source.startsWith(HEADER)) {
|
|
183
|
+
source = `${HEADER}\n\n${HEADER_NOTE}\n\n${source}`;
|
|
184
|
+
}
|
|
185
|
+
const existing = findBlock(source, term);
|
|
186
|
+
const incoming = {
|
|
187
|
+
definition,
|
|
188
|
+
aliasesToAvoid: typeof flags.get('aliases-to-avoid') === 'string' ? flags.get('aliases-to-avoid') : null,
|
|
189
|
+
cardinality: typeof flags.get('cardinality') === 'string' ? flags.get('cardinality') : null,
|
|
190
|
+
flaggedAmbiguity: typeof flags.get('flagged-ambiguity') === 'string' ? flags.get('flagged-ambiguity') : null,
|
|
191
|
+
exampleDialogue: typeof flags.get('example-dialogue') === 'string' ? flags.get('example-dialogue') : null,
|
|
192
|
+
};
|
|
193
|
+
// Merge: prior block fields are preserved unless explicitly overridden.
|
|
194
|
+
const merged = existing
|
|
195
|
+
? {
|
|
196
|
+
definition: incoming.definition, // definition always overrides
|
|
197
|
+
aliasesToAvoid: incoming.aliasesToAvoid ?? existing.prior.aliasesToAvoid,
|
|
198
|
+
cardinality: incoming.cardinality ?? existing.prior.cardinality,
|
|
199
|
+
flaggedAmbiguity: incoming.flaggedAmbiguity ?? existing.prior.flaggedAmbiguity,
|
|
200
|
+
exampleDialogue: incoming.exampleDialogue ?? existing.prior.exampleDialogue,
|
|
201
|
+
}
|
|
202
|
+
: incoming;
|
|
203
|
+
const rendered = renderBlock(term, merged);
|
|
204
|
+
let updated;
|
|
205
|
+
if (existing) {
|
|
206
|
+
// Replace the existing block (header + body) with the rendered one.
|
|
207
|
+
const before = source.slice(0, existing.start).replace(/\n+$/, '');
|
|
208
|
+
const after = source.slice(existing.end).replace(/^\n+/, '');
|
|
209
|
+
updated = `${before}\n\n${rendered}\n${after.length > 0 ? `\n${after}` : ''}`;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
// Append a new block at the end.
|
|
213
|
+
updated = `${source.replace(/\n+$/, '')}\n\n${rendered}\n`;
|
|
214
|
+
}
|
|
215
|
+
writeFileSync(contextPath, updated);
|
|
216
|
+
return ok({
|
|
217
|
+
status: 'ok',
|
|
218
|
+
command: 'context-write',
|
|
219
|
+
file: contextPath,
|
|
220
|
+
term,
|
|
221
|
+
operation: existing ? 'updated' : 'created',
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.mjs","sourceRoot":"","sources":["../../../src/cli/commands/context.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,MAAM,GAAG,iCAAiC,CAAA;AAChD,MAAM,WAAW,GAChB,yFAAyF,CAAA;AAE1F;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,UAAU,CAAC,SAAS;IAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnC,8DAA8D;IAC9D,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,CAAC,EAAE,CAAA;IACtD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5B,CAAC,EAAE,CAAA;IACJ,CAAC;IACD,MAAM,MAAM,GAAG;QACd,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;KACrB,CAAA;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC;YAAE,SAAQ;QAChB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACvB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACzB,QAAQ,GAAG,EAAE,CAAC;YACb,KAAK,kBAAkB;gBACtB,MAAM,CAAC,cAAc,GAAG,KAAK,CAAA;gBAC7B,MAAK;YACN,KAAK,aAAa;gBACjB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAA;gBAC1B,MAAK;YACN,KAAK,qBAAqB;gBACzB,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAA;gBAC/B,MAAK;YACN,KAAK,kBAAkB;gBACtB,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;gBAC9B,MAAK;QACP,CAAC;IACF,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAA;AACjC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,WAAW,CAAC,IAAI,EAAE,KAAK;IAC/B,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG;QACd,CAAC,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC;QAC1C,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;QAClC,CAAC,qBAAqB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAC/C,CAAC,kBAAkB,EAAE,KAAK,CAAC,eAAe,CAAC;KAC3C,CAAA;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,EAAE,CAAC,CAAA;QACrC,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,MAAM,EAAE,IAAI;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,UAAU,OAAO,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IACrB,wEAAwE;IACxE,8EAA8E;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,aAAa,CAAA;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAA;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS;IAC3D,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,GAAG,CACT,gLAAgL,EAChL,CAAC,EACD,EAAE,OAAO,EAAE,SAAS,EAAE,CACtB,CAAA;IACF,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,GAAG,CACT,gFAAgF,EAChF,CAAC,EACD;YACC,OAAO,EAAE,eAAe;SACxB,CACD,CAAA;IACF,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,OAAO,GAAG,CAAC,gCAAgC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChE,OAAO,GAAG,CAAC,qCAAqC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;IACnF,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,gCAAgC,aAAa,EAAE,EAAE,CAAC,EAAE;YAC9D,OAAO,EAAE,eAAe;SACxB,CAAC,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;IACxD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACP,MAAM,GAAG,GAAG,MAAM,OAAO,WAAW,MAAM,CAAA;IAC3C,CAAC;IACD,wEAAwE;IACxE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,OAAO,WAAW,OAAO,MAAM,EAAE,CAAA;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG;QAChB,UAAU;QACV,cAAc,EACb,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI;QACzF,WAAW,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3F,gBAAgB,EACf,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3F,eAAe,EACd,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI;KACzF,CAAA;IAED,wEAAwE;IACxE,MAAM,MAAM,GAAG,QAAQ;QACtB,CAAC,CAAC;YACA,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,8BAA8B;YAC/D,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,cAAc;YACxE,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW;YAC/D,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,gBAAgB;YAC9E,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,CAAC,eAAe;SAC3E;QACF,CAAC,CAAC,QAAQ,CAAA;IAEX,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1C,IAAI,OAAO,CAAA;IACX,IAAI,QAAQ,EAAE,CAAC;QACd,oEAAoE;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC5D,OAAO,GAAG,GAAG,MAAM,OAAO,QAAQ,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAC9E,CAAC;SAAM,CAAC;QACP,iCAAiC;QACjC,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,QAAQ,IAAI,CAAA;IAC3D,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAEnC,OAAO,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI;QACJ,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KAC3C,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/event.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/event.mjs"],"names":[],"mappings":"AAoFA,uHAgRC"}
|
|
@@ -1,14 +1,81 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* commands/event.mjs — append-only event log for coordination history (C29).
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { appendFileSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
5
5
|
import { hostname } from 'node:os';
|
|
6
6
|
import { join, resolve } from 'node:path';
|
|
7
7
|
import { readLifecycleEventsForDay } from '../coordination/event-log.mjs';
|
|
8
|
+
import { validateConductorEvent } from '../coordination/event-schema.mjs';
|
|
8
9
|
import { createCoordinationStore } from '../coordination/store.mjs';
|
|
9
10
|
import { detectWorktree } from '../git/worktree-detect.mjs';
|
|
10
11
|
import { parseFlags } from '../util/args.mjs';
|
|
11
12
|
import { err, ok } from '../util/result.mjs';
|
|
13
|
+
// QUA-003 / PRF-002 — single source of truth for valid event types.
|
|
14
|
+
// VALID_EVENT_TYPES is the authoritative list; CI_WATCH_EVENT_TYPES is the O(1)
|
|
15
|
+
// membership Set used to short-circuit ci-watch.* events to the JSONL path (D-04).
|
|
16
|
+
const VALID_EVENT_TYPES = [
|
|
17
|
+
'task-claimed',
|
|
18
|
+
'task-completed',
|
|
19
|
+
'task-failed',
|
|
20
|
+
'wave-started',
|
|
21
|
+
'wave-completed',
|
|
22
|
+
'install.started',
|
|
23
|
+
'install.ok',
|
|
24
|
+
'install.failed',
|
|
25
|
+
'ci-watch.armed',
|
|
26
|
+
'ci-watch.tick',
|
|
27
|
+
'ci-watch.fix-pushed',
|
|
28
|
+
'ci-watch.stopped',
|
|
29
|
+
// Phase 2.5 — Conductor-readable ops emitted by APT skills so the
|
|
30
|
+
// Conductor's readEventLog tool can drive its observe loop. These
|
|
31
|
+
// events route to JSONL (like ci-watch.*) and carry terminal_id
|
|
32
|
+
// auto-stamped from APERANT_TERMINAL_ID when present.
|
|
33
|
+
'phase.changed',
|
|
34
|
+
'artifact.ready',
|
|
35
|
+
'awaiting-input',
|
|
36
|
+
'input-rescinded',
|
|
37
|
+
'heartbeat',
|
|
38
|
+
'budget.exceeded',
|
|
39
|
+
'terminal.enrolled',
|
|
40
|
+
'terminal.unenrolled',
|
|
41
|
+
'conductor.intent',
|
|
42
|
+
'conductor.cross_check',
|
|
43
|
+
'conductor.realignment',
|
|
44
|
+
];
|
|
45
|
+
const CI_WATCH_EVENT_TYPES = new Set([
|
|
46
|
+
'ci-watch.armed',
|
|
47
|
+
'ci-watch.tick',
|
|
48
|
+
'ci-watch.fix-pushed',
|
|
49
|
+
'ci-watch.stopped',
|
|
50
|
+
]);
|
|
51
|
+
const CONDUCTOR_EVENT_TYPES = new Set([
|
|
52
|
+
'phase.changed',
|
|
53
|
+
'artifact.ready',
|
|
54
|
+
'awaiting-input',
|
|
55
|
+
'input-rescinded',
|
|
56
|
+
'heartbeat',
|
|
57
|
+
'budget.exceeded',
|
|
58
|
+
'terminal.enrolled',
|
|
59
|
+
'terminal.unenrolled',
|
|
60
|
+
'conductor.intent',
|
|
61
|
+
'conductor.cross_check',
|
|
62
|
+
'conductor.realignment',
|
|
63
|
+
]);
|
|
64
|
+
/**
|
|
65
|
+
* Append a ci-watch event to the per-day JSONL file (D-04).
|
|
66
|
+
* O(1) — no directory scan. Creates the events dir if missing.
|
|
67
|
+
* @param {string} eventsDir
|
|
68
|
+
* @param {object} payload
|
|
69
|
+
* @returns {{ jsonlFile: string, jsonlPath: string }}
|
|
70
|
+
*/
|
|
71
|
+
function appendToJsonl(eventsDir, payload) {
|
|
72
|
+
mkdirSync(eventsDir, { recursive: true });
|
|
73
|
+
const today = new Date().toISOString().slice(0, 10);
|
|
74
|
+
const jsonlFile = `${today}.jsonl`;
|
|
75
|
+
const jsonlPath = join(eventsDir, jsonlFile);
|
|
76
|
+
appendFileSync(jsonlPath, `${JSON.stringify(payload)}\n`, 'utf-8');
|
|
77
|
+
return { jsonlFile, jsonlPath };
|
|
78
|
+
}
|
|
12
79
|
export function cmdEvent(subcommand, projectDir, extraArgs) {
|
|
13
80
|
if (!subcommand)
|
|
14
81
|
return err('Usage: apt-tools event <append|list|rebuild-state> <project-dir> [flags]');
|
|
@@ -33,18 +100,12 @@ export function cmdEvent(subcommand, projectDir, extraArgs) {
|
|
|
33
100
|
// install.started — { task_id, ecosystem, pid, started_at, log_path }
|
|
34
101
|
// install.ok — { task_id, ecosystem, duration_ms, log_path }
|
|
35
102
|
// install.failed — { task_id, ecosystem, exit_code, duration_ms, reason, log_path }
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
'
|
|
42
|
-
'install.started',
|
|
43
|
-
'install.ok',
|
|
44
|
-
'install.failed',
|
|
45
|
-
];
|
|
46
|
-
if (!validTypes.includes(type)) {
|
|
47
|
-
return err(`Invalid event type: ${type}. Valid types: ${validTypes.join(', ')}`);
|
|
103
|
+
// C28 (post-ship CI watcher D-04) — added ci-watch.{armed,tick,fix-pushed,stopped}
|
|
104
|
+
// so /apt:watch-ci tick / start / stop can stream events into
|
|
105
|
+
// .aperant/events/{today}.jsonl. The rebuild-state switch below
|
|
106
|
+
// silently ignores them (they're informational, not task-lifecycle).
|
|
107
|
+
if (!VALID_EVENT_TYPES.includes(type)) {
|
|
108
|
+
return err(`Invalid event type: ${type}. Valid types: ${VALID_EVENT_TYPES.join(', ')}`);
|
|
48
109
|
}
|
|
49
110
|
let data = {};
|
|
50
111
|
if (dataStr) {
|
|
@@ -55,6 +116,56 @@ export function cmdEvent(subcommand, projectDir, extraArgs) {
|
|
|
55
116
|
return err(`Invalid JSON for --data: ${e.message}`);
|
|
56
117
|
}
|
|
57
118
|
}
|
|
119
|
+
// PRF-002 — ci-watch.* events go to the per-day JSONL path (D-04).
|
|
120
|
+
// O(1) append; no directory scan needed.
|
|
121
|
+
if (CI_WATCH_EVENT_TYPES.has(type)) {
|
|
122
|
+
const event = {
|
|
123
|
+
type,
|
|
124
|
+
subtask,
|
|
125
|
+
worker: `${hostname()}-${process.pid}`,
|
|
126
|
+
timestamp: new Date().toISOString(),
|
|
127
|
+
data,
|
|
128
|
+
};
|
|
129
|
+
const { jsonlFile } = appendToJsonl(eventsDir, event);
|
|
130
|
+
return ok({ status: 'ok', command: 'event-append', event_file: jsonlFile, event });
|
|
131
|
+
}
|
|
132
|
+
// Phase 2.5 — Conductor-readable events route to the per-day JSONL
|
|
133
|
+
// path with the canonical envelope the Conductor's readEventLog
|
|
134
|
+
// expects: { t, agent, pid, hostname, incarnation, op, task, data }.
|
|
135
|
+
// terminal_id is auto-stamped from APERANT_TERMINAL_ID env when set,
|
|
136
|
+
// so APT skills running in a Conductor-spawned PTY automatically
|
|
137
|
+
// tag their events with the originating terminal.
|
|
138
|
+
if (CONDUCTOR_EVENT_TYPES.has(type)) {
|
|
139
|
+
const terminalId = process.env.APERANT_TERMINAL_ID;
|
|
140
|
+
if (terminalId && data && typeof data === 'object' && !data.terminal_id) {
|
|
141
|
+
data.terminal_id = terminalId;
|
|
142
|
+
}
|
|
143
|
+
// Step 1 — schema gate: reject payloads that violate the per-op
|
|
144
|
+
// contract before the line lands on disk. The same validator
|
|
145
|
+
// runs at the framework store seam and the core conductor
|
|
146
|
+
// writer; gating here catches CLI emitters (APT skills).
|
|
147
|
+
const validation = validateConductorEvent(type, data);
|
|
148
|
+
if (!validation.ok) {
|
|
149
|
+
return err(`Schema violation for ${type}: ${validation.error}`);
|
|
150
|
+
}
|
|
151
|
+
const envelope = {
|
|
152
|
+
t: new Date().toISOString(),
|
|
153
|
+
agent: `${hostname()}-${process.pid}`,
|
|
154
|
+
pid: process.pid,
|
|
155
|
+
hostname: hostname(),
|
|
156
|
+
incarnation: 1,
|
|
157
|
+
op: type,
|
|
158
|
+
task: subtask || null,
|
|
159
|
+
data: data || {},
|
|
160
|
+
};
|
|
161
|
+
const { jsonlFile } = appendToJsonl(eventsDir, envelope);
|
|
162
|
+
return ok({
|
|
163
|
+
status: 'ok',
|
|
164
|
+
command: 'event-append',
|
|
165
|
+
event_file: jsonlFile,
|
|
166
|
+
event: envelope,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
58
169
|
// Find next sequence number — scan existing files for highest number
|
|
59
170
|
const existingFiles = readdirSync(eventsDir).filter((f) => f.endsWith('.json'));
|
|
60
171
|
let maxId = 0;
|
|
@@ -159,17 +270,7 @@ export function cmdEvent(subcommand, projectDir, extraArgs) {
|
|
|
159
270
|
try {
|
|
160
271
|
const event = JSON.parse(readFileSync(join(eventsDir, f), 'utf-8'));
|
|
161
272
|
// Validate event type before processing (T-11-04 mitigation)
|
|
162
|
-
|
|
163
|
-
'task-claimed',
|
|
164
|
-
'task-completed',
|
|
165
|
-
'task-failed',
|
|
166
|
-
'wave-started',
|
|
167
|
-
'wave-completed',
|
|
168
|
-
'install.started',
|
|
169
|
-
'install.ok',
|
|
170
|
-
'install.failed',
|
|
171
|
-
];
|
|
172
|
-
if (!validTypes.includes(event.type))
|
|
273
|
+
if (!VALID_EVENT_TYPES.includes(event.type))
|
|
173
274
|
continue;
|
|
174
275
|
eventsProcessed++;
|
|
175
276
|
switch (event.type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.mjs","sourceRoot":"","sources":["../../../src/cli/commands/event.mjs"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event.mjs","sourceRoot":"","sources":["../../../src/cli/commands/event.mjs"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export function cmdHostDetect(): import("../util/result.mjs").CommandResult;
|
|
2
|
-
export function cmdReconcile(projectDir: any): import("../util/result.mjs").CommandResult;
|
|
2
|
+
export function cmdReconcile(projectDir: any, extraArgs?: any[]): import("../util/result.mjs").CommandResult;
|
|
3
3
|
//# sourceMappingURL=host-detect.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-detect.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/host-detect.mjs"],"names":[],"mappings":"AAeA,4EAOC;
|
|
1
|
+
{"version":3,"file":"host-detect.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/host-detect.mjs"],"names":[],"mappings":"AAeA,4EAOC;AAgBD,6GA0EC"}
|
|
@@ -19,20 +19,37 @@ export function cmdHostDetect() {
|
|
|
19
19
|
host,
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Parse `--track <quick|standard|deep>` from positional args. Returns the
|
|
24
|
+
* lowercased track or null when the flag is absent. Unknown values are
|
|
25
|
+
* silently ignored to preserve backward-compat — the caller falls back to
|
|
26
|
+
* global phase_delegation in that case.
|
|
27
|
+
*/
|
|
28
|
+
function parseTrackFlag(args) {
|
|
29
|
+
if (!Array.isArray(args))
|
|
30
|
+
return null;
|
|
31
|
+
const idx = args.indexOf('--track');
|
|
32
|
+
if (idx === -1 || idx === args.length - 1)
|
|
33
|
+
return null;
|
|
34
|
+
const val = String(args[idx + 1]).toLowerCase();
|
|
35
|
+
return val === 'quick' || val === 'standard' || val === 'deep' ? val : null;
|
|
36
|
+
}
|
|
37
|
+
export function cmdReconcile(projectDir, extraArgs = []) {
|
|
23
38
|
if (!projectDir)
|
|
24
|
-
return err('Usage: apt-tools reconcile <project-dir>');
|
|
39
|
+
return err('Usage: apt-tools reconcile <project-dir> [--track quick|standard|deep]');
|
|
25
40
|
const targetDir = resolve(projectDir);
|
|
26
41
|
if (!existsSync(targetDir))
|
|
27
42
|
return err(`Directory does not exist: ${targetDir}`);
|
|
28
43
|
const host = detectHost();
|
|
29
44
|
const { capabilities } = host;
|
|
45
|
+
const track = parseTrackFlag(extraArgs);
|
|
30
46
|
// Read orchestration config — default all fields to 'auto' if missing
|
|
31
47
|
let orchestrationConfig = {
|
|
32
48
|
phase_delegation: 'auto',
|
|
33
49
|
review_mode: 'auto',
|
|
34
50
|
debate_mode: 'auto',
|
|
35
51
|
};
|
|
52
|
+
let perTrack = null;
|
|
36
53
|
const configPath = join(targetDir, '.aperant', 'config.json');
|
|
37
54
|
if (existsSync(configPath)) {
|
|
38
55
|
try {
|
|
@@ -43,14 +60,20 @@ export function cmdReconcile(projectDir) {
|
|
|
43
60
|
review_mode: cfg.orchestration.review_mode ?? 'auto',
|
|
44
61
|
debate_mode: cfg.orchestration.debate_mode ?? 'auto',
|
|
45
62
|
};
|
|
63
|
+
perTrack = cfg.orchestration.per_track ?? null;
|
|
46
64
|
}
|
|
47
65
|
}
|
|
48
66
|
catch {
|
|
49
67
|
// Malformed config — use defaults
|
|
50
68
|
}
|
|
51
69
|
}
|
|
70
|
+
// Per-track phase_delegation override (roundtable 2026-05-14 R7):
|
|
71
|
+
// when --track is passed AND per_track[track] is set, use that as
|
|
72
|
+
// the requested mode for phase_delegation. Otherwise fall back to
|
|
73
|
+
// the global value. review_mode and debate_mode are not track-scoped.
|
|
74
|
+
const requestedPhaseDelegation = track && perTrack?.[track] ? perTrack[track] : orchestrationConfig.phase_delegation;
|
|
52
75
|
// Resolve each dimension
|
|
53
|
-
const pdResult = resolveMode(
|
|
76
|
+
const pdResult = resolveMode(requestedPhaseDelegation, capabilities, 'phase_delegation');
|
|
54
77
|
const rmResult = resolveMode(orchestrationConfig.review_mode, capabilities, 'review_mode');
|
|
55
78
|
const dmResult = resolveMode(orchestrationConfig.debate_mode, capabilities, 'debate_mode');
|
|
56
79
|
const resolved = {
|
|
@@ -66,6 +89,10 @@ export function cmdReconcile(projectDir) {
|
|
|
66
89
|
config: orchestrationConfig,
|
|
67
90
|
resolved,
|
|
68
91
|
};
|
|
92
|
+
if (track) {
|
|
93
|
+
result.track = track;
|
|
94
|
+
result.track_source = perTrack && perTrack[track] ? 'per_track' : 'fallback';
|
|
95
|
+
}
|
|
69
96
|
if (downgrades.length > 0) {
|
|
70
97
|
result.downgrades = downgrades;
|
|
71
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-detect.mjs","sourceRoot":"","sources":["../../../src/cli/commands/host-detect.mjs"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,UAAU,aAAa;IAC5B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;IACzB,OAAO,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,aAAa;QACtB,IAAI;KACJ,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"host-detect.mjs","sourceRoot":"","sources":["../../../src/cli/commands/host-detect.mjs"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI entry: `apt-tools modes <subcommand> [project-dir]`.
|
|
3
|
+
*
|
|
4
|
+
* Subcommands: `list` (the only v1 subcommand).
|
|
5
|
+
*
|
|
6
|
+
* The trusted-skill-roots discovery follows the same pattern as the
|
|
7
|
+
* router's skill-discover module, but at minimum scans
|
|
8
|
+
* `packages/framework/skills/` relative to the framework checkout. For
|
|
9
|
+
* project-installed skills, the project's `.aperant/deps/.../skills`
|
|
10
|
+
* tree is also scanned when present.
|
|
11
|
+
*/
|
|
12
|
+
export function cmdModes(subcommand: any, projectDir: any, _extraArgs: any): import("../util/result.mjs").CommandResult;
|
|
13
|
+
//# sourceMappingURL=modes.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modes.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/modes.mjs"],"names":[],"mappings":"AA6JA;;;;;;;;;;GAUG;AACH,wHA+CC"}
|