Related lectures: Lecture 01. Strong models don't mean reliable execution · Lecture 02. What harness actually means Template files: templates/
Project 01. Prompt-Only vs. Rules-First: How Much Difference Does It Make
What You Do
Build a minimal Electron knowledge-base app shell — a window with a document list on the left, a Q&A panel on the right, and a local data directory. The task itself is not complex. What's complex is how you get the agent to complete it.
You run it twice. First time: just a prompt, no preparation. Second time: AGENTS.md, init.sh, feature_list.json pre-placed in the repo. Then compare.
This course scenario uses a short rediscovery/preparation interval as an example, not a fixed measured result.
Tools
- Claude Code or Codex (pick one, use it for both runs)
- Git (manage branches and compare)
- Node.js + Electron (project stack)
- A timer (record each run's duration)
Harness Mechanism
Minimal harness: AGENTS.md + init.sh + feature_list.json
Use the Checked-In Project
Repository path: projects/project-01/
| Directory | What it contains | How to use it |
|---|---|---|
starter/ | The weak-harness run. It has only task-prompt.md as the task description and no AGENTS.md or feature_list.json. | Give the prompt to your coding agent and measure what it completes without extra structure. |
solution/ | The same product slice with explicit harness artifacts: AGENTS.md, CLAUDE.md, init.sh, feature_list.json, and claude-progress.md. | Compare how the same task is made concrete through rules and verification evidence. |
The four concrete features are window launch, document list, question panel, and local data directory creation. Inspect solution/feature_list.json for the expected evidence for each feature.