Help us shape the future of Go! Take the 2026 Go Developer Survey

codexcli

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package codexcli implements the Codex model adapter via `codex exec --output-schema`. Prompts are piped via stdin per ADR 0007.

Index

Constants

View Source
const DefaultInputBudgetBytes = 256 * 1024

DefaultInputBudgetBytes caps the prompt size sent to codex. Calibrated by spike S9 against 26 real public PRs (median 7.9 KB, max non-outlier 47.4 KB, one 2.2 MB mega-PR rejected). 256 KB cleanly bisects: every reviewable PR passes with a ~5x safety margin, unreviewable mega-PRs fail with an actionable message. See docs/model-adapters.md § Diff Size and Context Budget for the rationale; spikes/s9-input-budget/main.go is the measurement tool — re-run when models change or the prompt scaffold grows.

Variables

This section is empty.

Functions

This section is empty.

Types

type Adapter

type Adapter struct {
	// contains filtered or unexported fields
}

Adapter implements the model.Model interface against the Codex CLI.

func New

func New(run provider.Runner) *Adapter

New constructs an Adapter. Passing nil uses provider.DefaultRunner; lookPath defaults to exec.LookPath. Tests override fields directly (the package is internal-only).

func (*Adapter) Name

func (a *Adapter) Name() string

Name returns the model identifier surfaced to users via --model and attached to validated findings.

func (*Adapter) Preflight

func (a *Adapter) Preflight(_ context.Context) error

Preflight verifies the codex binary is on PATH. The model is never invoked when this fails; the user sees an actionable install hint instead of a stack trace from os/exec.

func (*Adapter) Review

Review invokes codex with an --output-schema path. Stdin piping, schema temp-file writing, and output parsing are added by subsequent TDD cycles as their tests drive them.

func (*Adapter) Synthesize

func (a *Adapter) Synthesize(ctx context.Context, input *review.ReviewInput, results []*review.ModelReviewResult) (*review.ModelReviewResult, error)

Synthesize runs codex against the synthesis prompt that combines the diff with N other reviewers' findings. Output is parsed and validated identically to Review.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL