agent from Development (mutable drafts) to Production (immutable artifacts)
Project description
coreason-publisher
The Regulatory Gatekeeper & Artifact Packager
coreason-publisher is the "Final Gatekeeper" of the CoReason platform. It orchestrates the transition of an agent from a mutable "Development Experiment" to an immutable "Clinical-Grade Product."
It solves the "Big AI" problem in GxP environments. Agents are not just code; they are a complex dependency of Logic (Prompts), Evidence (Test Results), and Binary Assets (Fine-Tuned Weights). This package bundles these diverse assets into a verifiable package, manages the Git LFS (Large File Storage) pointers for heavy models, and enforces a strict Two-Stage Governance Workflow (Submission $\to$ SRB Approval) before any code reaches production.
It can be run as a CLI tool for local development or as a Centralized Service (REST API) for platform integration.
Functional Philosophy
The agent must implement the Package-Propose-Approve-Merge Loop:
- The "Thick" Artifact: A release is monolithic. It must contain the exact Prompts, Code, Test Data, and Model Weights used during validation. If one piece is missing, the release is void.
- Governance as Code: The Scientific Review Board (SRB) approval is a digital state transition, not an email. coreason-publisher blocks the Git merge until a cryptographically signed approval from an authorized SRB member is registered.
- Semantic Versioning (SemVer): The tool manages versioning (v1.0 $\to$ v1.1) automatically based on the nature of the change (Patch/Minor/Major), preventing human error.
- Reproducibility: The "Council of Models" (the specific LLM versions used for testing) must be locked in the release manifest to ensure the test results are reproducible 5 years from now.
Key Features
- Governance Service (API): Exposes REST endpoints (
/propose,/release) for Foundry/Assay integration. - Artifact Bundling: Aggregates code, data, and models into a single deployment folder.
- Git LFS Management: Automatically handles large files and model weights.
- Governance as Code: Blocks merges until a cryptographically signed SRB approval is received.
- Automated Versioning: Manages SemVer based on change types (Patch/Minor/Major).
- Reproducibility: Locks the specific "Council of Models" used for validation.
Documentation
For detailed documentation, please refer to the docs/ directory or the deployed MkDocs site:
Quick Start
Prerequisites
- Python 3.12+
- Poetry
- Git LFS
Installation
git clone https://github.com/CoReason-AI/coreason_publisher.git
cd coreason_publisher
poetry install
Server Mode
Run the service via Docker:
docker run -p 8000:8000 \
-e GITLAB_TOKEN="<token>" \
coreason-publisher:latest
CLI Usage
To propose a new release locally:
poetry run python -m coreason_publisher.main propose \
--project-id <PROJECT_ID> \
--draft-id <DRAFT_ID> \
--bump minor \
--user-id <USER_ID> \
--description "Release description"
For more details, see the Usage Guide.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file coreason_publisher-0.4.0.tar.gz.
File metadata
- Download URL: coreason_publisher-0.4.0.tar.gz
- Upload date:
- Size: 29.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e09c6997fb2d338efaf056af886624643248ac69079f2c88daa147959ff5883
|
|
| MD5 |
918ad795ac9f37a23cb77267737f4b9e
|
|
| BLAKE2b-256 |
f170a9daa1e13921f1873612e0760a6b852a67e80cbba80ae31998957e31e8fe
|
Provenance
The following attestation bundles were made for coreason_publisher-0.4.0.tar.gz:
Publisher:
publish.yml on CoReason-AI/coreason-publisher
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coreason_publisher-0.4.0.tar.gz -
Subject digest:
8e09c6997fb2d338efaf056af886624643248ac69079f2c88daa147959ff5883 - Sigstore transparency entry: 864907240
- Sigstore integration time:
-
Permalink:
CoReason-AI/coreason-publisher@ba075715fc549e86a10e51056f5f35f17d4a65d2 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/CoReason-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ba075715fc549e86a10e51056f5f35f17d4a65d2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file coreason_publisher-0.4.0-py3-none-any.whl.
File metadata
- Download URL: coreason_publisher-0.4.0-py3-none-any.whl
- Upload date:
- Size: 44.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f95e7351148c7ea98cb1b593369cd56fb7ec1886226161fa5f8dc58f36c555c
|
|
| MD5 |
23a677f0a15a4fb6e514f0a002ff81e0
|
|
| BLAKE2b-256 |
caae9aca9437e700571bb5d60a92b9cdf1ca22828d0d1851a909c83f0806d641
|
Provenance
The following attestation bundles were made for coreason_publisher-0.4.0-py3-none-any.whl:
Publisher:
publish.yml on CoReason-AI/coreason-publisher
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coreason_publisher-0.4.0-py3-none-any.whl -
Subject digest:
2f95e7351148c7ea98cb1b593369cd56fb7ec1886226161fa5f8dc58f36c555c - Sigstore transparency entry: 864907281
- Sigstore integration time:
-
Permalink:
CoReason-AI/coreason-publisher@ba075715fc549e86a10e51056f5f35f17d4a65d2 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/CoReason-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ba075715fc549e86a10e51056f5f35f17d4a65d2 -
Trigger Event:
release
-
Statement type: