Story: IAM/Refdata service boundary cleanup
Table of Contents
This page documents a story in Product backlog — inbox, carried unfinished from Sprint 24 at close. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
ores.iam.core crosses the service boundary in two known places,
reading/writing ores_refdata_parties_tbl directly instead of going
through ores.refdata. These are pre-existing violations noted in
the
three-level provisioning plan's "Known pre-existing violations".
Fix both so RLS enforcement and service ownership are clean.
Status
| Field | Value |
|---|---|
| State | BACKLOG |
| Carried from | Sprint 24 (unfinished at close) |
| Now | Not yet started. |
| Waiting on | Nothing. |
| Next | Break the story into tasks. |
| Last touched | 2026-07-11 |
Acceptance
bootstrap_handler.hpp's directores_refdata_parties_tblwrite is replaced with arefdata.v1.parties.saveNATS call.auth_handler.hpp's directores_refdata_parties_tblquery (auth_lookup_party) is replaced with arefdata.v1.parties.get-by-principalNATS call (endpoint added toores.refdataif missing).- RLS policies are verified still enforced end-to-end after the refactor.
ores.iam.core's CMake no longer depends on cross-schemaores_refdata_*table includes.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
Planned tasks (not yet scaffolded as task docs):
- Replace
bootstrap_handler.hpp's directores_refdata_parties_tblwrite with arefdata.v1.parties.saveNATS call. - Replace
auth_handler.hpp's directores_refdata_parties_tblquery with arefdata.v1.parties.get-by-principalNATS call, adding the endpoint toores.refdataif missing. - Verify RLS policies still enforced end-to-end after the refactor.
- Remove cross-schema table includes from
ores.iam.coreCMake deps.
Decisions
Out of scope
- Any refdata boundary violations outside
ores.iam.core(see DQ/Refdata service boundary cleanup for the DQ side).