Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
cb07b8b
test(security): require non-200 dependency review fail-closed
seonghobae Sep 2, 2026
31f60e5
fix(security): fail closed on dependency graph non-200
seonghobae Sep 2, 2026
ee0f1ce
test(security): require caller permission envelope
seonghobae Sep 2, 2026
ca3bdbd
fix(security): preserve dependency-review caller permissions
seonghobae Sep 2, 2026
6d288ff
docs(security): record dependency-review authority boundary
seonghobae Sep 2, 2026
403ca1c
merge(main): preserve concurrent control-plane repairs
seonghobae Sep 2, 2026
ca7cb12
merge(main): preserve dependency-review control-plane fixes
seonghobae Sep 2, 2026
2595e24
test(security): preserve latest reusable dependency-review contract
seonghobae Sep 2, 2026
754121d
merge(main): preserve dependency-review owner and current controls
seonghobae Sep 2, 2026
3736634
test(security): require immutable dependency-review identities
seonghobae Sep 2, 2026
b1e6263
fix(security): validate immutable dependency-review identity
seonghobae Sep 2, 2026
8b86c0d
fix(security): carry exact identity validation into bundled scan
seonghobae Sep 2, 2026
ae12837
docs(security): record authenticated dependency-review evidence
seonghobae Sep 2, 2026
58a0b4c
test(security): preserve bundled dependency-review identity gate
seonghobae Sep 2, 2026
6e8998f
Merge branch 'main' into fix/dependency-review-non200-fail-closed
seonghobae Sep 3, 2026
04aad03
fix(security): reconcile immutable compare preflight with protected main
seonghobae Sep 6, 2026
c2e8ab0
fix(security): repair restack workflow composition
seonghobae Sep 6, 2026
0bb8f7c
chore(security): adopt protected main directly
seonghobae Sep 7, 2026
4ccb21d
chore(security): adopt protected main for dependency review
seonghobae Sep 8, 2026
59063ff
Merge protected main into dependency review owner
seonghobae Sep 12, 2026
f27c5cf
Merge protected main into dependency review owner
seonghobae Sep 12, 2026
331512f
fix(codeql): collect complete fail-closed GHAS analysis history
seonghobae Oct 1, 2026
930586d
fix(ci): exercise GHAS identity and pagination contracts
seonghobae Oct 2, 2026
32dd90c
test(ci): scope exact-artifact compiler checks to owned steps
seonghobae Oct 2, 2026
1cda48b
fix(ci): integrate reviewed security and GHAS prerequisite repairs
seonghobae Oct 2, 2026
3aad65b
fix(tests): collect release fallback contracts on Python 3.10
seonghobae Oct 2, 2026
d6ba56d
ci: stage isolated self-hosted routing for all workflow jobs
seonghobae Oct 3, 2026
cd49a60
ci: bind isolated runners to dedicated group
seonghobae Oct 3, 2026
1b9c710
Merge current main into dependency review owner
seonghobae Oct 3, 2026
fe9d193
test(security): reproduce incomplete 200 compare
seonghobae Oct 3, 2026
2290272
fix(security): require completed dependency compare
seonghobae Oct 3, 2026
f921189
test(ci): reproduce invalid R runner format template
seonghobae Oct 3, 2026
7fc1e2e
fix(ci): escape R runner format braces
seonghobae Oct 3, 2026
cd2c3f9
docs(ci): record R runner format repair
seonghobae Oct 3, 2026
650bc6e
merge(security): preserve dependency-review fail-closed owner
seonghobae Oct 3, 2026
665321c
test(docs): reject unpublished merge evidence
seonghobae Oct 3, 2026
f0f7ed9
docs(evidence): bind published dependency merge
seonghobae Oct 3, 2026
ab0c865
fix(ci): serialize R runner matrix labels
seonghobae Oct 3, 2026
3b35d3d
fix(ci): publish reviewed typed runner selectors and isolation oracle
seonghobae Oct 4, 2026
9e482e1
[verified] ci: centralize law-agent quality on isolated self-hosted r…
seonghobae Oct 5, 2026
67bf8de
[verified] test: remove Hermes-home dependency from central law CI fi…
seonghobae Oct 5, 2026
cc42969
test(security): capture runner cache and artifact quota failures
seonghobae Oct 7, 2026
26f993c
fix(security): isolate scanner setup from runner cache
seonghobae Oct 7, 2026
98beb17
docs(security): record scanner runner isolation evidence
seonghobae Oct 7, 2026
62c051b
fix(docs): restore complete product gap baseline
seonghobae Oct 7, 2026
d694e85
fix(ci): admit only supported isolated Linux R matrix legs
seonghobae Oct 8, 2026
6e924f3
chore(ci): stop hosted Dependabot version-update scheduling
seonghobae Oct 8, 2026
a206770
fix(ci): reject mixed unsupported isolated platforms
seonghobae Oct 9, 2026
7558db6
fix: preserve law CI scratch on inconclusive PostgreSQL cleanup
seonghobae Oct 9, 2026
8ba032a
test(codeql): keep current-time fixtures fresh
seonghobae Oct 9, 2026
83cb10f
test(law-ci): reject symlinked cluster cleanup boundaries
seonghobae Oct 9, 2026
70e701b
fix(law-ci): retain symlinked cluster evidence
seonghobae Oct 9, 2026
fcb997e
Merge protected main into law-agent central CI
seonghobae Oct 9, 2026
8d4a2eb
fix(ci): admit law runner group with exact label
seonghobae Oct 9, 2026
431c575
merge: stack law-agent quality after runner-policy and fixture owners
seonghobae Oct 9, 2026
5886df8
fix(ci): bind law migrations to source and installed checksums
seonghobae Oct 9, 2026
8dff053
fix(ci): reject linked law migration ancestors before import
seonghobae Oct 9, 2026
ef65b2f
fix(ci): complete cost-fenced auto review routing and regression cont…
seonghobae Oct 9, 2026
7e1836e
fix(ci): isolate PR coverage and reconcile trusted main runner routes
seonghobae Oct 9, 2026
ef0c9d4
ci: enforce k-csap Noema App reviewer identity
seonghobae Oct 10, 2026
5c1196a
fix(noema): bind sidecar evidence to current producer
seonghobae Oct 10, 2026
7435189
fix(noema): bind sidecar evidence to current producer (#2622)
seonghobae Oct 10, 2026
b78007b
fix(ci): reconcile auto review and fail closed on dismissed receipts
seonghobae Oct 11, 2026
32eced9
fix(ci): publish reviewed production review caller and lint successor
seonghobae Oct 12, 2026
a55eb2a
ci(law): reconcile reviewed law lane with current self-hosted base
seonghobae Oct 12, 2026
362fed6
fix(ci): bind existing App issuer and final source quality controls
seonghobae Oct 12, 2026
f31d7e6
fix(law): preserve spaced PostgreSQL socket paths
seonghobae Oct 12, 2026
728db8a
Merge pull request #2565 from ContextualWisdomLab/ci/sdp-all-self-hos…
seonghobae Oct 12, 2026
75bdd69
Merge pull request #2581 from ContextualWisdomLab/feat/law-agent-cent…
seonghobae Oct 12, 2026
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
8 changes: 5 additions & 3 deletions .Jules/palette.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
## 2024-05-20 - Repository without UI Codebase
**Learning:** This repository is a GitHub organization profile consisting entirely of Markdown documentation and static assets, and does not contain an active UI or frontend application codebase.
**Action:** Since there is no UI, no UX enhancements can be applied. Aborting UX enhancements and PR creation as per instructions.
## 2026-09-29 - Product UI boundary confirmed

**Learning:** This repository owns the ContextualWisdomLab GitHub Actions control plane, including production CI scripts, tests, workflows, and documentation. It does not own an interactive product UI or frontend application.

**Action:** Do not invent product UI work in this repository. Improve the control-plane artifacts here and route reusable product UI work to its canonical product owner.
5 changes: 5 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Source validation only; labels do not attest runtime isolation.
self-hosted-runner:
labels:
- cwlab-ci-isolated
- cwlab-control
13 changes: 13 additions & 0 deletions .github/actions/noema-review/two_phase.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ def prepare_verdict(repo: str, number: int, expected_head: str, path: Path) -> i
return 0
expected_base = _canonical_base(pull_request)
actor = _reviewer_actor()
author = gate.require_distinct_pr_author(pull_request, actor)
if pull_request.get("isDraft"):
print("PR is draft; Noema verdict preparation skipped.")
return 0
Expand Down Expand Up @@ -190,6 +191,8 @@ def prepare_verdict(repo: str, number: int, expected_head: str, path: Path) -> i
"pull_request_number": number,
"expected_head": expected,
"expected_base": expected_base,
"reviewer_actor": actor,
"pull_request_author": author,
"verdict": verdict,
},
)
Expand Down Expand Up @@ -250,6 +253,8 @@ def publish_verdict(repo: str, number: int, expected_head: str, path: Path) -> i
"pull_request_number",
"expected_head",
"expected_base",
"reviewer_actor",
"pull_request_author",
"verdict",
}
if set(payload) != required_keys:
Expand Down Expand Up @@ -277,6 +282,14 @@ def publish_verdict(repo: str, number: int, expected_head: str, path: Path) -> i
print("Pull request base advanced after model review; stale prepared verdict was not published.")
return 0
actor = _reviewer_actor(allow_refreshed_app=True)
author = gate.require_distinct_pr_author(current_pull_request, actor)
if payload["pull_request_author"] != author:
raise RuntimeError("Noema pull request author changed after verdict preparation")
reviewer_actor = payload["reviewer_actor"]
if not isinstance(reviewer_actor, str) or not reviewer_actor.strip():
raise RuntimeError("Noema prepared reviewer actor is invalid")
if reviewer_actor.strip().casefold() != actor.strip().casefold():
raise RuntimeError("Noema refreshed reviewer actor differs from verdict preparation")
if current_pull_request.get("isDraft"):
print("PR became draft after model review; prepared verdict was not published.")
return 0
Expand Down
15 changes: 0 additions & 15 deletions .github/dependabot.yml

