Loading module
Resolving locale, route permissions, and workspace projection.
svc-tenders Data Ownership Map
This document assigns the durable data surfaces currently hosted by services/svc-tenders to their likely long-term domain owners.
Where ownership is ambiguous, it is marked explicitly.
Method
-
VERIFIED: direct code or migration evidence.
-
INFERRED: likely from code shape, but not fully proven across all consumers.
-
UNVERIFIED: not proven strongly enough.
-
REAL: durable write/read surface exists.
-
MIXED: mixed with legacy or compatibility data paths.
-
UI-FIRST: not durably backend-owned from the user-facing path.
-
SHELL: structure exists but is lightly used.
READ 2026-03-28T23:42:21.903Z
READ 2026-03-29T04:52:41.869Z
CORE STRICT SAFE DELETE AFTER RERUN REPORT
PUBLIC | DRAFT | v1.0.0
READ 2026-03-29T03:13:33.020Z
MISSING: not present as a real backend data surface.
Tender domain data
Auction domain data
| Table / model / entity | File path(s) | Domain owner verdict | External consumers | Extraction difficulty | Migration risk | Confidence / state | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| auctions | services/svc-tenders/migrations/0002_auctions.sql; repository auction queries | Future auctions domain | services/api auctions routes; web portal auction readers | HIGH | HIGH | VERIFIED / MIXED | Canonical durable row exists, but public read path is mixed with gateway/web compatibility |
| auction_declarations | services/svc-tenders/migrations/0032_auction_declaration_v1.sql | Future auctions domain | admin/internal auction declaration workflow | HIGH | HIGH | VERIFIED / REAL | Canonical auction declaration payload store |
| auction_declaration_events | same migration | Future auctions domain | admin/internal declaration workflow | MEDIUM | MEDIUM | VERIFIED / REAL | Declaration audit trail |
| auction_declaration_evidence | services/svc-tenders/migrations/0034_auction_declaration_evidence.sql | Future auctions domain | admin evidence routes | MEDIUM | MEDIUM | VERIFIED / REAL | Auction-specific evidence attachments |
| output_allocations | services/svc-tenders/migrations/0035_output_allocations_v1.sql | UNVERIFIED: future auctions vs financial/settlement/shared registry | auction admin routes and settlement-adjacent workflows | HIGH | HIGH | VERIFIED / REAL | This is the highest-risk ownership ambiguity in current durable auction data |
| entitlement_id columns on auctions and linked declarations | migrations 0047_output_allocations_linked_auction.sql, 0048_add_entitlement_ids.sql | likely future auctions domain with financial/backbone touchpoint | web detail/read, settlement linkage | HIGH | HIGH | INFERRED / REAL | Strong cross-domain settlement coupling |
Vacancy / worker domain data
| Table / model / entity | File path(s) | Domain owner verdict | External consumers | Extraction difficulty | Migration risk | Confidence / state | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| vacancies | services/svc-tenders/migrations/0005_vacancies_accommodations.sql; legacy repository queries | Legacy future workstay platform residue | public vacancy list/detail | MEDIUM | MEDIUM | VERIFIED / MIXED | Still used as fallback when projection rows do not exist |
| vacancy_postings | services/svc-tenders/migrations/0032_vacancy_write_model.sql; vacancy command handlers | Future accommodation/worker/travel platform | owner/employer vacancy management; public vacancy reads through projection | MEDIUM | MEDIUM | VERIFIED / REAL | Real write model |
| vacancy_applications | same migration | Future accommodation/worker/travel platform | applicant and owner review routes | MEDIUM | MEDIUM | VERIFIED / REAL | Real application write model |
| vacancy_postings_view | same migration; vacancy projections | Future accommodation/worker/travel platform | public list reads, owner lookup fallback | MEDIUM | MEDIUM | VERIFIED / REAL | Projection table, not a SQL view despite name |
| vacancy_posting_detail_view | same migration; vacancy projections/read model | Future accommodation/worker/travel platform | public detail reads | MEDIUM | MEDIUM | VERIFIED / REAL | Projection table mapped back into legacy summary shape |
| my_vacancy_applications_view | same migration; services/svc-tenders/src/vacancy/projections.ts | Future accommodation/worker/travel platform | applicant “my applications” route | MEDIUM | LOW | VERIFIED / REAL | Projection table |
| vacancy_applications_by_posting_view | same migration; vacancy projections | Future accommodation/worker/travel platform | owner posting-level application reads | MEDIUM | LOW | VERIFIED / REAL | Projection table |
Accommodation / stay domain data
| Table / model / entity | File path(s) | Domain owner verdict | External consumers | Extraction difficulty | Migration risk | Confidence / state | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| accommodations | services/svc-tenders/migrations/0005_vacancies_accommodations.sql; repository public list/detail queries | Legacy future workstay platform residue | public accommodation list/detail/quote | MEDIUM | MEDIUM | VERIFIED / MIXED | Public discovery still reads this table, not the newer listing model |
| accommodation_listings | services/svc-tenders/migrations/0041_accommodation_write_model.sql; accommodation command handlers | Future accommodation/worker/travel platform | owner listing editor/manage flows | MEDIUM | MEDIUM | VERIFIED / REAL | Real write model |
| accommodation_bookings | same migration | Future accommodation/worker/travel platform | booking request/confirm/reject/cancel flows | MEDIUM | MEDIUM | VERIFIED / REAL | Real booking write model |
| accommodation_listings_view | same migration; services/svc-tenders/src/accommodation/projections.ts | Future accommodation/worker/travel platform | owner listing workspace; read repository | MEDIUM | LOW | VERIFIED / REAL | Projection table, despite _view suffix |
| accommodation_listing_detail_view | same migration; accommodation projections/read model | Future accommodation/worker/travel platform | listing detail reads in owner/private path | MEDIUM | LOW | VERIFIED / REAL | Real projection table |
| my_accommodation_bookings_view | same migration; accommodation projections/read model | Future accommodation/worker/travel platform | should back /my-accommodation-bookings, but route is not fully wired | MEDIUM | LOW | VERIFIED / MIXED | Data exists, route truth is partial |
| accommodation_bookings_by_listing_view | same migration; accommodation projections/read model | Future accommodation/worker/travel platform | should back listing booking reads, but route is not fully wired | MEDIUM | LOW | VERIFIED / MIXED | Data exists, route truth is partial |
ICPI data
| Table / model / entity | File path(s) | Domain owner verdict | External consumers | Extraction difficulty | Migration risk | Confidence / state | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| icpi_price_points | services/svc-icpi/migrations/0007_icpi_price_points.sql; extracted ICPI repository methods | Future ICPI platform | services/api ICPI proxy; web ICPI portal page | LOW | LOW | VERIFIED / REAL | Now canonically owned by extracted ICPI runtime |
Butkhuzi data
| Table / model / entity | File path(s) | Domain owner verdict | External consumers | Extraction difficulty | Migration risk | Confidence / state | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| butkhuzi_norms | services/svc-tenders/migrations/0009_butkhuzi_norms.sql plus 0010, 0011; repository methods | Future Butkhuzi platform | services/api Butkhuzi proxy; KES/admin web consumers | LOW | LOW | VERIFIED / REAL | Single-table core, extended with coefficients and i18n JSON |
| butkhuzi_chunks | services/svc-tenders/migrations/0012_butkhuzi_chunks.sql; repository search/rebuild methods | Future Butkhuzi platform | search/suggest/rebuild endpoints; KES-facing search | MEDIUM | LOW | VERIFIED / REAL | Chunk/search substrate is real but still KES-adjacent in product use |
Shared Kvary backbone / eventing data
| Table / model / entity | File path(s) | Domain owner verdict | External consumers | Extraction difficulty | Migration risk | Confidence / state | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| kes_orchestrator_cases | services/svc-tenders/migrations/0024_kes_orchestrator.sql; repository KES methods | Shared Kvary execution backbone | KES routes, KES UI, Kafka/event flows | HIGH | HIGH | VERIFIED / REAL | Not tender-only in product meaning |
| kes_orchestrator_tasks | same migration | Shared Kvary execution backbone | KES case task flows | HIGH | MEDIUM | VERIFIED / REAL | Operational orchestration data |
| kes_orchestrator_inspections | same migration | Shared Kvary execution backbone | KES inspections | HIGH | MEDIUM | VERIFIED / REAL | Operational orchestration data |
| kes_orchestrator_payments | same migration | Shared Kvary execution backbone | KES payment approval/settlement flows | HIGH | HIGH | VERIFIED / REAL | Closely tied to workflow and hash-chain event append |
| kes_orchestrator_events | same migration | Shared Kvary execution backbone | outbox trigger, KES event history, consumers | HIGH | HIGH | VERIFIED / REAL | Feeds kes_outbox_events |
| kes_orchestrator_process_maps | services/svc-tenders/migrations/0025_kes_orchestrator_process_map.sql | Shared Kvary execution/backbone configuration | KES control-plane routes | MEDIUM | MEDIUM | VERIFIED / REAL | Runtime orchestration config, not tender domain |
| kes_outbox_events | services/svc-tenders/migrations/0027_kes_outbox.sql | Shared event backbone | Kafka relay / replay / monitoring | HIGH | HIGH | VERIFIED / REAL | Canonical outbox for KES + tender streams |
| kafka_consumer_idempotency | services/svc-tenders/migrations/0026_kafka_consumer_idempotency.sql | Shared event backbone | Kafka consumers | MEDIUM | LOW | VERIFIED / REAL | Cross-stream idempotency, not business-domain data |
| kes_domain_event_projection_events | services/svc-tenders/migrations/0029_kes_domain_event_projection.sql | Shared event backbone | KES domain event consumer | MEDIUM | LOW | VERIFIED / REAL | Projection event log |
| kes_domain_event_projection_counters | same migration | Shared event backbone | KES dashboards/control-plane | MEDIUM | LOW | VERIFIED / REAL | Derived projection state |
| kes_domain_event_projection_aggregates | same migration | Shared event backbone | KES dashboards/control-plane | MEDIUM | LOW | VERIFIED / REAL | Derived projection state |
Legacy / temporary / ambiguous data
| Table / model / entity | File path(s) | Domain owner verdict | External consumers | Extraction difficulty | Migration risk | Confidence / state | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| outbox_events | services/svc-tenders/migrations/0032_vacancy_write_model.sql; inserts in vacancy/accommodation command handlers | likely future workstay platform internal event log, not shared backbone | vacancy/accommodation in-process projection only | MEDIUM | MEDIUM | VERIFIED / MIXED | Name suggests generic backbone, but actual use is local and partial |
| giant mixed repository layer | services/svc-tenders/src/repository.ts | temporary hosting location, not a domain owner | nearly every API surface | HIGH | HIGH | VERIFIED / MIXED | One file currently spans tender, auction, vacancy, accommodation, ICPI, Butkhuzi, and KES persistence |
Data ownership conclusions
VERIFIED: tender and KES tables are the most obviously canonical, durable, and internal to current svc-tenders reality.
VERIFIED: ICPI and Butkhuzi are already data-distinct enough to separate with relatively low schema risk.
VERIFIED: vacancy and accommodation have real new write models, but public discovery still depends on older compatibility tables and fallback catalogs.
VERIFIED: auctions are durable on the declaration/admin side, but the public user journey still has non-durable bidder mutation gaps outside this schema.
VERIFIED: outbox_events is not yet a trustworthy shared event backbone; it is a local subdomain projection aid.