tasks, harness: task verbs across the tree (#1556)
Row 63, round 2. Task verbs act in any installed project of the tree; a project the tree doesn't hold refuses task-project as before, and a watch-only one refuses with the new code. The harness task_create tool takes an optional integer project. Round 2 adds Dewey's five proof tests and Filbert's N1 child-path tests; the code is round 1's. Candidate manifest 2a22fd3f (agents/darkwing/work/queue-63/r2/), basecca5f23e, no drift on the six paths. Builder Darkwing. Approved by Dewey (comment 28024) and Filbert (comment 28026). Sage's gate on1117d19bplus the patch 2026-10-12T23:07:33Z-23:09:22Z: tasks 84, harness 65, every scripts/test-*.sh green. Lands before row 90 (decision 125). The harness change is live at the next role session launch (decision 109); Mos had the notice. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -38,6 +38,7 @@ const PRIORITY = { type: "integer", minimum: 0, maximum: 5, description: "Priori
|
||||
const TASK_TOOLS = {
|
||||
"task.create": ["task_create", "Create a tracker task. Every task cites the request it came from and a requirement id.", {
|
||||
title: str("Task title, one line"),
|
||||
project: { type: "integer", minimum: 1, description: "Tracker project id, an installed project in the business's tree; the root project when left out" },
|
||||
description: str("Task description"),
|
||||
due_date: DUE,
|
||||
priority: PRIORITY,
|
||||
|
||||
@@ -19,6 +19,11 @@ test("the PM gets launch, its task verbs and the reads", (t) => {
|
||||
assert.equal(launch.verb, "launch");
|
||||
assert.equal(launch.action, "role.launch");
|
||||
assert.deepEqual(launch.parameters.properties.instance.enum, ["coder", "reviewer"]);
|
||||
// Row B: the project is optional, a positive integer, and only task_create takes it.
|
||||
const create = tools.find((x) => x.name === "task_create");
|
||||
assert.deepEqual({ ...create.parameters.properties.project, description: undefined }, { type: "integer", minimum: 1, description: undefined });
|
||||
assert.deepEqual(create.parameters.required, ["title", "request", "requirement"]);
|
||||
assert.deepEqual(tools.filter((x) => x.parameters.properties.project).map((x) => x.name), ["task_create"]);
|
||||
for (const tool of tools) {
|
||||
assert.equal(tool.parameters.type, "object");
|
||||
assert.equal(tool.parameters.additionalProperties, false);
|
||||
|
||||
Reference in New Issue
Block a user