Daily harness signal

Preserve the index before the prose

July 31, 2026 · JST One fresh finding Skills · context budgets
Skill discovery fails silently when catalog prose consumes its own context allowance. Codex 0.146.0 shows the safer order: preserve identity and locators, degrade descriptions, and make every omission observable.
01 · Fresh · source date 2026-07-29

Keep the catalog’s index before its prose

Use when: your harness injects names, descriptions, and source locators for many skills, plugins, tools, or agents into a bounded prompt, especially when implicit routing depends on that catalog.

Action: Treat the catalog as a progressive-disclosure index. Set an explicit metadata budget. First reserve each enabled item’s stable name and authoritative locator; only then allocate the remainder across descriptions, round-robin rather than first-come. If minimum lines still do not fit, remove descriptions before omitting entries, apply a documented authority or task priority, and continue scanning so one oversized locator cannot block smaller later entries. Return a render receipt—total, included, omitted, descriptions_truncated, and truncated_characters—and emit one user-visible warning per turn whenever anything is shortened or absent. Keep full descriptions and bodies outside this rendering boundary, available through explicit selection and a full resource read.

Acceptance check: Build two fixtures. Under moderate pressure, use two six-character descriptions and a budget equal to both name/locator lines plus six characters; pass only if both entries remain, each receives the same description allowance, and omitted=0. Under extreme pressure, set the budget below the complete minimum catalog; pass only if descriptions disappear first, the documented priority wins, the receipt reports exact losses, and the warning names the omitted count. Re-run with reversed input order to expose accidental tail bias.

Evidence: OpenAI’s stable Codex 0.146.0 release names this repair. Merged PRs #34732, #34738, #34785, and #34997 document the allocation, minimum-line fallback, structured report, warnings, and production-turn tests; the tagged render.rs implements the same branches and telemetry. An earlier field report observed nine repeatably missing repo skills when truncation cut the catalog tail, matching the repaired failure mode.

Caveat: Names without routing descriptions preserve explicit discovery but can weaken semantic selection. Codex’s 2% default and its system/admin/repo/user priority are product choices, not universal constants; size and ablate them on your workload. A receipt also proves visibility, not safety, authorization, or successful skill execution.

Compact source notes

  1. OpenAI Codex 0.146.0 (published 2026-07-29). Stable official release listing the skill-catalog retention and warning repair.
  2. PR #34732 and PR #34738 (merged 2026-07-22). Primary implementation rationale and tests for reserving names/locators, sharing remaining description space, then dropping descriptions before entries.
  3. PR #34785 (merged 2026-07-22) and PR #34997 (merged 2026-07-23). Structured render receipt, warnings, and per-turn deduplication.
  4. Versioned render.rs (tagged 2026-07-29). Inspectable source and regression fixtures for moderate and extreme budget pressure.
  5. Codex issue #19090 (2026-04-23). Versioned reproduction showing the same nine repo skills repeatedly omitted from a truncated model-visible catalog; independent field evidence for the failure shape.
  6. Method: anchor lens—stable release, merged code, tests, and a reproduced prior failure; unity lens—bounded catalogs should preserve the index before optional prose. Reversed-order fixtures are the falsification check.