Skip to content

Commit 0816a7b

Browse files
authored
Merge pull request #1 from QuantStrategyLab/codex/migrate-new-slug-docs
chore: switch defaults to AIAuditBridge slug
2 parents 7bc83e6 + 7fbf7fa commit 0816a7b

6 files changed

Lines changed: 24 additions & 24 deletions

File tree

.github/workflows/codex_pr_review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Codex PR Review
22

33
# Runs on PRs AND can be called as a reusable workflow from other repos.
44
# Consumer repos use:
5-
# uses: QuantStrategyLab/CodexAuditBridge/.github/workflows/codex_pr_review.yml@main
5+
# uses: QuantStrategyLab/AIAuditBridge/.github/workflows/codex_pr_review.yml@main
66
# secrets: inherit
77
on:
88
pull_request:

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ When adding a new dispatcher, update `SOURCE_REPO_TASKS` in `scripts/run_monthly
4646

4747
CodexAuditBridge uses the service backend only. The workflow runs on `ubuntu-latest` and requires a QuantStrategyLab-owned HTTPS/443 Codex audit service.
4848

49-
Configure these values in `QuantStrategyLab/CodexAuditBridge`:
49+
Configure these values in `QuantStrategyLab/AIAuditBridge`:
5050

5151
- Repository secret `CODEX_AUDIT_SERVICE_URL`, for example `https://codex-audit.example.com`.
5252
Use a secret because the URL may expose origin infrastructure details.
@@ -83,7 +83,7 @@ Configure these values in `QuantStrategyLab/CodexAuditBridge`:
8383
Run the service host with:
8484

8585
```bash
86-
CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES=QuantStrategyLab/CodexAuditBridge \
86+
CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES=QuantStrategyLab/AIAuditBridge \
8787
CODEX_AUDIT_SERVICE_ALLOWED_SOURCE_REPOSITORIES='QuantStrategyLab/CryptoLivePoolPipelines,QuantStrategyLab/HkEquitySnapshotPipelines,QuantStrategyLab/UsEquitySnapshotPipelines,QuantStrategyLab/ResearchSignalContextPipelines' \
8888
CODEX_AUDIT_SERVICE_AUDIENCE=quant-codex-audit \
8989
CODEX_AUDIT_SERVICE_MODEL=gpt-5.4 \

README.zh-CN.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Codex 执行现在只走 service backend:workflow 从 GitHub-hosted runner 调
4646

4747
CodexAuditBridge 只使用 service backend。workflow 运行在 `ubuntu-latest`,并调用 QuantStrategyLab 自有 HTTPS/443 Codex audit service。
4848

49-
需要在 `QuantStrategyLab/CodexAuditBridge` 配置:
49+
需要在 `QuantStrategyLab/AIAuditBridge` 配置:
5050

5151
- Repository secret `CODEX_AUDIT_SERVICE_URL`,例如 `https://codex-audit.example.com`
5252
URL 可能暴露源站基础设施信息,因此放在 secret,不放在普通 variable。
@@ -67,7 +67,7 @@ CodexAuditBridge 只使用 service backend。workflow 运行在 `ubuntu-latest`
6767
service host 启动示例:
6868

6969
```bash
70-
CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES=QuantStrategyLab/CodexAuditBridge \
70+
CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES=QuantStrategyLab/AIAuditBridge \
7171
CODEX_AUDIT_SERVICE_ALLOWED_SOURCE_REPOSITORIES='QuantStrategyLab/CryptoLivePoolPipelines,QuantStrategyLab/HkEquitySnapshotPipelines,QuantStrategyLab/UsEquitySnapshotPipelines,QuantStrategyLab/ResearchSignalContextPipelines' \
7272
CODEX_AUDIT_SERVICE_AUDIENCE=quant-codex-audit \
7373
CODEX_AUDIT_SERVICE_MODEL=gpt-5.4 \

docs/async_service_deployment.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ CodexAuditBridge uses an async service contract to avoid keeping a GitHub Action
44

55
## Architecture
66

7-
1. A source repository creates or updates an audit issue, then dispatches `QuantStrategyLab/CodexAuditBridge`.
7+
1. A source repository creates or updates an audit issue, then dispatches `QuantStrategyLab/AIAuditBridge`.
88
2. CodexAuditBridge clones the source repository with a scoped GitHub App token, builds the audit prompt, and requests a GitHub Actions OIDC token with audience `quant-codex-audit`.
99
3. CodexAuditBridge submits `POST /v1/codex-audit/jobs` through the Cloudflare Worker.
1010
4. The Worker forwards only Quant audit routes with bearer tokens to the VPS origin. The VPS service validates OIDC signature, audience, repository, workflow ref, git ref, source repository allowlists, and payload size.
@@ -28,9 +28,9 @@ The historical self-hosted direct-Codex workflows in `SelfHostedCodexAuditBridge
2828