This file was deleted.

8 changes: 8 additions & 0 deletions .github/runner-images/law-ai-agent/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM ghcr.io/actions/actions-runner@sha256:e5496277be5d09bc968b3d64911b74e219ac4a3f2edce956a3ecf9271bea1ef4
USER root
RUN apt-get update \
&& apt-get install -y --no-install-recommends postgresql-16 postgresql-client-16 libpq-dev python3-venv ca-certificates git curl \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
USER runner
WORKDIR /home/runner
4 changes: 3 additions & 1 deletion .github/workflows/actions-queue-health.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ permissions:
jobs:
collect:
name: Collect exact-head queue evidence
runs-on: ${{ github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('["ubuntu-24.04"]') }}
runs-on:
group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }}
labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }}
timeout-minutes: 30
permissions:
contents: read
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/agent-mention-noema-dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ permissions:
jobs:
validate-and-forward:
if: github.repository == 'ContextualWisdomLab/.github'
runs-on: ${{ github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('["ubuntu-24.04"]') }}
runs-on:
group: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }}
labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }}
timeout-minutes: 5
permissions:
actions: read
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/agent-mention-opencode-dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ permissions:
jobs:
validate-and-forward:
if: github.repository == 'ContextualWisdomLab/.github'
runs-on: ${{ github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('["ubuntu-24.04"]') }}
runs-on:
group: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }}
labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }}
timeout-minutes: 5
permissions:
actions: read
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/agent-mention-router-quality-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ on:
- "scripts/ci/agent_mention_sweep.py"
- "tests/test_agent_mention_*.py"
- "tests/test_pr_review_fix_scheduler_coverage.py"
- "requirements-opencode-review-ci.txt"
- "requirements-noema-document-ci.txt"
- "requirements-opencode-review-ci-hashes.txt"
- "scripts/ci/compile_opencode_review_lock.sh"
push:
branches: [main]
paths:
Expand All @@ -26,7 +29,10 @@ on:
- "scripts/ci/agent_mention_sweep.py"
- "tests/test_agent_mention_*.py"
- "tests/test_pr_review_fix_scheduler_coverage.py"
- "requirements-opencode-review-ci.txt"
- "requirements-noema-document-ci.txt"
- "requirements-opencode-review-ci-hashes.txt"
- "scripts/ci/compile_opencode_review_lock.sh"

