diff --git a/AGENTS.md b/AGENTS.md index 848db82..4505206 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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. diff --git a/docs/plans/2026-08-12-pi-statusline-v1.md b/docs/plans/2026-08-12-pi-statusline-v1.md index c2ff5b7..717431d 100644 --- a/docs/plans/2026-08-12-pi-statusline-v1.md +++ b/docs/plans/2026-08-12-pi-statusline-v1.md @@ -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 ` → 200 `{ data: { limits: [...], level: "lite"|"pro"|"max" } }`. `nextResetTime` = ms-epoch UTC. Same Bearer perimeter as inference. Zero credit cost to poll. diff --git a/docs/plans/2026-08-30-pi-statusline-v2-p1.md b/docs/plans/2026-08-30-pi-statusline-v2-p1.md index fa090f9..0bcd810 100644 --- a/docs/plans/2026-08-30-pi-statusline-v2-p1.md +++ b/docs/plans/2026-08-30-pi-statusline-v2-p1.md @@ -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. diff --git a/docs/plans/2026-08-30-pi-statusline-v2-p2.md b/docs/plans/2026-08-30-pi-statusline-v2-p2.md index 2f26aff..404b4d2 100644 --- a/docs/plans/2026-08-30-pi-statusline-v2-p2.md +++ b/docs/plans/2026-08-30-pi-statusline-v2-p2.md @@ -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 m`; never throw into render. diff --git a/docs/plans/2026-09-02-pi-statusline-v2-p3.md b/docs/plans/2026-09-02-pi-statusline-v2-p3.md index 1ac561e..754eb6e 100644 --- a/docs/plans/2026-09-02-pi-statusline-v2-p3.md +++ b/docs/plans/2026-09-02-pi-statusline-v2-p3.md @@ -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**.