Neighbor is a Project Think agent on gpt-oss-120b. Its execute tool
runs model-written code in a dynamic worker; MowerConnector puts the
mower there as the `mower.*` namespace (start/push/turn/stop, each
taking an args object). makeMower is the Logo-turtle mower on a
wrapping yard; for now it lives inside the agent's DO.
Getting to green, one symptom at a time:
- chatted instead of acting: say it acts by running code
- reply cut mid-sentence: maxOutputTokens 4096 via beforeTurn
- execute failed creating codemode's runtime facet ("Incorrect type
for the 'class' field"): declare CodemodeRuntime as a DO class
- looked for the mower in the workspace filesystem: activeTools
["execute"], and name the namespace in the prompt
- found the mower, then asked for lawn dimensions: "don't ask me
questions: put it to use"
Green: 36 mower calls, a 30-cell rectangle.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
19 lines
659 B
JSON
19 lines
659 B
JSON
{
|
|
"$schema": "node_modules/wrangler/config-schema.json",
|
|
// model integration tests: AI always runs remotely, and costs money
|
|
"name": "good-fences-model-tests",
|
|
"main": "./src/worker.ts",
|
|
"compatibility_date": "2026-10-01",
|
|
"compatibility_flags": ["nodejs_compat"],
|
|
"ai": { "binding": "AI", "remote": true },
|
|
"worker_loaders": [{ "binding": "LOADER" }],
|
|
"durable_objects": {
|
|
"bindings": [{ "name": "Neighbor", "class_name": "Neighbor" }]
|
|
},
|
|
"exports": {
|
|
"Neighbor": { "type": "durable-object", "storage": "sqlite" },
|
|
// codemode's runtime, a facet of the agent's DO
|
|
"CodemodeRuntime": { "type": "durable-object", "storage": "sqlite" }
|
|
}
|
|
}
|