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 AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@

## Conventions

- Spelling: the org is **getpipher** (get·pi·pher — two p's). Never `getpither`. (See global memory.)
- Spelling: the org is **getpipher** (get·pi·pher — two p's; spell it letter-by-letter before writing). (See global memory.)
- No AI attribution in commits/PRs/files.
- 2-space indent, TypeScript.
- MIT license.
Expand Down
2 changes: 1 addition & 1 deletion docs/plans/2026-08-12-pi-statusline-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

## Global Constraints

- Org spelling **getpipher** (two p's) — never getpither. No AI attribution anywhere. 2-space indent, TypeScript strict, MIT license.
- Org spelling **getpipher** (two p's — spell letter-by-letter; never emit drift forms). No AI attribution anywhere. 2-space indent, TypeScript strict, MIT license.
- TDD mandatory; `pnpm test:run` (node:test via tsx) after changes; `pnpm typecheck` clean. No build step (raw .ts via tsx at pi runtime).
- Secrets: read `zai.key` from `~/.pi/agent/auth.json` in-process; never log/echo/commit it. `.env`/auth.json never committed.
- z.ai quota API: `GET https://api.z.ai/api/monitor/usage/quota/limit` with `Authorization: Bearer <zai inference key>` → 200 `{ data: { limits: [...], level: "lite"|"pro"|"max" } }`. `nextResetTime` = ms-epoch UTC. Same Bearer perimeter as inference. Zero credit cost to poll.
Expand Down
2 changes: 1 addition & 1 deletion docs/plans/2026-08-30-pi-statusline-v2-p1.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

## Global Constraints

- Org spelling **getpipher** (two p's) — never getpither. No AI attribution anywhere. 2-space indent, TypeScript strict, MIT license.
- Org spelling **getpipher** (two p's — spell letter-by-letter; never emit drift forms). No AI attribution anywhere. 2-space indent, TypeScript strict, MIT license.
- TDD mandatory: write the failing test, run it (RED), implement, run again (GREEN). `pnpm test:run` + `pnpm typecheck` clean before every commit. One commit per task.
- Branch: do all work on `feat/v2-p1-editorial` (created from `main` in Task 1). Merge to main happens only in Task 12.
- Secrets: `zai.key` read from `~/.pi/agent/auth.json` in-process; never log/echo/commit it.
Expand Down
2 changes: 1 addition & 1 deletion docs/plans/2026-08-30-pi-statusline-v2-p2.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

## Global Constraints

- Org spelling **getpipher** (two p's) — never getpither. No AI attribution anywhere. 2-space indent, TypeScript strict, MIT license.
- Org spelling **getpipher** (two p's — spell letter-by-letter; never emit drift forms). No AI attribution anywhere. 2-space indent, TypeScript strict, MIT license.
- TDD mandatory: failing test first (RED), then implementation (GREEN). `pnpm test:run` + `pnpm typecheck` clean before every commit. One commit per task.
- Branch: all work on `feat/v2-p2-deen` (created from main in Task 1). Merge to main ONLY in Task 9, after the final whole-branch review.
- pi runtime ground truths (do NOT re-derive): session entries have `id: string` + ISO `timestamp`; `getEntries()` for totals; `setFooter` render returns `string[]`; timers MUST `.unref()`; render path NEVER awaits — fetches degrade to `null` (row omitted) or last-good cache with `· stale <n>m`; never throw into render.
Expand Down
2 changes: 1 addition & 1 deletion docs/plans/2026-09-02-pi-statusline-v2-p3.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

## Global Constraints (every task implicitly includes these)

- Org spelling **getpipher** (two p's, never "getpither"). No AI attribution anywhere.
- Org spelling **getpipher** (two p's — spell letter-by-letter). No AI attribution anywhere.
- 2-space indent, TypeScript strict (`pnpm typecheck` clean), `pnpm test:run` green after every task.
- TDD: RED → GREEN per behavior. One commit per feature/fix.
- Secrets (zai/openrouter keys) are read from `auth.json`, **never logged, never committed**.
Expand Down
Loading