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.
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.
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.