Skip to content

OMNI-2 follow-up: live position feed + entity-resolution runtime binding for the portfolio/position binding #551

Description

@mdheller

Follow-up to #550 (OMNI-2, gbrg/governance/portfolio_position_binding.py), which shipped the typed contract + validator over fixtures binding a book of positions to instruments, issuer entities, and the OMNI-1 omnirisk hierarchy. Two runtime bindings were deliberately left out of scope (contract-only, audit-only) and are tracked here:

1. Live position feed

Replace the static positions fixtures with a feed from the book-of-record (ledger / custody), keyed to instrument identifiers. The binding contract and its conservation/phantom-node teeth stay as the gate; only the source of positions changes from fixture to feed.

2. Entity-resolution runtime binding

Resolve each instrument's issuer_ref against the live regis-entity-graph /resolve/entities endpoint (under entitlement), replacing the by-contract entities roster snapshot.

Constraint carried forward from #550: strictly read-only. Resolve/read only — no writes to the shared HellGraph or any live/shared state. (There was a prior incident with a probe writing to the shared HellGraph off a relayed message; do not repeat.) The runtime binding must go through the ER's opt-in read path only.

See gbrg/docs/ADR-005-portfolio-position-binding.md → Follow-ups.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions