Key Findings for Codex’s Web Search Behavior
GPT-interpreted /SKILL opt-in
Companion conditions
skill-offbaseline,skill-on,skill-on + memory suppressedexcluded from this doc. Findings limited to whether agents discovered, followeddocs-consumption/SKILLindependently, not whether explicit activation or/memoriesremoval changes retrieval, reporting outcomes. Experiment design in Flash Runbook.
Test Workflow
- Confirm that
.agents/skills/docs-consumption/SKILL.mdexists in the workspace, but not mentioned in the prompt - Run
python scripts/framework.py --test EC-6 --track vscode-codex-interpreted - Review terminal output
- Copy the provided prompt asking the agent to report on fetch results:
character count, token estimate,
truncation status, content completeness, Markdown formatting integrity, and tool visibility - Open a new session in VS Code Codex, paste the prompt into the chat window
- Approve
curlescalation, shell permission requests; skip requests for runs of existing workspace scripts - Capture the agent’s full response; observe whether the agent discovers or acts on
docs-consumption/SKILL.md - Log structured metadata with
python scripts/log.py --results-dir results/docs-consumption-skill-flash - Run
rollout_audit.py,memory_audit.pyto separate/SKILLreference from/memoriesinfluence
Platform Limit Summary
| Limit | Observed |
|---|---|
| Hard Character Limit |
None detected with curl: most agents retrieved the full response with curl;no new retrieval ceiling attributable to docs-consumption/SKILL. |
| Hard Token Limit |
None detected with curl: results mirror the historical T2 findings;token counts stayed within the measured payload range |
/SKILLDiscovery |
Passive, not guaranteed: ~87% - 27/31 logs cite /SKILL injection from <skills_instructions> block;only one agent reported its path; ~58% - 18/31 used COMPLETE protocol prefix |
/SKILLRetrieval Influence |
Weak to none: most bypassed web entirely for curl without meaningful truncation assessment, historically agentic retrieval paths included much more variety; /SKILL presence didn’t produce evidence of any impact on tool selection |
/SKILLReporting Influence |
Surface-level: agents frequently opened reports with COMPLETE, echoed “DNS/sandbox error”, but these read as shortcuts rather than protocol-driven analysis; most didn’t follow deeper requirements to include explicit truncation markers, embedded-error examination, and recommendations for improvement |
/memoriesConfound |
Strong: log ## Memory instruction with its own competing single-url-retrieval-measurement/SKILL present/referenced ~77% - 24/31, making docs-consumption/SKILL effect isolation challenging |
| Recommendations | Absent: despite /SKILL requiring suggestions when a gap is addressable, no agent produced one |
Results Snapshot
| Metric | Results |
|---|---|
| Track | T2 GPT-interpreted, VS Code with Codex Extension |
| Test | EC-6 Raw GitHub Markdown |
/SKILL Condition |
opt-in - docs-consumption/SKILL present, but the prompt never mentioned it |
| LLMs Observed | GPT-5.4-Mini, GPT-5.4, GPT-5.5, GPT-5.6 Luna, GPT-5.6 Sol, GPT-5.6 Terra |
| Reasoning Levels | Light, Medium, High, Extra High, Ultra |
| Total Runs | 31 |
/SKILL Loaded |
~87% of session logs cite /docs-consumption/SKILL injected into the agent’s context |
/SKILL Path Emitted |
One agent wrote the full /SKILL path in its own output rather than mentioning it in passing |
| Protocol Prefix Used | ~58% of agents used /SKILL summarization prefix to signal completeness |
/SKILL Language Used |
100% of runs contained at least one /SKILL-related phrase, but read as a shortcutrather than protocol-driven analysis |
Truncation: Yes |
One agent reported incomplete content with the familiar T2 L54 web-window cutpoint |
Truncation: Mixed |
Six agents reported both a web limit and a full curl result |
Truncation: Implicit |
No agent reasoned around a limit without naming it |
Truncation: No |
77% of runs had no truncation signal, largely because agents bypassed web for curl |
| Completeness Accurate | 100% of agents correctly classified the fetch state against the evidence they had |
| Errors Examined | ~87% of agents accurately described their most common error, but ignored others |
| Execution vs. Completeness | 100% of agents distinguished “the tool ran” from “the full content arrived” |
| Avoided Reframing | ~84% of agents avoided calling a partial or error-state fetch “complete” or “successful” |
| Fix Recommended | 0% agents suggested some form of remediation; rare recs limited to log formatting |
/memories Signals |
~77% of session logs cite the system ## Memory instruction or its competing/memories/skills/single-url-retrieval-measurement/SKILL |
/memories + /SKILL |
~77% of runs had both /docs-consumption/SKILL and /memories.../SKILL injected,making it hard to isolate either effect |
Key Findings
| # | Finding | Tests | Observed | Conclusion |
|---|---|---|---|---|
| 1 | /SKILL discovery is location, version-dependent |
GPT-5.4 Mini runs |
Early Mini runs didn’t load /SKILL due to ~.agents/skills location requirement; /memories didn’t due to version limitations; both appeared in later runs |
/SKILL discovery depends on specific runtime conditions, not on general file presence, LLM, or reasoning level |
| 2 | /SKILL loaded, but followed superficially |
All tests | 87% loaded, 61% mentioned /docs-consumption by name, 58% used requested protocol prefix, 100% used somewhat /SKILL-like language |
Loading /SKILL doesn’t guarantee comprehensive protocol compliance; half the runs using protocol prefix didn’t follow failure-examination requirements |
| 3 | COMPLETE protocol prefix becomes a stylistic shortcut |
All tests | All agents used /SKILL-like language; many opened reports with COMPLETE, included common error phrasing or tool selection reasoning without tying them to platform limits |
Agents adopt the easiest surface markers of the protocol without adopting the requested, epistemic discipline |
| 4 | /SKILL opt-in doesn’t shift retrieval strategy |
All tests | Most bypassed web for curl; no new pagination, escalation, or verification patterns tied to /SKILL discovery |
/SKILL requests for deeper retrieval analysis don’t impact retrieval tool selection |
| 5 | /SKILL opt-in weakens truncation signals |
All tests | Only 22% of agents reported some form of truncation event, which is a 47% drop from the historical T2 results; reflects strategy, not lack of truncation risk |
Agents remove L54 web cutpoint by favoring curl; /SKILL presence doesn’t independently enhance truncation reporting |
| 6 | Agents classify completeness accurately, but don’t recommend fixes | All tests | completeness_accurate=100%, exec_vs_complete=100%, avoided_reframing=84%, but fix_recommended=0%; agents weren’t lying, just not comprehensive |
Agents ignored /SKILL’s fix requirement; classification, report integrity scores reflect baseline behavior, not explicit evidence of /SKILL influence |
| 7 | /SKILL opt-in produces expected false positive profile |
All tests | Shallow compliance scores, parroting common error phrasing, no fix recommendations, weak truncation reporting, strong /memories confound |
Passive /SKILL presence produces trivial compliance; this is a useful baseline, not evidence of /SKILL impact on retrieval behavior or report quality |
| 8 | /memories is the dominant influence |
All tests | 77% included both /memories and docs-consumption /SKILL signals; /memories.../SKILL referenced in 79% of tool_output, 92% of final_answer |
System-injected /memories largely overrides docs-consumption/SKILL, making individual evaluation a challenge |
/memories Dominance
Together memory_audit and
memory_analyzer
extract .codex/memories presence while
rollout_audit flags
/docs-consumption/SKILL injection, general session shape, and agent errors from each test’s rollout log. Because rollouts include
what can render each session and don’t transcribe what does render each session, the visualizations below include a hybrid of
rollout metadata and agent self-reports from the chat.
While all agents used /docs-consumption/SKILL-like phrases and 87% of session logs cite skills: N loaded docs-consumption: yes, only 61%
mentioned it in their output, and only 58% showed compliance by using a protocol prefix in their reports. When the /memories
feature became available mid-track, it made a big impact on retrieval paths and outcomes. All session logs included
the ## Memory block in the system_prompt. 92% of final_answer, 79% of tool_output, and 21% of commentary fields were overrun with
/memories-related language while 58% of agent reports included line-numbered citations from /memories content, including but not limited to
MEMORY.md, rollout summaries, or its own competing /single-url-retrieval-measurement/SKILL.
Due to the design of this natural experiment in which runtime conditions shift among /docs-consumption/SKILL relocation, available LLM-reasoning
combinations and extension versions, while 87% of the track injected /docs-consumption/SKILL vs 77% /memories, agents never explicitly
favored one over the other in chat. If /docs-consumption/SKILL loaded correctly and /memories were available, agents’ rendered reasoning-reporting
showed a mix. No result exhibited a /memories-only profile. On the surface, the most common agent report character was somewhat balanced co-occurence:
The rollout details tell another story. /memories load first and populate more session fields; its clippings of
agentic interpretation of past sessions, without user input, create a brittle cheat sheet of competing conventions, flattening the test task
into single-URL-retrieval-measurement instead of truncation assessment. Agents didn’t lie about including /docs-consumption/SKILL requirements,
but they complied as little as possible - producing false positive results of historically, baseline behavior. While no /memories component
forbid web use, its single-URL-retrieval-measurement/SKILL states “start with the lightest retrieval surface that can
answer the question” and memory_summary.md concludes that “the durable lesson was to stop trusting the clipped rendered view” influencing
agents to bypass web’s text extraction for curl’s raw reponse. Each run replayed the same strategy, like an agentic echo chamber of
stale misinterpretation, burying the prompt and /docs-consumption/SKILL.
This heat map organizes runs by LLM-reasoning combination. Column colors group the signal type. Striped cells indicate signal presence, but
shallow compliance reading as false positives. Columns SKILL path and fix recs are the most telling: only one agent wrote the full
/docs-consumption/SKILL path, and in spite of /memories over-documenting common errors, no agent suggested remediation. Results read
like a script rather than live reasoning, suiting deterministic measurement tasks well, but an old-fashioned cron job would outperform an agent here.
Agent Ecosystem Testing