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
4 changes: 4 additions & 0 deletions devlog/_plan/260904_triage_gap_closure/020_credits_3284.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 020 — CREDITS row for #3284 (issue #3431)

> **Landed** in PR #3478 as `3a9c4d297`. See `040_delivery_record.md`.

Work-phase `wp2`. Depends on 000. Disjoint from every other phase.

## Why this is admissible
Expand Down Expand Up @@ -42,3 +44,5 @@ how every other row in the table cites its source.
## Close-out

Close #3431 citing the landing SHA.

Done: closed with `3a9c4d297`, quoting @Ingwannu's own words as the file requires.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 030 — Ultra Fast as an explicit opt-in (issue #3429)

> **Landed** in PR #3478 as `3a9c4d297`. See `040_delivery_record.md`.

Work-phase `wp3`. Depends on 000. This is the phase that needs judgment, not just
diffs.

Expand Down Expand Up @@ -136,6 +138,8 @@ switch that implies a speed it cannot deliver is the #2994 defect in a new place

## What this phase will NOT claim

Done: closed #3429 with `3a9c4d297`, stating which half shipped and which did not.

It will not claim Ultra Fast delivers Ultra Fast speed. If live evidence shows an
opted-in request still cannot get the tier honored end-to-end, that is reported
on #3429 rather than papered over — the same call #2994 made, and the reason it
Expand Down
69 changes: 69 additions & 0 deletions devlog/_plan/260904_triage_gap_closure/040_delivery_record.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# 040 — Delivery record

Terminal outcome: **DONE**. All three gaps closed on `origin/dev` via PR #3478,
merged as `3a9c4d297` and ancestry-proven.
Comment on lines +3 to +4

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Move the completed unit out of _plan

This record declares the unit terminal and fully delivered, but the entire unit remains under devlog/_plan, where repository convention reserves entries for open work. Keeping a completed unit there makes plan inventories and future triage treat it as unresolved; move 260904_triage_gap_closure to devlog/_fin as part of this closeout.

AGENTS.md reference: AGENTS.md:L83-L86

Useful? React with 👍 / 👎.


| Gap | Closed as | Evidence on `dev` |
|-----|-----------|-------------------|
| PR #3293 fable-5-1 metadata | `3a9c4d297` | `claude-fable-5-1` present in the source json and the generated `anthropic` row |
| Issue #3431 CREDITS for #3284 | `3a9c4d297` | `CREDITS.md` carries the row quoting @Ingwannu verbatim |
| Issue #3429 Ultra Fast | `3a9c4d297` | `ultraFastTier` in config, types, and the routed normalizer |

## The review round is the part worth keeping

The first implementation passed every suite and was wrong.

Recognising `ultrafast` as a canonical marker routed it into `decideTier`'s
`canonicalToWire` lookup, which maps only `priority`. An unmapped canonical fell
through to `{ kind: "drop" }`, so the tier stopped reaching the provider —
where previously, as a *foreign* tier, `foreignCallerTiers: "verbatim"` had
forwarded it untouched. Recognition made the reported problem worse:

```text
before ultrafast -> forward-caller wire service_tier=ultrafast
after ultrafast -> drop wire service_tier=(absent)
```

Every listed suite stayed green because they unit-tested
`canonicalFastTierMarker` and `requestLogSpeedLabel` in isolation and never
asserted the wire decision. The byte golden could not catch it either: it pins
*catalog* bytes, not the caller routing path.

Two lessons, both cheap to state and expensive to relearn:

- A test that exercises the two functions you edited is not a test of the
behavior you changed. The gap was one call frame away.
- Widening a predicate is not free. `callerCanonicalFast` served three different
questions — drop, suppression, and intent — and widening it for the third
silently changed the first two, which is how `callerFastSuppressedByConfig`
came to claim the Fast toggle had suppressed a tier that is not Fast.

## What was deliberately NOT done

Ultra Fast is still absent from the model picker. `upstream-models.json`
advertises only `priority`, so a catalog row would offer a speed the wire cannot
deliver — the exact defect PR #2994 was closed for. The opt-in preserves a tier
the operator supplies and names it honestly in the logs; it invents nothing.

If upstream ever advertises the tier, items 1 and 2 of #3429 become implementable
and this note is where to start.

## Where the pieces live

- `src/providers/fastwire.ts` — `canonicalFastTierMarker` folds `ultrafast`;
`decideTier` falls through to the foreign-tier rules for an unmapped canonical;
`callerCanonicalFast` stays `=== "priority"` for the drop/suppression facts.
- `src/codex/catalog/parsing.ts` — `retainOnlyUltraFastTier` and the memoized
`ultraFastTierOptIn`.
- `src/server/request-log.ts` — the `ultrafast` speed label.
- `gui/src/components/UltraFastTierSetting.tsx` and
`codex-account-pool-main-card.tsx` — the toggle and the relocated action row.
- `tests/ultrafast-tier-honesty.test.ts` — 15 tests, including the five added
after the review that assert the wire decision the original suite missed.

## Loop close

Four work-phases: the docs-only roadmap, then the three gap closures, all landed
through one pull request because they were small, independently reviewable, and
shared a review round. `cxc loop validate` passes with every criterion carrying
captured evidence.
Loading