@bakers-build/conductor 0.4.1-next.318 → 0.4.1-next.431

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,13 +15,18 @@ export { findBbDir, resolveConfigPath, } from '@bakers-build/core';
15
15
  * ticket content into a single typed pane line overran the PTY canonical line
16
16
  * cap and truncated the dispatch command. Instead the prompt is a bounded,
17
17
  * constant-size pointer and the agent reads the ticket + all comments at run
18
- * start via `bakers dropsh read … --include comments`.
18
+ * start.
19
+ *
20
+ * That read goes through the bakers tool `bakers_ticket_read`, the same path
21
+ * every skill step uses, so the run does not read its ticket twice in two
22
+ * formats. The prompt names both transports because the agent has not loaded
23
+ * a skill yet; why the fallback must run alone lives in bb-workflow's tools.md.
19
24
  *
20
25
  * herdr no longer types this into the pane: the launch command goes to a file
21
26
  * that a short `sh '<file>'` line runs (BB-635), so its length is not bound
22
27
  * by the tty canonical cap (macOS 1024 B, Linux 4096 B). The prompt is still
23
28
  * kept single-line (BB-128 test).
24
- * Placeholders: `{identifier}`, `{state}`, `{runUuid}` ({state} falls back to
29
+ * Placeholders: `{identifier}`, `{state}`, `{runUuid}`, `{ticketUuid}` ({state} falls back to
25
30
  * `qualification` for unclassified tickets).
26
31
  *
27
32
  * WHERE THE PROMPT SENDS THE AGENT, and why it no longer names a WORKFLOW.md
@@ -23,13 +23,18 @@ export { findBbDir, resolveConfigPath, } from '@bakers-build/core';
23
23
  * ticket content into a single typed pane line overran the PTY canonical line
24
24
  * cap and truncated the dispatch command. Instead the prompt is a bounded,
25
25
  * constant-size pointer and the agent reads the ticket + all comments at run
26
- * start via `bakers dropsh read … --include comments`.
26
+ * start.
27
+ *
28
+ * That read goes through the bakers tool `bakers_ticket_read`, the same path
29
+ * every skill step uses, so the run does not read its ticket twice in two
30
+ * formats. The prompt names both transports because the agent has not loaded
31
+ * a skill yet; why the fallback must run alone lives in bb-workflow's tools.md.
27
32
  *
28
33
  * herdr no longer types this into the pane: the launch command goes to a file
29
34
  * that a short `sh '<file>'` line runs (BB-635), so its length is not bound
30
35
  * by the tty canonical cap (macOS 1024 B, Linux 4096 B). The prompt is still
31
36
  * kept single-line (BB-128 test).
32
- * Placeholders: `{identifier}`, `{state}`, `{runUuid}` ({state} falls back to
37
+ * Placeholders: `{identifier}`, `{state}`, `{runUuid}`, `{ticketUuid}` ({state} falls back to
33
38
  * `qualification` for unclassified tickets).
34
39
  *
35
40
  * WHERE THE PROMPT SENDS THE AGENT, and why it no longer names a WORKFLOW.md
@@ -49,7 +54,10 @@ export { findBbDir, resolveConfigPath, } from '@bakers-build/core';
49
54
  * only against the most literal readers.
50
55
  */
51
56
  export const DEFAULT_AGENT_PROMPT = `You are working ticket {identifier}, current state: {state}. Read the ticket and all comments ` +
52
- `(bakers dropsh --format md read bb_ticket/bb_ticket/$BB_ID --include comments), ` +
57
+ `with the bakers tool bakers_ticket_read, arguments {"ticket":"{ticketUuid}"} ` +
58
+ `(MCP: tool_api__bakers_ticket_read, without a connector: ` +
59
+ `bakers dropsh tool tool_api__bakers_ticket_read --data '{"ticket":"{ticketUuid}"}', ` +
60
+ `run as a Bash call of its own), ` +
53
61
  `then read ./WORKFLOW.md, load the bakers.build skill its loader names for this ticket's work type ` +
54
62
  `and state, and execute only that skill's {state} section. ` +
55
63
  `Do not start or prepare a later state. ` +
@@ -151,7 +151,8 @@ function renderPrompt(template, values) {
151
151
  return template
152
152
  .replaceAll('{identifier}', values.identifier)
153
153
  .replaceAll('{state}', values.state)
154
- .replaceAll('{runUuid}', values.runUuid);
154
+ .replaceAll('{runUuid}', values.runUuid)
155
+ .replaceAll('{ticketUuid}', values.ticketUuid);
155
156
  }
156
157
  export class Conductor {
157
158
  config;
@@ -1155,6 +1156,7 @@ export class Conductor {
1155
1156
  identifier: t.identifier,
1156
1157
  state: t.state || 'qualification',
1157
1158
  runUuid: run.runUuid,
1159
+ ticketUuid: t.uuid,
1158
1160
  })
1159
1161
  : '';
1160
1162
  // BB-473 review round 2 (Critical 1): pinning the run's own UUID
@@ -34,7 +34,7 @@ export interface ConductorSettings {
34
34
  * Agent prompt template - the bakers.build run contract, NOT project workflow. Bounds
35
35
  * the agent to exactly one state and tells it to release + stop, keeping run
36
36
  * mechanics out of the repo's WORKFLOW.md. Placeholders: `{identifier}`,
37
- * `{state}`, `{runUuid}`. Defaults to `DEFAULT_AGENT_PROMPT`.
37
+ * `{state}`, `{runUuid}`, `{ticketUuid}`. Defaults to `DEFAULT_AGENT_PROMPT`.
38
38
  */
39
39
  prompt: string;
40
40
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bakers-build/conductor",
3
- "version": "0.4.1-next.318",
3
+ "version": "0.4.1-next.431",
4
4
  "description": "bakers.build conductor engine + CLI: registers, claims tickets via JSON:API, dispatches agents.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -32,8 +32,8 @@
32
32
  "dependencies": {
33
33
  "@dropsh/plugin-jsonapi-schema": "^0.8.2",
34
34
  "@dropsh/plugin-oauth2": "^0.8.2",
35
- "@bakers-build/core": "^0.4.1-next.318",
36
- "@bakers-build/message": "^0.4.1-next.318",
35
+ "@bakers-build/core": "^0.4.1-next.431",
36
+ "@bakers-build/message": "^0.4.1-next.431",
37
37
  "commander": "^12.1.0",
38
38
  "dropsh": "^0.8.2"
39
39
  }