Skip to content

Releases: easyvibecoding/codex-usage-reports

v0.7.3 — Subagent visualization paths

Choose a tag to compare

@easyvibecoding easyvibecoding released this 26 Sep 14:40

修正

  • 修正 SubAgent 圖卡輸出到父 Task 目錄、導致 Desktop 拒絕讀取的問題。經驗證的繼承路徑會自動轉到子代理自己的 UUIDv7 日期目錄。
  • 若沙盒拒絕新位置,只嘗試一次子代理工作目錄下的 work/codex-usage-cards,沿用同份用量快照。
  • 保留父圖卡、身分檢查與唯讀報表行為,拒絕跨 Task 路徑、路徑穿越及符號連結。

驗證與使用

260 項測試、隔離安裝與打包 runtime 測試通過;已用本機 Desktop 原始讀檔程式驗證輸出路徑。此項不是 GUI 端到端繪製驗證。

相容的簽署 runtime 更新不改 hook 定義或信任紀錄。請開始新 Task 與子代理使用新版;既有 Task 固定的 runtime 和舊圖卡不會回補。

v0.7.1

Choose a tag to compare

@easyvibecoding easyvibecoding released this 26 Sep 03:39

Fixed

  • Revoke cached descendant usage on contradictory parent metadata and reject delayed writes after revocation.
  • Validate the original Task, root, direct parent and role for preview, Stop and completion; reject inconsistent explicit roles while retaining supported legacy baselines.
  • Use child-specific own-usage, settings and descendant labels in cards and Markdown/HTML receipts across all nine report languages.
  • Preserve the matching hashed selector, independent report-only runtime, existing hook definitions and nonblocking failures.
  • Close readonly quota index and test fixture connections, with zero ResourceWarnings in the full Python 3.13 validation run.

New Tasks select the updated signed runtime. Existing Tasks and generated cards remain pinned snapshots. See docs/VALIDATION.md for isolated native installation, parent/child read-back and the Desktop rendering limit.

v0.7.0 — Child-agent reports linked to parent Tasks

Choose a tag to compare

@easyvibecoding easyvibecoding released this 26 Sep 01:53

Child-agent reports linked to the parent Task

  • Child agents can create their own turn preview, Stop receipt, completion revision, and selected Task report. The parent Task keeps its own usage separate from a deduplicated descendant subtotal; both sides show the same hashed @selector.
  • Native catalog lineage and child-owned transcript boundaries exclude copied parent history and foreign requests. Persistent receipts omit raw Task IDs and agent paths. Reporting remains independent and nonblocking.
  • This release adds a SubagentStart hook. After updating an enabled installation, review the changed hooks in Codex /hooks and start a new Task. An intentionally disabled installation remains disabled until its owner chooses to enable it.
  • An isolated real Codex CLI turn spawned one child and produced matching parent/child Stop receipts. The parent kept its own 46,378 tokens separate from the child's observed 17,329. The CLI canary did not verify Desktop card painting.

Validation: 229 local tests, Ruff, repository/plugin/documentation checks, staged sensitive-data scan, signed-release verification, and isolated installed-hook read-back. See docs/VALIDATION.md.

Signed runtime SHA-256: 05396ebd97e3e7a30d5525330f0f3ad2b13726f8d67b6b2c493c02019d0d6c14.

v0.6.0 — Observed cache-read share

Choose a tag to compare

@easyvibecoding easyvibecoding released this 23 Sep 11:56

Observed cache-read share

  • Added cached-input share to automatic turn receipts, inline previews, and selected Task reports.
  • Added parent-only cache-read share to JSON receipts and Task reports. Missing or zero input remains unavailable.
  • Kept parent, child, and quota scopes separate; the percentage does not diagnose server-side cache misses or estimate subscription savings.
  • Kept the existing signed bootstrap and native hook definitions unchanged so compatible updates retain their established trust boundary.

The signed runtime is version 0.6.0. See CHANGELOG.md and docs/METRICS.md for details.

v0.5.0 — Signed automatic updates with stable hook trust

Choose a tag to compare

@easyvibecoding easyvibecoding released this 16 Sep 17:18

Routine runtime and CLI updates now preserve native hook trust. A fixed entry verifies releases signed by the plugin's pinned publisher key, then activates compatible updates for new Tasks. Existing Tasks retain their starting runtime.

Changes

  • Automatic background update checks, enabled by default, with a six-hour success interval and bounded execution. No model calls.
  • RSA-3072/SHA-256 signatures, runtime integrity checks, bootstrap compatibility checks, replay protection, and retention of the previous verified runtime.
  • Local publisher_updates.py status, on, off, update, and rollback controls.
  • Project-scoped codex exec activity and optional launcher attribution, plus first-prompt hook-trust reminders, included since the previous GitHub release.

Upgrade

This release introduces a new fixed entry. After installing it, open CLI codex → /hooks, review and trust the changed hooks once, then start a new Task. This permits future signed program changes from the same publisher. Routine compatible runtime updates then require no new grant. New hook events or changes to the entry or signing key still require review; plugin/skill structure changes need a normal plugin update.

The Plugins page can show the installed package version while a newer signed runtime is active. Use python3 scripts/publisher_updates.py status from the installed plugin directory to inspect the actual runtime.

