cawplan skill check
Language (MUST)
Reply in the user's primary language for this turn (Chinese/English); confirmation gates, previews, errors, and result tables must be consistent.ProhibitedBilingual within the same paragraph. HTML section titles follow the reply language. Synonyms: progress→PROGRESS; complete/sign-off→COMPLETION; update/republish→PUT; publish→status=approved。
Hard gates (MUST)
- anchor +
version_id; any level/type does not block. - Persist only
qa_reportPOST/PUT(publish §Upsert); DB new columns/server-side upsert prohibited. - Upsert:
list-versionbyticket_id==anchor; 0→POST, 1→PUT, >1→stop. - Subtree: anchor once
tickets get+ local flattenchildren(depth≤3); depth≥4 silently trimmed;sub_issue_count>0and nochildren→SUBTREE_TRUNCATED。Prohibitedtickets listbuild subtree. - Execution: scope serial
execution summary --refresh; usepass_quality; prohibitedpass_rate/AQA。 - coverage:
Σexecuted/Σtotalno deduplication; Coverage% only Test Summary。ProhibitedWriting coverage disclaimers/footnotes in the Test Approach or details body (e.g., "Note: coverage is approximate, calculated as Σexecuted/Σtotal cases, without cross-ticket case deduplication." and the English equivalent). - Labels deferred (V2): grouping uses only
type+priority; prohibited to calltickets list/batch get for labels. - For Issue Summary / Verification / payload details see
collect §ModeMatrix、§IssueSummary、§Buckets; for details readers and HTML compact seepublish §Audience、§HTML、html-example.md。Verification Status counts only child tickets D1–D3, excluding anchor(coverage/R1–R8 still use allscope_ids)。 - Notes: prefer
data.parent; when missing 1 timeget(parent_id)。 - Double confirmation gate Step 6→7; skipping the gate is prohibited.
- details hard validation: after assembling body in Step 5 MUST
node scripts/validate_report_details.js --body-file …; on failure return to complete it,Prohibited Step 6 preview/Step 7 persist (publish §Gates·html-example.md)。 - Preview/persist: report number, report ticket musthyperlink (
publish §Links); hide UUID. - A5 must not be used as the final Release Readiness.
- Hot relay: same anchor+version with no refresh requested→reuse
anchor_detail_cache; execution may be reused, note it in the preview.
Reference loading (MUST)
Read only the § corresponding to the current Step(locate using ## § title);Prohibited Read the full references.
| Step | Read |
|---|---|
| 0–2 | collect §0 · §Anchor · §Subtree · §Relation |
| 3, 7–8 | publish §Upsert · §Links · §Result · §Errors |
| 4 | collect §Execution |
| 5 | collect §Feature · §IssueSummary · §Buckets · §ModeMatrix · publish §Rules · §Template · §Audience · §HTML · html-example.md |
| 6 | publish §Gates (including the details script validation gate) |
Allowed commands
products list · versions list · config env · versions get · tickets get · tickets search --display_ids(Step 0 only) · qa-insights module-tree get · qa-insights requirements get · qa-insights testpoints list · api GET .../qa/requirements · qa-reports list-version|create|update · qa-insights testrail execution summary --ticket-id --refresh · tickets history(optional, see collect §IssueSummary)· node scripts/validate_report_details.js(Step 5→6,MUST)
Prohibited:tickets list、tickets relate list, direct TestRail connection,cawplan api persist (except Requirement reads),qa-insights writes, A5 writes, silently skipping gates.
Workflow
| Step | Action | Detail |
|---|---|---|
| 0 | Context;portal_base;major_version_id |
collect §0 |
| 1 | tickets get anchor→flatten children D1–D3,relations、parent→anchor_detail_cache |
collect §Anchor · §Subtree |
| 2 | Relation confirmation gate (read cache; exclude cross-version) | collect §Relation · publish §Gates |
| 3 | list-version→POST/PUT |
publish §Upsert |
| 4 | serial execution; aggregate coverage | collect §Execution |
| 5 | feature_name, Issue Summary, bucketing, R1–R8, compact HTML+payload;validate_report_details.js pass |
collect §Feature · §IssueSummary · §Buckets · §ModeMatrix · publish §Rules · §Template · §Audience · html-example.md |
| 6 | Preview + body preview gate (Required Step 5 verification has passed) | publish §Gates |
| 7 | Database publishing gate → --body-file |
publish §Upsert |
| 8 | Database result | publish §Result |
Republish: Step 3 hit → Step 7 PUT.PROGRESS→COMPLETION: Same PUT, rerun 4–7.
References
- collect.md
- publish.md
- html-example.md — complete compact single-line HTML example (Step 5 layout reference)