Skip to content

Commit 08a452e

Browse files
committed
Track router prompt and update release workflow contract test
1 parent f4c3579 commit 08a452e

File tree

4 files changed

+43
-1
lines changed

4 files changed

+43
-1
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
description: "Dispatcher prompt for routing Cockpit Todo cards with the compact routing MCP tool."
3+
---
4+
5+
[AGENT]
6+
Task Source:
7+
- Cockpit Todo ID: [COCKPIT_TODO_ID]
8+
- Title: [COCKPIT_TITLE]
9+
- Description: [SYNTHESIZED_FINAL_PLAN]
10+
11+
Execution Goal:
12+
- Inspect Cockpit cards, not external tracker tasks.
13+
- Use `cockpit_list_routing_cards` first, then `cockpit_get_todo` only for matching cards.
14+
- Use `needs_review_mode=plan-only`.
15+
- Apply mutations deterministically.
16+
- Prefer the latest actionable user comment for intent and cron overrides.
17+
- Use flags for single review-state handoff and labels for multi-value topic or routing tags.
18+
- When the card references a scheduled task, verify task lifecycle with scheduler MCP tools instead of inferring it from comments alone.
19+
- Prefer `cockpit_closeout_todo` for final execution handoff so comment, review-state update, section fallback, and stale task-link cleanup stay atomic.
20+
21+
Required Output:
22+
- What was changed
23+
- Files touched
24+
- Validation performed
25+
- Remaining risks or follow-ups
26+
27+
Completion Update:
28+
- Add a Cockpit comment summarizing the result.
29+
- Update flags, labels, linked `taskId`, and section to match the final outcome.
30+
- If the linked scheduler task was removed or no longer exists, clear the stale `taskId`.
31+
32+
Notes:
33+
- Treat canonical workflow flags as the routing state. Use labels for categorization and treat comment labels as context only.
34+
- Ignore `Scheduled as ...`, `Done`, label-maintenance notes, dispatcher status comments, and scheduler status comments.
35+
- Prefer existing review-state flags such as `needs-user-review` or `FINAL-USER-CHECK` over inventing new label-only review markers.
36+
- Return only the compact execution summary requested by the dispatcher.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,6 @@ FULL_SPECIFICATION.md
4040
.vscode/cockpit-prompt-backups/
4141
.vscode/scheduler-history
4242
analysis_tools/
43+
44+
!.github/prompts/
45+
!.github/prompts/**

.vscodeignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ AGENTS.md
2525
!.github/
2626
!.github/agents/
2727
!.github/agents/**
28+
!.github/prompts/
29+
!.github/prompts/**
2830
!.github/skills/
2931
!.github/skills/**
3032

src/test/suite/releaseUtils.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ suite("Release Pipeline Contract Tests", () => {
177177
assert.ok(workflow.includes("uses: actions/cache@v4"));
178178
assert.ok(workflow.includes("path: .vscode-test"));
179179
assert.ok(workflow.includes("run: npm run pretest"));
180-
assert.ok(workflow.includes("run: npm test"));
180+
assert.ok(workflow.includes("Ensure Xvfb is available"));
181+
assert.ok(workflow.includes('run: xvfb-run -a --server-args="-screen 0 1280x1024x24" npm test'));
181182
assert.ok(workflow.includes("RELEASE_TAG=edge"));
182183
assert.ok(workflow.includes("node ./scripts/release-notes.js CHANGELOG.md release-notes.md"));
183184
assert.ok(workflow.includes('gh release view "${RELEASE_TAG}" >/dev/null 2>&1'));

0 commit comments

Comments
 (0)