feat(FN-3860): add cadence resolution seam (+7 more)
Commits merged: - feat(FN-3860): complete Step 8 — documentation and delivery - test(FN-3860): complete Step 7 — add scaffold seam coverage - feat(FN-3860): complete Step 6 — re-export scaffold seams - feat(FN-3860): complete Step 5 — add pipeline orchestrator seam - feat(FN-3860): complete Step 4 — add in-memory runs store seam - feat(FN-3860): complete Step 3 — add aggregation seam - feat(FN-3860): complete Step 2 — add cadence resolution seam - feat(FN-3846): short-circuit phantom merges for already-landed branches Files changed: .changeset/fn-3860-reports-scaffold-files.md | 5 ++ plugins/fusion-plugin-reports/README.md | 9 +++ .../src/__tests__/scaffold.test.ts | 60 +++++++++++++++++++ plugins/fusion-plugin-reports/src/aggregation.ts | 23 ++++++++ plugins/fusion-plugin-reports/src/cadence.ts | 23 ++++++++ plugins/fusion-plugin-reports/src/index.ts | 4 ++ plugins/fusion-plugin-reports/src/pipeline.ts | 58 ++++++++++++++++++ plugins/fusion-plugin-reports/src/runs-store.ts | 69 ++++++++++++++++++++++ 8 files changed, 251 insertions(+) Fusion-Task-Id: FN-3860
This commit is contained in:
23
plugins/fusion-plugin-reports/src/aggregation.ts
Normal file
23
plugins/fusion-plugin-reports/src/aggregation.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* INTERIM SEAM — replaced by FN-3780's real aggregation orchestrator.
|
||||
* Keep the type surface stable so FN-3780 can swap the implementation without renaming exports.
|
||||
*/
|
||||
import type { ReportsCadence } from "./cadence.js";
|
||||
|
||||
export interface ReportAggregationInput {
|
||||
runId: string;
|
||||
cadence: ReportsCadence;
|
||||
settings: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface ReportAggregationOutput {
|
||||
summary: string;
|
||||
sections: Array<{ id: string; title: string; body: string }>;
|
||||
}
|
||||
|
||||
export type ReportsAggregator = (input: ReportAggregationInput) => Promise<ReportAggregationOutput>;
|
||||
|
||||
export const aggregateReportData: ReportsAggregator = async ({ cadence }) => ({
|
||||
summary: `Aggregation scaffold not yet implemented for ${cadence} reports.`,
|
||||
sections: [],
|
||||
});
|
||||
Reference in New Issue
Block a user