feat(hldp): review causal note quality
This commit is contained in:
parent
fb1096c5ec
commit
090fe333d4
3 changed files with 69 additions and 2 deletions
|
|
@ -4,7 +4,7 @@ import fs from "node:fs";
|
|||
import path from "node:path";
|
||||
import test from "node:test";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { BOOTSTRAP_LIMIT_BYTES, bootstrap, readNode, route, verifyTree } from "./hldp-memory.mjs";
|
||||
import { BOOTSTRAP_LIMIT_BYTES, bootstrap, readNode, reviewTree, route, verifyTree } from "./hldp-memory.mjs";
|
||||
|
||||
function validTree() {
|
||||
return {
|
||||
|
|
@ -29,6 +29,20 @@ function validTree() {
|
|||
|
||||
test("validates a bounded causal tree", () => assert.deepEqual(verifyTree(validTree()), []));
|
||||
|
||||
test("reviews whether a leaf preserves causal transitions instead of becoming a diary entry", () => {
|
||||
const reviewed = reviewTree(validTree(), "root/decision");
|
||||
assert.equal(reviewed.ok, true);
|
||||
assert.equal(reviewed.reviewed, 1);
|
||||
|
||||
const diary = validTree();
|
||||
diary.nodes["root/decision"].emergence = "上午讨论方案,下午继续工作,晚上保存文件";
|
||||
diary.nodes["root/decision"].why = "记一下";
|
||||
const rejected = reviewTree(diary, "root/decision");
|
||||
assert.equal(rejected.ok, false);
|
||||
assert(rejected.errors.some((error) => error.includes("transition chain")));
|
||||
assert(rejected.errors.some((error) => error.includes("why is too generic")));
|
||||
});
|
||||
|
||||
test("rejects more than ten siblings and missing why", () => {
|
||||
const tree = validTree();
|
||||
tree.nodes.root.children = Array.from({ length: 11 }, (_, i) => `child-${i}`);
|
||||
|
|
|
|||
Loading…
Reference in a new issue