v8.4.0 - The index was the bottleneck
Codex renders its skills index into a fixed ~22.3 KB block split across every entry. Measured with codex debug prompt-input on a live CODEX_HOME:
entries=255 description chars: min=14 median=16 max=18
Sixteen characters. adversarial-self-review: Use when finaliz. Roughly 19.6 KB of the budget was file paths; 4 KB was meaning. This pack routes by description, so Codex was routing on skill names alone — and the doctor had reported it as 219 entries at ~88 chars, because it counted one directory while Codex indexes every root.
The 73-skill Other-Games mega-pack is now 8 canonical skills
It lived in four provider trees and zero repositories — no version, no backup, gone on any tree reset. 67 of 73 were single-file, and 56% of its 188 KB was byte-identical boilerplate already drifted into two variants, with 20 of 41 files silently missing the Evidence ladder (including the router every other skill told you to load first).
Every game's body is carried verbatim into a tier-3 reference file — 68 of 68 present byte-for-byte, every auxiliary payload carried. References load on demand and are never charged against the index.
| entries | median description | |
|---|---|---|
| v8.3.0 | 255 | 16 chars |
| v8.4.0 | 196 | 40 chars |
Deleting the pack instead would have reached ~56 chars and cost 73 games. Consolidating reaches ~40, keeps them, and gives each game its full-length text inside its reference.
Also
- Five skills that existed only in Hermes are now shipped to all four providers. Two more folded into skills that already owned the capability rather than competing at 40 visible characters.
- Identity scrubbed before publishing: a Windows SID, account name, git email, host name and absolute profile paths. A sweep over the whole canonical tree gates the release.
roblox-docshas never been a loadable skill — itsSKILL.mdends with the literal text...[truncated]and never closes its frontmatter. It shipped that way from RobloxForge v0.1.0 into all four trees, costing an index entry while being unselectable. Fixed here and upstream.RETIRED-SKILLS.jsongains a declaredABSORBEDset: derived history cannot see skills this repository never shipped. 8 retired names -> 81.
79 release contracts (6 new, every one falsified), pack gate PASS, 5156 files manifested, 18/18 CI checks green on 13986e5.