@oqtopus-team/pi-qdash 0.1.11-beta.22 → 0.1.11-beta.23

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.
@@ -5,7 +5,7 @@ const WRITE_TOOL_NAMES = new Set([
5
5
  "qdash_submit_agent_action",
6
6
  "qdash_commit_agent_candidate",
7
7
  "qdash_execute_agent_action",
8
- "qdash_commit_agent_campaign_candidates",
8
+ "qdash_commit_agent_candidate_set",
9
9
  "qdash_apply_agent_candidate_commit",
10
10
  "qdash_create_forum_post",
11
11
  "qdash_update_forum_post",
@@ -2378,30 +2378,30 @@ export default function qdashExtension(pi: ExtensionAPI) {
2378
2378
  });
2379
2379
 
2380
2380
  pi.registerTool({
2381
- name: "qdash_commit_agent_campaign_candidates",
2382
- label: "QDash Commit Agent Campaign Candidates",
2383
- description: "Commit multiple QDash agent campaign candidates. This is a write operation and requires confirmation.",
2384
- promptSnippet: "Commit multiple QDash agent candidates after explicit user confirmation",
2385
- promptGuidelines: ["Use qdash_commit_agent_campaign_candidates only after showing the candidate set and receiving explicit confirmation."],
2381
+ name: "qdash_commit_agent_candidate_set",
2382
+ label: "QDash Commit Agent Candidate Set",
2383
+ description: "Commit a reviewed QDash agent candidate set (several candidates at once). This is a write operation and requires confirmation.",
2384
+ promptSnippet: "Commit a QDash agent candidate set after explicit user confirmation",
2385
+ promptGuidelines: ["Use qdash_commit_agent_candidate_set only after showing the candidate set and receiving explicit confirmation."],
2386
2386
  parameters: Type.Object({
2387
2387
  ...connectionParams,
2388
2388
  sessionId: Type.String(),
2389
- candidates: Type.Array(Type.Any({ description: "Agent campaign candidate references accepted by QDash." })),
2389
+ candidates: Type.Array(Type.Any({ description: "Agent plan candidate references accepted by QDash." })),
2390
2390
  idempotencyKey: Type.Optional(Type.String()),
2391
2391
  expectedStateVersion: Type.Number(),
2392
2392
  confirmWrite: Type.Optional(Type.Boolean()),
2393
2393
  }),
2394
2394
  async execute(_toolCallId, params: ConfirmableParams & { profile?: string; configPath?: string; useEnv?: boolean; sessionId: string; candidates: unknown[]; idempotencyKey?: string; expectedStateVersion: number }, _signal, _onUpdate, ctx) {
2395
2395
  if (!params.confirmWrite) {
2396
- if (!ctx.hasUI || !(await ctx.ui.confirm("Commit QDash agent campaign candidates?", `Commit ${params.candidates.length} candidate(s)?`))) {
2397
- throw new Error("qdash_commit_agent_campaign_candidates requires explicit confirmation");
2396
+ if (!ctx.hasUI || !(await ctx.ui.confirm("Commit QDash agent candidate set?", `Commit ${params.candidates.length} candidate(s)?`))) {
2397
+ throw new Error("qdash_commit_agent_candidate_set requires explicit confirmation");
2398
2398
  }
2399
2399
  }
2400
2400
  const client = await makeClient(params);
2401
- return toToolResult(await client.commitAgentCampaignCandidates(params.sessionId, params.candidates as never, {
2401
+ return toToolResult(await client.commitAgentCandidateSet(params.sessionId, params.candidates as never, {
2402
2402
  idempotencyKey: params.idempotencyKey ?? randomUUID(),
2403
2403
  expectedStateVersion: params.expectedStateVersion,
2404
- }), { tool: "qdash_commit_agent_campaign_candidates" });
2404
+ }), { tool: "qdash_commit_agent_candidate_set" });
2405
2405
  },
2406
2406
  });
2407
2407
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oqtopus-team/pi-qdash",
3
- "version": "0.1.11-beta.22",
3
+ "version": "0.1.11-beta.23",
4
4
  "description": "Pi extension for querying QDash via @oqtopus-team/qdash-client",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -27,7 +27,7 @@
27
27
  "access": "public"
28
28
  },
29
29
  "dependencies": {
30
- "@oqtopus-team/qdash-client": "1.9.21-beta.203"
30
+ "@oqtopus-team/qdash-client": "1.9.21-beta.276"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@earendil-works/pi-coding-agent": "*",
@@ -36,7 +36,7 @@ Prefer the dedicated tool that matches the question. Use `qdash_query` only as a
36
36
  - `qdash_degradation_report`, `qdash_plan_calibration`, `qdash_validate_calibration` — inspect drift, plan work, and validate results
37
37
  3. Confirmation-gated write tools (the harness asks the user before running them):
38
38
  - `qdash_create_agent_session`, `qdash_submit_agent_action`, `qdash_execute_agent_action` — create or execute a scoped agent workflow
39
- - `qdash_commit_agent_candidate`, `qdash_commit_agent_campaign_candidates` — commit reviewed candidate parameters
39
+ - `qdash_commit_agent_candidate`, `qdash_commit_agent_candidate_set` — commit reviewed candidate parameters
40
40
  - `qdash_apply_agent_candidate_commit` — apply a reviewed candidate commit
41
41
  - `qdash_create_forum_post`, `qdash_update_forum_post` — create or update Forum content
42
42
  - `qdash_create_forum_evidence_reply`, `qdash_create_forum_image_reply` — publish previously reviewed evidence replies
@@ -13,7 +13,7 @@ metadata:
13
13
  preferred_qubit_recovery_recipe: CheckRabi -> CheckChevron -> Configure -> CheckRabi
14
14
  requires_confirmation_for:
15
15
  - agent session creation
16
- - task execution
16
+ - task execution (per step unless the session policy sets autonomy: auto)
17
17
  - parameter commit
18
18
  - backend apply
19
19
  related_qdash_tasks:
@@ -114,6 +114,27 @@ For `ZX90InterleavedRandomizedBenchmarking` or two-qubit validation failures, do
114
114
 
115
115
  Treat `completed` as execution status, not proof of quality. Before interpreting Bell, tomography, coherence-limit, CR, ZX90, or IRB output, read each relevant task with `qdash_get_task_knowledge`; then correlate the returned criteria with figures and same-cooldown history.
116
116
 
117
+ ## Autonomous plan (autonomy: auto)
118
+
119
+ A session created with `autonomy: auto` delegates the step-by-step confirmation once: the user
120
+ approves the plan, the override bounds, the action budget, and `max_rounds_per_target`, and the
121
+ plan then chooses each next node from the calibration evaluation of the last result. Treat
122
+ the grant as the confirmation; do not ask again per node.
123
+
124
+ - Build the plan only from nodes the user approved; every node's task must be in `allowed_tasks`.
125
+ - The next step comes from the task knowledge's `next_actions` table (read it with
126
+ `qdash_get_task_knowledge`; the `next_actions` field lists what each evaluation status leads
127
+ to). Do not improvise a step for a status the table does not cover; the plan stops for the
128
+ user there, and that is correct.
129
+ - The plan stops for the user when the same status returns three times, the fit is judged
130
+ unreliable twice in a row, an evaluation does not complete, a suggested range leaves the
131
+ session bounds, or a node's round budget is spent. Report the stop with the evaluations it
132
+ recorded (evaluation id, status, suggested range, chosen node) and the execution links.
133
+ - Candidates are still committed only through the candidate gate with explicit confirmation,
134
+ unless the user asked for `commit_on_success` when approving the plan.
135
+ - For CheckRabi recovery the plan is `rabi` → (`NO_SIGNAL`) `chevron` → `rabi-reconfigured`
136
+ with `reconfigure_before_task`; the session must allow reconfiguration.
137
+
117
138
  ## Session policy guidelines
118
139
 
119
140
  For diagnostic-only actions: