Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Render order (top → bottom): **info · prayers · money · zai (one row per wi
| **prayers** | All five prayers with wall times, from [aladhan](https://api.aladhan.com) (cached per local day, stale-marker on degradation). Past prayers get a dim `✓`; the next prayer is green with a countdown on its segment only — `Fajr 04:15 (7h 03m)`. |
| **money** | API spend + token volume per window: `REPO $68.36 (1.3B)` (all-time for the current project) · `DAY` (since 00:00 local) · `7DAY` / `30DAY` (rolling, hour-aligned). Token volumes are dim, from the same sessions scan. |
| **zai** | One row per quota window — `󰚯 zai 5hrs …` / `󰚯 zai 7DAY …` — each `LABEL usage%/elapsed% (pace · reset · absolute)`, e.g. `5hrs 16%/26% (30m under · 3h 42m · Mon Oct 12 00:54)` / `7DAY 33%/32% (1h 41m over · 4d 19h · Fri Oct 16 16:12)`. **Provider-gated**: renders only while the active model's provider is `zai` (or the provider is unreadable); vanishes entirely on other providers. |
| **versions** | `󰚦 omp 18.10.1 · sl 0.8.3 · tern 0.7.2` — host from one `--version` spawn of the **running omp binary** (`process.execPath`, so it is install-agnostic (brew/npm/curl/source) and correct even for sessions resumed across an upgrade); plugin from its own package.json; tern from the `TERM_PROGRAM`/`TERM_PROGRAM_VERSION` env the [Tern terminal](https://stencil.so) sets — **Tern-gated**: strict env match, segment omitted outside Tern or when the version is unknown. Omitted entirely when no version is known — never a placeholder. |
| **versions** | `󰚦 omp 18.11.0 · sl 0.8.4 · tern 0.7.2` — host from one `--version` spawn of the **running omp binary** (`process.execPath`, so it is install-agnostic (brew/npm/curl/source) and correct even for sessions resumed across an upgrade); plugin from its own package.json; tern from the `TERM_PROGRAM`/`TERM_PROGRAM_VERSION` env the [Tern terminal](https://stencil.so) sets — **Tern-gated**: strict env match, segment omitted outside Tern or when the version is unknown. Omitted entirely when no version is known — never a placeholder. |

**Pace** — `window × (usage% − elapsed%)/100` — renders `1h 36m over` (orange: burning faster than the clock, quota exhausts early by that much) or `30m under` (green: behind the clock). Percent heat: accent < 70%, warning ≥ 70%, error ≥ 90% — raw, so over-quota stays error-red while display caps at `100%+`.

Expand Down
2 changes: 1 addition & 1 deletion assets/hero.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/COMPATIBILITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,14 @@ Per-run authoritative record, created on first use per `.omp/commands/compat-upd
- **Render sim (formatter-level)**: ✓ all six line families exact-equality-asserted against suite-approved strings (prayer, zai 5hrs/7DAY/over/heat-bands/empty, info, versions ×4 contract shapes, money, paceText, heat edges) + target-shape probe `versionLine({omp:"18.10.1", sl:"0.8.3", tern:…})` — throwaway `/tmp` script mirroring the `test/lines.test.ts` stub-theme pattern.
- **Verdict**: **COMPATIBLE** → docs-only **patch** release 0.8.3 (0.8.2 was the PR #13 fix). Version depictions synced in one pass: README feature-table row + `assets/hero.svg` versions tspan → `omp 18.10.1 · sl 0.8.3 · tern 0.7.2` (README `/sl` sample and `assets/dataflow.svg` carry no numeric version depiction). No layout change; `src/versions.ts` comment unchanged (stamp mechanism untouched in 18.10.x).
- **Ship**: branch `chore/omp-18.10.1-compat` → PR to main → tag `v0.8.3` → CI publish → npm propagation probes → `omp plugin install --force` → live tmux render check (isolated socket).

## omp 18.11.0 (2026-10-15)

- **Target**: omp v18.11.0; running binary (brew) already 18.11.0 at run time. Baseline: 18.10.1 (v0.8.3).
- **Research span**: v18.10.2 + v18.10.3 + v18.10.4 + v18.11.0, both sources (GitHub release bodies via `gh api`, changelog embedded in the running 18.11.0 binary — 18.11.0 body identical, span headers present).
- **Findings**: 18.10.2 — additive only (`onDetachedToolUpdate`, `/tree` branch nav, provider-logo picker marks, new shell builtins). 18.10.3 — breaking removals confined to packages we never import (`estimateImageContentTokens`, `isOfficialCodexApiUrl` moved pi-ai→pi-catalog, snapcompact budget-signature changes, `PROVIDER_IMAGE_BUDGETS`/`FRAME_DATA_BYTES_BUDGET` removed) + usage *value* recounting (#15446/#15447: Claude thinking at billed output size, GPT-5+ o200k — schema unchanged). 18.10.4 — plan-review extension APIs (`openPlanReview`/`resolvePlanReview`), `ApprovalDialogComponent`, `omp gc --compress` (APFS transparent; reads unaffected), dated catalog price cards. 18.11.0 — session entries gain build-stamp fields (#15680), `ApprovalDetailsOptions` removed (added 18.10.4, re-removed), composer-during-approval steering, plugin-install fixes (embedded bun #15480, `/plugins` toggle refresh #15383, marketplace `plugin.json` version precedence #15585), host-served pi-tui subpaths for compiled extensions #15659.
- **Surface**: **UNCHANGED** — no `ctx.ui.setWidget/setStatus/notify`, `ctx.models.current().provider`, `ctx.modelRegistry.getApiKeyForProvider`, `ctx.sessionManager.getSessionName`, `ctx.setInterval`, `session_start`/`model_select`, theme `{fg, sessionAccentInputs}`, or `src/money.ts` JSONL-field change. The #15680 build-stamp fields are additive and `money.ts` typeof-guards skip unknown fields; the 18.10.3 recounting changes recorded usage values, not the schema.
- **Gates**: `pnpm typecheck` ✓; `pnpm test:run` 62/62 ✓, 0 fail.
- **Render sim (formatter-level)**: ✓ all line families exact-equality-asserted against suite-approved strings (zai 5hrs under-pace, prayer, info, versions ×3 contract shapes incl. target probe `versionLine({omp:"18.11.0", sl:"0.8.4"})` + tern variant, money, paceText, heat edges) — throwaway `/tmp` script mirroring the `test/lines.test.ts` stub-theme pattern, run under node v26.10.0.
- **Verdict**: **COMPATIBLE** → docs-only **patch** release 0.8.4. Version depictions synced in one pass: README feature-table row + `assets/hero.svg` versions tspan → `omp 18.11.0 · sl 0.8.4 · tern 0.7.2` (README `/sl` sample and `assets/dataflow.svg` carry no numeric version depiction). No layout change; `src/versions.ts` comment unchanged (#15680 stamps session entries, not the `--version`-spawn mechanism).
- **Ship**: branch `chore/omp-18.11.0-compat` → PR to main → tag `v0.8.4` → CI publish → npm propagation probes → `omp plugin install --force` → live tmux render check (isolated socket).
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@getpipher/omp-statusline",
"version": "0.8.3",
"version": "0.8.4",
"description": "Six-line omp statusline widget: hijri clock, prayer times, API-spend ledger (REPO/DAY/7DAY/30DAY, subagent-inclusive), per-window zai coding-plan quota rows (provider-gated), and an omp/sl/tern version row.",
"keywords": [
"pi-package",
Expand Down
Loading