report

open override fun report(propositions: List<Proposition>, title: String): Report

Aggregate propositions into a Report.

If the list is empty, returns Report.EMPTY with the given title immediately — all maps and lists in the result will be empty. Otherwise:

  • Groups by Proposition.status and Proposition.level, preserving encounter order within each group.

  • Selects the top topN (default 5) propositions by effective confidence descending, ties broken by id for a stable, reproducible order.

Return

A deterministic Report projection

Parameters

propositions

The propositions to aggregate (may be empty)

title

Title for the resulting report