Skip to content

Cross-package ownership

Package boundaries preserve the meaning of scientific artifacts and prevent execution, evidence, policy, or laboratory concerns from becoming hidden side effects of core analysis. Ownership is defined by the package that specifies and validates a contract, not by the package that happens to consume it last.

Dependency directions

The governed import policy permits these outbound dependencies:

Package May import from
bijux-proteomics-foundation no product package
bijux-proteomics-core foundation, runtime, knowledge, intelligence, lab
bijux-proteomics-runtime foundation, core, knowledge, intelligence, lab
bijux-proteomics-knowledge foundation, core
bijux-proteomics-intelligence foundation, core, runtime, knowledge, lab
bijux-proteomics-lab foundation, core, knowledge, intelligence
agentic-proteins core, runtime
bijux-proteomics-dev all six canonical product packages

These are maximum allowed edges, not a recommendation to use every edge. Imports should target the narrowest public contract. Alias distributions may depend only on the canonical owner they expose and, where needed, foundation alias primitives.

flowchart BT
    F[foundation]
    C[core]
    R[runtime]
    K[knowledge]
    I[intelligence]
    L[lab]
    A[agentic-proteins]
    D[dev tooling]

    C --> F
    K --> F
    K --> C
    R --> F
    R --> C
    I --> F
    I --> C
    I --> K
    L --> F
    L --> C
    L --> K
    L --> I
    A --> C
    A --> R
    D --> C
    D --> R
    D --> K
    D --> I
    D --> L

The diagram shows the essential dependency spine. The policy also permits reviewed cross-layer seams used to assemble benchmark and release evidence. Those seams must not move contract ownership to the consumer.

Artifact ownership

Artifact class Owner Representative contents Primary consumers
foundation-contract foundation DocumentSchema, JsonModel, ProgramId, stable fingerprints every canonical product package
benchmark-asset-bundle core manifest, fixture corpus, challenge assets, workflow request, acceptance criteria runtime, knowledge, intelligence, lab
runtime-run-bundle runtime run manifest, execution decisions, checkpoint state, artifact ledger, review outputs knowledge, intelligence, lab
scientific-review-bundle knowledge grounded claims, citations, contexts, contradiction ledger, evidence decision brief intelligence, lab
recommendation-record intelligence candidate ranking, policy, sensitivity, counterfactuals, stance, refusal lab
lab-consequence-record lab assay plan, readiness result, handoff, observation, outcome dossier knowledge, intelligence

An artifact may include references to another owner's objects. It must not silently duplicate their schema or reinterpret their fields. Cross-process documents use foundation serialization so identity and fingerprints remain stable.

Choosing the owner

  • Put a type in foundation only when its meaning is genuinely shared and independent of proteomics policy.
  • Put scientific models and calculations in core, including adapters that translate external proteomics formats into canonical scientific contracts.
  • Put run lifecycle, provider selection, persistence, replay, and operator interfaces in runtime.
  • Put sources, citations, evidence context, reconciliation, and contradiction state in knowledge.
  • Put rankings, thresholds for progression, scenarios, and recommendation policy in intelligence.
  • Put assay feasibility, readiness, scheduling, physical handoff, and observed follow-up in lab.
  • Put historical forwarding only in agentic-proteins; reusable behavior belongs to its canonical owner.
  • Put tests of repository health, generated governance, release checks, and documentation tooling in bijux-proteomics-dev.

Enforcement

The source of truth is configs/package-governance/package-dependency-policy.toml, generated from the repository product-shape model. Architecture checks compare declared package dependencies and imports with that policy. Public API locks and schema artifacts separately detect accidental interface drift.

For the end-to-end meaning of these boundaries, continue with product architecture. For release and validation commands, use the maintainer handbook.