Skip to content

Document + Reporting Cross-Cutting Verified Anchors

Scope

This index lists the verified files used by the cross-cutting chapter:

Verified anchors

Document-facing boundary

  • NGB.Application.Abstractions/Services/IDocumentService.cs
  • NGB.Application.Abstractions/Services/DocumentActions.cs
  • NGB.Runtime/Documents/DocumentService.cs
  • NGB.Runtime/Documents/Actions/DocumentActionQueryService.cs
  • NGB.Runtime/Documents/Actions/DocumentActionDispatcher.cs
  • NGB.Runtime/Documents/Derivations/IDocumentDerivationService.cs

Document persistence boundary

  • NGB.Persistence/Documents/IDocumentRepository.cs
  • NGB.Persistence/Documents/Universal/IDocumentReader.cs
  • NGB.Persistence/Documents/Universal/IDocumentWriter.cs
  • NGB.Persistence/Documents/Universal/IDocumentPartsReader.cs
  • NGB.Persistence/Documents/Universal/IDocumentPartsWriter.cs

Reporting runtime boundary

  • NGB.Runtime/Reporting/ReportEngine.cs
  • NGB.Runtime/Reporting/ReportExecutionPlanner.cs
  • NGB.Runtime/Reporting/ReportSheetBuilder.cs
  • NGB.Runtime/Reporting/ReportDefinitionRuntimeModel.cs
  • NGB.Runtime/Reporting/ReportDatasetDefinition.cs
  • NGB.Runtime/Reporting/ReportDatasetFieldDefinition.cs

PostgreSQL reporting execution boundary

  • NGB.PostgreSql/Reporting/IPostgresReportDatasetSource.cs
  • NGB.PostgreSql/Reporting/PostgresReportDatasetCatalog.cs
  • NGB.PostgreSql/Reporting/PostgresReportSqlBuilder.cs
  • NGB.PostgreSql/Reporting/PostgresReportDatasetExecutor.cs

Why these anchors matter

This set is enough to verify the following claims without introducing speculative file paths:

  • generic document CRUD/graph/effects and interactive Document Actions are separate application boundaries;
  • document lifecycle / graph / effects / derivation remain document-facing surfaces without putting action flags into the effects DTO;
  • the reporting runtime explicitly enriches document-facing fields when reports include interactive document display columns;
  • PostgreSQL reporting execution injects support ids that make that enrichment possible;
  • final report rendering happens after planning and enrichment, not inside raw SQL execution.

What is intentionally out of scope

This anchor set does not prove every downstream UI detail or every API route. It is intentionally focused on the runtime and persistence boundary where document-facing and report-facing execution meet.

For adjacent chapters, see:

Released under the Apache License 2.0.