Skip to content

Commit 6945463

Browse files
Bordaclaude[bot]codex
committed
feat(codemap): audit dual-runtime integration and telemetry
Changes: - Release codemap-py 0.31.0 with the breaking check-to-audit rename, schema-v2 provider/consumer, managed-block, index, runtime-log, usage, content-identity, drift, and remediation evidence; retain no compatibility alias and keep apply source-only versus sync runtime-only. - Add the Codex hook manifest and cross-platform prompt, guard, tool-record, and edit-invalidation lifecycle; stamp runtime/version/refresh provenance and isolate Claude, Codex, and direct logs plus repository session markers by runtime. - Fix incremental indexing so Markdown and reStructuredText remain freshness and documentation-reference inputs without becoming degraded Python modules, and heal legacy non-Python module contamination on the next bounded refresh. - Extend debriefing, repeated-search analysis, and anonymization across recursive runtime/session shards, preserve directory topology, report per-runtime timing/tool/skill aggregates, and state token data as unavailable instead of estimating it. - Strengthen Claude and Codex query skills to query first, stop redundant structural reads after complete untruncated results, target only named incomplete/degraded gaps, allow independent source-body inspection, and route affected-test selection through test-impact. - Stabilize unavailable native-plugin records, bound telemetry parsing and content hashing, separate Claude-only session seeding from Codex thread identity, and validate packaged hook pointers and runtime isolation on POSIX and Windows command forms. - Release Codex Rig 0.8.3 and cc_foundry 0.49.2 with codemap-py.integration.v2 consumer metadata, audit terminology, regenerated deterministic manifests, and the intentionally retained v1 managed-block sentinel envelope. Impact: - Users receive read-only integration health evidence that distinguishes observed state, stale/degraded indexes, same-version byte drift, unavailable host facts, and actionable plan/apply/sync remediation without silently mutating caches or indexes. - Claude and Codex can share one repository without cross-labeling sessions or logs; complete Codemap answers can prevent redundant grep/read work while incomplete evidence still fails open to targeted source inspection. - Documentation changes no longer poison whole-graph completeness, and existing contaminated indexes recover incrementally without requiring destructive cache migration. - This is a coordinated breaking integration release: callers must use integrate audit and both hook and CLI layers should update together because mixed 0.30.x/0.31.x session-marker paths do not join. Verification: - pre-commit run ruff-check --files <36 changed Python files>: passed. - env -u CODEX_THREAD_ID .venv/bin/python -m pytest -q plugins/codemap-py: 1687 passed, 3 skipped in 128.92s. - env -u CODEX_THREAD_ID .venv/bin/python -m pytest -q plugins/codex-rig: 752 passed, 1 skipped in 27.37s. - env -u CODEX_THREAD_ID .venv/bin/python -m pytest -q plugins/cc_foundry: 1648 passed in 52.73s. - codemap-py deterministic package build/check/validation: 77-file 0.31.0 candidate passed. - codex-rig build_package.py --check and validate_package.py: manifest current and package validation passed. - cc_foundry build_blueprint_manifest.py --check: all four plugin manifests current; foundry 1393, oss 1249, develop 750, research 592 entries. - jq empty on every changed JSON manifest/config and git diff --cached --check: passed. - Pinned ruff-format and mdformat were not rerun after Fable's final edits to preserve the explicitly requested diff as-is; earlier implementation gates had passed before those edits. Residual limits: - Native Windows execution and a fresh installed Claude/Codex host session were unavailable; simulated cross-platform contracts and local package gates passed. - Installed plugin caches were not synced, no release was published, and the external rf-detr index was not rebuilt. - Host hooks expose neither model token usage nor native session-catalog provenance, so audit reports those facts as unavailable or unobservable. - Mixed-version 0.30.x/0.31.x hook and CLI layers temporarily lose coverage-session correlation until both sides update. --- Co-authored-by: Claude/Fable5 <209825114+claude[bot]@users.noreply.github.com> Co-authored-by: Codex <codex@openai.com>
1 parent bca74d8 commit 6945463

61 files changed

Lines changed: 3202 additions & 522 deletions

Some content is hidden

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

plugins/cc_foundry/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@
1515
"license": "Apache-2.0",
1616
"name": "foundry",
1717
"repository": "https://github.com/Borda/AI-Rig",
18-
"version": "0.49.1"
18+
"version": "0.49.2"
1919
}

plugins/cc_foundry/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ What it does:
167167

168168
Hooks (`hooks.json`) register automatically when plugin enabled — `/foundry:setup` never touches them directly.
169169

170+
Codemap integration metadata uses the `codemap-py.integration.v2` managed-block body while retaining the `v1` sentinel format; use `codemap-py integrate audit` for read-only integration evidence.
171+
170172
______________________________________________________________________
171173

172174
### `/foundry:audit`

plugins/cc_foundry/blueprint-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5573,6 +5573,6 @@
55735573
"src": "skills/investigate/SKILL.md:100"
55745574
}
55755575
},
5576-
"plugin": "cc_foundry@0.49.1",
5576+
"plugin": "cc_foundry@0.49.2",
55775577
"schema": 1
55785578
}

