youmd 0.13.9 → 0.13.11
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/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +14 -0
- package/dist/commands/session.js.map +1 -1
- package/native/prebuilds/darwin-universal/youmd_safe_open.node +0 -0
- package/package.json +1 -1
- package/scripts/render-living-vision-artifact.mjs +115 -0
- package/scripts/validate-living-vision-artifact.mjs +11 -0
- package/scripts/validate-living-vision-artifact.test.mjs +7 -2
- package/skills/living-vision-artifact.md +8 -4
- package/skills/templates/living-vision-artifact/VISION_ARTIFACT.json +7 -1
- package/skills/templates/living-vision-artifact/vision-artifacts.schema.json +9 -0
- package/skills/templates/living-vision-artifact/VISION_ARTIFACT.html +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAgBA,OAAO,EAKL,KAAK,yBAAyB,EAE/B,MAAM,0BAA0B,CAAC;AAwBlC,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACxC;AAID,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,MAAM,GAAG,IAAI,CAQhB;AAED,wBAAsB,qCAAqC,CAAC,CAAC,EAC3D,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC1E,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CACiB,GACvD,OAAO,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ7D;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAgBA,OAAO,EAKL,KAAK,yBAAyB,EAE/B,MAAM,0BAA0B,CAAC;AAwBlC,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACxC;AAID,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,MAAM,GAAG,IAAI,CAQhB;AAED,wBAAsB,qCAAqC,CAAC,CAAC,EAC3D,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC1E,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CACiB,GACvD,OAAO,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ7D;AAmZD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAsD,EAC5D,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,CAAC,EAAE,MAAM,GACtB,YAAY,EAAE,CAuEhB;AAGD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAuD,EAC7D,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,CAAC,EAAE,MAAM,GACtB,YAAY,EAAE,CAoEhB;AAwCD,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC3F;AAED,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D9F;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CA8Hf;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
package/dist/commands/session.js
CHANGED
|
@@ -181,6 +181,10 @@ const CONTEXT_LABELS = [
|
|
|
181
181
|
{ pattern: "blockers?|blocked", bucket: "blockers" },
|
|
182
182
|
{ pattern: "decisions?|decided", bucket: "decisions" },
|
|
183
183
|
];
|
|
184
|
+
// Vision drift is deliberately opt-in syntax. Ordinary prompt prose remains
|
|
185
|
+
// private; an agent or owner must explicitly label the portable checkpoint as
|
|
186
|
+
// a changed mission/vision/North Star before the reconciler may review it.
|
|
187
|
+
const VISION_DRIFT_LABEL = /^(vision|mission|purpose|north\s+star)\s+(changed|changing|shifted|drifted|rethought|replaced)\s*:\s*(.+)$/i;
|
|
184
188
|
function textParts(content) {
|
|
185
189
|
if (typeof content === "string")
|
|
186
190
|
return [content];
|
|
@@ -292,6 +296,16 @@ function extractPortableContext(rows, runtime, nativeSessionId) {
|
|
|
292
296
|
}
|
|
293
297
|
for (const rawLine of entry.text.split(/\r?\n/)) {
|
|
294
298
|
const line = rawLine.replace(/^\s*(?:[-*]\s*|#{1,6}\s*)?/, "");
|
|
299
|
+
const drift = line.match(VISION_DRIFT_LABEL);
|
|
300
|
+
if (drift) {
|
|
301
|
+
const safe = safePortableLine(drift[3], nativeSessionId);
|
|
302
|
+
if (safe) {
|
|
303
|
+
const subject = drift[1].replace(/\s+/g, " ").toLowerCase();
|
|
304
|
+
const verb = drift[2].toLowerCase();
|
|
305
|
+
result.decisions.push(`${subject} ${verb}: ${safe}`);
|
|
306
|
+
}
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
295
309
|
for (const label of CONTEXT_LABELS) {
|
|
296
310
|
const match = line.match(new RegExp(`^(?:${label.pattern})\\s*:\\s*(.+)$`, "i"));
|
|
297
311
|
if (!match)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import crypto from "node:crypto";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
|
|
7
|
+
const FONT = {
|
|
8
|
+
mono: '"SFMono-Regular",Consolas,"Liberation Mono",monospace',
|
|
9
|
+
sans: 'Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif',
|
|
10
|
+
serif: 'Iowan Old Style,"Palatino Linotype",Palatino,Georgia,serif',
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
function escapeHtml(value) {
|
|
14
|
+
return String(value).replace(/[&<>"']/g, (character) => ({
|
|
15
|
+
"&": "&", "<": "<", ">": ">", '"': """, "'": "'",
|
|
16
|
+
})[character]);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function stableJson(value) {
|
|
20
|
+
if (Array.isArray(value)) return `[${value.map(stableJson).join(",")}]`;
|
|
21
|
+
if (value && typeof value === "object") return `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${stableJson(value[key])}`).join(",")}}`;
|
|
22
|
+
return JSON.stringify(value);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function sha256(value) {
|
|
26
|
+
return crypto.createHash("sha256").update(value).digest("hex");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function channel(hex, offset) {
|
|
30
|
+
return Number.parseInt(hex.slice(offset, offset + 2), 16) / 255;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function luminance(hex) {
|
|
34
|
+
const linear = [1, 3, 5].map((offset) => {
|
|
35
|
+
const value = channel(hex, offset);
|
|
36
|
+
return value <= 0.04045 ? value / 12.92 : ((value + 0.055) / 1.055) ** 2.4;
|
|
37
|
+
});
|
|
38
|
+
return (0.2126 * linear[0]) + (0.7152 * linear[1]) + (0.0722 * linear[2]);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function contrastRatio(first, second) {
|
|
42
|
+
const [bright, dark] = [luminance(first), luminance(second)].sort((a, b) => b - a);
|
|
43
|
+
return (bright + 0.05) / (dark + 0.05);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function assertTheme(theme) {
|
|
47
|
+
if (!theme) throw new Error("artifact themeRef does not resolve to a declared theme");
|
|
48
|
+
if (contrastRatio(theme.palette.text, theme.palette.canvas) < 4.5) throw new Error(`${theme.id}: text/canvas contrast must be at least 4.5:1`);
|
|
49
|
+
if (contrastRatio(theme.palette.muted, theme.palette.canvas) < 3) throw new Error(`${theme.id}: muted/canvas contrast must be at least 3:1`);
|
|
50
|
+
if (contrastRatio(theme.palette.accent, theme.palette.canvas) < 3) throw new Error(`${theme.id}: accent/canvas contrast must be at least 3:1`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function list(items, className = "") {
|
|
54
|
+
return `<ul${className ? ` class="${className}"` : ""}>${items.map((item) => `<li>${escapeHtml(item)}</li>`).join("")}</ul>`;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function renderHorizon(name, horizon) {
|
|
58
|
+
return `<article class="horizon"><div class="eyebrow">${escapeHtml(name)} · ${escapeHtml(horizon.period)}</div><h3>${escapeHtml(horizon.objective)}</h3>${list(horizon.outcomes)}<footer>${escapeHtml(horizon.status)} · review ${escapeHtml(horizon.reviewAt.slice(0, 10))}</footer></article>`;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function renderLane(lane) {
|
|
62
|
+
return `<li class="lane"><span class="status status-${escapeHtml(lane.status)}"></span><div><strong>${escapeHtml(lane.name)}</strong><small>${escapeHtml(lane.kind)} · ${escapeHtml(lane.status)} · ${escapeHtml(lane.ownerAgentRef)}</small></div></li>`;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function renderArtifact({ manifest, artifact, markdown }) {
|
|
66
|
+
const theme = (manifest.themes || []).find((candidate) => candidate.id === artifact.themeRef);
|
|
67
|
+
assertTheme(theme);
|
|
68
|
+
const p = theme.palette;
|
|
69
|
+
const compact = theme.typography.density === "compact";
|
|
70
|
+
const briefing = theme.presentation === "briefing";
|
|
71
|
+
const manifestHash = sha256(stableJson(manifest));
|
|
72
|
+
const markdownHash = sha256(markdown);
|
|
73
|
+
const relevantLanes = manifest.lanes.filter((lane) => lane.scopeRefs.some((scope) => artifact.scopeRefs.includes(scope)));
|
|
74
|
+
const provenance = [...new Set([...artifact.provenance, ...manifest.northStar.evidenceRefs])];
|
|
75
|
+
const horizonOrder = ["year", "quarter", "month", "week"];
|
|
76
|
+
const headline = briefing ? "Operating brief" : "Living vision";
|
|
77
|
+
return `<!doctype html>
|
|
78
|
+
<html lang="en" data-theme="${escapeHtml(theme.id)}" data-manifest-sha256="${manifestHash}" data-markdown-sha256="${markdownHash}">
|
|
79
|
+
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="color-scheme" content="${escapeHtml(theme.mode)}"><title>${escapeHtml(artifact.title)}</title>
|
|
80
|
+
<style>
|
|
81
|
+
:root{--canvas:${p.canvas};--surface:${p.surface};--text:${p.text};--muted:${p.muted};--accent:${p.accent};--line:${p.line};--positive:${p.positive};--attention:${p.attention};--display:${FONT[theme.typography.display]};--body:${FONT[theme.typography.body]};--space:${compact ? "20px" : "28px"}}
|
|
82
|
+
*{box-sizing:border-box}html{background:var(--canvas);color:var(--text)}body{margin:0;background:var(--canvas);font:15px/1.55 var(--body)}a{color:inherit}main{max-width:${briefing ? "1180px" : "980px"};margin:auto;padding:clamp(32px,6vw,84px) clamp(20px,5vw,64px)}header{border-bottom:1px solid var(--line);padding-bottom:clamp(36px,7vw,90px)}.brand,.eyebrow,.meta,footer,small{font-family:var(--display);letter-spacing:.07em}.brand{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:12px;color:var(--muted)}.mark{display:grid;place-items:center;width:32px;height:32px;background:var(--accent);color:var(--canvas);font-weight:700}.eyebrow{margin-top:52px;color:var(--accent);font-size:11px;text-transform:uppercase}h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.035em}h1{max-width:900px;margin:14px 0 22px;font-size:clamp(42px,8vw,88px);line-height:.98}h2{font-size:clamp(28px,4vw,46px);line-height:1.05}h3{font-size:20px;line-height:1.2}.lede{max-width:800px;font-size:clamp(18px,2.5vw,27px);color:var(--muted)}.meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:32px;color:var(--muted);font-size:10px}.meta span:first-child{color:var(--attention)}section{padding:clamp(36px,6vw,72px) 0;border-bottom:1px solid var(--line)}.north-star{display:grid;grid-template-columns:${briefing ? "minmax(180px,.6fr) minmax(0,1.4fr)" : "1fr"};gap:var(--space)}.north-star blockquote{margin:0;font:clamp(26px,4vw,48px)/1.16 var(--display);letter-spacing:-.035em}.north-star ul{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(${briefing ? "2" : "1"},minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.horizon{min-height:${compact ? "210px" : "250px"};padding:var(--space);background:var(--surface)}.horizon .eyebrow{margin-top:0}.horizon ul{padding-left:18px;color:var(--muted)}footer{margin-top:24px;color:var(--muted);font-size:10px;text-transform:uppercase}.lanes{list-style:none;padding:0;margin:0}.lane{display:grid;grid-template-columns:10px 1fr;gap:14px;padding:17px 0;border-top:1px solid var(--line)}.lane small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.status{width:7px;height:7px;margin-top:8px;background:var(--muted)}.status-active,.status-done{background:var(--positive)}.status-blocked,.status-review{background:var(--attention)}.evidence{columns:${briefing ? "2" : "1"};padding-left:18px;color:var(--muted);word-break:break-word}.review{background:var(--surface);padding:var(--space);border-left:3px solid var(--attention)}@media(max-width:720px){.north-star,.grid{grid-template-columns:1fr}.evidence{columns:1}main{padding-inline:20px}}
|
|
83
|
+
</style></head>
|
|
84
|
+
<body><main><header><div class="brand"><span class="mark">${escapeHtml(theme.mark.monogram)}</span><span>${escapeHtml(theme.mark.label)}</span></div><div class="eyebrow">${headline} · ${escapeHtml(artifact.family)}</div><h1>${escapeHtml(artifact.title)}</h1><p class="lede">${escapeHtml(manifest.positioning[theme.positioningKey])}</p><div class="meta"><span>${escapeHtml(artifact.status)}</span><span>${escapeHtml(artifact.candidateRevision)}</span><span>v${artifact.version}</span><span>${escapeHtml(artifact.trustDomain)}</span><span>review ${escapeHtml(artifact.reviewAt.slice(0, 10))}</span></div></header>
|
|
85
|
+
<section class="north-star"><div><div class="eyebrow">North Star</div><h2>What does not drift</h2></div><div><blockquote>${escapeHtml(manifest.northStar.statement)}</blockquote>${list(manifest.northStar.invariants)}</div></section>
|
|
86
|
+
<section><div class="eyebrow">Focus horizons</div><h2>One direction, four clocks</h2><div class="grid">${horizonOrder.map((name) => renderHorizon(name, manifest.horizons[name])).join("")}</div></section>
|
|
87
|
+
<section><div class="eyebrow">Agent lanes</div><h2>Who is moving what</h2><ul class="lanes">${relevantLanes.map(renderLane).join("") || "<li class=\"lane\"><span class=\"status\"></span><div><strong>No scoped lane declared</strong></div></li>"}</ul></section>
|
|
88
|
+
<section><div class="eyebrow">Evidence</div><h2>Receipts, not vibes</h2>${list(provenance, "evidence")}</section>
|
|
89
|
+
<section><div class="review"><div class="eyebrow">Human review required</div><h2>${artifact.status === "accepted" ? "Accepted evidence is recorded" : "This candidate changes nothing until you decide"}</h2><p>Artifact ${escapeHtml(artifact.id)} is bound to ${escapeHtml(artifact.candidateRevision)}. Its rendered HTML is derived from the declared JSON and Markdown hashes above.</p></div></section>
|
|
90
|
+
</main></body></html>`;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export function renderFromManifest(manifestPath, artifactId) {
|
|
94
|
+
const absoluteManifest = path.resolve(manifestPath);
|
|
95
|
+
let root = path.dirname(absoluteManifest);
|
|
96
|
+
while (path.dirname(root) !== root && !fs.existsSync(path.join(root, ".git"))) root = path.dirname(root);
|
|
97
|
+
if (!fs.existsSync(path.join(root, ".git"))) throw new Error("could not find a Git repository from manifest path");
|
|
98
|
+
const manifest = JSON.parse(fs.readFileSync(absoluteManifest, "utf8"));
|
|
99
|
+
const artifact = artifactId ? manifest.artifacts.find((item) => item.id === artifactId) : manifest.artifacts.at(-1);
|
|
100
|
+
if (!artifact) throw new Error(`artifact not found: ${artifactId || "latest"}`);
|
|
101
|
+
if (!artifact.formats?.markdown || !artifact.formats?.html) throw new Error(`${artifact.id}: markdown and html formats are required for rendering`);
|
|
102
|
+
const markdownPath = path.resolve(root, artifact.formats.markdown);
|
|
103
|
+
const outputPath = path.resolve(root, artifact.formats.html);
|
|
104
|
+
if (!markdownPath.startsWith(`${root}${path.sep}`) || !outputPath.startsWith(`${root}${path.sep}`)) throw new Error("artifact projection path escapes repository");
|
|
105
|
+
const html = renderArtifact({ manifest, artifact, markdown: fs.readFileSync(markdownPath, "utf8") });
|
|
106
|
+
fs.writeFileSync(outputPath, html);
|
|
107
|
+
return { artifact, html, outputPath };
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
|
|
111
|
+
const [manifestPath, artifactId] = process.argv.slice(2);
|
|
112
|
+
if (!manifestPath) throw new Error("usage: render-living-vision-artifact.mjs path/to/VISION_ARTIFACTS.json [artifact-id]");
|
|
113
|
+
const result = renderFromManifest(manifestPath, artifactId);
|
|
114
|
+
console.log(`rendered ${result.artifact.id} -> ${result.outputPath}`);
|
|
115
|
+
}
|
|
@@ -3,6 +3,7 @@ import fs from "node:fs";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import { execFileSync } from "node:child_process";
|
|
6
|
+
import { assertTheme, renderArtifact } from "./render-living-vision-artifact.mjs";
|
|
6
7
|
|
|
7
8
|
const require = createRequire(import.meta.url);
|
|
8
9
|
const Ajv2020 = require("ajv/dist/2020").default;
|
|
@@ -41,10 +42,18 @@ const ajv = new Ajv2020({ allErrors: true, strict: true });
|
|
|
41
42
|
addFormats(ajv);
|
|
42
43
|
const validate = ajv.compile(schema);
|
|
43
44
|
if (!validate(manifest)) throw new Error(`invalid Vision Artifact JSON: ${ajv.errorsText(validate.errors)}`);
|
|
45
|
+
const themes = new Map();
|
|
46
|
+
for (const theme of manifest.themes || []) {
|
|
47
|
+
if (themes.has(theme.id)) throw new Error(`${theme.id}: duplicate theme id`);
|
|
48
|
+
assertTheme(theme);
|
|
49
|
+
themes.set(theme.id, theme);
|
|
50
|
+
}
|
|
44
51
|
for (const artifact of manifest.artifacts) {
|
|
45
52
|
if (!artifact.candidateRevision) throw new Error(`${artifact.id}: candidateRevision is required for a new Living Vision Artifact`);
|
|
46
53
|
if (artifact.status === "accepted" && !artifact.lineage.acceptanceRef) throw new Error(`${artifact.id}: accepted artifacts require an attributable acceptanceRef`);
|
|
47
54
|
if (artifact.status !== "accepted" && artifact.lineage.acceptanceRef) throw new Error(`${artifact.id}: agents must not pre-populate acceptanceRef`);
|
|
55
|
+
if (!artifact.themeRef) throw new Error(`${artifact.id}: themeRef is required for a governed Living Vision Artifact`);
|
|
56
|
+
if (!themes.has(artifact.themeRef)) throw new Error(`${artifact.id}: themeRef does not resolve to a declared theme`);
|
|
48
57
|
for (const relative of Object.values(artifact.formats)) {
|
|
49
58
|
try { safeRepositoryFile(root, relative); }
|
|
50
59
|
catch (error) { throw new Error(`${artifact.id}: ${error.message}`); }
|
|
@@ -55,5 +64,7 @@ for (const artifact of manifest.artifacts) {
|
|
|
55
64
|
const html = fs.readFileSync(safeRepositoryFile(root, artifact.formats.html), "utf8");
|
|
56
65
|
if (!markdown.includes(`Candidate revision:** \`${artifact.candidateRevision}\``)) throw new Error(`${artifact.id}: Markdown is not bound to candidateRevision`);
|
|
57
66
|
if (/<script\b/i.test(html) || !html.includes(artifact.candidateRevision)) throw new Error(`${artifact.id}: HTML must be script-free and revision-bound`);
|
|
67
|
+
const expected = renderArtifact({ manifest, artifact, markdown });
|
|
68
|
+
if (html !== expected) throw new Error(`${artifact.id}: HTML is not the deterministic projection of its JSON, Markdown, and theme`);
|
|
58
69
|
}
|
|
59
70
|
console.log(`validated ${manifest.artifacts.length} Living Vision Artifact(s)`);
|
|
@@ -7,6 +7,7 @@ import test from "node:test";
|
|
|
7
7
|
|
|
8
8
|
const repo = path.resolve(import.meta.dirname, "../..");
|
|
9
9
|
const validator = path.join(repo, "cli/scripts/validate-living-vision-artifact.mjs");
|
|
10
|
+
const renderer = path.join(repo, "cli/scripts/render-living-vision-artifact.mjs");
|
|
10
11
|
test("keeps the packaged validator schema identical to the canonical contract", () => {
|
|
11
12
|
const canonical = JSON.parse(fs.readFileSync(path.join(repo, "contracts/project-brain/vision-artifacts.schema.json"), "utf8"));
|
|
12
13
|
const packaged = JSON.parse(fs.readFileSync(path.join(repo, "cli/skills/templates/living-vision-artifact/vision-artifacts.schema.json"), "utf8"));
|
|
@@ -27,14 +28,18 @@ function makeRepo() {
|
|
|
27
28
|
}
|
|
28
29
|
function manifest(sha, status = "proposed") { return {
|
|
29
30
|
$schema: "https://you.md/schemas/project-vision-artifacts/v1", schemaVersion: "you-md/project-vision-artifacts/v1", kind: "project-vision-artifacts", projectRef: "project:fixture",
|
|
31
|
+
themes: [{ id: "fixture-dark", name: "Fixture dark", mode: "dark", presentation: "editorial", positioningKey: "youmd", mark: { label: "Fixture", monogram: "FX" }, palette: { canvas: "#0D0D0D", surface: "#171513", text: "#F2EEE9", muted: "#A69F98", accent: "#D8753E", line: "#39332E", positive: "#64A879", attention: "#E09A63" }, typography: { display: "mono", body: "sans", density: "comfortable" } }],
|
|
30
32
|
northStar: { statement: "North star", invariants: ["Invariant"], evidenceRefs: ["project-context/source.md"] },
|
|
31
33
|
positioning: { youmd: "You", bamfAi: "AI", bamfOs: "OS" },
|
|
32
34
|
horizons: Object.fromEntries(["year", "quarter", "month", "week"].map((key) => [key, { period: "2026", objective: "Objective", outcomes: ["Outcome"], focusRefs: ["project:fixture"], status: "planned", reviewAt: "2026-12-01T00:00:00.000Z" }])),
|
|
33
35
|
lanes: [{ id: "vision", name: "Vision", kind: "product", ownerAgentRef: "agent:fixture", scopeRefs: ["project:fixture"], claimMode: "propose", status: "planned", dependsOn: [], reviewAt: "2026-12-01T00:00:00.000Z" }],
|
|
34
|
-
artifacts: [{ id: "fixture-vision", title: "Fixture Vision", family: "vision", scopeRefs: ["project:fixture"], horizon: "week", version: 1, candidateRevision: `git:${sha}`, status, trustDomain: "owner-private", createdAt: "2026-08-13T00:00:00.000Z", reviewAt: "2026-08-20T00:00:00.000Z", formats: { markdown: "project-context/VISION.md", json: "project-context/VISION_ARTIFACTS.json", html: "project-context/VISION.html" }, lineage: { relation: "main", parentVersionId: null, main: true }, provenance: ["project-context/source.md"] }], updatedAt: "2026-08-13T00:00:00.000Z",
|
|
36
|
+
artifacts: [{ id: "fixture-vision", title: "Fixture Vision", family: "vision", scopeRefs: ["project:fixture"], horizon: "week", version: 1, candidateRevision: `git:${sha}`, themeRef: "fixture-dark", status, trustDomain: "owner-private", createdAt: "2026-08-13T00:00:00.000Z", reviewAt: "2026-08-20T00:00:00.000Z", formats: { markdown: "project-context/VISION.md", json: "project-context/VISION_ARTIFACTS.json", html: "project-context/VISION.html" }, lineage: { relation: "main", parentVersionId: null, main: true }, provenance: ["project-context/source.md"] }], updatedAt: "2026-08-13T00:00:00.000Z",
|
|
35
37
|
}; }
|
|
36
|
-
function
|
|
38
|
+
function render(root) { return execFileSync("node", [renderer, "project-context/VISION_ARTIFACTS.json", "fixture-vision"], { cwd: root, encoding: "utf8" }); }
|
|
39
|
+
function writeValid(root, sha) { const value = manifest(sha); fs.writeFileSync(path.join(root, "project-context/source.md"), "source\n"); fs.writeFileSync(path.join(root, "project-context/VISION.md"), `# Vision\n\n**Candidate revision:** \`git:${sha}\`\n`); fs.writeFileSync(path.join(root, "project-context/VISION_ARTIFACTS.json"), JSON.stringify(value)); render(root); return value; }
|
|
37
40
|
function run(root) { try { return execFileSync("node", [validator, "project-context/VISION_ARTIFACTS.json"], { cwd: root, encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }); } catch (error) { throw new Error(String(error.stderr || error.message)); } }
|
|
38
41
|
test("validates a nested project-context manifest from its repository root", () => { const { root, sha } = makeRepo(); try { writeValid(root, sha); assert.match(run(root), /validated 1/); } finally { fs.rmSync(root, { recursive: true, force: true }); } });
|
|
39
42
|
test("uses the packaged schema in an arbitrary Git project", () => { const { root, sha } = makeRepo(); try { writeValid(root, sha); fs.rmSync(path.join(root, "contracts"), { recursive: true, force: true }); assert.match(run(root), /validated 1/); } finally { fs.rmSync(root, { recursive: true, force: true }); } });
|
|
40
43
|
test("rejects traversal, missing projections, and unaccepted acceptance receipts", () => { const { root, sha } = makeRepo(); try { const value = writeValid(root, sha); value.artifacts[0].formats.markdown = "../escape.md"; fs.writeFileSync(path.join(root, "project-context/VISION_ARTIFACTS.json"), JSON.stringify(value)); assert.throws(() => run(root), /invalid Vision Artifact JSON/); value.artifacts[0].formats.markdown = "project-context/missing.md"; fs.writeFileSync(path.join(root, "project-context/VISION_ARTIFACTS.json"), JSON.stringify(value)); assert.throws(() => run(root), /missing artifact projection/); value.artifacts[0].formats.markdown = "project-context/VISION.md"; value.artifacts[0].lineage.acceptanceRef = "review:fake"; fs.writeFileSync(path.join(root, "project-context/VISION_ARTIFACTS.json"), JSON.stringify(value)); assert.throws(() => run(root), /must not pre-populate acceptanceRef/); } finally { fs.rmSync(root, { recursive: true, force: true }); } });
|
|
44
|
+
test("rejects low-contrast, undeclared, and hand-edited theme projections", () => { const { root, sha } = makeRepo(); try { const value = writeValid(root, sha); value.themes[0].palette.text = "#111111"; fs.writeFileSync(path.join(root, "project-context/VISION_ARTIFACTS.json"), JSON.stringify(value)); assert.throws(() => run(root), /text\/canvas contrast/); value.themes[0].palette.text = "#F2EEE9"; value.artifacts[0].themeRef = "missing-theme"; fs.writeFileSync(path.join(root, "project-context/VISION_ARTIFACTS.json"), JSON.stringify(value)); assert.throws(() => run(root), /themeRef does not resolve/); value.artifacts[0].themeRef = "fixture-dark"; fs.writeFileSync(path.join(root, "project-context/VISION_ARTIFACTS.json"), JSON.stringify(value)); render(root); fs.appendFileSync(path.join(root, "project-context/VISION.html"), "<!-- hand edit -->"); assert.throws(() => run(root), /not the deterministic projection/); } finally { fs.rmSync(root, { recursive: true, force: true }); } });
|
|
45
|
+
test("renders distinct governed project themes from the same canonical facts", () => { const { root, sha } = makeRepo(); try { const value = writeValid(root, sha); const dark = fs.readFileSync(path.join(root, "project-context/VISION.html"), "utf8"); value.themes.push({ id: "fixture-light", name: "Fixture light", mode: "light", presentation: "briefing", positioningKey: "bamfOs", mark: { label: "Fixture OS", monogram: "FO" }, palette: { canvas: "#F5F1EA", surface: "#FFFFFF", text: "#171513", muted: "#625B54", accent: "#7457D9", line: "#D9D1C8", positive: "#317A50", attention: "#A23F2D" }, typography: { display: "sans", body: "sans", density: "compact" } }); value.artifacts[0].themeRef = "fixture-light"; fs.writeFileSync(path.join(root, "project-context/VISION_ARTIFACTS.json"), JSON.stringify(value)); render(root); const light = fs.readFileSync(path.join(root, "project-context/VISION.html"), "utf8"); assert.notEqual(light, dark); assert.match(light, /data-theme="fixture-light"/); assert.match(light, /Operating brief/); assert.match(light, /OS/); assert.match(dark, /Living vision/); } finally { fs.rmSync(root, { recursive: true, force: true }); } });
|
|
@@ -20,10 +20,10 @@ Use this You.md-owned skill for a project vision, strategy, roadmap, audit, plan
|
|
|
20
20
|
|
|
21
21
|
1. Read `project-context/VISION_ARTIFACTS.json`, the current accepted artifact, and cited evidence. Resolve the project slug from `.you-project` before writing.
|
|
22
22
|
2. Capture the immutable candidate Git revision with `git rev-parse HEAD`, recorded exactly as `git:<sha>`. If the worktree is dirty, record that fact in the Markdown review note; do not claim the candidate is committed.
|
|
23
|
-
3. Copy the
|
|
24
|
-
4. In the JSON manifest, keep all four horizons and every lane explicit. Give the artifact `status: "proposed"`, `trustDomain`, paths for all three formats, exact provenance paths, a new monotonically increasing version, and lineage with the prior version id. `acceptanceRef` stays absent until human acceptance.
|
|
25
|
-
5. Render the branded HTML
|
|
26
|
-
6. Validate with the repository script when present: `node cli/scripts/validate-living-vision-artifact.mjs project-context/VISION_ARTIFACTS.json`. In another project, use the installed runtime: `node ~/.you/npm-current/lib/node_modules/youmd/scripts/validate-living-vision-artifact.mjs project-context/VISION_ARTIFACTS.json`. It carries the contract schema and checks exact three-format paths, candidate revision bindings,
|
|
23
|
+
3. Copy the Markdown and JSON templates using one shared stem, e.g. `PROJECT_STRATEGY_2026-08-13.{md,json,html}`. Fill every placeholder from evidence only; the HTML file is generated, never hand-edited.
|
|
24
|
+
4. In the JSON manifest, keep all four horizons and every lane explicit. Declare a bounded project theme using palette, typography, presentation, and text-only mark tokens; point the artifact at it with `themeRef`. Give the artifact `status: "proposed"`, `trustDomain`, paths for all three formats, exact provenance paths, a new monotonically increasing version, and lineage with the prior version id. `acceptanceRef` stays absent until human acceptance. Theme tokens cannot contain CSS, scripts, external fonts, URLs, or arbitrary assets.
|
|
25
|
+
5. Render the branded HTML deterministically: `node cli/scripts/render-living-vision-artifact.mjs project-context/VISION_ARTIFACTS.json <artifact-id>` in the source repo, or `node ~/.you/npm-current/lib/node_modules/youmd/scripts/render-living-vision-artifact.mjs ...` from the installed runtime. The renderer includes artifact status, candidate Git revision, horizons, scoped lanes, provenance, review date, and JSON/Markdown hashes in a script-free projection. Do not edit the result by hand.
|
|
26
|
+
6. Validate with the repository script when present: `node cli/scripts/validate-living-vision-artifact.mjs project-context/VISION_ARTIFACTS.json`. In another project, use the installed runtime: `node ~/.you/npm-current/lib/node_modules/youmd/scripts/validate-living-vision-artifact.mjs project-context/VISION_ARTIFACTS.json`. It carries the contract schema and checks exact three-format paths, candidate revision bindings, theme contrast/ownership, byte-exact deterministic HTML, no scripts, and acceptance discipline. Then verify every claimed Git ref resolves locally. In the You.md source repo, also run `npm run project-brain:contract-check`.
|
|
27
27
|
7. Present the candidate and exact Git revision for human review. Only after a human supplies an attributable receipt may a separate proposal change it to `accepted` and set `lineage.acceptanceRef` to an immutable receipt/ref.
|
|
28
28
|
|
|
29
29
|
## Required Markdown sections
|
|
@@ -33,3 +33,7 @@ Use: `Decision status`, `Candidate revision`, `North Star`, `Positioning`, `Hori
|
|
|
33
33
|
## Update rule
|
|
34
34
|
|
|
35
35
|
Cosmetic HTML repairs may retain a version only if Markdown and JSON semantics and their candidate revision are unchanged. Any change to North Star, positioning, horizon outcome, lane scope/status, trust domain, or provenance requires a new proposed version.
|
|
36
|
+
|
|
37
|
+
## Theme rule
|
|
38
|
+
|
|
39
|
+
A theme expresses project identity without becoming executable content. Use one declared `themeRef` per artifact. `editorial` is for narrative vision and audits; `briefing` is for operating plans and denser weekly reviews. A project may define multiple named themes, but agents must reuse an existing fitting theme before adding another. The validator requires WCAG-readable text, muted text, and accent contrast against the canvas. Icons, screenshots, and connected-service marks belong in evidence metadata, not arbitrary theme HTML.
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
"schemaVersion": "you-md/project-vision-artifacts/v1",
|
|
4
4
|
"kind": "project-vision-artifacts",
|
|
5
5
|
"projectRef": "project:{{project_slug}}",
|
|
6
|
+
"themes": [{
|
|
7
|
+
"id": "{{theme_id}}", "name": "{{theme_name}}", "mode": "dark", "presentation": "editorial", "positioningKey": "youmd",
|
|
8
|
+
"mark": { "label": "{{project_label}}", "monogram": "{{project_monogram}}" },
|
|
9
|
+
"palette": { "canvas": "#0D0D0D", "surface": "#171513", "text": "#F2EEE9", "muted": "#A69F98", "accent": "#D8753E", "line": "#39332E", "positive": "#64A879", "attention": "#E09A63" },
|
|
10
|
+
"typography": { "display": "mono", "body": "sans", "density": "comfortable" }
|
|
11
|
+
}],
|
|
6
12
|
"northStar": { "statement": "{{north_star}}", "invariants": ["{{invariant}}"], "evidenceRefs": ["{{evidence_path}}"] },
|
|
7
13
|
"positioning": { "youmd": "{{youmd_positioning}}", "bamfAi": "{{bamf_ai_positioning}}", "bamfOs": "{{bamf_os_positioning}}" },
|
|
8
14
|
"horizons": {
|
|
@@ -12,6 +18,6 @@
|
|
|
12
18
|
"week": { "period": "{{week_period}}", "objective": "{{week_objective}}", "outcomes": ["{{week_outcome}}"], "focusRefs": ["{{focus_ref}}"], "status": "planned", "reviewAt": "{{week_review_at}}" }
|
|
13
19
|
},
|
|
14
20
|
"lanes": [{ "id": "{{lane_id}}", "name": "{{lane_name}}", "kind": "product", "ownerAgentRef": "agent:{{owner_agent}}", "scopeRefs": ["{{scope_ref}}"], "claimMode": "propose", "status": "planned", "dependsOn": [], "reviewAt": "{{lane_review_at}}" }],
|
|
15
|
-
"artifacts": [{ "id": "{{artifact_id}}", "title": "{{title}}", "family": "vision", "scopeRefs": ["{{scope_ref}}"], "horizon": "week", "version": 1, "candidateRevision": "git:{{git_sha}}", "status": "proposed", "trustDomain": "owner-private", "createdAt": "{{created_at}}", "reviewAt": "{{review_at}}", "formats": { "markdown": "{{markdown_path}}", "json": "{{json_path}}", "html": "{{html_path}}" }, "lineage": { "relation": "main", "parentVersionId": null, "main": true }, "provenance": ["{{evidence_path}}"] }],
|
|
21
|
+
"artifacts": [{ "id": "{{artifact_id}}", "title": "{{title}}", "family": "vision", "scopeRefs": ["{{scope_ref}}"], "horizon": "week", "version": 1, "candidateRevision": "git:{{git_sha}}", "themeRef": "{{theme_id}}", "status": "proposed", "trustDomain": "owner-private", "createdAt": "{{created_at}}", "reviewAt": "{{review_at}}", "formats": { "markdown": "{{markdown_path}}", "json": "{{json_path}}", "html": "{{html_path}}" }, "lineage": { "relation": "main", "parentVersionId": null, "main": true }, "provenance": ["{{evidence_path}}"] }],
|
|
16
22
|
"updatedAt": "{{created_at}}"
|
|
17
23
|
}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"schemaVersion": { "const": "you-md/project-vision-artifacts/v1" },
|
|
11
11
|
"kind": { "const": "project-vision-artifacts" },
|
|
12
12
|
"projectRef": { "$ref": "#/$defs/projectRef" },
|
|
13
|
+
"themes": { "type": "array", "maxItems": 32, "items": { "$ref": "#/$defs/theme" } },
|
|
13
14
|
"northStar": { "type": "object", "additionalProperties": false, "required": ["statement", "invariants", "evidenceRefs"], "properties": {
|
|
14
15
|
"statement": { "type": "string", "minLength": 1, "maxLength": 1200 },
|
|
15
16
|
"invariants": { "type": "array", "minItems": 1, "maxItems": 32, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 1200 } },
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"scopeRefs": { "type": "array", "minItems": 1, "maxItems": 64, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 220 } },
|
|
39
40
|
"horizon": { "enum": ["year", "quarter", "month", "week"] }, "version": { "type": "integer", "minimum": 1 },
|
|
40
41
|
"candidateRevision": { "type": "string", "pattern": "^git:[a-f0-9]{7,64}$" },
|
|
42
|
+
"themeRef": { "$ref": "#/$defs/id" },
|
|
41
43
|
"status": { "enum": ["draft", "proposed", "accepted", "superseded"] }, "trustDomain": { "enum": ["owner-private", "project-private", "shared", "public"] },
|
|
42
44
|
"createdAt": { "type": "string", "format": "date-time" }, "reviewAt": { "type": "string", "format": "date-time" },
|
|
43
45
|
"formats": { "type": "object", "additionalProperties": false, "minProperties": 1, "properties": {
|
|
@@ -54,6 +56,13 @@
|
|
|
54
56
|
"$defs": {
|
|
55
57
|
"projectRef": { "type": "string", "pattern": "^project:[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$" },
|
|
56
58
|
"id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$" },
|
|
59
|
+
"hexColor": { "type": "string", "pattern": "^#[0-9A-Fa-f]{6}$" },
|
|
60
|
+
"theme": { "type": "object", "additionalProperties": false, "required": ["id", "name", "mode", "presentation", "positioningKey", "mark", "palette", "typography"], "properties": {
|
|
61
|
+
"id": { "$ref": "#/$defs/id" }, "name": { "type": "string", "minLength": 1, "maxLength": 80 }, "mode": { "enum": ["light", "dark"] }, "presentation": { "enum": ["editorial", "briefing"] }, "positioningKey": { "enum": ["youmd", "bamfAi", "bamfOs"] },
|
|
62
|
+
"mark": { "type": "object", "additionalProperties": false, "required": ["label", "monogram"], "properties": { "label": { "type": "string", "minLength": 1, "maxLength": 40 }, "monogram": { "type": "string", "minLength": 1, "maxLength": 4, "pattern": "^[A-Za-z0-9.]+$" } } },
|
|
63
|
+
"palette": { "type": "object", "additionalProperties": false, "required": ["canvas", "surface", "text", "muted", "accent", "line", "positive", "attention"], "properties": { "canvas": { "$ref": "#/$defs/hexColor" }, "surface": { "$ref": "#/$defs/hexColor" }, "text": { "$ref": "#/$defs/hexColor" }, "muted": { "$ref": "#/$defs/hexColor" }, "accent": { "$ref": "#/$defs/hexColor" }, "line": { "$ref": "#/$defs/hexColor" }, "positive": { "$ref": "#/$defs/hexColor" }, "attention": { "$ref": "#/$defs/hexColor" } } },
|
|
64
|
+
"typography": { "type": "object", "additionalProperties": false, "required": ["display", "body", "density"], "properties": { "display": { "enum": ["mono", "sans", "serif"] }, "body": { "enum": ["sans", "serif"] }, "density": { "enum": ["compact", "comfortable"] } } }
|
|
65
|
+
} },
|
|
57
66
|
"relativePath": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?!/)(?![A-Za-z]:)(?!.*\\\\)(?!.*//)(?!.*(?:^|/)(?:\\.{1,2})(?:/|$))(?!.*[\\u0000-\\u001f\\u007f])(?!.*\\/$)[^/]+(?:/[^/]+)*$" },
|
|
58
67
|
"horizon": { "type": "object", "additionalProperties": false, "required": ["period", "objective", "outcomes", "focusRefs", "status", "reviewAt"], "properties": {
|
|
59
68
|
"period": { "type": "string", "minLength": 1, "maxLength": 40 }, "objective": { "type": "string", "minLength": 1, "maxLength": 1200 },
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>{{title}}</title><style>body{margin:0;background:#0d0d0d;color:#e8e4df;font:16px/1.6 Inter,system-ui,sans-serif}main{max-width:900px;margin:auto;padding:64px 28px}code,.meta,h1,h2{font-family:"JetBrains Mono",monospace}h1{font-size:clamp(2.4rem,7vw,5rem);line-height:1.05}.meta{color:#c46a3a;border-block:1px solid #332d28;padding:14px 0}h2{margin-top:3rem}a{color:#c46a3a}</style></head><body><main><p class="meta">{{artifact_id}} · {{status}} · candidate git:{{git_sha}} · {{horizon}} · review {{review_at}}</p><h1>{{title}}</h1><section><h2>North Star</h2><p>{{north_star}}</p></section><section><h2>Lanes</h2><p>{{lane_summary}}</p></section><section><h2>Evidence</h2><p>{{provenance_summary}}</p></section><section><h2>Human review</h2><p>{{review_request}}</p></section></main></body></html>
|