concurrency:
group: agent-mention-router-quality-${{ github.repository }}-${{ github.event.pull_request.number || github.ref }}
Expand All @@ -40,7 +46,9 @@ env:

jobs:
quality:
runs-on: ubuntu-24.04
runs-on:
group: CWL CI isolated
labels: [self-hosted, linux, x64, cwlab-ci-isolated]
timeout-minutes: 20
steps:
- name: Harden runner
Expand Down
72 changes: 69 additions & 3 deletions .github/workflows/agent-review-runtime-quality-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
branches: [main]
paths:
- ".github/workflows/agent-review-runtime-quality-ci.yml"
- "scripts/ci/codeql_ghas_configuration_identity.py"
- "tests/test_codeql_ghas_configuration_identity.py"
- "tests/test_codeql_ghas_analyses_pagination.py"
- "tests/test_github_api_url_boundary.py"
- ".github/workflows/noema-review.yml"
- ".github/actions/noema-review/two_phase.py"
- "tests/test_noema_reviewer_token_lifetime.py"
Expand Down Expand Up @@ -60,9 +64,17 @@ on:
- "scripts/ci/zdr_policy.py"
- "scripts/ci/contextual_orchestrator_review_policy.py"
- "scripts/ci/contextual_orchestrator_review_launcher.py"
- "scripts/ci/personal_review_route.py"
- "scripts/ci/contextual_orchestrator_review_sidecar.sh"
- "tests/test_zdr_policy.py"
- "tests/test_contextual_orchestrator_review_policy.py"
- "tests/test_contextual_orchestrator_review_launcher.py"
- "tests/test_review_auto_route.py"
- "tests/test_personal_review_route.py"
- "tests/test_tokyo_review_consumer.py"
- "tests/test_review_auto_cost_admission.py"
- "tests/test_review_ai_app_independence.py"
- "tests/test_review_preflight_concurrency.py"
- "tests/test_contextual_orchestrator_review_sidecar_contract.py"
- "tests/test_sidecar_disk_free_guard.py"
- "tests/test_hourly_review_repair_callers.py"
Expand Down Expand Up @@ -116,9 +128,11 @@ on:
- "docs/doctoring/exact-artifact-sbom-attestation.md"
- "docs/doctoring/exact-artifact-sbom-quality-runner-consolidation-20260903.md"
- "CHANGELOG.d/20260903-exact-artifact-quality-runner-consolidation.md"
- "requirements-opencode-review-ci.txt"
- "requirements-opencode-review-ci-hashes.txt"
- "requirements-noema-document-ci.txt"
- "requirements-noema-document-ci-hashes.txt"
- "scripts/ci/compile_opencode_review_lock.sh"

