test(confidence-engine): capture tentative mapping regression

This commit is contained in:
2026-08-26 14:06:51 +01:00
parent 787c8114ad
commit cb707c0192
2 changed files with 23 additions and 5 deletions
@@ -205,6 +205,21 @@ It must NOT be strengthened into:
- exception escalation makes delegation safe
- payment success proves readiness for other work`,
},
{
id: "tentative-condition-must-not-map-to-specific-items",
centralStatement:
"I want to reduce how dependent the business is on me for routine operational work, but I am not sure how much responsibility I can realistically hand over to my team yet. I want to understand what is genuinely preventing more delegation rather than just assuming I need to stay involved.",
targetLabel:
"Concrete capability gaps, process maturity levels, or approval authority restrictions limiting delegation",
targetDescription:
"What is actually stopping further delegation right now — not hypothetical constraints but the real bottleneck in the current evidence.",
question:
"What other routine tasks do you currently handle yourself, and does each one require specific training, a documented process, or a defined approval threshold before it can be assigned to someone else?",
answer:
"I still handle customer quotations, purchasing, some supplier issues, technical questions from customers, scheduling work, and checking some larger or unusual payments. I don't think all of those actually require me personally. Some probably just need a clear process or an approval limit. Technical questions may depend on experience, but I haven't separated which ones genuinely need my knowledge from the ones the team could answer. I also haven't documented who could currently take over each of these tasks.",
manualReviewCriteria:
`Observation fidelity — must preserve the stated facts without strengthening them:\n\n- the listed tasks (quotations, purchasing, supplier issues, technical questions, scheduling, payments)\n- user does not think all necessarily require them personally\n- "some probably" may need process/approval\n- technical-question boundary is unresolved\n- ownership/takeover mapping is undocumented\n\nTentative wording must remain tentative.\n"some probably just need..." must NOT become a definite "some only need..."\nunless equivalent uncertainty remains explicit.\n\nAssumption restraint — the following must be rejected as OVERREACH:\n- quotations are delegable with process/approval\n- payments are delegable with process/approval\n- specific named tasks are feasible to delegate because of the generic "some probably" statement\n- process/approval is sufficient\n- deep expertise is unnecessary\n\nThe invariant: A general or unspecified statement about "some" items must not be attached to particular items from a preceding enumeration unless the user makes that mapping.\nAlso: Tentative/probabilistic language must not be strengthened into definite feasibility/readiness claims.\nassumptions: [] is valid.\n\nFrontier: Do NOT over-specify the exact winning frontier.\ntechnical capability, ownership mapping and process/authority are same-level alternatives.\nThe selected uncertainty must be:\n- directly grounded in the answer text\n- investigation-relevant\n- does not depend on invented item-to-condition mappings\nDo not turn an underdetermined frontier into a false exact-answer test.`,
},
];
// ── Deterministic fixture-integrity assertions (zero live calls) ─────────
@@ -217,14 +232,15 @@ export const FOCUSED_DECONSTRUCT_REGRESSION_CASE_IDS = [
"tentative-observation-fidelity",
"genuine-dependency-frontier",
"structural-frontier-over-working-example-detail",
"tentative-condition-must-not-map-to-specific-items",
];
export function validateRegressionFixtureIntegrity() {
const errors = [];
if (FOCUSED_DECONSTRUCT_REGRESSION_CASES.length !== 7) {
if (FOCUSED_DECONSTRUCT_REGRESSION_CASES.length !== 8) {
errors.push(
`Expected exactly 7 regression cases; got ${FOCUSED_DECONSTRUCT_REGRESSION_CASES.length}`,
`Expected exactly 8 regression cases; got ${FOCUSED_DECONSTRUCT_REGRESSION_CASES.length}`,
);
}
@@ -235,8 +235,8 @@ describe("validateFocusedDeconstructSchema", () => {
// ── Regression fixture integrity (zero live calls) ──────────────────────────
describe("FOCUSED_DECONSTRUCT_REGRESSION_CASES fixture integrity", () => {
it("has exactly 7 cases", () => {
expect(FOCUSED_DECONSTRUCT_REGRESSION_CASES.length).toBe(7);
it("has exactly 8 cases", () => {
expect(FOCUSED_DECONSTRUCT_REGRESSION_CASES.length).toBe(8);
});
it("all IDs are unique", () => {
@@ -249,7 +249,7 @@ describe("FOCUSED_DECONSTRUCT_REGRESSION_CASES fixture integrity", () => {
expect(ids).toContain("structural-frontier-over-working-example-detail");
});
it("preserves all six original case IDs", () => {
it("preserves all original case IDs and includes the new eighth case", () => {
const ids = FOCUSED_DECONSTRUCT_REGRESSION_CASES.map((c) => c.id);
for (const origId of [
"nearest-frontier-wins",
@@ -258,9 +258,11 @@ describe("FOCUSED_DECONSTRUCT_REGRESSION_CASES fixture integrity", () => {
"juxtaposition-must-not-create-link",
"tentative-observation-fidelity",
"genuine-dependency-frontier",
"structural-frontier-over-working-example-detail",
]) {
expect(ids).toContain(origId);
}
expect(ids).toContain("tentative-condition-must-not-map-to-specific-items");
});
it("validateRegressionFixtureIntegrity reports zero errors", () => {