@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
|
-
"
|
|
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",
|
package/extensions/qdash.ts
CHANGED
|
@@ -2378,30 +2378,30 @@ export default function qdashExtension(pi: ExtensionAPI) {
|
|
|
2378
2378
|
});
|
|
2379
2379
|
|
|
2380
2380
|
pi.registerTool({
|
|
2381
|
-
name: "
|
|
2382
|
-
label: "QDash Commit Agent
|
|
2383
|
-
description: "Commit
|
|
2384
|
-
promptSnippet: "Commit
|
|
2385
|
-
promptGuidelines: ["Use
|
|
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
|
|
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
|
|
2397
|
-
throw new Error("
|
|
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.
|
|
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: "
|
|
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.
|
|
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.
|
|
30
|
+
"@oqtopus-team/qdash-client": "1.9.21-beta.276"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@earendil-works/pi-coding-agent": "*",
|
package/skills/qdash/SKILL.md
CHANGED
|
@@ -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`, `
|
|
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:
|