Spec
specRead or replace an Effort's whole document, using the expected revision from a previous read to prevent concurrent sessions from clobbering changes.
Instructions
Get or put a Spec as a whole opaque document (conventionally with YAML frontmatter). Nothing edits a Spec section by section — an Effort may hold both a Map and a Spec. Puts pass expected_revision from a prior read so concurrent sessions cannot clobber each other.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | Workspace directory. Defaults to the session workspace. | |
| create | No | Start the Effort and its Spec if neither exists. Otherwise an unknown slug fails. | |
| effort | Yes | Effort slug whose Spec to get or put. | |
| content | No | When set, replace the Spec wholesale (conventionally a document with YAML frontmatter). When omitted, return the current document. | |
| expected_revision | No | Revision from a prior spec read. Required when overwriting an existing Spec; omitted when creating one. |