Model availability probes (2026-08-22)
One trivial read-only codex exec per candidate identifier on
this host's ChatGPT-account login. gpt-5.3-codex-spark is the
only supported small-model identifier; it responded correctly and accepted
model_reasoning_effort=medium without warning. Rejected with
400 "not supported when using Codex with a ChatGPT account":
gpt-5.3-spark, gpt-5.3-codex,
codex-spark, gpt-5.6-codex-spark.
§5.1 — spec-level recording (guided tier, reduced effort)
Run r-20260822T091215143976-spec-level-recording, dispatched
with --set backends.codex.effort=medium — the ledger's first
non-default configuration after 820 uniform runs. Worker commit
dbb81e0, merged as 4d3f3d2. Gate passed:
focused suites 173/173 green, ruff clean; 8 tests added; scope exactly the
five fenced paths. Worker time 266 s (vs the 12.8-min
median of high-effort implement runs); 8,562 output tokens. Delivered:
TaskNode.spec_level with fail-fast vocabulary refusal,
--spec-level on dispatch, the SPEC ownership line in worker
prompts, and a top-level spec_level field on every committed
ledger record, forwarded at completion.
§5.2 — capability observation slice (exact tier, spark lane pilot)
Run r-20260822T092102204792-capability-spec-slice, dispatched
to codex-spark (gpt-5.3-codex-spark) with
--spec-level exact — the first spark-lane run and the first
record carrying a declared level. Worker commit 2a10c38,
merged as 1406b50. Gate passed: 14/14 capability
tests green including the prescribed regression test; full-diff pilot audit
found the change exactly as prescribed (the one observation key verbatim,
one clean optional test-helper kwarg). Worker time 63 s;
8,597 output tokens. Verification after merge: crew + ledger + capabilities
suites 187/187, full suite 1961 passed.
§5.3 — config and policy surfaces
Landed in 6767cd5: project flight layer
docs/state/reckon/flight.yaml defining the
codex-spark backend (defined, not defaulted — no role selects
it), the advisory policy reference
skills/reckon-ship/references/effort-routing.md, and the
dispatch-section pointer in the ship skill. Dry-run demonstration from
merged main: --set roles.implement.backend=codex-spark --spec-level
exact --dry-run exits 0 resolving backend codex-spark,
launch cli, node.spec_level=exact. A first
attempt with a prose done-when was refused on the demonstrable
property — the seven-property contract catching exactly the measure class
the spark gate disqualifies. Note: the resolved time budget was
8m — the implement role's overlay wins over the spark
backend's 15 m default, so a spark dispatch wanting longer states
--time-budget explicitly.
Calibration state after landing
The rebuilt capability cache tracks 4 agent configurations (previously
effectively 1): gpt-5.6-sol/high (499 usable runs, 16 h
horizon), gpt-5.6-sol/medium (1 run), and
gpt-5.3-codex-spark (1 run). Single-run horizons are
binning artifacts, not competence evidence — the manual ≤ 0.5 h
spark bound of the plan's §4 gate stays in force until slices reach the
≥ 10-run threshold of the plan's §6 decision rule. Observations now
carry spec_level, so the §6 read-out can slice pass rate,
worker minutes, tokens, and redispatch lineage per
(configuration × declared level × size bucket).
§7 — config-mapped routing (one dial)
Run r-20260822T095148757302-spec-level-config-routing,
dispatched at guided tier / sol medium per the table it was
implementing. Worker commit b625b88, merged and pushed. Gate
passed: 204/204 focused tests (8 new), ruff clean,
regenerated schema artifacts byte-identical across a second generator run
(hash logs in the run directory). Worker output 11,035 tokens. Delivered:
by_spec_level routing overlays in the flight schema (fixed
exact/guided/open slots carrying backend/model/effort/time_budget),
resolution precedence level-backend > role-backend > default with
level overlay applied last, whole-config validation of overlay backends,
and budget pre-flight fan-out across every backend a role can reach.
Mapping made live in docs/state/reckon/flight.yaml
(roles.implement.by_spec_level) and verified end-to-end by
dry-run with no --set: exact →
codex-spark/gpt-5.3-codex-spark at 15 m (the level
overlay correctly outranks the implement role's 8 m budget),
guided → sol/medium, open →
sol/high, undeclared → sol/high unchanged.
Decision routing-mode locked to config-mapped
by the lead the same day.
Side repair — ship skill returned to its read-set budget
The full-suite verification surfaced a pre-existing failure:
test_engine_generated_dispatch_keeps_fixed_read_set_bounded
(reckon-ship SKILL.md at 13,344 estimated tokens before this session's
edits, against a 12,000 bound — broken by an earlier commit). Repaired in
e016572 by relocating worked examples to
references/sprint-orchestration.md §10 and compressing
rationale while preserving every contract-anchored phrase: 11,904
estimated tokens after; skill-contract tests 38/38; full suite 1961
passed.