2929
- Source repositories, including public QuantStrategyLab repositories, must not store provider keys or the Codex service URL.
3030
- Source repositories should only dispatch the bridge workflow and provide issue/source context. Avoid running Codex directly in public workflows.
31-
- `QuantStrategyLab/CodexAuditBridge` is public, so it may contain only client/orchestration code. Its service URL, provider fallback keys, GitHub App private key, and Cloudflare origin stay in GitHub or Cloudflare secrets.
32-
- The VPS service should allow only `QuantStrategyLab/CodexAuditBridge` in `CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES`; this OIDC allowlist is required because the bridge repository is public.
33-
- The VPS service should require `CODEX_AUDIT_SERVICE_ALLOWED_WORKFLOW_REFS=QuantStrategyLab/CodexAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main`.
31+
- `QuantStrategyLab/AIAuditBridge` is public, so it may contain only client/orchestration code. Its service URL, provider fallback keys, GitHub App private key, and Cloudflare origin stay in GitHub or Cloudflare secrets.
32+
- The VPS service should allow only `QuantStrategyLab/AIAuditBridge` in `CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES`; this OIDC allowlist is required because the bridge repository is public.
33+
- The VPS service should require `CODEX_AUDIT_SERVICE_ALLOWED_WORKFLOW_REFS=QuantStrategyLab/AIAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main`.
3434
- The VPS service should require `CODEX_AUDIT_SERVICE_ALLOWED_REFS=refs/heads/main`.
3535
- Keep `CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORY_VISIBILITIES=public` unless the bridge repository is intentionally private.
3636
- The VPS service should keep `CODEX_AUDIT_SERVICE_ALLOWED_SOURCE_REPOSITORIES` limited to the current source repositories.
@@ -55,8 +55,8 @@ For public source repositories:
5555
After merging the async service code, run the manual `VPS Codex Service Ops` workflow with deploy mode, or run on the VPS:
5656

