Commit c78a13b9 authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

docs: update FM implementation status

parent ab88e14f
Loading
Loading
Loading
Loading
+4 −4
Changes for fm/persistence-model.md: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -294,11 +294,11 @@ Tracks the FM rewrite (branch `feature/r2-fastapi-rewrite`). Update as tables la

| Table | Schema in code | Repo adapter | Notes |
|---|---|---|---|
| `partner_ops` | Partial (id, mcc_mnc, oauth2_client_id, status) | `PostgresPartnerRepo.find_by_oauth2_client_id` | Outbound credential + SLA columns pending |
| `federation_agreements` | Not yet | — | Needed for deploy flow (ADR-0018 mapping) |
| `routing_rules` | Not yet | — | Outbound federation (Phase 2/3) |
| `partner_ops` | Partial (id, mcc_mnc, oauth2_client_id, base_url, our_client_id, our_client_secret_ref, token_endpoint, status) | `PostgresPartnerRepo.find_by_oauth2_client_id`, `.find_by_id` | `name`, `supported_apis`, `sla_config`, `last_heartbeat_at`, `partner_ca_cert_path` pending |
| `federation_agreements` | Full | `PostgresAgreementRepo.find_active_for_partner` (prefers the agreement valid now, else newest) | Used by inbound authorizer and outbound hand-off (`AgreementChecker`) |
| `routing_rules` | Full (incl. `UNIQUE(identifier_type, value_range, priority)`, partial active index) | `PostgresRoutingRuleRepo.list_active` | Matching lives in `domain/routing.py` (`RoutingResolver`): most specific match wins, `priority` breaks ties |
| `shared_resource_catalogues` | Not yet | — | Catalogue sync (Phase 2) |
| `federation_transactions` | Not yet | — | Needed before first `command.srm.*` publish |
| `federation_transactions` | Full (incl. partial unique index on `federation_operation_id`) | `PostgresTransactionRepo.add`, `.record_outcome` | Written `pending` before the outbound EWBI call by `POST /internal/federation/outbound`; inbound `command.srm.*` path not wired yet |

## Revision History