Purpose: A practical feature taxonomy for evaluating or designing an AI harness around models such as ChatGPT, Codex, Claude Code, Cursor, OpenCode, Gemini CLI, Cline/Roo Code, or a custom agent runtime.
The key idea is that a harness should not be evaluated only by asking "What can the model do?" It should also be evaluated by asking:
What happens to the user when a harness feature is missing?
A capable model can still feel unusable if the harness has poor state management, no recovery paths, weak context controls, insufficient execution isolation, or no observability.
