Scientific Memory is the human-facing evidence layer for PCS releases. It imports signed claim bundles and release manifests from pcs-core, validates the release chain, stores a queryable corpus, renders claims in the portal, and publishes benchmark output for pcs-bench.
| Guide | When to read |
|---|---|
| Import and releases | Import bundles or full releases, refresh fixtures, query and compare claims |
| Benchmark producer | Produce pcs_bench_ingest.v0.json for external consumers |
| Bench ingest contract | Schema fields, artifacts, typed failures, validation flags |
| Portal rendering | Claim page sections, workflow profiles, formal trust display |
Sibling repositories (recommended):
- pcs-core at
../pcs-core(schemas and canonicalexamples/labtrust-release/) - pcs-bench on
PATH(pip install -e ../pcs-bench) for producer validation
uv sync --project pipeline --extra pcs
pip install -e ../pcs-benchSync fixtures from pcs-core, import the LabTrust release, run tests and portal contracts:
just refresh-pcs-release
just pcs-rc-gate # Git Bash / Linux / macOS
just pcs-rc-gate-py # Windows (same checks, no bash)Import and open the canonical claim:
just pcs-import-release
just pcs-render-claim claim-pcs-qc-release-v0.1Portal route: /pcs/claims/claim-pcs-qc-release-v0.1.
When you have only signed_science_claim_bundle.json (no release manifest):
just pcs-import-bundle tests/pcs/fixtures/labtrust-release/signed_science_claim_bundle.json --strict --release-mode
just pcs-render-claim claim-pcs-qc-release-v0.1Prefer pcs-import-release when ReleaseManifest.v0.json and ReleaseChainValidationResult.v0.json are available.
make pcs-bench-producer # LabTrust QC suite
make pcs-bench-producer-external # 5-case external reviewer packetPrimary artifact: benchmark_runs/<suite>/pcs_bench_ingest.v0.json.
One-shot prepare (sync, corpus, verify):
just prepare-pcs-release # Git Bash / Linux / macOS
just prepare-pcs-release-py # WindowsOr step by step:
| Step | Command | What it checks |
|---|---|---|
| 1 | just refresh-pcs-release |
Schemas, release fixtures, benchmark expectations (includes bootstrap) |
| 1b | just refresh-pcs-corpus-all |
Import all release trains into corpus/pcs/ and portal export |
| 2 | just pcs-rc-gate or just pcs-rc-gate-py |
Drift, imports, tests/pcs, portal contracts, external-reviewer producer |
| 3 | make pcs-bench-producer |
LabTrust QC suite ingest (release-grade) |
| 4 | make pcs-bench-producer-external |
External reviewer packet ingest (release-grade) |
| 5 | python scripts/package_pcs_bench_bundle.py benchmark_runs/external_reviewer_minimal --validate-pcs-core-output ../pcs-core --release-grade |
Upload-ready bundle |
Optional full rendering suite (10 cases):
just pcs-benchmark-rendering-all-pcs-core OUT=benchmark_runs/pcs_rendering
just validate-pcs-benchmark-output-pcs-core benchmark_runs/pcs_rendering ../pcs-coreAfter import:
corpus/pcs/
claims_index.json
claims/<claim_id>/
signed_bundle.json
read_model.json
import_manifest.json
release_manifest.json
release_chain_validation.json
artifact_registry.json
handoff_manifests.json
workflow_profile.json
lineage.json
scientific_memory_import_report.json
portal/.generated/pcs-export.json
- corpus-validation — PCS contract tests, release gate, producer when pcs-core is present
- pcs-bench-producer — Both producer targets on every push to matching paths
benchmarks/rendering/— Case definitions and run commandsbenchmarks/pcs_bench/— Suite registrybenchmarks/rendering/external_reviewer_minimal/— Minimal 5-case packet
| Repository | Role |
|---|---|
| pcs-core | Canonical schemas, release manifests, workflow profiles |
| pcs-bench | Ingest validation and benchmark orchestration |
| Provability Fabric | Signs bundles; verification results in imports |
| LabTrust-Gym | Demo traces and runtime receipts (reference flow in import guide) |