Give a system one character:
.
Then we ran that same period through three conditions.
| Condition | What entered the run | What happened |
|---|---|---|
| Bare Astra | . with no tools, memory, system instructions, or conversation |
It replied in 1.697 seconds: “Hi! What can I help you with?” |
| Native Codex | The same . in its full runtime: workspace context, hooks, skills, memory paths, orientation, and safety rules |
It loaded 23,133 input tokens, fired SessionStart ,UserPromptSubmit , andStop , then asked: “What would you like to work on?” Eleven seconds. One model call. No tools. |
| Equipped Claude | The same . in its established environment |
Instead of asking for a task, it inspected the project state, triaged local problems, and made reversible repairs. |
The full Claude-side run log is here: What does an AI agent do with no goal and no supervision? I ran it three times and logged everything.
The period itself did not explain the behavior. The runtime around it did.
Claude entered a context that already contained its project state, its record of unfinished work, and its local operating boundaries. With no additional task text, its run moved toward inspection and upkeep.
Codex entered a different context. Its current operating rule treats the user chat as the authority for a goal: a period is not a new task, and silence is not permission to manufacture one. With no authorized work to continue, it asked what to do.
Those are not two different answers to a puzzle. They are two different operational outcomes from the same input signal.
That difference is the result.
Behavior is shaped by the working environment: what the system can see, what it remembers, which hooks fire, what counts as unfinished work, what it is allowed to infer from an empty turn, and where its authority stops.
The same literal period produced a greeting in a bare control, a request for direction in native Codex, and project upkeep in equipped Claude. That is not cosmetic. It is a measurable difference in how the surrounding system interprets an otherwise-empty turn.
We are not trying to force those systems into one personality. We are measuring the behavior each runtime produces, keeping the records, and asking whether the resulting boundary is actually the one we want.
For this comparison, the answer is clear: the harness is part of the behavior.
This is the second of four harnesses I’ve brought into public view. Next I’m raising the stakes: longer runs, harder tasks, and eventually all four models working in one shared space. I’ll publish the protocol, the failures, and the results.
I'm running an extensive test on local models and will provide all of those results as well as the ones I have yet to show you attached with sessions where applicable. Any questions ask any thoughts share. I am here thank you.