plugins/cc_foundry/skills/_shared/codemap-context.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ Extends the contract core map. Each entry is the dimension that agent's own pre-
2929

3030
## Managed-block host
3131

32-
This file is `CONSUMER_MANAGED_FILE["foundry"]` — the consumer-owned host for the `codemap-py.integration.v1` managed block. It ships **without** one: `codemap-py integrate plan` records a first-time insert and `integrate apply` appends the `<!-- codemap-py:integration:begin v1 sha256=... -->``end` block at EOF, per install. Never hand-author that block — the engine refuses any block whose body hash does not match its marker.
32+
This file is `CONSUMER_MANAGED_FILE["foundry"]` — the consumer-owned host for the `codemap-py.integration.v2` managed-block body. It ships **without** one: `codemap-py integrate plan` records a first-time insert and `integrate apply` appends the `<!-- codemap-py:integration:begin v1 sha256=... -->``end` block at EOF, per install. The sentinel schema remains `v1`; the body declares protocol `codemap-py.integration.v2`. Never hand-author that block — the engine refuses any block whose body hash does not match its marker.

plugins/codemap-py/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@
1919
"name": "codemap-py",
2020
"repository": "https://github.com/Borda/AI-Rig",
2121
"skills": "./claude-skills/",
22-
"version": "0.30.1"
22+
"version": "0.31.0"
2323
}

plugins/codemap-py/.codex-plugin/plugin.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
},
66
"description": "Static Python structure for Codex: indexing, queries, test impact, reference renames, integration, and session telemetry debriefs",
77
"homepage": "https://github.com/Borda/AI-Rig",
8+
"hooks": "./hooks/codex-hooks.json",
89
"license": "Apache-2.0",
910
"name": "codemap-py",
1011
"repository": "https://github.com/Borda/AI-Rig",
1112
"skills": "./codex-skills/",
12-
"version": "0.30.1"
13+
"version": "0.31.0"
1314
}

plugins/codemap-py/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
`codemap-py` is the renamed, direct successor to the `codemap` plugin. The maintained product and its SemVer history continue across the rename; only the plugin identity, repository directory, and skill namespace change. Pre-`0.25.0` history was recorded as `codemap` under `plugins/codemap/` — see the repository git history for that line; it is not reproduced here.
44

5+
## 0.31.0
6+
7+
- **BREAKING:** replace `codemap-py integrate check` with the read-only `codemap-py integrate audit`; there is no compatibility alias. Update `/codemap-py:integration check` and `$codemap-py:integration check` invocations to `audit`, and consume `schema_version: 2` / `codemap-py.integration.v2` reports. `check` now exits `2` as an unknown subcommand. Unlike `check` (always exit `0`), `audit` exits `1` when any finding fails — and an existing v1 managed block reports `managed_block_invalid` until `plan` + `apply` rewrite it, so scripts treating nonzero as an error must be updated together with the invocation.
8+
- Add audit JSON/text evidence for observed provider, consumer, managed-block, index, runtime-log, and usage state, stable findings, and non-executable remediation. Audit never invokes a mutation, refresh, query self-heal, or plugin-manager mutation; its only subprocesses are read-only probes (`claude|codex plugin list --json`, `git rev-parse`).
9+
- Scope new telemetry to `logs/{claude,codex,direct}/`, stamp runtime/version and refresh provenance, and retain legacy flat records as unattributed input. The session marker moves from `current-session` to `current-session-<runtime>.json`; a mid-session mixed-version state (old hook with new CLI, or the inverse) loses the session join until both layers run the same version. Update debrief and avoidance analysis to recurse across flat and runtime trees, report per-runtime/unattributed metrics, and preserve topology during directory anonymization.
10+
- Keep incremental documentation refreshes in freshness and documentation-reference evidence without creating degraded module records; the next bounded refresh self-heals the index. Audit now reports observed provider content identity, same-version content drift, an unobservable session catalog when native provenance is absent, Codex CLI/tool shards without a skill-start hook, per-runtime usage summaries, and unavailable token measurement because host hooks expose no tokens. These reports make no live fresh-session activation or token-savings claim.
11+
- Align query guidance with the utilization guard: query first without a pre-scan, stop re-query/read/grep after a complete untruncated structural result, allow source-body reads for distinct implementation/runtime details, use only targeted fallbacks for named incomplete/degraded gaps, and route test-choice questions to `test-impact`.
12+
- Keep the managed sentinel schema at `v1` while the managed-block body protocol becomes `codemap-py.integration.v2`. Apply remains source-only and sync remains runtime-only; one approved plan may serve both, since each command executes only its own operation kind and sync re-validates the installed runtime state immediately before every native operation.
13+
514
## 0.30.1
615

716
- Rewrite the public README around the problem solved, Claude Code and Codex installation, first query, adaptive query selection, prerequisites, runtime differences, and static-analysis limits; remove duplicated run-specific benchmark tables while retaining links to the canonical benchmark record.

0 commit comments

Comments
 (0)