Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/corpus-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Checkout pcs-core (canonical PCS schemas)
uses: actions/checkout@v4
with:
repository: SentinelOps-CI/pcs-core
path: pcs-core
continue-on-error: true

- uses: astral-sh/setup-uv@v4

- name: Install Python deps
Expand All @@ -25,6 +32,9 @@ jobs:
- name: Run pipeline tests
run: uv run --project pipeline pytest

- name: Run PCS contract tests
run: uv run --project pipeline pytest ../tests/pcs

- name: Run kernel tests (numeric witness)
run: uv run --project kernels/adsorption pytest

Expand Down
8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# =============================================================================
# Scientific Memory — ignore rules
# =============================================================================
# Note: `portal/.generated/corpus-export.json` is intentionally TRACKED so
# `pnpm --dir portal build` and portal CI succeed without a prior
# `just export-portal-data` step. Do not add `portal/.generated/` here unless
# you change CI to generate the bundle first.
# Note: `portal/.generated/corpus-export.json` and `portal/.generated/pcs-export.json`
# are intentionally TRACKED so `pnpm --dir portal build` and portal CI succeed
# without a prior export step. Do not add `portal/.generated/` here unless you
# change CI to generate those bundles first.

# -----------------------------------------------------------------------------
# Lean / Lake
Expand Down
55 changes: 54 additions & 1 deletion JUSTFILE
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,11 @@ repo-snapshot:
# Alias for SPEC 17 contributor flow (same as validate; no nested just)
validate-corpus: validate

portal:
# Install portal deps first (pnpm workspace; node_modules lives under portal/)
portal-install:
pnpm install

portal: portal-install
pnpm --dir portal dev

test:
Expand All @@ -61,6 +65,11 @@ test:
uv run --project kernels/adsorption pytest
bash tests/smoke/test_repo_bootstrap.sh

# PCS LabTrust import contract tests (also run via `just test`)
test-pcs:
@echo "==> test-pcs"
uv run --project pipeline pytest ../tests/pcs

benchmark:
uv run --project pipeline python -m sm_pipeline.cli benchmark

Expand Down Expand Up @@ -170,3 +179,47 @@ mcp-server:
# Derived metrics from corpus (SPEC 12): median intake time, dependency reuse, symbol conflict
metrics *ARGS:
uv run --project pipeline python -m sm_pipeline.cli metrics {{ARGS}}

# PCS LabTrust v0.1 (just uses positional args, not make-style VAR=value)
# just pcs-import-bundle tests/pcs/fixtures/valid_signed_science_claim_bundle.json
# just pcs-render-claim labtrust-qc-release-claim-001
pcs-import-bundle bundle:
bash scripts/sm_python.sh -m sm_pipeline.cli pcs-import-bundle --bundle "{{bundle}}"

pcs-validate-bundle bundle:
bash scripts/sm_python.sh -m sm_pipeline.cli pcs-validate-bundle --bundle "{{bundle}}"

pcs-render-claim claim_id:
bash scripts/sm_python.sh -m sm_pipeline.cli pcs-render-claim --claim-id "{{claim_id}}"

# Optional: uv sync --project pipeline --extra pcs (requires ../../pcs-core/python)
sync-pipeline-pcs:
@if [ -d "pcs-core/python" ] || [ -d "../pcs-core/python" ]; then \
uv sync --native-tls --project pipeline --extra pcs; \
else \
echo "pcs-core not found; using schema mirrors only (legacy import still works)"; \
uv sync --native-tls --project pipeline; \
fi

# Copy canonical schemas from pcs-core (sibling ../pcs-core or repo pcs-core/)
sync-pcs-schemas:
uv run python scripts/sync_pcs_schemas.py

pcs-import-labtrust-demo:
just pcs-import-bundle tests/pcs/fixtures/valid_signed_science_claim_bundle.json

pcs-import-pcs-core-demo:
just sync-pipeline-pcs
just pcs-import-bundle tests/pcs/fixtures/valid_signed_pcs_core_bundle.json

pcs-refresh-demo:
just pcs-import-bundle tests/pcs/fixtures/valid_signed_science_claim_bundle.json
just sync-pipeline-pcs
just pcs-import-bundle tests/pcs/fixtures/valid_signed_pcs_core_bundle.json
just pcs-render-claim labtrust-qc-release-claim-001
just pcs-render-claim claim-qc-release-v0.1

# Live pcs-core validation (requires: just sync-pipeline-pcs first)
test-pcs-integration:
just sync-pipeline-pcs
bash scripts/run_pcs_integration_tests.sh
6 changes: 6 additions & 0 deletions corpus/pcs/claims/claim-qc-release-v0.1/import_manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"claim_id": "claim-qc-release-v0.1",
"imported_from": "C:\\Users\\mateo\\scientific-memory\\tests\\pcs\\fixtures\\valid_signed_pcs_core_bundle.json",
"warnings": [],
"stale_artifacts": []
}
Loading
Loading