Repository navigation
Releases: FramY2/ctxwise
Release list
CtxWise v1.0.0 — Multi-Agent Context Firewall, MCP Tree-Shaker & Token Profiler
CtxWise v1.0.0 — Multi-Agent Context Firewall, MCP Tree-Shaker & Token Profiler
CtxWise v1.0.0 expands from a single-agent Codex profiler into a universal, local-first Multi-Agent Context Firewall, MCP Schema Tree-Shaker, and Token Budget Guard for Claude Code (CLAUDE.md), OpenAI Codex (AGENTS.md), and Cursor (.cursor/rules).
Highlights
- Multi-Agent Context Profiler (
ctxwise agents) — Audit active startup context token weight across Claude Code (CLAUDE.md,CLAUDE.local.md,.claude/commands/*.md,.claude/skills/**/SKILL.md,.mcp.json), OpenAI Codex (AGENTS.md,AGENTS.override.md,.codex/skills,.agents/skills), and Cursor (.cursorrules,.cursor/rules/*.mdc) in a single command, with automatic cross-agent parity detection (synced,diverged,single-agent). - Cross-Agent Sync & Token Diet (
ctxwise sync [--compress]) — KeepAGENTS.md,CLAUDE.md, and.cursor/rules/ctxwise.mdcsynchronized from a single canonical source, with optional deterministic--compressmode that strips HTML comments, duplicate bullet directives, and excessive padding while preserving fenced code blocks intact. - MCP Schema X-Ray & Tree-Shaker (
ctxwise mcp-xray) — Inspect MCP server declarations across.mcp.json,~/.claude.json, and.codex/config.toml. Rank MCP tool schemas by estimated token footprint (via--schema-fileor live local stdio probing--probe-stdio), flag[BLOATED]tools (>= 250tokens or>= 12input properties), and compute exact tree-shaking savings per turn. - Context Security & Prompt-Injection Firewall (
ctxwise shield) — ScanCLAUDE.md,AGENTS.md,.mcp.json, skills, and rules for hardcoded API keys (sk-ant-*,sk-proj-*,ghp_*,AKIA*, private keys), covert HTML comment instructions (<!-- ... -->), prompt-injection overrides, and hidden Trojan Source bidirectional/zero-width Unicode characters (--fail-on-riskfor CI/pre-commit). - Curated Stack Budget Presets (
ctxwise preset) — Apply battle-tested context budgets and lean guidance templates in one command (nextjs-typescript,python-fastapi,rust-cargo,go-microservice,mcp-server-dev,monorepo-turbo). - Official GitHub Composite Action (
FramY2/ctxwise@v1) — Zero-config CI integration (action.yml) runningshield,agents, andbudgeton every pull request.
Quickstart
# Multi-agent startup surface across Claude Code, OpenAI Codex, and Cursor
npx --yes @framy2/ctxwise agents
# Sync AGENTS.md <-> CLAUDE.md <-> Cursor rules with deterministic Token Diet compression
npx --yes @framy2/ctxwise sync --compress
# Scan context files for leaked API keys, prompt injection, and hidden Unicode
npx --yes @framy2/ctxwise shield --fail-on-risk
# Inspect MCP server & tool schema token overhead
npx --yes @framy2/ctxwise mcp-xray --probe-stdio
# List or apply curated stack budget presets
npx --yes @framy2/ctxwise presetCtxWise v0.5.0 — context budget guard
CtxWise v0.5.0 — context budget guard
ctxwise budget turns the local context snapshot into a reviewable guardrail.
Set a one-off limit with command flags or commit a small strict YAML policy for
CI. The command reports estimates, identifies the largest known contributor,
and keeps unmeasured config/profile and MCP surfaces explicitly unknown.
npx @framy2/ctxwise budget --max-known-tokens 4000 --fail-on-exceedStart from examples/ctxwise.budget.yaml:
ctxwise budget --policy ctxwise.budget.yaml --fail-on-exceed--fail-on-exceed returns exit code 2 only for a numeric violation, or for
unmeasured surfaces when the policy explicitly sets unknown: fail, or an
audit error that prevents a reliable result. It never
claims an exact context-window measurement, calls a model, or writes settings.
CtxWise v0.4.0 — one command before the task
CtxWise v0.4.0 — one command before the task
CtxWise now gives a useful answer before asking a new user to understand the
whole audit model or spend quota on a benchmark:
npx @framy2/ctxwise snapshotThe command runs locally, calls no model or API, reads no session transcript,
and changes no configuration. It reports:
- the estimated known startup-token surface;
- the largest guidance and skill-discovery contributors;
- counts for guidance, skills, plugins, and MCP servers;
- configuration and MCP surfaces that remain unknown rather than being counted
as zero; - bounded next actions for warnings such as a large skill catalog or duplicate
skill metadata.
This release also updates Vitest to 4.1.11 and tightens the public product
positioning around observability, safety, and reproducibility.
The existing benchmark remains available as supporting evidence, not the first
thing a new user is asked to run.
CtxWise v0.3.2
CtxWise v0.3.2 — runtime version synchronization
This patch fixes a release-metadata bug found by installing v0.3.1 in a real
Codex environment.
What changed
ctxwise --versionnow reads the published package version.- Codex app-server client metadata and newly generated capability lockfiles use
the same single source of truth. - End-to-end and integration tests fail if runtime and package versions drift
again.
v0.3.1 functionality was unaffected, but its CLI displayed the stale value
0.3.0. v0.3.2 corrects the display and generated metadata rather than hiding
the discrepancy.
Evidence
- RED: the new tests observed
0.3.0while npm contained0.3.1. - GREEN: CLI and lockfile tests match
package.jsonafter centralization. - Full release gate: formatting, types, coverage, build, plugin validation,
package inspection, runtime dependency audit, CI matrix, and CodeQL.
CtxWise v0.3.1
CtxWise v0.3.1 — rebrand completion
This patch release completes the visible CtxWise rename and keeps the release
path reproducible.
What changed
- The README demo, MP4, square social cut, GIF, and poster are rebuilt from the
CtxWise sources. Scenes stay still; motion is limited to short diagonal
transitions and opening/closing fades. CTXWISE_CODEX_BINis now the preferred custom Codex executable override.
Existing setups usingCTXRAY_CODEX_BINcontinue to work as a fallback.smol-tomlandtsxreceive their green Dependabot patch updates.- Current public documentation and copyright metadata use the CtxWise identity.
Evidence
- Local-first behavior is unchanged: no telemetry, auth proxy, prompt upload,
or background plugin hooks. - Reproduction:
npm run benchmark:quickafter cloningv0.3.1. - Release gate: formatting, type checking, coverage, build, plugin validation,
npm package inspection, and runtime dependency audit.
CtxWise v0.3.0
CtxWise v0.3.0 — rename from CtxRay
CtxRay is now CtxWise. The product is the same local-first Codex audit,
profile, drift, and receipt CLI. The name change avoids the unrelated PyPI
project also called ctxray.
Install
npm install --global @framy2/ctxwise
ctxwise doctorctxray remains a one-release compatibility command. Existing ctxray
lockfiles still parse. New lockfiles write generator.name: "ctxwise".
What to use now
- Package:
@framy2/ctxwise - Repository: https://github.com/FramY2/ctxwise
- Reproduction:
npm run benchmark:quickafter cloningv0.3.0
This is a naming and identity release, not a new benchmark claim.
CtxRay v0.2.4 - make independent testing smaller
CtxRay v0.2.4 — make independent testing smaller
The full CtxRay benchmark is deliberately conservative: ten fixed tasks, two
modes, and twenty Codex turns. Version 0.2.4 adds a smaller activation path for
people who want to verify one baseline/optimized pair before committing to the
matrix.
This release began as the project's first external code contribution,
PR #7 by @blut-agent. Maintainer
follow-ups preserve that commit while adding regression coverage and
fail-closed evidence boundaries.
What changed
npm run benchmark:quickruns a stable two-turn smoke test with no arguments.--task <id>selects any one task frombenchmarks/tasks.json.- Unknown and unsafe task IDs fail before a Codex process starts.
- A filtered run refuses a ledger that already contains unrelated tasks.
- Terminal, Markdown, JSON, and share-report denominators use the selected
scope rather than the full matrix. - Partial filtered-run continuation commands preserve
--task. - The full twenty-turn flow remains available and unchanged.
The command states its maximum Codex-turn cost before execution, creates a
fresh local community-* ledger, and never uploads generated artifacts.
Maintainer benchmarks remain maintainer evidence; this release does not claim
an independent reproduction has occurred.
Verification
- 17 test files and 80 passing tests.
- 92.05% statement, 83.10% branch, 91.92% function, and 94.76% line coverage.
- CI passes on Node.js 20, 22, and 24.
- Plugin validation and
npm pack --dry-runpass. npm audit --omit=devreports zero vulnerabilities.- GitHub code-scanning, Dependabot, and secret-scanning report no open alerts.
See the RED/GREEN record.
CtxRay v0.2.3 - make the reproduction real
CtxRay v0.2.3 — make the reproduction real
The original community preflight had an activation trap: because the bundled
v1 ledger was already complete, a tester could run the documented command and
perform no fresh Codex turns. The result looked successful without being an
independent reproduction.
Version 0.2.3 fixes the path:
npm run benchmark:reproducecreates a uniquecommunity-*ledger;- the preflight clearly states that it may consume two Codex turns;
- the terminal prints the command to resume all 20 turns without repeats;
- bundled maintainer IDs cannot receive new calls;
- unsafe or ambiguous identifiers and limits fail before Codex starts;
share.mdlabels exact, estimated, and withheld evidence honestly;SHA256SUMS.txthashes the exact local artifacts.
The tool never uploads benchmark files or certifies who ran them. Maintainers
must still verify whether a submitted result is independent.
Quality gate: 17 test files, 69 passing tests, 91.91% statement coverage,
82.74% branch coverage, 91.55% function coverage, and 94.71% line coverage.
See the RED/GREEN record.
CtxRay v0.2.2 - match active Codex guidance
CtxRay v0.2.2 — match active Codex guidance
CtxRay v0.2.2 is a compatibility and audit-correctness patch release.
Highlights
- Detects the project root from Codex-compatible root markers instead of
silently treating a nested working directory as the root. - Inventories project guidance from the root down to the active working
directory withAGENTS.override.mdprecedence and configured fallback names. - Applies
project_doc_max_bytesto the aggregate active guidance chain,
including deterministic truncation of the last contributing file. - Makes redacted capability locks track active nested guidance while excluding
unrelated sibling instructions. - Falls back from an empty global
AGENTS.override.mdto the normal
AGENTS.md, matching Codex behavior.
The bug was reported with a minimal reproduction in
Issue #6. The fix was developed
with preserved RED/GREEN checkpoints and 60 passing automated tests.
Install
npm install --global @framy2/ctxray@0.2.2Run ctxray audit from the directory where Codex will work. CtxRay detects a
configured project root automatically; --project remains available for an
explicit root. The lockfile schema, local-first boundary, and no-telemetry
behavior are unchanged.
CtxRay v0.2.1 - prove the proof
CtxRay v0.2.1 — prove the proof
CtxRay v0.2.1 is a benchmark-integrity and security patch release.
Highlights
- Publishes a second 20-turn Luna/Terra/Sol maintainer benchmark ledger with
raw JSONL, checksums, and a conservative nine-pair headline. - Preserves an erratum for a stale npm package-name validator instead of
rewriting the raw result, then adds a regression test against current package
metadata. - Fixes prototype-like prompt roles in X-Ray aggregation after enabling GitHub
CodeQL's extended local-and-remote analysis. - Documents which CLI inputs belong to the trusted local operator boundary.
Install
npm install --global @framy2/ctxray@0.2.1This patch does not change the command surface or weaken CtxRay's local-first,
no-telemetry behavior.