@domandigital/craft 0.8.1 → 0.9.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/CHANGELOG.md +6 -0
- package/COPY.md +6 -2
- package/dist/{audit-C62GULQR.js → audit-5P65UMFL.js} +3 -3
- package/dist/audit.cjs +3 -3
- package/dist/audit.js +3 -3
- package/dist/{chunk-2VLN6JLN.js → chunk-5LI2VFN5.js} +5 -5
- package/dist/{chunk-UVBVYM5D.js → chunk-BYY32NIN.js} +2 -2
- package/dist/{chunk-6LPMM752.js → chunk-DAENYJUO.js} +5 -5
- package/dist/{chunk-DWZY5MWD.js → chunk-EHNEGKFR.js} +1 -1
- package/dist/{chunk-JNFHQGKR.js → chunk-JRMU6GYX.js} +1 -1
- package/dist/{chunk-XEH4GK5K.js → chunk-VKQDOUHO.js} +4 -4
- package/dist/{chunk-X6PHP22P.js → chunk-YLQE35PN.js} +7 -7
- package/dist/{chunk-OBVWDPQQ.js → chunk-ZT3WLN7R.js} +3 -3
- package/dist/{cli-BWERSVPW.js → cli-3XPEGBUR.js} +4 -4
- package/dist/{cli-C5RLL7AW.js → cli-4VAOH7ST.js} +4 -4
- package/dist/cli-J7C6TI2B.js +16 -0
- package/dist/{cli-UMQNCHAQ.js → cli-V55MTIOP.js} +9 -9
- package/dist/cli-WDSVVHKG.js +15 -0
- package/dist/cli.js +2 -2
- package/dist/index.cjs +3 -3
- package/dist/index.js +3 -3
- package/package.json +1 -1
- package/dist/cli-D6VYGCOE.js +0 -16
- package/dist/cli-I4TQMCUP.js +0 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @domandigital/craft
|
|
2
2
|
|
|
3
|
+
## 0.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- bbf1f54: `chatbot-residue` moves to the house blocking tier. A pasted chat reply (citation tokens, entity markers, "as an AI language model") now fails `craft copy --gate`, `copy-check` and `sanity-copy`. Its estate hits were read first: 15 of 15 real, no false alarms.
|
|
8
|
+
|
|
3
9
|
## 0.8.1
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/COPY.md
CHANGED
|
@@ -45,6 +45,11 @@ A single hit fails the check. These are not judgment calls.
|
|
|
45
45
|
a signed-in route (`/admin/`, `/portal/`, `/dashboard/`).
|
|
46
46
|
- **"No X, no Y" as a list**, anywhere in a sentence. "No obligation, no
|
|
47
47
|
spam." Defining the business by what it is not, itemised.
|
|
48
|
+
- **Chatbot residue.** "Certainly! Here's a revised version", "as an AI
|
|
49
|
+
language model", "let me know if you'd like me to", ChatGPT citation tokens
|
|
50
|
+
and entity markers, links tracked `utm_source=chatgpt.com`. This is not
|
|
51
|
+
style: it is proof a chat reply was pasted in whole. Remove it, then source
|
|
52
|
+
or cut any claim a citation token was backing. Never re-cite from memory.
|
|
48
53
|
- The phrase list: `let's dive in`, `let's unpack`, `let's break this down`,
|
|
49
54
|
`here's the thing`, `it's important to note`, `at its core`,
|
|
50
55
|
`the key takeaway`, `the reality is`, `the truth is`,
|
|
@@ -96,14 +101,13 @@ person reading decides which instance earns its place.
|
|
|
96
101
|
| `question-reveal` | "The result? Twice the bookings.", "What does this mean for you? It means...": a staged reveal |
|
|
97
102
|
| `inline-label-list` | three or more bullets in a row opening "**Label:**", where the label repeats the line |
|
|
98
103
|
| `placeholder` | "[Insert client name]", lorem ipsum, `TODO_PLACEHOLDER`. Fine in a draft commit; **zero in anything delivered** |
|
|
99
|
-
| `chatbot-residue` | "Certainly! Here's a revised version", "as an AI language model", "let me know if you'd like me to", chat citation tokens, links tracked `utm_source=chatgpt.com`. **Zero in anything delivered**, and the first candidate for the blocking tier |
|
|
100
104
|
|
|
101
105
|
### Style is not evidence
|
|
102
106
|
|
|
103
107
|
Most tells here are house style: they make copy generic, whoever wrote it. The
|
|
104
108
|
research is clear that an em dash, a rule of three or a rhetorical question
|
|
105
109
|
proves nothing about authorship, and em dash rates even run in opposite
|
|
106
|
-
directions between models. Only
|
|
110
|
+
directions between models. Only chatbot residue, in the blocking tier, is evidence that a chat reply
|
|
107
111
|
was pasted. Report findings as an editorial diagnosis ("three benefit claims
|
|
108
112
|
lack a mechanism; two stock phrases recur"), never as a score or an
|
|
109
113
|
accusation.
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
snapshotPage,
|
|
7
7
|
snapshotUrl,
|
|
8
8
|
snapshotUrls
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-BYY32NIN.js";
|
|
10
|
+
import "./chunk-EHNEGKFR.js";
|
|
11
|
+
import "./chunk-ZT3WLN7R.js";
|
|
12
12
|
export {
|
|
13
13
|
audit,
|
|
14
14
|
collectInPage,
|
package/dist/audit.cjs
CHANGED
|
@@ -2294,6 +2294,9 @@ var HOUSE = {
|
|
|
2294
2294
|
"plain-english": { tier: "block", label: 'use "properly explained"' },
|
|
2295
2295
|
buzzword: { tier: "block", label: "forbidden phrase" },
|
|
2296
2296
|
"negative-reassurance": { tier: "block", label: "negative reassurance, say what they get" },
|
|
2297
|
+
// Evidence of a pasted chat reply, not a matter of style. Moved from review
|
|
2298
|
+
// on 2026-09-24 after its estate hits were read (ROADMAP.md): 15 of 15 real.
|
|
2299
|
+
"chatbot-residue": { tier: "block", label: "chatbot residue. A chat reply was pasted in: remove it, and source or cut the claim it backed" },
|
|
2297
2300
|
"review-phrase": { tier: "review", label: "review tier" },
|
|
2298
2301
|
"ai-vocabulary": { tier: "review", label: "AI vocabulary" },
|
|
2299
2302
|
"stock-phrase": { tier: "review", label: "stock phrase" },
|
|
@@ -2305,9 +2308,6 @@ var HOUSE = {
|
|
|
2305
2308
|
"vague-attribution": { tier: "review", label: "unnamed source" },
|
|
2306
2309
|
"closing-summary": { tier: "review", label: "closing summary" },
|
|
2307
2310
|
"false-range": { tier: "review", label: "false range" },
|
|
2308
|
-
// The first candidate for block: evidence of a pasted chat reply, not a
|
|
2309
|
-
// matter of style. Blocks once its estate hits have been read (ROADMAP.md).
|
|
2310
|
-
"chatbot-residue": { tier: "review", label: "chatbot residue" },
|
|
2311
2311
|
"placeholder": { tier: "review", label: "unfilled placeholder" },
|
|
2312
2312
|
"question-reveal": { tier: "review", label: "staged reveal" },
|
|
2313
2313
|
"inline-label-list": { tier: "review", label: "bold-label bullets" },
|
package/dist/audit.js
CHANGED
|
@@ -2262,6 +2262,9 @@ var HOUSE = {
|
|
|
2262
2262
|
"plain-english": { tier: "block", label: 'use "properly explained"' },
|
|
2263
2263
|
buzzword: { tier: "block", label: "forbidden phrase" },
|
|
2264
2264
|
"negative-reassurance": { tier: "block", label: "negative reassurance, say what they get" },
|
|
2265
|
+
// Evidence of a pasted chat reply, not a matter of style. Moved from review
|
|
2266
|
+
// on 2026-09-24 after its estate hits were read (ROADMAP.md): 15 of 15 real.
|
|
2267
|
+
"chatbot-residue": { tier: "block", label: "chatbot residue. A chat reply was pasted in: remove it, and source or cut the claim it backed" },
|
|
2265
2268
|
"review-phrase": { tier: "review", label: "review tier" },
|
|
2266
2269
|
"ai-vocabulary": { tier: "review", label: "AI vocabulary" },
|
|
2267
2270
|
"stock-phrase": { tier: "review", label: "stock phrase" },
|
|
@@ -2273,9 +2276,6 @@ var HOUSE = {
|
|
|
2273
2276
|
"vague-attribution": { tier: "review", label: "unnamed source" },
|
|
2274
2277
|
"closing-summary": { tier: "review", label: "closing summary" },
|
|
2275
2278
|
"false-range": { tier: "review", label: "false range" },
|
|
2276
|
-
// The first candidate for block: evidence of a pasted chat reply, not a
|
|
2277
|
-
// matter of style. Blocks once its estate hits have been read (ROADMAP.md).
|
|
2278
|
-
"chatbot-residue": { tier: "review", label: "chatbot residue" },
|
|
2279
2279
|
"placeholder": { tier: "review", label: "unfilled placeholder" },
|
|
2280
2280
|
"question-reveal": { tier: "review", label: "staged reveal" },
|
|
2281
2281
|
"inline-label-list": { tier: "review", label: "bold-label bullets" },
|
|
@@ -3,18 +3,18 @@ import {
|
|
|
3
3
|
hueName,
|
|
4
4
|
loadNull,
|
|
5
5
|
shapeName
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VKQDOUHO.js";
|
|
7
7
|
import {
|
|
8
8
|
parseFlags
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YLQE35PN.js";
|
|
10
10
|
import {
|
|
11
11
|
fingerprint,
|
|
12
12
|
fingerprintDistance
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-EHNEGKFR.js";
|
|
14
14
|
import {
|
|
15
15
|
SNAPSHOT_VERSION,
|
|
16
16
|
auditSnapshot
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ZT3WLN7R.js";
|
|
18
18
|
|
|
19
19
|
// src/estate/cli.ts
|
|
20
20
|
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
@@ -92,7 +92,7 @@ async function snapshotOf(target, cwd) {
|
|
|
92
92
|
return snap;
|
|
93
93
|
}
|
|
94
94
|
if (!/^https?:\/\//.test(target)) throw new Error(`${target} is neither a URL, a snapshot file, nor a site in the register`);
|
|
95
|
-
const { snapshotUrl } = await import("./audit-
|
|
95
|
+
const { snapshotUrl } = await import("./audit-5P65UMFL.js");
|
|
96
96
|
return snapshotUrl(target);
|
|
97
97
|
}
|
|
98
98
|
var line = (distance, sibling, shared) => `${distance.toFixed(2)}${sibling ? " SIBLING" : ""}${shared.length ? ` shares ${shared.join(", ")}` : ""}`;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fingerprint
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EHNEGKFR.js";
|
|
4
4
|
import {
|
|
5
5
|
SNAPSHOT_VERSION,
|
|
6
6
|
auditSnapshot
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZT3WLN7R.js";
|
|
8
8
|
|
|
9
9
|
// src/audit/collect.ts
|
|
10
10
|
function collectInPage() {
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
snapshotUrl
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BYY32NIN.js";
|
|
4
4
|
import {
|
|
5
5
|
describeTypicality,
|
|
6
6
|
loadNull,
|
|
7
7
|
typicality
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-VKQDOUHO.js";
|
|
9
9
|
import {
|
|
10
10
|
SOURCE_FILE,
|
|
11
11
|
finish,
|
|
12
12
|
loadExceptions,
|
|
13
13
|
parseFlags,
|
|
14
14
|
readPaths
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-YLQE35PN.js";
|
|
16
16
|
import {
|
|
17
17
|
fingerprint
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-EHNEGKFR.js";
|
|
19
19
|
import {
|
|
20
20
|
SNAPSHOT_VERSION,
|
|
21
21
|
auditSnapshot,
|
|
22
22
|
scanSource
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-ZT3WLN7R.js";
|
|
24
24
|
|
|
25
25
|
// src/audit/cli.ts
|
|
26
26
|
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseFlags
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YLQE35PN.js";
|
|
4
4
|
import {
|
|
5
5
|
fingerprint,
|
|
6
6
|
fingerprintDistance
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EHNEGKFR.js";
|
|
8
8
|
import {
|
|
9
9
|
CATALOGUE_VERSION,
|
|
10
10
|
REFLEX_FONTS_1,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
isCream,
|
|
19
19
|
oklchToRgb,
|
|
20
20
|
scanSource
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ZT3WLN7R.js";
|
|
22
22
|
|
|
23
23
|
// src/null/cli.ts
|
|
24
24
|
import { spawn } from "child_process";
|
|
@@ -352,7 +352,7 @@ async function build(flags, io) {
|
|
|
352
352
|
const toShoot = ids.filter((id) => existsSync(join(pages, `${id}.html`)) && !existsSync(join(shots, `${id}.json`)));
|
|
353
353
|
if (toShoot.length) {
|
|
354
354
|
io.out(`craft null: snapshotting ${toShoot.length} page${toShoot.length === 1 ? "" : "s"}`);
|
|
355
|
-
const { snapshotUrls } = await import("./audit-
|
|
355
|
+
const { snapshotUrls } = await import("./audit-5P65UMFL.js");
|
|
356
356
|
const results = await snapshotUrls(toShoot.map((id) => pathToFileURL(join(pages, `${id}.html`)).href));
|
|
357
357
|
results.forEach((r, i) => {
|
|
358
358
|
const id = toShoot[i];
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
fileKind,
|
|
9
9
|
houseRule,
|
|
10
10
|
scanSource
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZT3WLN7R.js";
|
|
12
12
|
|
|
13
13
|
// src/character/cli.ts
|
|
14
14
|
import { execFileSync } from "child_process";
|
|
@@ -274,25 +274,25 @@ var NOT_COPY_DIR = (name) => name.startsWith("_");
|
|
|
274
274
|
function run(argv, io) {
|
|
275
275
|
const [command, ...rest] = argv;
|
|
276
276
|
if (command === "direction") {
|
|
277
|
-
return import("./cli-
|
|
277
|
+
return import("./cli-3XPEGBUR.js").then((m) => m.runDirection(rest, io));
|
|
278
278
|
}
|
|
279
279
|
if (command === "report" || command === "retrofit") {
|
|
280
|
-
return import("./cli-
|
|
280
|
+
return import("./cli-V55MTIOP.js").then((m) => m.runReport(command, rest, io));
|
|
281
281
|
}
|
|
282
282
|
if (command === "estate") {
|
|
283
|
-
return import("./cli-
|
|
283
|
+
return import("./cli-J7C6TI2B.js").then((m) => m.runEstate(rest, io));
|
|
284
284
|
}
|
|
285
285
|
if (command === "null") {
|
|
286
|
-
return import("./cli-
|
|
286
|
+
return import("./cli-4VAOH7ST.js").then((m) => m.runNull(rest, io));
|
|
287
287
|
}
|
|
288
288
|
if (command === "tells" && rest[0] === "harvest") {
|
|
289
|
-
return import("./cli-
|
|
289
|
+
return import("./cli-4VAOH7ST.js").then((m) => m.runHarvest(rest, io)).catch((error) => {
|
|
290
290
|
io.err(`craft: ${error.message}`);
|
|
291
291
|
return 2;
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
294
|
if (command === "snapshot" || command === "audit") {
|
|
295
|
-
return import("./cli-
|
|
295
|
+
return import("./cli-WDSVVHKG.js").then((m) => m.runAudit(command, rest, io));
|
|
296
296
|
}
|
|
297
297
|
if (!command || command === "help" || command === "--help" || command === "-h") {
|
|
298
298
|
io.out(HELP);
|
|
@@ -2629,6 +2629,9 @@ var HOUSE = {
|
|
|
2629
2629
|
"plain-english": { tier: "block", label: 'use "properly explained"' },
|
|
2630
2630
|
buzzword: { tier: "block", label: "forbidden phrase" },
|
|
2631
2631
|
"negative-reassurance": { tier: "block", label: "negative reassurance, say what they get" },
|
|
2632
|
+
// Evidence of a pasted chat reply, not a matter of style. Moved from review
|
|
2633
|
+
// on 2026-09-24 after its estate hits were read (ROADMAP.md): 15 of 15 real.
|
|
2634
|
+
"chatbot-residue": { tier: "block", label: "chatbot residue. A chat reply was pasted in: remove it, and source or cut the claim it backed" },
|
|
2632
2635
|
"review-phrase": { tier: "review", label: "review tier" },
|
|
2633
2636
|
"ai-vocabulary": { tier: "review", label: "AI vocabulary" },
|
|
2634
2637
|
"stock-phrase": { tier: "review", label: "stock phrase" },
|
|
@@ -2640,9 +2643,6 @@ var HOUSE = {
|
|
|
2640
2643
|
"vague-attribution": { tier: "review", label: "unnamed source" },
|
|
2641
2644
|
"closing-summary": { tier: "review", label: "closing summary" },
|
|
2642
2645
|
"false-range": { tier: "review", label: "false range" },
|
|
2643
|
-
// The first candidate for block: evidence of a pasted chat reply, not a
|
|
2644
|
-
// matter of style. Blocks once its estate hits have been read (ROADMAP.md).
|
|
2645
|
-
"chatbot-residue": { tier: "review", label: "chatbot residue" },
|
|
2646
2646
|
"placeholder": { tier: "review", label: "unfilled placeholder" },
|
|
2647
2647
|
"question-reveal": { tier: "review", label: "staged reveal" },
|
|
2648
2648
|
"inline-label-list": { tier: "review", label: "bold-label bullets" },
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DIRECTION_VERSION,
|
|
3
3
|
validateDirection
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JRMU6GYX.js";
|
|
5
5
|
import {
|
|
6
6
|
parseFlags
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YLQE35PN.js";
|
|
8
8
|
import {
|
|
9
9
|
fingerprint
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-EHNEGKFR.js";
|
|
11
11
|
import {
|
|
12
12
|
deltaEOk,
|
|
13
13
|
formatHex,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
isCream,
|
|
17
17
|
oklchToRgb,
|
|
18
18
|
parseColour
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZT3WLN7R.js";
|
|
20
20
|
|
|
21
21
|
// src/direction/cli.ts
|
|
22
22
|
import { existsSync, readdirSync, readFileSync, writeFileSync } from "fs";
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
nullPath,
|
|
7
7
|
runHarvest,
|
|
8
8
|
runNull
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-VKQDOUHO.js";
|
|
10
|
+
import "./chunk-YLQE35PN.js";
|
|
11
|
+
import "./chunk-EHNEGKFR.js";
|
|
12
|
+
import "./chunk-ZT3WLN7R.js";
|
|
13
13
|
export {
|
|
14
14
|
describeTypicality,
|
|
15
15
|
formatHarvest,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
formatMatches,
|
|
3
|
+
formatPairs,
|
|
4
|
+
loadEstate,
|
|
5
|
+
runEstate
|
|
6
|
+
} from "./chunk-5LI2VFN5.js";
|
|
7
|
+
import "./chunk-VKQDOUHO.js";
|
|
8
|
+
import "./chunk-YLQE35PN.js";
|
|
9
|
+
import "./chunk-EHNEGKFR.js";
|
|
10
|
+
import "./chunk-ZT3WLN7R.js";
|
|
11
|
+
export {
|
|
12
|
+
formatMatches,
|
|
13
|
+
formatPairs,
|
|
14
|
+
loadEstate,
|
|
15
|
+
runEstate
|
|
16
|
+
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
validateDirection
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JRMU6GYX.js";
|
|
4
4
|
import {
|
|
5
5
|
merge
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-DAENYJUO.js";
|
|
7
|
+
import "./chunk-BYY32NIN.js";
|
|
8
8
|
import {
|
|
9
9
|
SIBLING_AT,
|
|
10
10
|
compareToEstate,
|
|
11
11
|
loadEstate
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5LI2VFN5.js";
|
|
13
13
|
import {
|
|
14
14
|
loadNull,
|
|
15
15
|
typicality
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-VKQDOUHO.js";
|
|
17
17
|
import {
|
|
18
18
|
COPY_FILE,
|
|
19
19
|
NOT_COPY_DIR,
|
|
@@ -21,17 +21,17 @@ import {
|
|
|
21
21
|
loadExceptions,
|
|
22
22
|
parseFlags,
|
|
23
23
|
readPaths
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-YLQE35PN.js";
|
|
25
25
|
import {
|
|
26
26
|
fingerprint
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-EHNEGKFR.js";
|
|
28
28
|
import {
|
|
29
29
|
CATALOGUE,
|
|
30
30
|
SNAPSHOT_VERSION,
|
|
31
31
|
auditSnapshot,
|
|
32
32
|
checkCopy,
|
|
33
33
|
scanSource
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-ZT3WLN7R.js";
|
|
35
35
|
|
|
36
36
|
// src/report/cli.ts
|
|
37
37
|
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
@@ -259,7 +259,7 @@ async function runReport(command, args, io) {
|
|
|
259
259
|
snap = JSON.parse(readFileSync(local, "utf8"));
|
|
260
260
|
if (snap.version !== SNAPSHOT_VERSION) throw new Error(`${target2} is not a snapshot`);
|
|
261
261
|
} else {
|
|
262
|
-
const { snapshotUrl } = await import("./audit-
|
|
262
|
+
const { snapshotUrl } = await import("./audit-5P65UMFL.js");
|
|
263
263
|
snap = await snapshotUrl(target2);
|
|
264
264
|
}
|
|
265
265
|
const fp = fingerprint(snap);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
describeFingerprint,
|
|
3
|
+
merge,
|
|
4
|
+
runAudit
|
|
5
|
+
} from "./chunk-DAENYJUO.js";
|
|
6
|
+
import "./chunk-BYY32NIN.js";
|
|
7
|
+
import "./chunk-VKQDOUHO.js";
|
|
8
|
+
import "./chunk-YLQE35PN.js";
|
|
9
|
+
import "./chunk-EHNEGKFR.js";
|
|
10
|
+
import "./chunk-ZT3WLN7R.js";
|
|
11
|
+
export {
|
|
12
|
+
describeFingerprint,
|
|
13
|
+
merge,
|
|
14
|
+
runAudit
|
|
15
|
+
};
|
package/dist/cli.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -3619,6 +3619,9 @@ var HOUSE = {
|
|
|
3619
3619
|
"plain-english": { tier: "block", label: 'use "properly explained"' },
|
|
3620
3620
|
buzzword: { tier: "block", label: "forbidden phrase" },
|
|
3621
3621
|
"negative-reassurance": { tier: "block", label: "negative reassurance, say what they get" },
|
|
3622
|
+
// Evidence of a pasted chat reply, not a matter of style. Moved from review
|
|
3623
|
+
// on 2026-09-24 after its estate hits were read (ROADMAP.md): 15 of 15 real.
|
|
3624
|
+
"chatbot-residue": { tier: "block", label: "chatbot residue. A chat reply was pasted in: remove it, and source or cut the claim it backed" },
|
|
3622
3625
|
"review-phrase": { tier: "review", label: "review tier" },
|
|
3623
3626
|
"ai-vocabulary": { tier: "review", label: "AI vocabulary" },
|
|
3624
3627
|
"stock-phrase": { tier: "review", label: "stock phrase" },
|
|
@@ -3630,9 +3633,6 @@ var HOUSE = {
|
|
|
3630
3633
|
"vague-attribution": { tier: "review", label: "unnamed source" },
|
|
3631
3634
|
"closing-summary": { tier: "review", label: "closing summary" },
|
|
3632
3635
|
"false-range": { tier: "review", label: "false range" },
|
|
3633
|
-
// The first candidate for block: evidence of a pasted chat reply, not a
|
|
3634
|
-
// matter of style. Blocks once its estate hits have been read (ROADMAP.md).
|
|
3635
|
-
"chatbot-residue": { tier: "review", label: "chatbot residue" },
|
|
3636
3636
|
"placeholder": { tier: "review", label: "unfilled placeholder" },
|
|
3637
3637
|
"question-reveal": { tier: "review", label: "staged reveal" },
|
|
3638
3638
|
"inline-label-list": { tier: "review", label: "bold-label bullets" },
|
package/dist/index.js
CHANGED
|
@@ -3469,6 +3469,9 @@ var HOUSE = {
|
|
|
3469
3469
|
"plain-english": { tier: "block", label: 'use "properly explained"' },
|
|
3470
3470
|
buzzword: { tier: "block", label: "forbidden phrase" },
|
|
3471
3471
|
"negative-reassurance": { tier: "block", label: "negative reassurance, say what they get" },
|
|
3472
|
+
// Evidence of a pasted chat reply, not a matter of style. Moved from review
|
|
3473
|
+
// on 2026-09-24 after its estate hits were read (ROADMAP.md): 15 of 15 real.
|
|
3474
|
+
"chatbot-residue": { tier: "block", label: "chatbot residue. A chat reply was pasted in: remove it, and source or cut the claim it backed" },
|
|
3472
3475
|
"review-phrase": { tier: "review", label: "review tier" },
|
|
3473
3476
|
"ai-vocabulary": { tier: "review", label: "AI vocabulary" },
|
|
3474
3477
|
"stock-phrase": { tier: "review", label: "stock phrase" },
|
|
@@ -3480,9 +3483,6 @@ var HOUSE = {
|
|
|
3480
3483
|
"vague-attribution": { tier: "review", label: "unnamed source" },
|
|
3481
3484
|
"closing-summary": { tier: "review", label: "closing summary" },
|
|
3482
3485
|
"false-range": { tier: "review", label: "false range" },
|
|
3483
|
-
// The first candidate for block: evidence of a pasted chat reply, not a
|
|
3484
|
-
// matter of style. Blocks once its estate hits have been read (ROADMAP.md).
|
|
3485
|
-
"chatbot-residue": { tier: "review", label: "chatbot residue" },
|
|
3486
3486
|
"placeholder": { tier: "review", label: "unfilled placeholder" },
|
|
3487
3487
|
"question-reveal": { tier: "review", label: "staged reveal" },
|
|
3488
3488
|
"inline-label-list": { tier: "review", label: "bold-label bullets" },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domandigital/craft",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The Doman Digital house craft standard as numbers: OKLCh colour ramps that snap to existing anchors, derived semantic tokens with measured WCAG and APCA contrast, one shared motion vocabulary for CSS and JS, and a base stylesheet. Zero dependencies.",
|
|
6
6
|
"license": "Apache-2.0",
|
package/dist/cli-D6VYGCOE.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
formatMatches,
|
|
3
|
-
formatPairs,
|
|
4
|
-
loadEstate,
|
|
5
|
-
runEstate
|
|
6
|
-
} from "./chunk-2VLN6JLN.js";
|
|
7
|
-
import "./chunk-XEH4GK5K.js";
|
|
8
|
-
import "./chunk-X6PHP22P.js";
|
|
9
|
-
import "./chunk-DWZY5MWD.js";
|
|
10
|
-
import "./chunk-OBVWDPQQ.js";
|
|
11
|
-
export {
|
|
12
|
-
formatMatches,
|
|
13
|
-
formatPairs,
|
|
14
|
-
loadEstate,
|
|
15
|
-
runEstate
|
|
16
|
-
};
|
package/dist/cli-I4TQMCUP.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
describeFingerprint,
|
|
3
|
-
merge,
|
|
4
|
-
runAudit
|
|
5
|
-
} from "./chunk-6LPMM752.js";
|
|
6
|
-
import "./chunk-UVBVYM5D.js";
|
|
7
|
-
import "./chunk-XEH4GK5K.js";
|
|
8
|
-
import "./chunk-X6PHP22P.js";
|
|
9
|
-
import "./chunk-DWZY5MWD.js";
|
|
10
|
-
import "./chunk-OBVWDPQQ.js";
|
|
11
|
-
export {
|
|
12
|
-
describeFingerprint,
|
|
13
|
-
merge,
|
|
14
|
-
runAudit
|
|
15
|
-
};
|