ntro.ingest for shared outcome contracts and tenant Postgres writes into the ingest schema — see also Subledgers for ledgers.* and Workflows overview for orchestration.
Package layout
IngestOutcome is re-exported from ntro.workflow next to NtroWorkflow so workflow code can depend on a single import surface.
User feedback from workflows
NtroWorkflow.set_user_feedback(kind=..., payload=...) attaches a workflow-agnostic envelope to the current pending action:
- Top-level
feedbackon the pending action display_hint.config.feedbackfor Tenant UI components (e.g.FILE_UPLOADreadskind: "ingest"and shows counts / message)
await_signal_with_action merges the latest stored feedback into the merged action so operators keep seeing progress.
Example: attach ingest feedback
Data lifecycle (reference)
- Unstructured — raw files / bytes (
ingest.submitted_documents). - Loosely structured —
ntro.ingestoutcomes +ingest.submitted_records/ events. - Structured + typed —
ntro.subledger/ledgers.*. - External GL shape —
ntro.capabilities.glposting contracts when applicable.
Related
Workflows overview
NtroWorkflow, @runbook.step, and pending-action wiring.Subledgers
Domain rows after ingest.