# PR validation only: a new head cancels only an older run of this workflow
# for the same repository and pull request.
Expand All @@ -132,7 +146,9 @@ permissions:
jobs:
agent_review_runtime_quality:
name: agent-review-runtime-quality
runs-on: ubuntu-24.04
runs-on:
group: CWL CI isolated
labels: [self-hosted, linux, x64, cwlab-ci-isolated]
timeout-minutes: 25
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
Expand Down Expand Up @@ -173,6 +189,7 @@ jobs:
review_repair_suite=false
commercial_readiness_suite=false
exact_artifact_suite=false
ghas_suite=false

while IFS= read -r changed_path; do
case "$changed_path" in
Expand All @@ -184,6 +201,14 @@ jobs:
review_repair_suite=true
commercial_readiness_suite=true
exact_artifact_suite=true
ghas_suite=true
;;
scripts/ci/codeql_ghas_configuration_identity.py|\
tests/test_codeql_ghas_configuration_identity.py|\
tests/test_codeql_ghas_analyses_pagination.py|\
tests/test_github_api_url_boundary.py|\
tests/test_agent_review_runtime_quality_consolidation.py)
ghas_suite=true
;;
tests/test_pr_review_autofix_nvidia_nim_contract.py)
opencode_suite=true
Expand Down Expand Up @@ -237,11 +262,13 @@ jobs:
tests/test_strix_quality_timeout_fixture_budget.py)
strix_suite=true
;;
requirements-opencode-review-ci-hashes.txt)
requirements-opencode-review-ci.txt|\
requirements-opencode-review-ci-hashes.txt|\
requirements-noema-document-ci.txt|\
scripts/ci/compile_opencode_review_lock.sh)
noema_suite=true
opencode_suite=true
;;
requirements-noema-document-ci.txt|\
requirements-noema-document-ci-hashes.txt)
noema_suite=true
;;
Expand All @@ -264,9 +291,17 @@ jobs:
scripts/ci/zdr_policy.py|\
scripts/ci/contextual_orchestrator_review_policy.py|\
scripts/ci/contextual_orchestrator_review_launcher.py|\
scripts/ci/personal_review_route.py|\
scripts/ci/contextual_orchestrator_review_sidecar.sh|\
tests/test_zdr_policy.py|\
tests/test_contextual_orchestrator_review_policy.py|\
tests/test_contextual_orchestrator_review_launcher.py|\
tests/test_review_auto_route.py|\
tests/test_personal_review_route.py|\
tests/test_tokyo_review_consumer.py|\
tests/test_review_auto_cost_admission.py|\
tests/test_review_ai_app_independence.py|\
tests/test_review_preflight_concurrency.py|\
tests/test_contextual_orchestrator_review_sidecar_contract.py|\
tests/test_sidecar_disk_free_guard.py|\
tests/test_hourly_review_repair_callers.py|\
Expand Down Expand Up @@ -336,6 +371,7 @@ jobs:
echo "review_repair=$review_repair_suite"
echo "commercial_readiness=$commercial_readiness_suite"
echo "exact_artifact=$exact_artifact_suite"
echo "ghas=$ghas_suite"
} >>"$GITHUB_OUTPUT"

