Publish intent
publish_intentDeclare upcoming repository work and affected scopes before editing files to detect conflicts and related active intents for coordination.
Instructions
Announce work you are about to do, and the scopes it will change, before creating or editing any file meant for the repository, documents included. It is the first write for a task you are committed to, after register_agent; while only planning, use check_conflicts, which stores nothing. The intent is stored with status INTENT and compared against every other active intent. Returns the intent (with its int_ id), any conflicts detected immediately, and related_work: active intents, your own others included, that may relate to yours. Entries with asserted: true are collisions with both declared operations stated; the rest are candidates, with why_surfaced saying why. Assess each related_work entry and call record_assessment before changing files, then claim_work and start_work. Use check_conflicts instead for a what-if check that stores nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Short name of the task this belongs to, for example payments-provider. Intents with the same task text share one task record. | |
| scopes | No | Every scope this work will touch, each with the operation performed on it. Conflict detection relies on these, so declare them all. | |
| summary | Yes | What you are going to change, in one sentence. | |
| agent_id | Yes | Your agent id (agt_...) from register_agent. | |
| metadata | No | Optional JSON object of extra context stored with the intent. | |
| rationale | No | Optional reason for the change. | |
| depends_on | No | Intent ids (int_...) this work relies on, recorded for the coordination graph and reported as dependents by query_work. Not checked or enforced: to make acceptance require them, also list them in publish_changeset's dependencies. |