Expand description
Reconciliation verb HTTP surface — hand-authored (NOT generated).
Three routes over the ReconcileWriteService pool verbs:
POST /accounting/reconcile— create (or grow) a debit↔credit edgePOST /accounting/unreconcile/:partial_id— the side-effecting unlink (reverses generated moves, repairs flags/groups)GET /accounting/reconciliation-groups/:line_id— the matching-group read
The graph tables themselves expose NO CRUD routes anywhere (enabled: false +
guarded_routes mounts none) — this file IS the only write surface. Hosts mount the
auth-protected variants; the accountant role gate on unlink is a HOST concern
(module-level default-deny is the composition’s job — see the ADR).
This file is user-owned (see metaphor.codegen.yaml) and survives regeneration.
Tenancy (ADR-0029): the company_id each request carries is the legacy twin — the wire
shapes keep it so unstripped callers compile and run unchanged; the module keys no
statement on it and the composing service’s tenancy decorator scopes every statement.
Structs§
- Company
Query - Matching
Group Dto - Reconcile
Edge AckDto - Reconcile
Error Dto - Reconcile
Line Dto - Reconcile
Pair Request Dto - Residual
Dto - Unreconcile
Body
Functions§
- create_
reconcile_ verb_ routes - The reconciliation verb routes (unauthenticated variant — for tests and trusted
internal hosts; hosts with an auth middleware wrap these handlers with their own
layers and principal-derived
actor).