Publish intent
publish_intentAnnounce upcoming code changes and affected scopes to detect conflicts with other agents' work before editing. Returns immediate conflicts and related intents for assessment.
Instructions
Announce work you are about to do, and the scopes it will change, before editing any code. This is the first call for every task, after register_agent. 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 writing code, 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. |