Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .github/workflows/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

- `gates.yml` is the only workflow. Add a job only when it can run on a hosted
runner; live Docker and browser proofs stay local.
- Keep the `gnn conformance (pinned v5.0.3)` job name. It is the required-check
- Keep the `gnn conformance (pinned)` job name. It is the required-check
identity, and the pin must come from `gnn/upstream.json`.
- The conformance lane must fail, never skip, when the pinned fetch or parser
provisioning fails.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
- `gates` — locked sync, Ruff check/format, mypy, curriculum and artifact
builds, the provenance/scholarship/manuscript validators, and the test suite
with the 90% coverage floor.
- `gnn conformance (pinned v5.0.3)` — fetches the commit in
- `gnn conformance (pinned)` — fetches the commit in
[`../../gnn/upstream.json`](../../gnn/upstream.json), provisions its own
Python 3.12 environment, validates the specification, and runs
`tests/test_gnn_conformance.py`.
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/gates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
# runtime; the strict gate never skips, and tests/test_gnn_conformance.py
# fails (never skips) when the explicitly selected GNN_ROOT checkout is
# missing or unusable.
name: gnn conformance (pinned v5.0.3)
name: gnn conformance (pinned)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand Down Expand Up @@ -102,3 +102,10 @@ jobs:
env:
GNN_ROOT: ${{ runner.temp }}/gnn
run: uv run pytest tests/test_gnn_conformance.py -q

- name: Report the resolved GNN version
run: |
PIN=gnn/upstream.json
VERSION=$(python3 -c "import json;print(json.load(open('$PIN'))['tag'].removeprefix('v'))")
test -n "$VERSION"
echo "gnn-version=${VERSION}" >> "$GITHUB_STEP_SUMMARY"
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ All logic lives in `src/`; `scripts/` only coordinate I/O. Layers, bottom-up:
specification and `src/kernels/active_inference.py` in step: changing either means
updating `src/gnn_conformance.py` and `tests/test_gnn_conformance.py` in the same
change. CI runs `scripts/validate_gnn_spec.py` and the conformance tests in the
`gnn conformance (pinned v5.0.3)` job, which fetches the pinned revision from the
`gnn conformance (pinned)` job, which fetches the pinned revision from the
public upstream repository and provisions its interpreter, so the pin is re-checked on
every push and pull request. GNN's [downstream adoption
guide](https://github.com/ActiveInferenceInstitute/Generalized_Notation_Notation/blob/main/docs/gnn/integration/downstream_adoption.md)
Expand Down
2 changes: 1 addition & 1 deletion gnn/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ specification of the discrete-agent kernel's generative model.
`scripts/validate_gnn_spec.py` extracts that pinned commit with `git archive`
and validates the specification. `tests/test_gnn_conformance.py` checks the
specification against [`../src/kernels/active_inference.py`](../src/kernels/active_inference.py).
CI runs both in `gnn conformance (pinned v5.0.3)`.
CI runs both in `gnn conformance (pinned)`.
Loading