Verification

  • 222 local tests and CI across Python 3.10–3.13 passed, including packaging and sensitive-data checks.
  • An isolated native Codex installation automatically downloaded and executed the published signed runtime. All 8 hooks remained trusted with identical hashes and no second trust grant; the older Task retained its original runtime.
  • A normal package upgrade also preserved hook trust. Invalid signatures, corrupted payloads, rollback, disabled updates, and entry migrations are covered by tests.

Update controls and boundaries · Validation evidence

v0.2.1 — Correct turn usage across native counter sources

Choose a tag to compare

@easyvibecoding easyvibecoding released this 13 Sep 15:19

Fixes turn usage showing “Unobserved” when native request totals and legacy token-count events have different historical baselines. Reports now keep the two sources separate and prefer the selected turn's validated native counter, keeping its Task and turn totals together.

True same-source resets, invalid records, source changes, and bounded-tail turn-counter decreases remain unavailable. Preview and original Stop files remain immutable; completion checks still stop at the selected turn boundary.

Validation: 182 tests, Ruff, repository/docs/manifest checks, and sensitive-data scan passed locally. An isolated installation exercised real packaged hooks: preview 600 → Stop 800 → completed turn 1,000, excluding the next turn and preserving original receipts. Read-only native inspection also confirmed the reported source mismatch and recovered the affected turn's explicit native count; private data is not published.

After updating, review the changed hooks in Codex CLI /hooks and start a new Task. Existing Tasks can retain a pinned older runtime, and old inline cards do not refresh.

Codex Usage Reports v0.2.0 — Background completion reconciliation

Choose a tag to compare

@easyvibecoding easyvibecoding released this 13 Sep 14:46

Automatic usage reports now perform a bounded local check after Stop, capturing the selected turn's final persisted usage without calling a model or continuing the Task.

  • Require an explicit native completion event and exclude subsequent turns.
  • Publish a separate completion revision with version, update time and evidence status; new Task-report queries select the latest revision.
  • Preserve every original Stop JSON/HTML/Markdown file and inline card. Missing, reset and incomplete data remain partial.
  • Limit background work to eight scans and a 25-second process deadline. Stop returns immediately; duplicate events do not launch duplicate workers.

Validation: 173 local tests, nine locales, isolated installed-bootstrap and installed-CLI read-back, and an independent 25-second timeout fault injection. The synthetic installed test revised 200 tokens to 500 while excluding a later turn and preserving all original report bytes.

The phone A/B experiment confirmed that a new reference can read revised source, but the original card retained its old snapshot after Task reentry. This release does not promise automatic refresh of existing inline cards.

After updating, review changed hooks in Codex CLI /hooks, then use a new Task. Restarting the app does not grant hook trust. Do not enable automatic reporting in both this plugin and Codex Run Budget.

Validation and compatibility

Post-install native verification: after the changed hooks were trusted, a new phone-created Task displayed its inline preview and automatically produced a completion revision. The native timing index selected revision 2; the background job completed on its first scan with verified source identity and a native turn counter. This confirms the new Task hook lifecycle, while the original inline card remains a pre-final snapshot.

v0.1.1 — Mobile report visibility fix

Choose a tag to compare

@easyvibecoding easyvibecoding released this 13 Sep 13:23

Inline report titles, totals, and disclosures now remain readable when a remote host omits or misbinds its theme colors. The card uses paired browser system colors and scoped typography.

  • Chromium and WebKit regression: four languages, phone/desktop widths, light/dark themes, and three host color configurations (96 cases).
  • 141 Python tests, package installation, and installed renderer read-back passed locally.
  • Updated synthetic screenshots and documented compatibility boundaries.

Update the plugin and begin a new Task to use the new renderer. Existing Tasks may keep their pinned runtime, and existing cards do not refresh. Browser tests passed; actual iPhone remote app rendering still needs device confirmation.

Runtime remains Python 3.10+ standard library only. Download checksums are in SHA256SUMS.

Hook trust after updating

After installation, open /hooks in the Codex CLI and review changed hooks for this plugin. Codex skips modified and untrusted hooks even if the plugin is installed and enabled. Restarting the app or opening a Task remotely does not grant trust. Complete the native trust review, then start a new Task. Do not use a trust-bypass flag as an installation step.

v0.1.0 — Automatic Task and turn usage reports

Choose a tag to compare

@easyvibecoding easyvibecoding released this 13 Sep 13:00

Codex Usage Reports is a standalone local reporting plugin for Codex. It adds automatic per-turn cards, selected-Task reports, observed model and reasoning context, child-agent attribution, and native account quota observations.

Included

  • Independent plugin, Python CLI, report data directory, and pinned hook runtime.
  • Task cumulative counters and current-turn deltas kept separate.
  • HTML, Markdown, and JSON receipts with explicit missing-data coverage.
  • Nine report languages and English, Traditional Chinese, Simplified Chinese, and Japanese READMEs.
  • Codex-generated hero/icon art and synthetic product screenshots.

Install

codex plugin marketplace add easyvibecoding/codex-usage-reports
codex plugin add codex-usage-reports@codex-usage-reports

Trust the hooks and start a new Task. Python 3.10+ is required. See the README and docs/VALIDATION.md for host-specific limitations.

Reporting errors do not block agent work. These are observed usage reports, not invoices or exact charges. This independent MIT project is not affiliated with or endorsed by OpenAI.