Reproducible macOS coding harness: DSH-Code TUI, Chrome MCP, native computer use, skills and compaction
Four tools with complete input schemas and descriptions, but quality varies significantly. trigger_manage has a complex, well-structured schema with nested objects and proper enums, but descriptions lack LLM-optimization guidance (194 chars baseline suggests 50-200 optimal). trigger_jobs and trigger_source have adequate schemas but minimal descriptions (under 100 chars). trigger_scheduler is skeletal. No output schemas documented. Error handling guidance absent. Parameter descriptions exist but lack actionable constraints (e.g., cron format, timezone validation rules). No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite WRITE risk labels.
Schedule, list or cancel durable jobs for this workspace. Scheduling requires an existing trigger and exactly one of after/at. Cancellation affects only pending jobs.
Manage triggers in the current workspace. create/update registers calendar, interval or script sources. Preserves CLI compatibility. Mutations follow tool approval.
Inspect or install the shared scheduler. macOS install starts a persistent launchd service for all registered projects and pending jobs in this state directory. Other platforms return service-manager instructions.
Inspect or control a managed script source in this workspace. start/stop/restart persist desired state; the shared scheduler supervises processes. logs returns a bounded output tail. Stop does not cancel accepted jobs.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., job_id from trigger_jobs response). Violates pattern:tool requirement.
Descriptions lack actionable constraints. 'cron' param has no format guidance (five numeric fields, range rules). 'timezone' accepts IANA but no validation hint. 'after'/'at' params lack examples (30s, 10m, 2h, 1d format). Violates pattern:constrained-input.
No error handling guidance. Tools marked WRITE risk but no recovery hints (e.g., 'If trigger_id not found, call trigger_manage with action=list'). Violates pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Tool annotations missing. All four tools are marked WRITE risk but lack destructiveHint/idempotentHint in schema. Agents cannot distinguish safe retries from irreversible operations. Violates pattern:command-tool.
Parameter 'definition' in trigger_manage is a complex nested object with conditional requirements (e.g., 'prompt' required for create but not update). Undocumented dependencies force LLM guessing. Violates pattern:tool-description.