Dependency Governance¶
Dependencies must strengthen judgment without transferring another package's authority into Intelligence. The installed graph is intentionally one-way: Foundation, Core, and Knowledge provide contracts or evidence; Intelligence produces decision artifacts for downstream consequence review.
flowchart LR
P["Pydantic"] --> I["Intelligence"]
N["NumPy"] --> I
G["Loguru"] --> I
F["Foundation"] --> I
C["Core"] --> I
K["Knowledge"] --> I
I -. "must not import" .-> X["Runtime"]
I -. "must not import" .-> L["Lab"]
Current Dependency Contract¶
| Dependency | Permitted role | Boundary to protect |
|---|---|---|
bijux-proteomics-foundation |
shared identifiers, provenance, stable contracts | do not fork shared meanings locally |
bijux-proteomics-core |
scientific result types and computations used by judgment | do not make Intelligence an alternate scientific engine |
bijux-proteomics-knowledge |
claims, evidence, citations, lineage, contradiction records | do not mutate custody or redefine evidence truth |
| Pydantic | validation and serialization of decision artifacts | model shape must not substitute for semantic ownership |
| NumPy | bounded numeric evaluation and ranking support | record orientation, missingness, tolerance, and deterministic behavior |
| Loguru | observable diagnostics | logs are not retained decision evidence |
Runtime and Lab are deliberately absent. Importing either would let decision policy control execution or consequence recording and would create a cycle in the product flow.
Admission Test¶
A dependency is acceptable only when:
- Its role maps to an owned decision capability.
- It does not introduce a second representation of an upstream contract.
- Its optional or failure behavior is explicit at the public boundary.
- Numeric behavior is deterministic or its variability is captured.
- It does not pull Runtime, Lab, network access, or storage policy into the recommendation layer.
- Focused tests prove the seam and dependency checks prove the graph.
Prefer a narrow typed input over importing a neighbor's application service. Prefer a recorded evidence reference over reaching into Knowledge storage. Prefer returning a decision artifact over invoking a downstream action.
Rejection Signals¶
Reject or redesign a dependency that requires hidden global state, changes ranking through an unrecorded default, owns evidence persistence, starts work, records laboratory outcomes, or duplicates a model already owned upstream. Convenience is not sufficient justification for crossing an authority boundary.