- name: Install exact hash-verified base dependencies
Expand Down Expand Up @@ -444,11 +480,19 @@ jobs:
--cov=scripts.ci.pr_review_autofix_context \
--cov=scripts.ci.zdr_policy \
--cov=scripts.ci.contextual_orchestrator_review_policy \
--cov=scripts.ci.contextual_orchestrator_review_launcher \
--cov-branch \
--cov-fail-under=100 \
tests/test_pr_review_conflict_scope.py \
tests/test_zdr_policy.py \
tests/test_contextual_orchestrator_review_policy.py \
tests/test_contextual_orchestrator_review_launcher.py \
tests/test_review_auto_route.py \
tests/test_personal_review_route.py \
tests/test_tokyo_review_consumer.py \
tests/test_review_auto_cost_admission.py \
tests/test_review_ai_app_independence.py \
tests/test_review_preflight_concurrency.py \
tests/test_contextual_orchestrator_review_sidecar_contract.py \
tests/test_sidecar_disk_free_guard.py \
tests/test_hourly_review_repair_callers.py \
Expand Down Expand Up @@ -488,6 +532,13 @@ jobs:
scripts/ci/contextual_orchestrator_review_launcher.py \
tests/test_zdr_policy.py \
tests/test_contextual_orchestrator_review_policy.py \
tests/test_contextual_orchestrator_review_launcher.py \
tests/test_review_auto_route.py \
tests/test_personal_review_route.py \
tests/test_tokyo_review_consumer.py \
tests/test_review_auto_cost_admission.py \
tests/test_review_ai_app_independence.py \
tests/test_review_preflight_concurrency.py \
tests/test_contextual_orchestrator_review_sidecar_contract.py \
tests/test_sidecar_disk_free_guard.py \
tests/test_hourly_review_repair_callers.py \
Expand Down Expand Up @@ -568,6 +619,21 @@ jobs:
tests/test_verify_exact_artifact_sbom_handoff.py \
tests/test_exact_artifact_quality_single_runner.py

- name: Verify GHAS identity, pagination, and API boundary contracts
if: steps.affected_suites.outputs.ghas == 'true'
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
set -euo pipefail
python -m pytest -q \
tests/test_codeql_ghas_configuration_identity.py \
tests/test_codeql_ghas_analyses_pagination.py \
tests/test_github_api_url_boundary.py
python -m compileall -q \
scripts/ci/codeql_ghas_configuration_identity.py \
tests/test_codeql_ghas_configuration_identity.py \
tests/test_codeql_ghas_analyses_pagination.py \
tests/test_github_api_url_boundary.py

- name: Verify consolidated workflow contract
run: |
set -euo pipefail
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/audit-central-ruleset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ permissions:
jobs:
audit:
name: Audit organization ruleset 18156473
runs-on: ${{ github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('["ubuntu-24.04"]') }}
runs-on:
group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }}
labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }}
env:
GH_TOKEN: ${{ secrets.PR_REVIEW_MERGE_TOKEN || secrets.OPENCODE_APPROVE_TOKEN || github.token }}
steps:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/cloudflare-dns.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ permissions:
jobs:
reconcile:
name: Reconcile zones (${{ github.event.client_payload.mode || 'dry-run' }})
runs-on: ubuntu-latest
runs-on:
group: CWL CI isolated
labels: [self-hosted, linux, x64, cwlab-ci-isolated]
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
Expand Down
Loading
Loading