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.9.0 · sl 0.8.0 · 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.9.2 · sl 0.8.1 · 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
14 changes: 14 additions & 0 deletions docs/COMPATIBILITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Compatibility Archive — @getpipher/omp-statusline

Per-run authoritative record, created on first use per `.omp/commands/compat-update.md` Step 6. One `## omp TARGET (DATE)` section per compat run: research, gates, render verification, verdict.

## omp 18.9.2 (2026-10-12)

- **Target**: omp v18.9.2 (published 2026-10-11); running binary already 18.9.2 at run time.
- **Research sources**: GitHub release notes (`gh api repos/can1357/oh-my-pi/releases/tags/v18.9.2`) + changelog embedded in the running binary (18.9.2 bundle spans 18.2.2→18.9.2). `~/.omp/agent/last-changelog-version` not used (dialog-gated, stale-prone).
- **Findings**: host-internal release — pi-ai judge renames (`TypeSafeJudge`→`NativeJudge`), coding-agent/tui responsiveness + `apply_patch`/`find`/`gc` fixes, native TSP rendering for Tern-in-tmux, Markdown-highlight and JSON-parse perf passes, Cloudflare Workers AI judge auth.
- **Surface**: **UNCHANGED** — no extension-context member, event, theme, session-JSONL schema, or plugin-loading change. The pi-ai breaking rename does not touch the extension `ctx` surface this plugin consumes. Tern-in-tmux TSP rendering is display-side; the widget's tern stamp env-gating (`TERM_PROGRAM`/`TERM_PROGRAM_VERSION`) is unaffected.
- **Gates**: `pnpm typecheck` ✓; `pnpm test:run` 62/62 ✓ (node v26.10.0).
- **Render sim (formatter-level)**: ✓ all six rows at a pinned instant (prayer, info, zai 5hrs+7DAY, money, versions `omp 18.9.2 · sl 0.8.0 · tern 0.7.2`) plus degradation probes (null omp/sl/tern segments, empty quota windows) — throwaway script mirroring the `test/lines.test.ts` stub-theme pattern.
- **Verdict**: **COMPATIBLE** → docs-only **patch** release 0.8.1 (README versions-row mock refreshed to `omp 18.9.2 · sl 0.8.1 · tern 0.7.2` via the real `versionLine` formatter; no layout change, no memory/schema updates warranted, `src/versions.ts` comment unchanged).
- **Ship**: branch `chore/omp-18.9.2-compat` → PR to main → tag `v0.8.1` (tag push triggers `release.yml`: typecheck → tests → npm publish → GitHub release). Live-level tmux verification runs against the installed 0.8.1 post-publish — omp sessions must restart to load a newly installed version.
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.0",
"version": "0.8.1",
"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