docs(product): commit design references under docs/product/reference/

Copy the founder's design handoff bundle (.proto/design/) into
docs/product/reference/ byte-for-byte so dispatch agents running in git
worktrees can read the HTML prototypes, veect-codebase/ prototype,
upload PNGs, and remaining bundle files (ADR-029: reference only, never
vendored into packages/). Ignore-list entries so whole-codebase auditors
and formatters skip reference material: .prettierignore (byte
preservation through lint-staged), .fallowrc.json ignorePatterns, root
ESLint ignores, and the coverage:diff allowlist in
scripts/coverage/diff.mjs (+ unit test). .DS_Store files skipped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
This commit is contained in:
2026-07-12 14:09:30 +02:00
parent c80e09e732
commit 1483a45406
97 changed files with 15685 additions and 1 deletions

View File

@@ -52,6 +52,9 @@ const ALLOWED_GLOBS = [
/\.prettierignore$/,
/\.npmrc$/,
/(^|\/)\.env(\.[^/]+)?$/, // .env, .env.example, .env.local, etc.
// Design reference material (ADR-029) — read-only prototypes committed
// under docs/product/reference/; never executed, never tested.
/^docs\/product\/reference\//,
// Shell scripts (not Vitest-covered)
/\.sh$/,
/\.bash$/,

View File

@@ -281,6 +281,26 @@ describe("computeDiffCoverage", () => {
assert.equal(result.summary.filesChanged, 2);
});
test("skips docs/product/reference/ files (design reference material, ADR-029)", () => {
const lcov = parseLcov(lcovText);
const diff = new Map([
// Read-only design prototypes — never executed, never in any lcov
[
"docs/product/reference/project/veect-codebase/src/main.tsx",
new Set([1, 2, 3]),
],
[
"docs/product/reference/project/veect-codebase/src/store/veect.ts",
new Set([1, 2, 3, 4]),
],
["docs/product/reference/project/support.js", new Set([1, 2])],
]);
const result = computeDiffCoverage(diff, lcov);
assert.equal(result.status, "pass");
assert.equal(result.summary.filesGated, 0);
assert.equal(result.summary.filesChanged, 3);
});
test("end-to-end fixture: mixed pass/fail/skip/no-data", () => {
const lcov = parseLcov(lcovText);
const diff = parseGitDiff(diffText);