Skip to content

Commit b3717f6

Browse files
Bordacodex
andcommitted
refine(bench): complete Codex agentic benchmark checkpoint
- unify Claude and Codex structural/agentic contracts with fail-closed runtime, provenance, and generated-manifest checks - publish the validated structural and 48-cell agentic evidence, including synchronized result tables and historical caveats - release codemap-py 0.28.5 with deterministic packaging and cross-platform test isolation --- Co-authored-by: Codex <codex@openai.com>
1 parent 8e1f33a commit b3717f6

78 files changed

Lines changed: 4683 additions & 1883 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
*.yml text eol=lf
1313
*.toml text eol=lf
1414

15+
# Codemap launchers include extensionless Python, POSIX-shell, and Windows-batch
16+
# files whose exact bytes are part of generated benchmark manifest identities.
17+
plugins/codemap-py/bin/* text eol=lf
18+
plugins/codemap-py/LICENSE text eol=lf
19+
plugins/codemap-py/NOTICE text eol=lf
20+
1521
# Extensionless Codex Rig package text participates in exact hash identity.
1622
plugins/codex-rig/LICENSE text eol=lf
1723
plugins/codex-rig/NOTICE text eol=lf

.github/workflows/ci-tests.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ on:
1010
- "pyproject.toml"
1111
- "sync.sh"
1212

13+
defaults:
14+
run:
15+
shell: bash
16+
1317
jobs:
1418
tests:
1519
runs-on: ${{ matrix.os }}
@@ -37,8 +41,11 @@ jobs:
3741
- name: 📦 Install uv
3842
uses: astral-sh/setup-uv@v5
3943

40-
- name: 🧪 Run JS hook smoke tests
41-
run: node tests/hooks/tmp-paths.test.js
44+
- name: 🔒 Verify deterministic benchmark manifests
45+
run: |
46+
uv run --only-group test --python ${{ matrix.python-version }} python benchmarks/build-provider-parity-methodology-manifest.py --check
47+
uv run --only-group test --python ${{ matrix.python-version }} python benchmarks/build-codex-integration-manifest.py --check
48+
uv run --only-group test --python ${{ matrix.python-version }} python benchmarks/build-codex-agentic-manifest.py --check
4249
4350
- name: 🧪 Run plugin tests (Python bin/ + JS hooks)
4451
run: uv run --only-group test --python ${{ matrix.python-version }} pytest -W error::DeprecationWarning

.pre-commit-config.yaml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ repos:
2323
hooks:
2424
- id: end-of-file-fixer
2525
name: 📄 end-of-file-fixer
26+
exclude: ^benchmarks/(manifests|suites|tests/fixtures)/.*\.json$
2627
- id: trailing-whitespace
2728
name: ✂️ trailing-whitespace
29+
exclude: ^benchmarks/(manifests|suites|tests/fixtures)/.*\.json$
2830
- id: check-json
2931
name: 🔍 check-json
3032
- id: check-yaml
@@ -45,12 +47,13 @@ repos:
4547
- id: mixed-line-ending
4648
name: ↩️ mixed-line-ending
4749
args: ["--fix=lf"]
50+
exclude: ^benchmarks/(manifests|suites|tests/fixtures)/.*\.json$
4851
- id: pretty-format-json
4952
name: ✨ pretty-format-json
5053
args: ["--autofix"]
51-
# Benchmark manifests and suites are identity-locked inputs/outputs. Their
52-
# dedicated builders own deterministic serialization and hash validation.
53-
exclude: ^benchmarks/(manifests|suites)/.*\.json$
54+
# Benchmark manifests, suites, and historical fixtures are identity-locked
55+
# inputs/outputs. Their dedicated builders/tests own byte and hash validation.
56+
exclude: ^benchmarks/(manifests|suites|tests/fixtures)/.*\.json$
5457

5558
- repo: https://github.com/JoC0de/pre-commit-prettier
5659
rev: v3.9.4 # using tag; previously pinned SHA when tags were not persistent
@@ -237,6 +240,18 @@ repos:
237240
# runtime dirs are gitignored and excluded from the pattern by not matching.
238241
files: ^plugins/[^/]+/(agents|skills|rules|hooks)/.*\.(md|js)$|^plugins/[^/]+/\.claude-plugin/[^/]+\.json$|^\.claude/(agents|skills|rules)/.*\.md$|^\.claude/hooks/[^/]+\.js$|^\.claude/settings\.json$|^\.codex/(agents|skills|rules)/.*\.md$|^\.codex/hooks/[^/]+\.js$|^\.codex/settings\.json$
239242

243+
- id: no-literal-tmp-in-hooks
244+
name: 🌡️ No literal /tmp/ in hook source
245+
language: pygrep
246+
# Hooks must derive their temp base (os.tmpdir(), ${TMPDIR:-/tmp}, tempfile) rather than
247+
# hardcode /tmp/ — see cc_foundry/rules/claude-config.md §TMPDIR Sentinel Scoping. Only a
248+
# quoted or template-literal /tmp/ is a real path constant; prose mentions inside comments
249+
# (commit-guard.js documents its sentinel path) carry no quote and stay unflagged.
250+
entry: '["''`]/tmp/'
251+
# Replaces tests/hooks/tmp-paths.test.js, which checked a hardcoded 6-file cc_foundry list
252+
# and missed the other 16 plugin hooks; this glob picks up new hooks automatically.
253+
files: ^plugins/[^/]+/hooks/.*\.(js|py)$|^\.claude/hooks/.*\.(js|py)$|^\.codex/hooks/.*\.(js|py)$
254+
240255
- repo: https://github.com/jorisroovers/gitlint
241256
rev: v0.19.1 # run `pre-commit autoupdate --repo https://github.com/jorisroovers/gitlint` to set
242257
hooks:

README.md

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -383,36 +383,28 @@ Without the plugin: pre-pass review is skipped gracefully (skills check with `cl
383383
384384
→ Install instructions: [rtk-ai/rtk](https://github.com/rtk-ai/rtk)
385385
386+
> [!NOTE]
387+
>
388+
> RTK only compresses **Bash tool output** — shell commands like `git`, `cargo`, `pytest`, etc. It does not affect Claude Code's native tools (Read, Grep, Glob, Edit, Write), which run inside Claude's own engine and are already token-efficient by design.
389+
386390
### Codex CLI plugin
387391
388392
[openai/codex-plugin-cc](https://github.com/openai/codex-plugin-cc) connects the Codex CLI to Claude Code as a local plugin — enabling the cross-validation, mechanical delegation, and diff pre-pass described in [Claude + Codex Integration](#-claude--codex-integration).
389393
390394
→ Install: `/plugin marketplace add openai/codex-plugin-cc` → `/plugin install codex@openai-codex` → `/reload-plugins`
391395
392-
> [!NOTE]
393-
>
394-
> RTK only compresses **Bash tool output** — shell commands like `git`, `cargo`, `pytest`, etc. It does not affect Claude Code's native tools (Read, Grep, Glob, Edit, Write), which run inside Claude's own engine and are already token-efficient by design.
395-
396396
### cc-Lens
397397
398398
[cc-Lens](https://github.com/Arindam200/cc-lens) is a local analytics dashboard for Claude Code — token/cost trends, tool usage breakdowns, session replay. Reads `~/.claude/` directly, no cloud, no data leaves the machine.
399399
400400
→ Run: `npx cc-lens` — no install required
401401
402-
### Colab-MCP
402+
### Colab-MCP (active testing)
403403
404404
[colab-mcp](https://github.com/googlecolab/colab-mcp) connects Google Colab as a remote GPU executor. Pre-configured in `.mcp.json` (disabled by default) — used by `/research:run --colab` to offload metric-improvement iterations to a cloud GPU without a local CUDA setup. Supports hardware selection: `--colab=H100`, `--colab=L4`, `--colab=T4`, `--colab=A100`.
405405
406406
→ Enable: add `"colab-mcp"` to `enabledMcpjsonServers` in `settings.local.json`
407407
408-
### Semble (semantic code search)
409-
410-
[semble](https://github.com/MinishLab/semble) runs a local MCP server that adds hybrid semantic + lexical search across any repo. When available, the `develop` and `oss` skills automatically expose `mcp__semble__search` to agents as a gap-fill tool — used when the codemap index is non-exhaustive. No cloud, no API key; runs fully local via `uvx`.
411-
412-
→ Install (global, all projects): `claude mcp add semble -s user -- uvx --from "semble[mcp]" semble`
413-
414-
→ Install (this project only): `claude mcp add semble -s project -- uvx --from "semble[mcp]" semble`
415-
416408
### Caveman
417409
418410
[caveman](https://github.com/JuliusBrussee/caveman) makes Claude respond in compressed "caveman speak" — cutting ~75% of output tokens while retaining full technical accuracy. Adjustable intensity levels (lite → full → ultra → 文言文) and a compression tool that also cuts ~46% of input tokens per session.

0 commit comments

Comments
 (0)