@warpgogol/forge 0.22.0 → 0.23.0
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/AGENTS.md +33 -3
- package/dist/bin/cli.js +1 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/os/core/core.module.d.ts.map +1 -1
- package/dist/os/core/core.module.js +66 -0
- package/dist/os/core/core.module.js.map +1 -1
- package/dist/os/core/handlers/release-publish.js +4 -4
- package/dist/os/core/handlers/release-publish.js.map +1 -1
- package/dist/os/exploration/exploration.module.d.ts +3 -0
- package/dist/os/exploration/exploration.module.d.ts.map +1 -0
- package/dist/os/exploration/exploration.module.js +82 -0
- package/dist/os/exploration/exploration.module.js.map +1 -0
- package/dist/os/exploration/frontmatter-io.d.ts +13 -0
- package/dist/os/exploration/frontmatter-io.d.ts.map +1 -0
- package/dist/os/exploration/frontmatter-io.js +63 -0
- package/dist/os/exploration/frontmatter-io.js.map +1 -0
- package/dist/os/exploration/handlers/archive.d.ts +4 -0
- package/dist/os/exploration/handlers/archive.d.ts.map +1 -0
- package/dist/os/exploration/handlers/archive.js +135 -0
- package/dist/os/exploration/handlers/archive.js.map +1 -0
- package/dist/os/exploration/handlers/list.d.ts +4 -0
- package/dist/os/exploration/handlers/list.d.ts.map +1 -0
- package/dist/os/exploration/handlers/list.js +56 -0
- package/dist/os/exploration/handlers/list.js.map +1 -0
- package/dist/os/exploration/handlers/show.d.ts +4 -0
- package/dist/os/exploration/handlers/show.d.ts.map +1 -0
- package/dist/os/exploration/handlers/show.js +91 -0
- package/dist/os/exploration/handlers/show.js.map +1 -0
- package/dist/os/exploration/index.d.ts +7 -0
- package/dist/os/exploration/index.d.ts.map +1 -0
- package/dist/os/exploration/index.js +17 -0
- package/dist/os/exploration/index.js.map +1 -0
- package/dist/os/exploration/types.d.ts +38 -0
- package/dist/os/exploration/types.d.ts.map +1 -0
- package/dist/os/exploration/types.js +23 -0
- package/dist/os/exploration/types.js.map +1 -0
- package/dist/os/rfc/handlers/validate-rules.d.ts +5 -4
- package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
- package/dist/os/rfc/handlers/validate-rules.js +41 -6
- package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
- package/dist/os/rfc/handlers/validate.d.ts.map +1 -1
- package/dist/os/rfc/handlers/validate.js +5 -2
- package/dist/os/rfc/handlers/validate.js.map +1 -1
- package/dist/os/rfc/index.d.ts +2 -2
- package/dist/os/rfc/index.d.ts.map +1 -1
- package/dist/os/rfc/index.js +1 -1
- package/dist/os/rfc/index.js.map +1 -1
- package/dist/os/rfc/types.d.ts +13 -0
- package/dist/os/rfc/types.d.ts.map +1 -1
- package/dist/os/rfc/types.js +1 -0
- package/dist/os/rfc/types.js.map +1 -1
- package/dist/os/spec/live-spec-list.d.ts +4 -0
- package/dist/os/spec/live-spec-list.d.ts.map +1 -0
- package/dist/os/spec/live-spec-list.js +64 -0
- package/dist/os/spec/live-spec-list.js.map +1 -0
- package/dist/os/spec/live-spec-merge.d.ts +4 -0
- package/dist/os/spec/live-spec-merge.d.ts.map +1 -0
- package/dist/os/spec/live-spec-merge.js +345 -0
- package/dist/os/spec/live-spec-merge.js.map +1 -0
- package/dist/os/spec/live-spec-show.d.ts +4 -0
- package/dist/os/spec/live-spec-show.d.ts.map +1 -0
- package/dist/os/spec/live-spec-show.js +99 -0
- package/dist/os/spec/live-spec-show.js.map +1 -0
- package/dist/os/spec/live-spec-types.d.ts +71 -0
- package/dist/os/spec/live-spec-types.d.ts.map +1 -0
- package/dist/os/spec/live-spec-types.js +14 -0
- package/dist/os/spec/live-spec-types.js.map +1 -0
- package/dist/os/spec/live-spec-validate.d.ts +4 -0
- package/dist/os/spec/live-spec-validate.d.ts.map +1 -0
- package/dist/os/spec/live-spec-validate.js +140 -0
- package/dist/os/spec/live-spec-validate.js.map +1 -0
- package/dist/os/spec/spec.module.d.ts.map +1 -1
- package/dist/os/spec/spec.module.js +54 -2
- package/dist/os/spec/spec.module.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/os/rfc/rfc-0000-template.md +5 -0
- package/package.json +9 -1
- package/skills/fo/fo-design-summit/SKILL.md +240 -0
- package/skills/fo/fo-explore/SKILL.md +145 -0
- package/skills/fo/fo-idea/SKILL.md +10 -0
- package/skills/fo/fo-idea-audit/SKILL.md +1 -0
- package/skills/fo/fo-idea-create-rfc/SKILL.md +3 -0
- package/skills/fo/fo-idea-enhance/SKILL.md +3 -2
- package/skills/fo/fo-idea-implement/SKILL.md +9 -4
- package/skills/fo/fo-idea-plan/SKILL.md +10 -0
- package/skills/fo/fo-session-retro/SKILL.md +10 -5
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>exploration.archive handler — transition an exploration note to archived status.</purpose>
|
|
4
|
+
<non-goals>
|
|
5
|
+
<item>Do not delete exploration notes — archive is a status transition only.</item>
|
|
6
|
+
</non-goals>
|
|
7
|
+
</MODULE_CONTRACT>
|
|
8
|
+
<CHANGE_SUMMARY>
|
|
9
|
+
<item>RFC-0710: initial exploration.archive handler.</item>
|
|
10
|
+
</CHANGE_SUMMARY>
|
|
11
|
+
*/
|
|
12
|
+
import fs from "node:fs/promises";
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
import { readAndParseExplorationNote, serializeExplorationNote, getExplorationsDir, } from "../frontmatter-io.js";
|
|
15
|
+
import { EXPLORATION_SLUG_PATTERN } from "../types.js";
|
|
16
|
+
function parseRelatedArray(value) {
|
|
17
|
+
if (Array.isArray(value)) {
|
|
18
|
+
return value.filter((v) => typeof v === "string");
|
|
19
|
+
}
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
export async function runExplorationArchive(input, context) {
|
|
23
|
+
const { workspaceRoot, logger, outputFormat } = context;
|
|
24
|
+
const explorationsDirPath = getExplorationsDir(workspaceRoot);
|
|
25
|
+
const slug = input.flags["id"];
|
|
26
|
+
if (!slug) {
|
|
27
|
+
return {
|
|
28
|
+
data: {
|
|
29
|
+
command: "exploration.archive",
|
|
30
|
+
status: "error",
|
|
31
|
+
id: "",
|
|
32
|
+
previousStatus: "",
|
|
33
|
+
newStatus: "archived",
|
|
34
|
+
related: [],
|
|
35
|
+
},
|
|
36
|
+
exitCode: 1,
|
|
37
|
+
summary: "exploration.archive requires --id <slug>",
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (!EXPLORATION_SLUG_PATTERN.test(slug)) {
|
|
41
|
+
if (outputFormat === "pretty") {
|
|
42
|
+
logger.info(`Invalid slug: ${slug}. Must be kebab-case, lowercase, latin-only.`);
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
data: {
|
|
46
|
+
command: "exploration.archive",
|
|
47
|
+
status: "error",
|
|
48
|
+
id: slug,
|
|
49
|
+
previousStatus: "",
|
|
50
|
+
newStatus: "archived",
|
|
51
|
+
related: [],
|
|
52
|
+
},
|
|
53
|
+
exitCode: 1,
|
|
54
|
+
summary: `Invalid slug: ${slug}`,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const fileName = `${slug}.md`;
|
|
58
|
+
const filePath = path.join(explorationsDirPath, fileName);
|
|
59
|
+
const result = await readAndParseExplorationNote(explorationsDirPath, fileName);
|
|
60
|
+
if (!result) {
|
|
61
|
+
if (outputFormat === "pretty") {
|
|
62
|
+
logger.info(`Exploration note not found: ${slug}`);
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
data: {
|
|
66
|
+
command: "exploration.archive",
|
|
67
|
+
status: "error",
|
|
68
|
+
id: slug,
|
|
69
|
+
previousStatus: "",
|
|
70
|
+
newStatus: "archived",
|
|
71
|
+
related: [],
|
|
72
|
+
},
|
|
73
|
+
exitCode: 1,
|
|
74
|
+
summary: `Exploration note not found: ${slug}`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
const fm = result.parsed.frontmatter;
|
|
78
|
+
const previousStatus = String(fm["status"] ?? "open");
|
|
79
|
+
const related = parseRelatedArray(fm["related"]);
|
|
80
|
+
const rfcId = input.flags["rfc"];
|
|
81
|
+
if (rfcId && !related.includes(rfcId)) {
|
|
82
|
+
related.push(rfcId);
|
|
83
|
+
}
|
|
84
|
+
if (previousStatus === "archived") {
|
|
85
|
+
if (rfcId) {
|
|
86
|
+
const updatedFrontmatter = {
|
|
87
|
+
...fm,
|
|
88
|
+
status: "archived",
|
|
89
|
+
related,
|
|
90
|
+
};
|
|
91
|
+
const updatedContent = serializeExplorationNote(updatedFrontmatter, result.parsed.body);
|
|
92
|
+
await fs.writeFile(filePath, updatedContent, "utf-8");
|
|
93
|
+
}
|
|
94
|
+
if (outputFormat === "pretty") {
|
|
95
|
+
logger.info(`Exploration note ${slug} is already archived (no-op).`);
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
data: {
|
|
99
|
+
command: "exploration.archive",
|
|
100
|
+
status: "ok",
|
|
101
|
+
id: slug,
|
|
102
|
+
previousStatus: "archived",
|
|
103
|
+
newStatus: "archived",
|
|
104
|
+
related,
|
|
105
|
+
},
|
|
106
|
+
exitCode: 0,
|
|
107
|
+
summary: `Exploration note ${slug} is already archived (no-op)`,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
const updatedFrontmatter = {
|
|
111
|
+
...fm,
|
|
112
|
+
status: "archived",
|
|
113
|
+
related,
|
|
114
|
+
};
|
|
115
|
+
const updatedContent = serializeExplorationNote(updatedFrontmatter, result.parsed.body);
|
|
116
|
+
await fs.writeFile(filePath, updatedContent, "utf-8");
|
|
117
|
+
if (outputFormat === "pretty") {
|
|
118
|
+
logger.success(`Archived exploration note: ${slug} (${previousStatus} → archived)`);
|
|
119
|
+
if (rfcId) {
|
|
120
|
+
logger.info(`Related RFC: ${rfcId}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
data: {
|
|
125
|
+
command: "exploration.archive",
|
|
126
|
+
status: "ok",
|
|
127
|
+
id: slug,
|
|
128
|
+
previousStatus,
|
|
129
|
+
newStatus: "archived",
|
|
130
|
+
related,
|
|
131
|
+
},
|
|
132
|
+
summary: `Archived exploration note: ${slug} (${previousStatus} → archived)`,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../../os/exploration/handlers/archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAiC,MAAM,aAAa,CAAC;AAEtF,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAwB,EACxB,OAA4B;IAE5B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;IACrD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,OAAO;gBACf,EAAE,EAAE,EAAE;gBACN,cAAc,EAAE,EAAE;gBAClB,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,EAAE;aACZ;YACD,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,0CAA0C;SACpD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,8CAA8C,CAAC,CAAC;QACnF,CAAC;QACD,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,OAAO;gBACf,EAAE,EAAE,IAAI;gBACR,cAAc,EAAE,EAAE;gBAClB,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,EAAE;aACZ;YACD,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,iBAAiB,IAAI,EAAE;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAChF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,OAAO;gBACf,EAAE,EAAE,IAAI;gBACR,cAAc,EAAE,EAAE;gBAClB,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,EAAE;aACZ;YACD,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,+BAA+B,IAAI,EAAE;SAC/C,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;IACrC,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAuB,CAAC;IACvD,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,kBAAkB,GAA4B;gBAClD,GAAG,EAAE;gBACL,MAAM,EAAE,UAAU;gBAClB,OAAO;aACR,CAAC;YACF,MAAM,cAAc,GAAG,wBAAwB,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,+BAA+B,CAAC,CAAC;QACvE,CAAC;QACD,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,IAAI;gBACZ,EAAE,EAAE,IAAI;gBACR,cAAc,EAAE,UAAU;gBAC1B,SAAS,EAAE,UAAU;gBACrB,OAAO;aACR;YACD,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,oBAAoB,IAAI,8BAA8B;SAChE,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAA4B;QAClD,GAAG,EAAE;QACL,MAAM,EAAE,UAAU;QAClB,OAAO;KACR,CAAC;IAEF,MAAM,cAAc,GAAG,wBAAwB,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,8BAA8B,IAAI,KAAK,cAAc,cAAc,CAAC,CAAC;QACpF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,IAAI;YACZ,EAAE,EAAE,IAAI;YACR,cAAc;YACd,SAAS,EAAE,UAAU;YACrB,OAAO;SACR;QACD,OAAO,EAAE,8BAA8B,IAAI,KAAK,cAAc,cAAc;KAC7E,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
|
|
2
|
+
import type { ExplorationListResult } from "../types.ts";
|
|
3
|
+
export declare function runExplorationList(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<ExplorationListResult>>;
|
|
4
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../os/exploration/handlers/list.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAErB,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAgDpD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>exploration.list handler — list all exploration notes with metadata.</purpose>
|
|
4
|
+
<non-goals>
|
|
5
|
+
<item>Do not validate frontmatter shape — listing is metadata-only.</item>
|
|
6
|
+
</non-goals>
|
|
7
|
+
</MODULE_CONTRACT>
|
|
8
|
+
<CHANGE_SUMMARY>
|
|
9
|
+
<item>RFC-0710: initial exploration.list handler.</item>
|
|
10
|
+
</CHANGE_SUMMARY>
|
|
11
|
+
*/
|
|
12
|
+
import path from "node:path";
|
|
13
|
+
import { listExplorationFiles, readAndParseExplorationNote, getExplorationsDir, } from "../frontmatter-io.js";
|
|
14
|
+
export async function runExplorationList(input, context) {
|
|
15
|
+
const { workspaceRoot, logger, outputFormat } = context;
|
|
16
|
+
const explorationsDirPath = getExplorationsDir(workspaceRoot);
|
|
17
|
+
const filterStatus = input.flags["status"];
|
|
18
|
+
const files = await listExplorationFiles(explorationsDirPath);
|
|
19
|
+
const entries = [];
|
|
20
|
+
for (const fileName of files) {
|
|
21
|
+
const result = await readAndParseExplorationNote(explorationsDirPath, fileName);
|
|
22
|
+
if (!result)
|
|
23
|
+
continue;
|
|
24
|
+
const fm = result.parsed.frontmatter;
|
|
25
|
+
const status = String(fm["status"] ?? "");
|
|
26
|
+
if (filterStatus && status !== filterStatus)
|
|
27
|
+
continue;
|
|
28
|
+
entries.push({
|
|
29
|
+
id: String(fm["id"] ?? path.basename(fileName, ".md")),
|
|
30
|
+
title: String(fm["title"] ?? ""),
|
|
31
|
+
status,
|
|
32
|
+
createdAt: String(fm["createdAt"] ?? ""),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (outputFormat === "pretty") {
|
|
36
|
+
if (entries.length === 0) {
|
|
37
|
+
logger.info("No exploration notes found.");
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
logger.section(`Exploration notes (${entries.length})`);
|
|
41
|
+
for (const entry of entries) {
|
|
42
|
+
logger.info(`${entry.id} ${entry.status.padEnd(10)} ${entry.createdAt.padEnd(12)} ${entry.title}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
data: {
|
|
48
|
+
command: "exploration.list",
|
|
49
|
+
status: "ok",
|
|
50
|
+
count: entries.length,
|
|
51
|
+
explorations: entries,
|
|
52
|
+
},
|
|
53
|
+
summary: `${entries.length} exploration note(s) found`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../os/exploration/handlers/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAO9B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAwB,EACxB,OAA4B;IAE5B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAuB,CAAC;IAEjE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC;QAE/D,IAAI,YAAY,IAAI,MAAM,KAAK,YAAY;YAAE,SAAS;QAEtD,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtD,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM;YACN,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,sBAAsB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CACvF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,YAAY,EAAE,OAAO;SACtB;QACD,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,4BAA4B;KACvD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
|
|
2
|
+
import type { ExplorationShowResult } from "../types.ts";
|
|
3
|
+
export declare function runExplorationShow(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<ExplorationShowResult>>;
|
|
4
|
+
//# sourceMappingURL=show.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../../os/exploration/handlers/show.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AASrB,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CA4EpD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>exploration.show handler — return the full content of a single exploration note.</purpose>
|
|
4
|
+
<non-goals>
|
|
5
|
+
<item>Do not validate frontmatter shape — show returns raw parsed content.</item>
|
|
6
|
+
</non-goals>
|
|
7
|
+
</MODULE_CONTRACT>
|
|
8
|
+
<CHANGE_SUMMARY>
|
|
9
|
+
<item>RFC-0710: initial exploration.show handler.</item>
|
|
10
|
+
</CHANGE_SUMMARY>
|
|
11
|
+
*/
|
|
12
|
+
import { readAndParseExplorationNote, getExplorationsDir, } from "../frontmatter-io.js";
|
|
13
|
+
function parseRelatedArray(value) {
|
|
14
|
+
if (Array.isArray(value)) {
|
|
15
|
+
return value.filter((v) => typeof v === "string");
|
|
16
|
+
}
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
export async function runExplorationShow(input, context) {
|
|
20
|
+
const { workspaceRoot, logger, outputFormat } = context;
|
|
21
|
+
const explorationsDirPath = getExplorationsDir(workspaceRoot);
|
|
22
|
+
const slug = input.flags["id"];
|
|
23
|
+
if (!slug) {
|
|
24
|
+
return {
|
|
25
|
+
data: {
|
|
26
|
+
command: "exploration.show",
|
|
27
|
+
status: "error",
|
|
28
|
+
note: {
|
|
29
|
+
id: "",
|
|
30
|
+
title: "",
|
|
31
|
+
createdAt: "",
|
|
32
|
+
status: "open",
|
|
33
|
+
related: [],
|
|
34
|
+
body: "",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
exitCode: 1,
|
|
38
|
+
summary: "exploration.show requires --id <slug>",
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const fileName = `${slug}.md`;
|
|
42
|
+
const result = await readAndParseExplorationNote(explorationsDirPath, fileName);
|
|
43
|
+
if (!result) {
|
|
44
|
+
if (outputFormat === "pretty") {
|
|
45
|
+
logger.info(`Exploration note not found: ${slug}`);
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
data: {
|
|
49
|
+
command: "exploration.show",
|
|
50
|
+
status: "error",
|
|
51
|
+
note: {
|
|
52
|
+
id: slug,
|
|
53
|
+
title: "",
|
|
54
|
+
createdAt: "",
|
|
55
|
+
status: "open",
|
|
56
|
+
related: [],
|
|
57
|
+
body: "",
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
exitCode: 1,
|
|
61
|
+
summary: `Exploration note not found: ${slug}`,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const fm = result.parsed.frontmatter;
|
|
65
|
+
const note = {
|
|
66
|
+
id: String(fm["id"] ?? slug),
|
|
67
|
+
title: String(fm["title"] ?? ""),
|
|
68
|
+
createdAt: String(fm["createdAt"] ?? ""),
|
|
69
|
+
status: String(fm["status"] ?? "open"),
|
|
70
|
+
related: parseRelatedArray(fm["related"]),
|
|
71
|
+
body: result.parsed.body,
|
|
72
|
+
};
|
|
73
|
+
if (outputFormat === "pretty") {
|
|
74
|
+
logger.section(`Exploration: ${note.title}`);
|
|
75
|
+
logger.info(`ID: ${note.id} Status: ${note.status} Created: ${note.createdAt}`);
|
|
76
|
+
if (note.related.length > 0) {
|
|
77
|
+
logger.info(`Related: ${note.related.join(", ")}`);
|
|
78
|
+
}
|
|
79
|
+
logger.info("");
|
|
80
|
+
logger.info(note.body.trim());
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
data: {
|
|
84
|
+
command: "exploration.show",
|
|
85
|
+
status: "ok",
|
|
86
|
+
note,
|
|
87
|
+
},
|
|
88
|
+
summary: `Exploration note: ${note.id}`,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=show.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../../os/exploration/handlers/show.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { forgeExplorationModule } from "./exploration.module.ts";
|
|
2
|
+
export { runExplorationList } from "./handlers/list.ts";
|
|
3
|
+
export { runExplorationShow } from "./handlers/show.ts";
|
|
4
|
+
export { runExplorationArchive } from "./handlers/archive.ts";
|
|
5
|
+
export type { ExplorationStatus, ExplorationNote, ExplorationListEntry, ExplorationListResult, ExplorationShowResult, ExplorationArchiveResult, } from "./types.ts";
|
|
6
|
+
export { EXPLORATION_STATUSES, EXPLORATION_DIR, EXPLORATION_SLUG_PATTERN, } from "./types.ts";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../os/exploration/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>Barrel export for the exploration domain — types, constants, module, and handlers.</purpose>
|
|
4
|
+
<non-goals>
|
|
5
|
+
<item>Do not implement exploration logic here; delegate to handlers/ and exploration.module.ts.</item>
|
|
6
|
+
</non-goals>
|
|
7
|
+
</MODULE_CONTRACT>
|
|
8
|
+
<CHANGE_SUMMARY>
|
|
9
|
+
<item>RFC-0710: expose forgeExplorationModule and exploration types from the exploration domain.</item>
|
|
10
|
+
</CHANGE_SUMMARY>
|
|
11
|
+
*/
|
|
12
|
+
export { forgeExplorationModule } from "./exploration.module.js";
|
|
13
|
+
export { runExplorationList } from "./handlers/list.js";
|
|
14
|
+
export { runExplorationShow } from "./handlers/show.js";
|
|
15
|
+
export { runExplorationArchive } from "./handlers/archive.js";
|
|
16
|
+
export { EXPLORATION_STATUSES, EXPLORATION_DIR, EXPLORATION_SLUG_PATTERN, } from "./types.js";
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../os/exploration/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAS9D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type ExplorationStatus = "open" | "explored" | "archived";
|
|
2
|
+
export declare const EXPLORATION_STATUSES: readonly ExplorationStatus[];
|
|
3
|
+
export interface ExplorationNote {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
createdAt: string;
|
|
7
|
+
status: ExplorationStatus;
|
|
8
|
+
related: string[];
|
|
9
|
+
body: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ExplorationListEntry {
|
|
12
|
+
id: string;
|
|
13
|
+
title: string;
|
|
14
|
+
status: ExplorationStatus;
|
|
15
|
+
createdAt: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ExplorationListResult {
|
|
18
|
+
command: "exploration.list";
|
|
19
|
+
status: "ok";
|
|
20
|
+
count: number;
|
|
21
|
+
explorations: ExplorationListEntry[];
|
|
22
|
+
}
|
|
23
|
+
export interface ExplorationShowResult {
|
|
24
|
+
command: "exploration.show";
|
|
25
|
+
status: "ok" | "error";
|
|
26
|
+
note: ExplorationNote;
|
|
27
|
+
}
|
|
28
|
+
export interface ExplorationArchiveResult {
|
|
29
|
+
command: "exploration.archive";
|
|
30
|
+
status: "ok" | "error";
|
|
31
|
+
id: string;
|
|
32
|
+
previousStatus: string;
|
|
33
|
+
newStatus: "archived";
|
|
34
|
+
related: string[];
|
|
35
|
+
}
|
|
36
|
+
export declare const EXPLORATION_DIR = "docs/explorations";
|
|
37
|
+
export declare const EXPLORATION_SLUG_PATTERN: RegExp;
|
|
38
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../os/exploration/types.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjE,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAInD,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,QAA+B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>
|
|
4
|
+
Defines types and constants for managing exploration notes: statuses,
|
|
5
|
+
frontmatter shape, list/show/archive result types.
|
|
6
|
+
</purpose>
|
|
7
|
+
<non-goals>
|
|
8
|
+
<item>Do not implement exploration processing logic here.</item>
|
|
9
|
+
<item>Do not handle user input or command execution.</item>
|
|
10
|
+
</non-goals>
|
|
11
|
+
</MODULE_CONTRACT>
|
|
12
|
+
<CHANGE_SUMMARY>
|
|
13
|
+
<item>RFC-0710: initial exploration types and constants.</item>
|
|
14
|
+
</CHANGE_SUMMARY>
|
|
15
|
+
*/
|
|
16
|
+
export const EXPLORATION_STATUSES = [
|
|
17
|
+
"open",
|
|
18
|
+
"explored",
|
|
19
|
+
"archived",
|
|
20
|
+
];
|
|
21
|
+
export const EXPLORATION_DIR = "docs/explorations";
|
|
22
|
+
export const EXPLORATION_SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../os/exploration/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAIF,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IAChE,MAAM;IACN,UAAU;IACV,UAAU;CACF,CAAC;AAwCX,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,4BAA4B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ParsedRfc } from "../frontmatter-io.ts";
|
|
2
|
+
import type { Marker } from "../types.ts";
|
|
2
3
|
export type AddViolationFn = (rfcId: string, file: string, rule: string, message: string, severity?: "error" | "warning") => void;
|
|
3
4
|
export interface AcceptanceCriteriaEvaluation {
|
|
4
5
|
totalChecked: number;
|
|
@@ -18,12 +19,12 @@ export declare function extractAcceptanceCriteriaSection(body: string): string |
|
|
|
18
19
|
*/
|
|
19
20
|
export declare function evaluateAcceptanceCriteria(body: string): AcceptanceCriteriaEvaluation;
|
|
20
21
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* uniqueness tracking and `seenFilenameNumbers` for V-31 across the batch.
|
|
22
|
+
* Collect NEEDS CLARIFICATION markers from an RFC body.
|
|
23
|
+
* Skips lines inside fenced code blocks. Pure function — no I/O.
|
|
24
24
|
*/
|
|
25
|
+
export declare function collectMarkers(body: string, status: string, createdAt: string): Marker[];
|
|
25
26
|
export declare function validateSingleRfc(fileName: string, parsed: ParsedRfc, allParsed: Map<string, {
|
|
26
27
|
fileName: string;
|
|
27
28
|
parsed: ParsedRfc;
|
|
28
|
-
}>, seenIds: Map<string, string>, validDnaIds: Set<number>, validApIds: Set<number>, knownKeys: Set<string>, workspaceRoot: string, addViolation: AddViolationFn, seenFilenameNumbers?: Map<number, string>): Promise<
|
|
29
|
+
}>, seenIds: Map<string, string>, validDnaIds: Set<number>, validApIds: Set<number>, knownKeys: Set<string>, workspaceRoot: string, addViolation: AddViolationFn, seenFilenameNumbers?: Map<number, string>): Promise<Marker[]>;
|
|
29
30
|
//# sourceMappingURL=validate-rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-rules.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/validate-rules.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-rules.d.ts","sourceRoot":"","sources":["../../../../os/rfc/handlers/validate-rules.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAwD,MAAM,EAAE,MAAM,aAAa,CAAC;AA0BhG,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,KAC3B,IAAI,CAAC;AAMV,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGjF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,4BAA4B,CA+BrF;AAgDD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BxF;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,EAC/D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,cAAc,EAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC,CAmrBnB"}
|
|
@@ -96,11 +96,39 @@ async function checkImplementationCommitDrift(workspaceRoot, rfcId, createdAt, c
|
|
|
96
96
|
const matchingLines = log.split("\n").filter((line) => pattern.test(line.trim()));
|
|
97
97
|
return { found: matchingLines.length > 0, commitCount: matchingLines.length };
|
|
98
98
|
}
|
|
99
|
+
// ─── RFC-0709: V-NC-01 NEEDS CLARIFICATION marker detection ────────────────
|
|
100
|
+
const NC_MARKER_CUTOFF = "2026-08-06";
|
|
101
|
+
const NC_MARKER_PATTERN = /^>\s*NEEDS CLARIFICATION:\s*(.+)$/;
|
|
99
102
|
/**
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
* uniqueness tracking and `seenFilenameNumbers` for V-31 across the batch.
|
|
103
|
+
* Collect NEEDS CLARIFICATION markers from an RFC body.
|
|
104
|
+
* Skips lines inside fenced code blocks. Pure function — no I/O.
|
|
103
105
|
*/
|
|
106
|
+
export function collectMarkers(body, status, createdAt) {
|
|
107
|
+
if (createdAt < NC_MARKER_CUTOFF)
|
|
108
|
+
return [];
|
|
109
|
+
const severity = status === "draft" ? "warn" : "error";
|
|
110
|
+
const markers = [];
|
|
111
|
+
const lines = body.split("\n");
|
|
112
|
+
let inCodeBlock = false;
|
|
113
|
+
for (let i = 0; i < lines.length; i++) {
|
|
114
|
+
const line = lines[i];
|
|
115
|
+
if (/^```/.test(line.trim())) {
|
|
116
|
+
inCodeBlock = !inCodeBlock;
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (inCodeBlock)
|
|
120
|
+
continue;
|
|
121
|
+
const match = line.match(NC_MARKER_PATTERN);
|
|
122
|
+
if (match) {
|
|
123
|
+
markers.push({
|
|
124
|
+
line: i + 1,
|
|
125
|
+
text: match[1].trim(),
|
|
126
|
+
severity,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return markers;
|
|
131
|
+
}
|
|
104
132
|
export async function validateSingleRfc(fileName, parsed, allParsed, seenIds, validDnaIds, validApIds, knownKeys, workspaceRoot, addViolation, seenFilenameNumbers) {
|
|
105
133
|
const fm = parsed.frontmatter;
|
|
106
134
|
const body = parsed.body;
|
|
@@ -433,12 +461,13 @@ export async function validateSingleRfc(fileName, parsed, allParsed, seenIds, va
|
|
|
433
461
|
}
|
|
434
462
|
}
|
|
435
463
|
}
|
|
436
|
-
// V-29: versionBump required for post-cutoff implemented RFCs (RFC-0478)
|
|
464
|
+
// V-29: versionBump required for post-cutoff accepted/implemented RFCs (RFC-0478)
|
|
437
465
|
{
|
|
438
466
|
const versionBump = fm["versionBump"];
|
|
439
467
|
const isPostCutoff = createdAtStr >= RFC_VERSION_BUMP_CUTOFF;
|
|
440
|
-
|
|
441
|
-
|
|
468
|
+
const requiresVersionBump = status === "implemented" || status === "accepted";
|
|
469
|
+
if (isPostCutoff && requiresVersionBump && versionBump === undefined) {
|
|
470
|
+
addViolation(rfcId, relFile, "V-29", `status is "${status}" and createdAt >= ${RFC_VERSION_BUMP_CUTOFF}, but versionBump is absent. Post-cutoff accepted/implemented RFCs must declare versionBump (RFC-0478).`);
|
|
442
471
|
}
|
|
443
472
|
if (versionBump === "none") {
|
|
444
473
|
const commands = fm["commands"];
|
|
@@ -495,5 +524,11 @@ export async function validateSingleRfc(fileName, parsed, allParsed, seenIds, va
|
|
|
495
524
|
addViolation(rfcId, relFile, "V-32", `${rfcId} has ${driftResult.commitCount} implement: commit(s) in git history since ${createdAt} but status is still "${status}". Run rfc.implement.stamp to transition to implemented.`, "warning");
|
|
496
525
|
}
|
|
497
526
|
}
|
|
527
|
+
// V-NC-01: NEEDS CLARIFICATION marker detection (RFC-0709)
|
|
528
|
+
const ncMarkers = collectMarkers(body, status, createdAt);
|
|
529
|
+
for (const marker of ncMarkers) {
|
|
530
|
+
addViolation(rfcId, relFile, "V-NC-01", `Unresolved NEEDS CLARIFICATION marker at line ${marker.line}: "${marker.text}"`, marker.severity === "error" ? "error" : "warning");
|
|
531
|
+
}
|
|
532
|
+
return ncMarkers;
|
|
498
533
|
}
|
|
499
534
|
//# sourceMappingURL=validate-rules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-rules.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/validate-rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-rules.js","sourceRoot":"","sources":["../../../../os/rfc/handlers/validate-rules.ts"],"names":[],"mappings":"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"}
|