test(confidence-engine): capture tentative mapping regression
This commit is contained in:
@@ -205,6 +205,21 @@ It must NOT be strengthened into:
|
|||||||
- exception escalation makes delegation safe
|
- exception escalation makes delegation safe
|
||||||
- payment success proves readiness for other work`,
|
- 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) ─────────
|
// ── Deterministic fixture-integrity assertions (zero live calls) ─────────
|
||||||
@@ -217,14 +232,15 @@ export const FOCUSED_DECONSTRUCT_REGRESSION_CASE_IDS = [
|
|||||||
"tentative-observation-fidelity",
|
"tentative-observation-fidelity",
|
||||||
"genuine-dependency-frontier",
|
"genuine-dependency-frontier",
|
||||||
"structural-frontier-over-working-example-detail",
|
"structural-frontier-over-working-example-detail",
|
||||||
|
"tentative-condition-must-not-map-to-specific-items",
|
||||||
];
|
];
|
||||||
|
|
||||||
export function validateRegressionFixtureIntegrity() {
|
export function validateRegressionFixtureIntegrity() {
|
||||||
const errors = [];
|
const errors = [];
|
||||||
|
|
||||||
if (FOCUSED_DECONSTRUCT_REGRESSION_CASES.length !== 7) {
|
if (FOCUSED_DECONSTRUCT_REGRESSION_CASES.length !== 8) {
|
||||||
errors.push(
|
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) ──────────────────────────
|
// ── Regression fixture integrity (zero live calls) ──────────────────────────
|
||||||
|
|
||||||
describe("FOCUSED_DECONSTRUCT_REGRESSION_CASES fixture integrity", () => {
|
describe("FOCUSED_DECONSTRUCT_REGRESSION_CASES fixture integrity", () => {
|
||||||
it("has exactly 7 cases", () => {
|
it("has exactly 8 cases", () => {
|
||||||
expect(FOCUSED_DECONSTRUCT_REGRESSION_CASES.length).toBe(7);
|
expect(FOCUSED_DECONSTRUCT_REGRESSION_CASES.length).toBe(8);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("all IDs are unique", () => {
|
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");
|
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);
|
const ids = FOCUSED_DECONSTRUCT_REGRESSION_CASES.map((c) => c.id);
|
||||||
for (const origId of [
|
for (const origId of [
|
||||||
"nearest-frontier-wins",
|
"nearest-frontier-wins",
|
||||||
@@ -258,9 +258,11 @@ describe("FOCUSED_DECONSTRUCT_REGRESSION_CASES fixture integrity", () => {
|
|||||||
"juxtaposition-must-not-create-link",
|
"juxtaposition-must-not-create-link",
|
||||||
"tentative-observation-fidelity",
|
"tentative-observation-fidelity",
|
||||||
"genuine-dependency-frontier",
|
"genuine-dependency-frontier",
|
||||||
|
"structural-frontier-over-working-example-detail",
|
||||||
]) {
|
]) {
|
||||||
expect(ids).toContain(origId);
|
expect(ids).toContain(origId);
|
||||||
}
|
}
|
||||||
|
expect(ids).toContain("tentative-condition-must-not-map-to-specific-items");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("validateRegressionFixtureIntegrity reports zero errors", () => {
|
it("validateRegressionFixtureIntegrity reports zero errors", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user