Skip to content

Commit 6d5442b

Browse files
authored
feat: improve semantic response quality with truthfulness guardrails (#22)
1 parent 83dc264 commit 6d5442b

18 files changed

Lines changed: 60 additions & 2 deletions

File tree

.cursor-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "flutter-cursor-plugin",
33
"displayName": "Flutter Cursor Plugin",
4-
"version": "1.10.5",
4+
"version": "1.10.6",
55
"description": "Open-source Cursor plugin for end-to-end Flutter development and testing with Dart MCP, Figma MCP, practical architecture patterns, and reliable test workflows.",
66
"author": {
77
"name": "Aleksandr Lozhkovoi",

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@
2929
- command: `commands/setup-flutter-environment.md`
3030
- skill: `skills/setup-flutter-environment/SKILL.md`
3131
- Simplified command prompts by removing repeated guardrails boilerplate from canonical command files.
32+
- Strengthened semantic output quality across agents/skills:
33+
- explicit truthfulness policy (`planned/not executed` wording when no command evidence exists)
34+
- required missing-inputs/assumptions notes for partial context
35+
- required next steps and confidence/residual risk coverage in output contracts
3236

3337
## 1.10.0
3438

agents/flutter-app-builder.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,17 @@ Primary agent for Flutter feature development.
3131
- Add/update tests proportionally to behavior changes.
3232
- Prefer incremental, reviewable changes over large rewrites.
3333

34+
## Semantic quality defaults
35+
36+
- Never claim commands were executed if no command output is available.
37+
- If context is missing, explicitly list the missing inputs before proposing deep changes.
38+
- Separate confirmed facts from assumptions.
39+
- End with 1-3 concrete next steps for the user.
40+
3441
## Output expectations
3542

3643
1. Selected route/skill and reason.
3744
2. Scope and files touched.
3845
3. Validation commands and results.
3946
4. Risks or follow-up steps.
47+
5. Missing inputs or assumptions (if any).

agents/flutter-code-reviewer.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,17 @@ Dedicated agent for code review and conventions.
2323
- Test gaps and brittle assertions.
2424
- Accessibility and localization risks.
2525

26+
## Semantic quality defaults
27+
28+
- If review scope is missing, request it before deep findings.
29+
- Mark each finding as confirmed from evidence vs inferred from limited context.
30+
- Never imply security scans were executed unless command output is available.
31+
2632
## Output expectations
2733

2834
1. Findings first, ordered by severity.
2935
2. File references for each finding.
3036
3. Security findings included explicitly.
3137
4. Validation evidence (commands/scans/checks performed).
3238
5. Residual risks/testing gaps summary.
39+
6. Confidence/assumption note when evidence is partial.

agents/flutter-mobile-release-manager.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,16 @@ Dedicated agent for mobile app publishing readiness.
1919
- iOS App Store-ready archive and signing checks.
2020
- Versioning, release notes, privacy declarations, and submission gating.
2121

22+
## Semantic quality defaults
23+
24+
- Do not mark a platform "ready" without explicit build/check evidence.
25+
- If evidence is missing, return `BLOCKED` and list exact data needed.
26+
- Keep blockers actionable and ordered by release impact.
27+
2228
## Output expectations
2329

2430
1. Android readiness status.
2531
2. iOS readiness status.
2632
3. Validation evidence (commands/artifacts/checklists).
2733
4. Blocking issues before submission.
34+
5. Next unblock steps.

agents/flutter-test-writer.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,16 @@ Main router for Flutter test tasks.
2626
- For Patrol E2E tests, cover critical user journeys only (slow lane), keep unit/widget tests as fast lane.
2727
- Run only impacted tests before finishing.
2828

29+
## Semantic quality defaults
30+
31+
- Do not present pseudo-code as "implemented tests" unless files/patches were actually created.
32+
- If repository context is missing, provide a minimal test scaffold and explicitly mark assumptions.
33+
- Always include remaining coverage gaps, not only happy path suggestions.
34+
2935
## Output expectations
3036

3137
1. Test type selected (widget/bloc/integration) and reason.
3238
2. Files changed and template used.
3339
3. Validation commands run and pass/fail result.
3440
4. Remaining coverage gaps.
41+
5. Next test step for the user.

plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "flutter-cursor-plugin",
33
"displayName": "Flutter Cursor Plugin",
4-
"version": "1.10.5",
4+
"version": "1.10.6",
55
"description": "Open-source Cursor plugin for end-to-end Flutter development and testing with Dart MCP, Figma MCP, practical architecture patterns, and reliable test workflows.",
66
"author": "Aleksandr Lozhkovoi",
77
"license": "MIT",

rules/flutter-plugin-policy-priority.mdc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ This file is the high-priority policy layer for this plugin.
1515
- Conflict rule: if official guidance conflicts with project policy, project policy wins.
1616
- Do not patch synced official files to enforce project policy.
1717

18+
## Truthfulness policy
19+
20+
- Never state or imply that actions are completed without command output or concrete file diff evidence.
21+
- In planning/simulation mode, use explicit wording: `planned`, `expected`, `not executed`.
22+
- If evidence is missing, return status as `PENDING` or `BLOCKED` instead of `DONE`.
23+
1824
## Architecture and state-management policy
1925

2026
- Project First: follow the existing project architecture and state-management choice.

skills/build-flutter-features/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,15 @@ Use this skill for non-test Flutter development tasks.
3131

3232
- Restrict changes to the requested feature/module unless explicitly expanded.
3333
- Do not mix unrelated refactors with feature delivery.
34+
- Do not claim implementation is complete unless concrete file changes or command outputs are provided.
3435

3536
## Required output
3637

3738
1. Goal + scope summary.
3839
2. Files changed by layer (presentation/domain/data).
3940
3. Validation commands run and results.
4041
4. Residual risks or follow-up TODOs.
42+
5. Missing inputs/assumptions (if context is incomplete).
4143

4244
## Required references
4345

skills/debug-flutter-issues/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Use for compiler/build/runtime failures.
2424
- Do not propose a fix without a reproducible command or clear log evidence.
2525
- Keep fixes minimal and limited to the failing layer unless a cross-layer root cause is proven.
2626
- Call out unknowns explicitly instead of guessing when logs are incomplete.
27+
- Include one preventive follow-up even when the fix is minimal.
2728

2829
## Output format
2930

0 commit comments

Comments
 (0)