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
36 changes: 33 additions & 3 deletions .github/workflows/pr-title-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ on:

permissions:
contents: read
pull-requests: read

concurrency:
group: pr-title-lint-${{ github.event.pull_request.number }}
Expand All @@ -40,12 +41,41 @@ jobs:
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"
- name: Collect PR commit messages
# This repo squashes with squash_merge_commit_message=COMMIT_MESSAGES,
# so these messages -- not the PR body -- become the squash commit body
# release-please reads for BREAKING CHANGE footers (#908). Written to a
# file rather than an argument: the messages are untrusted PR data and
# must never be shell-interpolated.
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
gh api --paginate \
"repos/${GITHUB_REPOSITORY}/pulls/${PR_NUMBER}/commits" \
--jq '.[].commit.message' > "${RUNNER_TEMP}/pr-commit-messages.txt"

- name: Validate PR title
# The checker reads the title from $GITHUB_EVENT_PATH (set automatically
# by the runner). It is stdlib-only, so no dependency install is needed.
# The checker reads the title and body from $GITHUB_EVENT_PATH (set
# automatically by the runner). It is stdlib-only, so no dependency
# install is needed. Body and commit messages are read only for
# `BREAKING CHANGE:` footers, which release-please copies into
# CHANGELOG.md along with the squashed title (#908); prose elsewhere is
# not inspected.
run: |
if [ ! -f tools/check_pr_title.py ]; then
echo "::notice::tools/check_pr_title.py is not on the base ref yet; skipping (bootstrap for the PR that introduces the guard). Enforcement is active for every subsequent PR."
exit 0
fi
python tools/check_pr_title.py
# The checker comes from the base ref, but this workflow file comes
# from the PR head, so on the PR that introduces --commit-messages-file
# the base copy does not accept it yet. Probe before passing it, the
# same bootstrap shape as the missing-file case above. Enforcement of
# commit-message footers is active from the next PR onward.
guard_args=()
if python tools/check_pr_title.py --help 2>/dev/null | grep -q -- '--commit-messages-file'; then
guard_args+=(--commit-messages-file "${RUNNER_TEMP}/pr-commit-messages.txt")
else
echo "::notice::base-ref tools/check_pr_title.py predates --commit-messages-file; title-only enforcement for this PR."
fi
python tools/check_pr_title.py "${guard_args[@]}"
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"description": "SDL scenarios, compositions, modules, and authoring constructs.",
"provenance": "native",
"authority": "RAES",
"authority_reference": "https://raes.dev/concepts",
"authority_reference": "https://raesystem.github.io/rae/concepts",
"extension_scope": "SDL-native scenario authoring constructs.",
"relation_rules": [
"Must remain the scenario authoring layer."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "artifact-requirement-v1",
"schema_path": "contracts/schemas/artifact-requirements/artifact-requirement-v1.json",
"stability": "draft",
"content_hash": "2f287a0b78b61cb5045c9481a6f76e6b7d279caf084110d56f709c8e5fee7e23",
"content_hash": "bb4850500da9d100689a9a4e486f5922234cf3032e16788f9d2e7be755edb8ea",
"last_change": {
"summary": "Published portable exact, constrained, and open Source artifact requirements with governed satisfaction routes for issue #920.",
"content_hash": "2f287a0b78b61cb5045c9481a6f76e6b7d279caf084110d56f709c8e5fee7e23"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "bb4850500da9d100689a9a4e486f5922234cf3032e16788f9d2e7be755edb8ea"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "associated-artifact-manifest-v1",
"schema_path": "contracts/schemas/associated-artifacts/associated-artifact-manifest-v1.json",
"stability": "draft",
"content_hash": "6b9db0d57e9163a0554bc456b425924121438640e1bc052c722e6cd1f4f300f3",
"content_hash": "a82c0539e307342fad8a494e04571a1e50639615efd349ee8d3f7d96f9e71751",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "6b9db0d57e9163a0554bc456b425924121438640e1bc052c722e6cd1f4f300f3"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "a82c0539e307342fad8a494e04571a1e50639615efd349ee8d3f7d96f9e71751"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "atlas-tactics-source-v1",
"schema_path": "contracts/schemas/concept-authority/atlas-tactics-source-v1.json",
"stability": "draft",
"content_hash": "25303bd3579d95cb16dc97d45ccd6de9915fac21345cf7dea7f2b317b70612b9",
"content_hash": "e1aec25898402152581fe442453858dbe0e9398bb6ddb157273c4ce298f9ebee",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "25303bd3579d95cb16dc97d45ccd6de9915fac21345cf7dea7f2b317b70612b9"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "e1aec25898402152581fe442453858dbe0e9398bb6ddb157273c4ce298f9ebee"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "attack-enterprise-tactics-source-v1",
"schema_path": "contracts/schemas/concept-authority/attack-enterprise-tactics-source-v1.json",
"stability": "draft",
"content_hash": "20ee7e7ce46c59d46702bfb359dc924f19f0cbdd09ff6dc8b57aa9aaaf8be304",
"content_hash": "7c7dd670f04d92fd1c5f412087ce50c5aed0f4c66abbcf997d926688f46b0cae",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "20ee7e7ce46c59d46702bfb359dc924f19f0cbdd09ff6dc8b57aa9aaaf8be304"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "7c7dd670f04d92fd1c5f412087ce50c5aed0f4c66abbcf997d926688f46b0cae"
}
}
6 changes: 3 additions & 3 deletions contracts/schema-publication/entries/backend-manifest-v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "backend-manifest-v2",
"schema_path": "contracts/schemas/backend-manifest/backend-manifest-v2.json",
"stability": "draft",
"content_hash": "8f140797bd697fb49969fcf61a50c6b658f9b7e002d46f3a63cd566109436e83",
"content_hash": "5408003b0a05176661342b87b9f17116b4f1a4fd687153a3813dce33f8dec064",
"last_change": {
"summary": "Added portable artifact satisfaction capabilities and participant resource-budget support for issues #920 and #899.",
"content_hash": "8f140797bd697fb49969fcf61a50c6b658f9b7e002d46f3a63cd566109436e83"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "5408003b0a05176661342b87b9f17116b4f1a4fd687153a3813dce33f8dec064"
}
}
6 changes: 3 additions & 3 deletions contracts/schema-publication/entries/backend-profile-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "backend-profile-v1",
"schema_path": "contracts/schemas/profiles/backend-profile-v1.json",
"stability": "draft",
"content_hash": "96ee9545d16749f1a3f2c80150950517cbe738ea21d7420befc62cffda73c157",
"content_hash": "3e878fa2f248992bcc9f404408979e2c1d39e4305ca7e39ea93d880354b2c789",
"last_change": {
"summary": "Advertised portable artifact requirements and participant resource-budget contracts for issues #920 and #899.",
"content_hash": "96ee9545d16749f1a3f2c80150950517cbe738ea21d7420befc62cffda73c157"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "3e878fa2f248992bcc9f404408979e2c1d39e4305ca7e39ea93d880354b2c789"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "behavioral-relations-v1",
"schema_path": "contracts/schemas/concept-authority/behavioral-relations-v1.json",
"stability": "draft",
"content_hash": "e6486c4411ac0f63724558f0556b3fc2b1dc866045dcadfd5d1a88ecd7e3aa5e",
"content_hash": "c97938fe6cf5b96fb09db413661ad4acb6bc7cb90b4385e9ccd308cfa4dd0755",
"last_change": {
"summary": "Added an immutable report locator for the revision-3 I/O-automata lineage used by exact-cut reactive information flow and I/O alternating refinement.",
"content_hash": "e6486c4411ac0f63724558f0556b3fc2b1dc866045dcadfd5d1a88ecd7e3aa5e"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "c97938fe6cf5b96fb09db413661ad4acb6bc7cb90b4385e9ccd308cfa4dd0755"
}
}
6 changes: 3 additions & 3 deletions contracts/schema-publication/entries/concept-families-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "concept-families-v1",
"schema_path": "contracts/schemas/concept-authority/concept-families-v1.json",
"stability": "draft",
"content_hash": "196b00f05a7100ecda790a05114c6bb47423a5ad4bbc8cf693fd30c9acd6f945",
"content_hash": "1a949b8d328d488ca7b71ef16d5803b7c1f4168b75eab64540988b537ed55fb0",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "196b00f05a7100ecda790a05114c6bb47423a5ad4bbc8cf693fd30c9acd6f945"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "1a949b8d328d488ca7b71ef16d5803b7c1f4168b75eab64540988b537ed55fb0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "controlled-vocabularies-v1",
"schema_path": "contracts/schemas/concept-authority/controlled-vocabularies-v1.json",
"stability": "draft",
"content_hash": "d0f03584fef13caf5258ad0eb559782235feaeab27021fd2ecd5f2575d7b6a7e",
"content_hash": "5673ba3ec07eecfb0a1aa2715e3bb81cf288d40cff769dd7114a6dc639257a01",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "d0f03584fef13caf5258ad0eb559782235feaeab27021fd2ecd5f2575d7b6a7e"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "5673ba3ec07eecfb0a1aa2715e3bb81cf288d40cff769dd7114a6dc639257a01"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "evaluation-history-event-stream-v1",
"schema_path": "contracts/schemas/control-plane/evaluation-history-event-stream-v1.json",
"stability": "draft",
"content_hash": "b55ce200b8ef69dd0fd5a892611e40c50b497ea424dcbbbd11aa35c7edf10970",
"content_hash": "800ebef43a7d79d1c76e959bb2563cd1fac8845199eea012bc8816522a0bed0c",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "b55ce200b8ef69dd0fd5a892611e40c50b497ea424dcbbbd11aa35c7edf10970"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "800ebef43a7d79d1c76e959bb2563cd1fac8845199eea012bc8816522a0bed0c"
}
}
6 changes: 3 additions & 3 deletions contracts/schema-publication/entries/evaluation-plan-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "evaluation-plan-v1",
"schema_path": "contracts/schemas/plans/evaluation-plan-v1.json",
"stability": "draft",
"content_hash": "76211999362eed211814484ada9d12ab2c479871ed976ba9a51f1ec299d65410",
"content_hash": "6ab37890bed35b32d852f31f01b986c0d243f83bb986fd46e11ea1616efafcd5",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "76211999362eed211814484ada9d12ab2c479871ed976ba9a51f1ec299d65410"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "6ab37890bed35b32d852f31f01b986c0d243f83bb986fd46e11ea1616efafcd5"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "evaluation-result-envelope-v1",
"schema_path": "contracts/schemas/control-plane/evaluation-result-envelope-v1.json",
"stability": "draft",
"content_hash": "8b312c6b6d1e72af53ffde3d0c33634ac86f84ad3fbd6c4fbcf5902bca544877",
"content_hash": "14badba5fe848dd3ce7a625d84c9ec42fec1f435debd74504414c2b799b4dbec",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "8b312c6b6d1e72af53ffde3d0c33634ac86f84ad3fbd6c4fbcf5902bca544877"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "14badba5fe848dd3ce7a625d84c9ec42fec1f435debd74504414c2b799b4dbec"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "experiment-apparatus-context-v1",
"schema_path": "contracts/schemas/experiment-core/experiment-apparatus-context-v1.json",
"stability": "draft",
"content_hash": "8e174c238d93867603c4df93ba9bc2a736e4e9fa36c32088f2aa911557831204",
"content_hash": "9916e5582a8e79e8442abba25f30c4e2ac108e97d56f1da1b63a247d132c46d5",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "8e174c238d93867603c4df93ba9bc2a736e4e9fa36c32088f2aa911557831204"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "9916e5582a8e79e8442abba25f30c4e2ac108e97d56f1da1b63a247d132c46d5"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "experiment-authoring-input-v1",
"schema_path": "contracts/schemas/experiment-core/experiment-authoring-input-v1.json",
"stability": "draft",
"content_hash": "2ffe9d8c055458997b3f78159e7b54eb1ea05a3bf52ce3adaa64234220457cce",
"content_hash": "c80602d78f2f2bff4d516107bb323ee95c51c31773c89215fc998cc8fa603232",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "2ffe9d8c055458997b3f78159e7b54eb1ea05a3bf52ce3adaa64234220457cce"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "c80602d78f2f2bff4d516107bb323ee95c51c31773c89215fc998cc8fa603232"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "experiment-binding-descriptors-v1",
"schema_path": "contracts/schemas/experiment-core/experiment-binding-descriptors-v1.json",
"stability": "draft",
"content_hash": "fe1e2308c9c101f1b115a5b673b369eab68431a5c3befc41cba9cf5169475f97",
"content_hash": "8f737f9be11d01bac0dbe9382e8b1057cc9dfaf60a36053250e8a568cba3ab7a",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "fe1e2308c9c101f1b115a5b673b369eab68431a5c3befc41cba9cf5169475f97"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "8f737f9be11d01bac0dbe9382e8b1057cc9dfaf60a36053250e8a568cba3ab7a"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "experiment-capture-spec-v1",
"schema_path": "contracts/schemas/experiment-core/experiment-capture-spec-v1.json",
"stability": "draft",
"content_hash": "59a5a2fc7c28eb5d27725916def11b11af919e13be7942ded83df30c05be833d",
"content_hash": "812f8314c76208d588b459cfc99637e9fba1c9f7519602c3b8ea6f7a62a4475c",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "59a5a2fc7c28eb5d27725916def11b11af919e13be7942ded83df30c05be833d"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "812f8314c76208d588b459cfc99637e9fba1c9f7519602c3b8ea6f7a62a4475c"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"contract_id": "experiment-derived-measure-v1",
"schema_path": "contracts/schemas/experiment-core/experiment-derived-measure-v1.json",
"stability": "draft",
"content_hash": "99668f7dd86d118944dc3c4c90998a042bbbf00fad0d34d0fb9e78c9a95e3e30",
"content_hash": "3ff95c83a82d4cb6c9a9200dcb51331dc7dc553c3914b7800c05ecf3ba9d4fa3",
"last_change": {
"summary": "Completed the RAES identity hard cut for published schema URIs, extension keywords, and identity-bearing contract values under #908; validation semantics are unchanged apart from the intentional breaking name migration.",
"content_hash": "99668f7dd86d118944dc3c4c90998a042bbbf00fad0d34d0fb9e78c9a95e3e30"
"summary": "Repointed the published schema namespace from the uncontrolled raes.dev domain to the repository-owned https://raesystem.github.io/rae/schemas/ root for issue #908.",
"content_hash": "3ff95c83a82d4cb6c9a9200dcb51331dc7dc553c3914b7800c05ecf3ba9d4fa3"
}
}
Loading
Loading