feat(confidence-engine): v0.59b-c — report freshness on Report page + Portfolio

v0.59b — Report page freshness UI:
- Shows Current / Update available beside the generated report
- Manual Update report action with duplicate prevention guard
- Explanation copy about investigation changes since generation
- Persists generatedFromRevision during update flow

v0.59c — Portfolio Report freshness state:
- Surfaces Current / Update available alongside existing View report link
- Derives solely from revision provenance (zero model calls)
- No Update report action on Portfolio (manual update owned by Report page)
- Neither state shown when no Report exists
- Updated makeSnapshot with investigationRevision for realistic test data
This commit is contained in:
2026-09-03 14:41:02 +01:00
parent 99b3d26817
commit f06138de32
6 changed files with 649 additions and 8 deletions
@@ -56,6 +56,7 @@ function makeSnapshot(overrides = {}) {
updatedAt: new Date().toISOString(),
schemaVersion: 1,
investigationReport: null,
investigationRevision: 0,
findings: [],
...overrides,
};
@@ -113,6 +114,7 @@ describe("Portfolio page (pre-confirmation v0.55/v0.56)", () => {
investigationReport: {
understanding: "We understand complaints rose.",
hasPlausibleInterpretations: false,
generatedFromRevision: 0,
},
}),
);
@@ -161,6 +163,7 @@ describe("Portfolio page (pre-confirmation v0.55/v0.56)", () => {
investigationReport: {
understanding: "We understand complaints rose.",
hasPlausibleInterpretations: false,
generatedFromRevision: 0,
},
}),
);