@openrig/cli 0.4.0 → 0.4.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.
- package/daemon/assets/plugins/openrig-core/hooks/claude.json +11 -0
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +14 -3
- package/daemon/assets/plugins/openrig-core/hooks/scripts/compaction-restore-bridge.cjs +28 -24
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +72 -11
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +62 -29
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +32 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +154 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/db/migrations/044_queue_item_summary.d.ts +21 -0
- package/daemon/dist/db/migrations/044_queue_item_summary.d.ts.map +1 -0
- package/daemon/dist/db/migrations/044_queue_item_summary.js +25 -0
- package/daemon/dist/db/migrations/044_queue_item_summary.js.map +1 -0
- package/daemon/dist/domain/agent-activity-store.js +11 -0
- package/daemon/dist/domain/agent-activity-store.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +69 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/daemon-version.d.ts +15 -0
- package/daemon/dist/domain/daemon-version.d.ts.map +1 -0
- package/daemon/dist/domain/daemon-version.js +28 -0
- package/daemon/dist/domain/daemon-version.js.map +1 -0
- package/daemon/dist/domain/node-cmux-service.d.ts +1 -0
- package/daemon/dist/domain/node-cmux-service.d.ts.map +1 -1
- package/daemon/dist/domain/node-cmux-service.js +29 -2
- package/daemon/dist/domain/node-cmux-service.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +18 -0
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +18 -0
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts +14 -2
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +95 -0
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/scope/types.d.ts +6 -0
- package/daemon/dist/domain/scope/types.d.ts.map +1 -1
- package/daemon/dist/domain/scope/types.js +8 -0
- package/daemon/dist/domain/scope/types.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +10 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +153 -19
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +10 -3
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +10 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +1 -0
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +25 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +1 -18
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/health-summary.d.ts.map +1 -1
- package/daemon/dist/routes/health-summary.js +13 -2
- package/daemon/dist/routes/health-summary.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +3 -0
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/daemon/dist/routes/scope-audit.js +28 -1
- package/daemon/dist/routes/scope-audit.js.map +1 -1
- package/daemon/dist/routes/transport.d.ts.map +1 -1
- package/daemon/dist/routes/transport.js +22 -0
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +15 -3
- package/daemon/dist/startup.js.map +1 -1
- package/dist/commands/auth.d.ts +11 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +145 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/config-init-workspace.d.ts.map +1 -1
- package/dist/commands/config-init-workspace.js +7 -4
- package/dist/commands/config-init-workspace.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +23 -0
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +64 -6
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +40 -7
- package/dist/commands/send.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/codex-auth.d.ts +124 -0
- package/dist/lib/codex-auth.d.ts.map +1 -0
- package/dist/lib/codex-auth.js +418 -0
- package/dist/lib/codex-auth.js.map +1 -0
- package/dist/lib/scope/scope-audit.d.ts +14 -2
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +95 -0
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope/templates.d.ts +9 -0
- package/dist/lib/scope/templates.d.ts.map +1 -1
- package/dist/lib/scope/templates.js +14 -1
- package/dist/lib/scope/templates.js.map +1 -1
- package/dist/lib/scope-templates/mission-brief.md +20 -0
- package/dist/lib/scope-templates/placeholder.md +8 -0
- package/dist/lib/scope-templates/proof.md +17 -0
- package/package.json +2 -1
- package/ui/dist/assets/index-CnqRX7A3.css +32 -0
- package/ui/dist/assets/index-CtL9jXFt.js +582 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/index-DMI6jeAX.css +0 -32
- package/ui/dist/assets/index-FQgCB6mC.js +0 -580
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
import * as YAML from "yaml";
|
|
2
2
|
import { isMissionDotId, isSliceDotId } from "./dot-id.js";
|
|
3
|
+
const MISSION_BRIEF_HEADERS = ["What & why", "Building", "Progress", "Proven", "Needs you", "Pointers"];
|
|
4
|
+
function childPath(parent, child) {
|
|
5
|
+
return parent.endsWith("/") ? `${parent}${child}` : `${parent}/${child}`;
|
|
6
|
+
}
|
|
7
|
+
function missionBriefFix() {
|
|
8
|
+
return "Create/populate MISSION_BRIEF.md using the slice-16 schema: # <Mission name> — Brief, then ## What & why, ## Building, ## Progress, ## Proven, ## Needs you, ## Pointers.";
|
|
9
|
+
}
|
|
10
|
+
function missionBriefConforms(content) {
|
|
11
|
+
const lines = content.split(/\r?\n/);
|
|
12
|
+
const title = lines.find((line) => /^#\s+/.test(line) && !/^##\s+/.test(line))?.trim() ?? "";
|
|
13
|
+
if (!/^#\s+.+\s+—\s+Brief\s*$/.test(title))
|
|
14
|
+
return false;
|
|
15
|
+
const h2s = lines
|
|
16
|
+
.map((line) => /^##\s+(.+?)\s*$/.exec(line)?.[1]?.trim() ?? null)
|
|
17
|
+
.filter((header) => header !== null);
|
|
18
|
+
if (h2s.length < MISSION_BRIEF_HEADERS.length)
|
|
19
|
+
return false;
|
|
20
|
+
return MISSION_BRIEF_HEADERS.every((header, idx) => h2s[idx] === header);
|
|
21
|
+
}
|
|
22
|
+
function parseStatusFromFrontmatter(raw) {
|
|
23
|
+
if (raw === null)
|
|
24
|
+
return null;
|
|
25
|
+
try {
|
|
26
|
+
const parsed = YAML.parse(raw);
|
|
27
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
28
|
+
const status = parsed.status;
|
|
29
|
+
return typeof status === "string" ? status : null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
function statusRequiresProof(status) {
|
|
38
|
+
if (!status)
|
|
39
|
+
return false;
|
|
40
|
+
const normalized = status.toLowerCase().trim();
|
|
41
|
+
return normalized.includes("done")
|
|
42
|
+
|| normalized.includes("ship")
|
|
43
|
+
|| normalized.includes("close")
|
|
44
|
+
|| normalized.includes("proven")
|
|
45
|
+
|| normalized.includes("promoted");
|
|
46
|
+
}
|
|
3
47
|
export function classifyScopeItem(input) {
|
|
4
48
|
const findings = [];
|
|
5
49
|
let frontmatterError = null;
|
|
@@ -91,6 +135,57 @@ export function classifyScopeItem(input) {
|
|
|
91
135
|
}
|
|
92
136
|
}
|
|
93
137
|
}
|
|
138
|
+
if (input.level === "mission") {
|
|
139
|
+
const briefPath = input.missionBriefPath ?? childPath(input.path, "MISSION_BRIEF.md");
|
|
140
|
+
if (input.missionBriefExists === false) {
|
|
141
|
+
findings.push({
|
|
142
|
+
kind: "missing_mission_brief",
|
|
143
|
+
severity: "medium",
|
|
144
|
+
path: briefPath,
|
|
145
|
+
message: "Mission has no root MISSION_BRIEF.md, so the Steering tab human-facing brief degrades.",
|
|
146
|
+
remediation: missionBriefFix(),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
else if (input.missionBriefExists === true
|
|
150
|
+
&& typeof input.missionBriefContent === "string"
|
|
151
|
+
&& !missionBriefConforms(input.missionBriefContent)) {
|
|
152
|
+
findings.push({
|
|
153
|
+
kind: "malformed_mission_brief",
|
|
154
|
+
severity: "medium",
|
|
155
|
+
path: briefPath,
|
|
156
|
+
message: "MISSION_BRIEF.md does not match the canonical MISSION_BRIEF.md section order.",
|
|
157
|
+
remediation: missionBriefFix(),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
if (input.missionNotesExists === false) {
|
|
161
|
+
const notesPath = input.missionNotesPath ?? childPath(input.path, "MISSION_NOTES.md");
|
|
162
|
+
findings.push({
|
|
163
|
+
kind: "missing_mission_notes",
|
|
164
|
+
severity: "low",
|
|
165
|
+
path: notesPath,
|
|
166
|
+
message: "Mission has no MISSION_NOTES.md continuity file.",
|
|
167
|
+
remediation: "Add MISSION_NOTES.md at the mission root and populate it per the mission-notes convention.",
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (input.level === "slice") {
|
|
172
|
+
const status = input.sliceStatus ?? parseStatusFromFrontmatter(input.readmeFrontmatterRaw);
|
|
173
|
+
const hasProofPacket = input.hasProofPacket === true;
|
|
174
|
+
const hasRootProof = input.proofFileExists === true
|
|
175
|
+
&& input.proofDirExists === true
|
|
176
|
+
&& input.proofDirHasEntries === true;
|
|
177
|
+
const isProven = statusRequiresProof(status) || hasProofPacket;
|
|
178
|
+
if (isProven && !hasRootProof) {
|
|
179
|
+
const proofPath = input.proofFilePath ?? childPath(input.path, "PROOF.md");
|
|
180
|
+
findings.push({
|
|
181
|
+
kind: "missing_proof",
|
|
182
|
+
severity: "medium",
|
|
183
|
+
path: proofPath,
|
|
184
|
+
message: "Slice is done/proven but does not have complete root PROOF.md plus populated proof/ artifacts.",
|
|
185
|
+
remediation: "Add PROOF.md at the slice root and put verification artifacts under proof/ per the slice-closeout SOP.",
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
94
189
|
return { railStatus, findings, frontmatterError };
|
|
95
190
|
}
|
|
96
191
|
//# sourceMappingURL=scope-audit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-audit.js","sourceRoot":"","sources":["../../../src/lib/scope/scope-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"scope-audit.js","sourceRoot":"","sources":["../../../src/lib/scope/scope-audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ export interface RenderOpts {
|
|
|
7
7
|
title: string;
|
|
8
8
|
created_date: string;
|
|
9
9
|
release_version?: string;
|
|
10
|
+
intent_visual_image_path?: string;
|
|
11
|
+
intent_visual_diff_path?: string;
|
|
12
|
+
intent_visual_build_command?: string;
|
|
10
13
|
}
|
|
11
14
|
export declare function renderSliceTemplate(kind: SliceTemplateKind, opts: RenderOpts): string;
|
|
12
15
|
export declare function renderMissionTemplate(kind: MissionTemplateKind, opts: RenderOpts): string;
|
|
@@ -34,7 +37,13 @@ export declare function renderMissionNotesTemplate(opts: MissionNotesRenderOpts,
|
|
|
34
37
|
absPath: string;
|
|
35
38
|
};
|
|
36
39
|
export declare function renderMissionProgressTemplate(missionName: string): string;
|
|
40
|
+
export declare function renderMissionBriefTemplate(missionName: string): string;
|
|
37
41
|
export declare function renderSliceProgressTemplate(sliceName: string): string;
|
|
42
|
+
export interface SliceProofRenderOpts {
|
|
43
|
+
id: string;
|
|
44
|
+
title: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function renderSliceProofTemplate(opts: SliceProofRenderOpts): string;
|
|
38
47
|
/** Convert a folder-slug to a title-cased display name. */
|
|
39
48
|
export declare function titleFromSlug(slug: string): string;
|
|
40
49
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/templates.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+BzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/templates.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+BzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAgBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAIrF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAIzF;AAUD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AASD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAczE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUzE;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGtE;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAK3E;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD"}
|
|
@@ -42,7 +42,10 @@ function applyPlaceholders(content, opts) {
|
|
|
42
42
|
.replace(/\{\{mission\}\}/g, opts.mission)
|
|
43
43
|
.replace(/\{\{title\}\}/g, opts.title)
|
|
44
44
|
.replace(/\{\{created_date\}\}/g, opts.created_date)
|
|
45
|
-
.replace(/\{\{release_version\}\}/g, opts.release_version ?? "")
|
|
45
|
+
.replace(/\{\{release_version\}\}/g, opts.release_version ?? "")
|
|
46
|
+
.replace(/\{\{intent_visual_image_path\}\}/g, opts.intent_visual_image_path ?? "./intent.png")
|
|
47
|
+
.replace(/\{\{intent_visual_diff_path\}\}/g, opts.intent_visual_diff_path ?? "./change.diff")
|
|
48
|
+
.replace(/\{\{intent_visual_build_command\}\}/g, opts.intent_visual_build_command ?? "TWIN_ROUTE=<route> npm run twin:build");
|
|
46
49
|
}
|
|
47
50
|
export function renderSliceTemplate(kind, opts) {
|
|
48
51
|
const filename = `${kind}.md`;
|
|
@@ -102,10 +105,20 @@ export function renderMissionProgressTemplate(missionName) {
|
|
|
102
105
|
const raw = fs.readFileSync(resolveTemplate("mission-progress.md"), "utf8");
|
|
103
106
|
return raw.replace(/\{\{missionName\}\}/g, missionName);
|
|
104
107
|
}
|
|
108
|
+
export function renderMissionBriefTemplate(missionName) {
|
|
109
|
+
const raw = fs.readFileSync(resolveTemplate("mission-brief.md"), "utf8");
|
|
110
|
+
return raw.replace(/\{\{mission_name\}\}/g, missionName);
|
|
111
|
+
}
|
|
105
112
|
export function renderSliceProgressTemplate(sliceName) {
|
|
106
113
|
const raw = fs.readFileSync(resolveTemplate("slice-progress.md"), "utf8");
|
|
107
114
|
return raw.replace(/\{\{sliceName\}\}/g, sliceName);
|
|
108
115
|
}
|
|
116
|
+
export function renderSliceProofTemplate(opts) {
|
|
117
|
+
const raw = fs.readFileSync(resolveTemplate("proof.md"), "utf8");
|
|
118
|
+
return raw
|
|
119
|
+
.replace(/\{\{id\}\}/g, opts.id)
|
|
120
|
+
.replace(/\{\{title\}\}/g, opts.title);
|
|
121
|
+
}
|
|
109
122
|
/** Convert a folder-slug to a title-cased display name. */
|
|
110
123
|
export function titleFromSlug(slug) {
|
|
111
124
|
return slug
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/lib/scope/templates.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,qEAAqE;AACrE,yDAAyD;AACzD,mEAAmE;AACnE,oEAAoE;AACpE,oCAAoC;AAEpC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D;oEACoE;AACpE,SAAS,cAAc;IACrB,OAAO;QACL,wDAAwD;QACxD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC;QAC3C,kFAAkF;QAClF,8CAA8C;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC;QACxD,6EAA6E;QAC7E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IACD,MAAM,IAAI,aAAa,CAAC;QACtB,IAAI,EAAE,YAAY,QAAQ,wBAAwB;QAClD,WAAW,EAAE,mCAAmC;QAChD,MAAM,EAAE,oGAAoG;KAC7G,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/lib/scope/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# {{mission_name}} — Brief
|
|
2
|
+
<optional one-line italic TL;DR>
|
|
3
|
+
|
|
4
|
+
## What & why
|
|
5
|
+
<orientation, read-first: what this mission delivers + why it matters. MANDATORY.>
|
|
6
|
+
|
|
7
|
+
## Building
|
|
8
|
+
<what is actively in flight right now — brief-altitude, a few bullets, NOT the PROGRESS task list>
|
|
9
|
+
|
|
10
|
+
## Progress
|
|
11
|
+
<how far: a high-altitude phase/wave rollup. Points at PROGRESS.md for active/next detail.>
|
|
12
|
+
|
|
13
|
+
## Proven
|
|
14
|
+
<what has landed WITH proof — brief-altitude proof gauge. Points at the Proof tab / per-slice proof/.>
|
|
15
|
+
|
|
16
|
+
## Needs you
|
|
17
|
+
<open decisions + reviews waiting on the human/founder — the "never have to ask for status" section. Empty = nothing blocked on you.>
|
|
18
|
+
|
|
19
|
+
## Pointers
|
|
20
|
+
→ MISSION_NOTES.md (continuity / restore) · → PROGRESS.md (active / next) · other key links
|
|
@@ -18,6 +18,14 @@ created: {{created_date}}
|
|
|
18
18
|
|
|
19
19
|
- [Paths or refs]
|
|
20
20
|
|
|
21
|
+
## Intent visual
|
|
22
|
+
|
|
23
|
+
Non-visual slices: mark this section N/A.
|
|
24
|
+
|
|
25
|
+
- Intent image: 
|
|
26
|
+
- Durable diff: [change.diff]({{intent_visual_diff_path}})
|
|
27
|
+
- Regenerate preview: from `packages/ui`, run `{{intent_visual_build_command}}` to rebuild `twin-out/intent.html` (gitignored).
|
|
28
|
+
|
|
21
29
|
## Status
|
|
22
30
|
|
|
23
31
|
- TODO: [next steps]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# PROOF — {{id}} {{title}}
|
|
2
|
+
|
|
3
|
+
Closed by: <seat> Date: <date> Verdict: <pass | pass-with-residue | ...>
|
|
4
|
+
|
|
5
|
+
## What this proves
|
|
6
|
+
|
|
7
|
+
<1-3 sentences: the claim the slice made, now demonstrated>
|
|
8
|
+
|
|
9
|
+
## Artifacts (media in proof/)
|
|
10
|
+
|
|
11
|
+
- proof/screenshot-01.png — <what it shows>
|
|
12
|
+
- proof/capture-behavior.gif — <what it shows>
|
|
13
|
+
- proof/command-output.txt — <what it proves>
|
|
14
|
+
|
|
15
|
+
## Residue / caveats (if any)
|
|
16
|
+
|
|
17
|
+
<documented residue: what's not covered + where it's tracked>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openrig/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Local control plane for multi-agent coding topologies",
|
|
6
6
|
"keywords": [
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@hono/node-server": "^1.13.0",
|
|
46
|
+
"@hono/node-ws": "^1.3.1",
|
|
46
47
|
"@modelcontextprotocol/sdk": "^1.28.0",
|
|
47
48
|
"ajv": "^8.18.0",
|
|
48
49
|
"ajv-formats": "^3.0.1",
|