5757
```bash
58-
CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES=QuantStrategyLab/CodexAuditBridge \
59-
CODEX_AUDIT_SERVICE_ALLOWED_WORKFLOW_REFS='QuantStrategyLab/CodexAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main' \
58+
CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES=QuantStrategyLab/AIAuditBridge \
59+
CODEX_AUDIT_SERVICE_ALLOWED_WORKFLOW_REFS='QuantStrategyLab/AIAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main' \
6060
CODEX_AUDIT_SERVICE_ALLOWED_REFS='refs/heads/main' \
6161
CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORY_VISIBILITIES='public' \
6262
CODEX_AUDIT_SERVICE_ALLOWED_SOURCE_REPOSITORIES='QuantStrategyLab/CryptoLivePoolPipelines,QuantStrategyLab/HkEquitySnapshotPipelines,QuantStrategyLab/UsEquitySnapshotPipelines,QuantStrategyLab/ResearchSignalContextPipelines' \
@@ -95,7 +95,7 @@ the Worker URL, the Worker may reject it before it reaches the origin service.
9595
### 3. Point CodexAuditBridge at the Worker
9696

9797
```bash
98-
gh secret set CODEX_AUDIT_SERVICE_URL -R QuantStrategyLab/CodexAuditBridge
98+
gh secret set CODEX_AUDIT_SERVICE_URL -R QuantStrategyLab/AIAuditBridge
9999
```
100100

101101
Set the secret value to the Worker base URL, for example:

scripts/deploy_codex_audit_service.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ AUDIT_SERVICE_NAME="${CODEX_AUDIT_SERVICE_SYSTEMD_NAME:-codex-audit-service}"
77
DEPLOY_DIR="${CODEX_AUDIT_SERVICE_DEPLOY_DIR:-/opt/codex-audit-bridge}"
88
AUDIT_PORT="${CODEX_AUDIT_SERVICE_PORT:-8797}"
99
AUDIENCE="${CODEX_AUDIT_SERVICE_AUDIENCE:-quant-codex-audit}"
10-
ALLOWED_REPOSITORIES="${CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES:-QuantStrategyLab/CodexAuditBridge}"
11-
ALLOWED_WORKFLOW_REFS="${CODEX_AUDIT_SERVICE_ALLOWED_WORKFLOW_REFS:-QuantStrategyLab/CodexAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main}"
10+
ALLOWED_REPOSITORIES="${CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES:-QuantStrategyLab/AIAuditBridge}"
11+
ALLOWED_WORKFLOW_REFS="${CODEX_AUDIT_SERVICE_ALLOWED_WORKFLOW_REFS:-QuantStrategyLab/AIAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main}"
1212
ALLOWED_REFS="${CODEX_AUDIT_SERVICE_ALLOWED_REFS:-refs/heads/main}"
1313
ALLOWED_REPOSITORY_VISIBILITIES="${CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORY_VISIBILITIES:-public}"
1414
ALLOWED_SOURCE_REPOSITORIES="${CODEX_AUDIT_SERVICE_ALLOWED_SOURCE_REPOSITORIES:-QuantStrategyLab/CryptoLivePoolPipelines,QuantStrategyLab/HkEquitySnapshotPipelines,QuantStrategyLab/UsEquitySnapshotPipelines,QuantStrategyLab/ResearchSignalContextPipelines}"

tests/test_run_monthly_codex_audit.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -259,15 +259,15 @@ def test_codex_audit_service_oidc_requires_repository_workflow_and_ref_allowlist
259259
"aud": "quant-codex-audit",
260260
"iss": codex_audit_service.GITHUB_OIDC_ISSUER,
261261
"exp": int(time.time()) + 300,
262-
"repository": "QuantStrategyLab/CodexAuditBridge",
263-
"workflow_ref": "QuantStrategyLab/CodexAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main",
262+
"repository": "QuantStrategyLab/AIAuditBridge",
263+
"workflow_ref": "QuantStrategyLab/AIAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main",
264264
"ref": "refs/heads/main",
265265
"repository_visibility": "public",
266266
}
267267
env = {
268-
"CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES": "QuantStrategyLab/CodexAuditBridge",
268+
"CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES": "QuantStrategyLab/AIAuditBridge",
269269
"CODEX_AUDIT_SERVICE_ALLOWED_WORKFLOW_REFS": (
270-
"QuantStrategyLab/CodexAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main"
270+
"QuantStrategyLab/AIAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main"
271271
),
272272
"CODEX_AUDIT_SERVICE_ALLOWED_REFS": "refs/heads/main",
273273
"CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORY_VISIBILITIES": "public",
@@ -284,19 +284,19 @@ def test_codex_audit_service_oidc_requires_repository_workflow_and_ref_allowlist
284284
):
285285
claims = codex_audit_service._verify_github_oidc("header.payload.signature")
286286

287-
self.assertEqual(claims["repository"], "QuantStrategyLab/CodexAuditBridge")
287+
self.assertEqual(claims["repository"], "QuantStrategyLab/AIAuditBridge")
288288

289289
def test_codex_audit_service_oidc_rejects_missing_workflow_allowlist(self) -> None:
290290
payload = {
291291
"aud": "quant-codex-audit",
292292
"iss": codex_audit_service.GITHUB_OIDC_ISSUER,
293293
"exp": int(time.time()) + 300,
294-
"repository": "QuantStrategyLab/CodexAuditBridge",
295-
"workflow_ref": "QuantStrategyLab/CodexAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main",
294+
"repository": "QuantStrategyLab/AIAuditBridge",
295+
"workflow_ref": "QuantStrategyLab/AIAuditBridge/.github/workflows/codex_audit.yml@refs/heads/main",
296296
"ref": "refs/heads/main",
297297
}
298298
env = {
299-
"CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES": "QuantStrategyLab/CodexAuditBridge",
299+
"CODEX_AUDIT_SERVICE_ALLOWED_REPOSITORIES": "QuantStrategyLab/AIAuditBridge",
300300
"CODEX_AUDIT_SERVICE_ALLOWED_REFS": "refs/heads/main",
301301
}
302302
with (
@@ -348,7 +348,7 @@ def test_resolve_source_repo_token_prefers_source_scoped_tokens(self) -> None:
348348
{
349349
"CODEX_AUDIT_GH_TOKEN": "source-token",
350350
"GITHUB_TOKEN": "workflow-token",
351-
"GITHUB_REPOSITORY": "QuantStrategyLab/CodexAuditBridge",
351+
"GITHUB_REPOSITORY": "QuantStrategyLab/AIAuditBridge",
352352
},
353353
clear=True,
354354
):
@@ -376,7 +376,7 @@ def test_resolve_source_repo_token_rejects_cross_repo_github_token(self) -> None
376376
os.environ,
377377
{
378378
"GITHUB_TOKEN": "workflow-token",
379-
"GITHUB_REPOSITORY": "QuantStrategyLab/CodexAuditBridge",
379+
"GITHUB_REPOSITORY": "QuantStrategyLab/AIAuditBridge",
380380
},
381381
clear=True,
382382
):

0 commit comments

Comments
 (0)