These tools run in-process with direct access to WorkflowV3Service and the full application state.
dmsi_phase_complete #
Mark the current phase as complete and advance the workflow.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
summary | string | Yes | Summary of what was accomplished in this phase |
outcome | string | No | Outcome label (used for AUTO decision routing) |
issues | array | No | Array of QA issue objects (see Issues Object below) |
output_files | array | No | Array of output file paths produced by this phase |
Issues Object
{
"category": "DEV",
"severity": "blocking",
"description": "Null pointer exception in UserService.login()"
}
| Field | Values | Description |
|---|---|---|
category | REQ, ARCH, DEV, UI | Issue category for routing |
severity | blocking, warning, info | Severity level |
description | string | Human-readable description |
Example Request
{
"jsonrpc": "2.0",
"method": "dmsi_phase_complete",
"params": {
"summary": "Implemented user authentication with jBCrypt password hashing. All unit tests pass.",
"outcome": "success",
"output_files": [
"src/main/java/com/example/AuthService.java",
"src/test/java/com/example/AuthServiceTest.java"
]
},
"id": 1
}
Example Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true,
"message": "Phase marked complete. Workflow advancing."
}
}
dmsi_task_complete #
Mark a specific task within the current phase as complete.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | Yes | ID of the task to mark complete |
notes | string | No | Notes about the completion |
Example Request
{
"jsonrpc": "2.0",
"method": "dmsi_task_complete",
"params": {
"task_id": "TASK-001",
"notes": "Implemented login endpoint with JWT token response"
},
"id": 2
}
Example Response
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"success": true,
"task_id": "TASK-001",
"status": "completed"
}
}
dmsi_task_fail #
Mark a task as failed with an escalation reason.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | Yes | ID of the failed task |
reason | string | Yes | Reason for failure |
escalate | boolean | No | Whether to escalate to EC (default: false) |
Example Request
{
"jsonrpc": "2.0",
"method": "dmsi_task_fail",
"params": {
"task_id": "TASK-003",
"reason": "Cannot implement OAuth without API credentials. Missing from spec.",
"escalate": true
},
"id": 3
}
dmsi_heartbeat #
Send a liveness signal to indicate the agent is still active.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
message | string | No | Optional status message |
Agents should call dmsi_heartbeat every few minutes during long-running operations to prevent the timeout system from marking them as unresponsive.
Example Request
{
"jsonrpc": "2.0",
"method": "dmsi_heartbeat",
"params": {
"message": "Running test suite — 45% complete"
},
"id": 4
}
Example Response
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"success": true,
"acknowledged": true
}
}
dmsi_project_start #
Activate a project that is in CREATED state.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | ID of the project to activate |
Example Request
{
"jsonrpc": "2.0",
"method": "dmsi_project_start",
"params": {
"project_id": "proj-abc123"
},
"id": 5
}
dmsi_sync_wp #
Sync a WordPress plugin to the local WordPress installation.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
product_id | string | Yes | ID of the product to sync |
Copies the product’s source folder to wp-content/plugins/{slug}/. The plugin slug is derived from Product.getEffectiveWpSlug().
Example Request
{
"jsonrpc": "2.0",
"method": "dmsi_sync_wp",
"params": {
"product_id": "prod-xyz789"
},
"id": 6
}
dmsi_changelog #
Record a changelog entry for a code change.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
description | string | Yes | What was changed |
reason | string | No | Why the change was made |
files_changed | string | No | Comma-separated list of changed files |
task_id | string | No | Task ID that drove this change |
Example Request
{
"jsonrpc": "2.0",
"method": "dmsi_changelog",
"params": {
"description": "Added rate limiting to authentication endpoint",
"reason": "Prevent brute-force attacks on login",
"files_changed": "AuthService.java, AuthController.java",
"task_id": "TASK-005"
},
"id": 7
}
