2.1 KiB
Development guide: Codex Fast Mode for Pi
Contributor implementation and validation notes for the locally maintained fork.
Back to README · Technical reference · Upstream provenance
Validation
npm test
npm run check
npm run smoke
npm pack --dry-run --json
Tests cover command grammar and completions, branch restoration, cross-session defaults, owner-only atomic config writes, invalid-config fallback, persistence failures, busy mutation guards, status publication, exact provider/API isolation, malformed payload passthrough, non-mutation, and tier overwrite. They make no authenticated or paid model requests.
State model
The effective state is resolved in this order:
- Read the global default from
<agentDir>/extensions/pi-extension-codex-fast-mode/config.json; missing or invalid data defaults to off. - Reconstruct the latest valid
codex-fast-modecustom entry on the active session branch. - Use the branch entry when present; otherwise use the global default.
A successful mode command appends a session entry when the branch value changes and atomically writes the global default even when the branch already has the requested value. This allows an explicit /fast-mode on or /fast-mode off to repair or recreate global configuration.
If the global write fails, the branch state still changes and the user receives a warning. Concurrent Pi processes use atomic replacement; the last successful command determines the default for future sessions.
Request isolation
When enabled, the extension shallow-copies only a plain serialized payload whose provider is exactly openai-codex and API is exactly openai-codex-responses, then writes service_tier: "priority". It preserves all other top-level fields and does not mutate the original payload.
Maintenance
This directory is maintained directly in my-pi, is not a submodule, and must not acquire a nested .git, node_modules, or generated build output. Compare local changes with the snapshot recorded in UPSTREAM.md before porting later upstream work.