devendra-skill-package 1.0.2
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.
- package/.github/skills/boiler-project-generator/SKILL.md +103 -0
- package/.github/skills/boiler-project-generator/assets/templates/android/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/angular/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/flutter/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/ios/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/README.md +3 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/api-setup.ts +76 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/component-primary-button.tsx +29 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/env-config.env +4 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-auth-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-dashboard-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-profile-screen.tsx +45 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/hook-use-app-boot.ts +11 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/navigation-setup.tsx +25 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/project-structure.md +24 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-hooks.ts +5 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-session-slice.ts +29 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-store.ts +15 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/theme-index.ts +23 -0
- package/.github/skills/boiler-project-generator/assets/templates/react-native/utils-helpers.ts +7 -0
- package/.github/skills/boiler-project-generator/metadata.yaml +29 -0
- package/.github/skills/boiler-project-generator/references/android.md +19 -0
- package/.github/skills/boiler-project-generator/references/angular.md +14 -0
- package/.github/skills/boiler-project-generator/references/flutter.md +17 -0
- package/.github/skills/boiler-project-generator/references/ios.md +17 -0
- package/.github/skills/boiler-project-generator/references/react-native.md +103 -0
- package/.github/skills/boiler-project-generator/references/react.md +17 -0
- package/.github/skills/boiler-project-generator/scripts/angular.js +43 -0
- package/.github/skills/boiler-project-generator/scripts/generate-project.mjs +107 -0
- package/.github/skills/boiler-project-generator/scripts/init.js +105 -0
- package/.github/skills/boiler-project-generator/scripts/react-native.js +1041 -0
- package/.github/skills/boiler-project-generator/scripts/react.js +32 -0
- package/.github/skills/clean-architecture-generator/SKILL.md +235 -0
- package/.github/skills/clean-architecture-generator/references/architecture-core.md +126 -0
- package/.github/skills/clean-architecture-generator/references/platform-angular.md +374 -0
- package/.github/skills/clean-architecture-generator/references/platform-flutter.md +366 -0
- package/.github/skills/clean-architecture-generator/references/platform-react-native.md +590 -0
- package/.github/skills/clean-architecture-generator/references/platform-react.md +261 -0
- package/.github/skills/code-test-coverage-analyzer/SKILL.md +1358 -0
- package/.github/skills/code-test-coverage-analyzer/assets/config-questionnaire.md +118 -0
- package/.github/skills/code-test-coverage-analyzer/assets/conflict-resolution-protocol.md +99 -0
- package/.github/skills/code-test-coverage-analyzer/assets/coverage-calculation-rules.md +294 -0
- package/.github/skills/code-test-coverage-analyzer/assets/multi-strategy-search.md +145 -0
- package/.github/skills/code-test-coverage-analyzer/assets/output-file-contracts.md +651 -0
- package/.github/skills/code-test-coverage-analyzer/assets/status-definitions.md +273 -0
- package/.github/skills/code-test-coverage-analyzer/examples/example-invocation.md +208 -0
- package/.github/skills/code-test-coverage-analyzer/references/android-patterns.md +229 -0
- package/.github/skills/code-test-coverage-analyzer/references/angular-patterns.md +177 -0
- package/.github/skills/code-test-coverage-analyzer/references/backend-patterns.md +383 -0
- package/.github/skills/code-test-coverage-analyzer/references/flutter-patterns.md +254 -0
- package/.github/skills/code-test-coverage-analyzer/references/ios-patterns.md +228 -0
- package/.github/skills/code-test-coverage-analyzer/references/react-native-patterns.md +431 -0
- package/.github/skills/code-test-coverage-analyzer/references/react-patterns.md +206 -0
- package/.github/skills/code-test-coverage-analyzer/scripts/detect-platform.ps1 +261 -0
- package/.github/skills/code-test-coverage-analyzer/scripts/scan-repository.ps1 +242 -0
- package/.github/skills/code-test-coverage-analyzer/templates/brd-compliance-row.md +107 -0
- package/.github/skills/code-test-coverage-analyzer/templates/test-case-row.md +130 -0
- package/.github/skills/code-test-coverage-analyzer/templates/user-story-compliance-row.md +170 -0
- package/.github/skills/custom-font-integrator/SKILL.md +373 -0
- package/.github/skills/custom-font-integrator/assets/FontTestScreen.js +150 -0
- package/.github/skills/custom-font-integrator/references/example-info-plist.xml +21 -0
- package/.github/skills/custom-font-integrator/scripts/setup-fonts.sh +99 -0
- package/.github/skills/encryption-decryption-utility/Instructions.md +282 -0
- package/.github/skills/encryption-decryption-utility/README.md +222 -0
- package/.github/skills/encryption-decryption-utility/SKILL.md +645 -0
- package/.github/skills/encryption-decryption-utility/assets/encryption-config-template.json +13 -0
- package/.github/skills/encryption-decryption-utility/assets/platform-matrix.json +180 -0
- package/.github/skills/encryption-decryption-utility/metadata.yaml +51 -0
- package/.github/skills/encryption-decryption-utility/references/android-crypto.md +157 -0
- package/.github/skills/encryption-decryption-utility/references/angular-crypto.md +130 -0
- package/.github/skills/encryption-decryption-utility/references/approach-1-webcrypto.md +95 -0
- package/.github/skills/encryption-decryption-utility/references/approach-2-rsa-aes-cbc.md +111 -0
- package/.github/skills/encryption-decryption-utility/references/approach-3-aes-sharedkey.md +114 -0
- package/.github/skills/encryption-decryption-utility/references/architecture.md +233 -0
- package/.github/skills/encryption-decryption-utility/references/backend-alignment.md +506 -0
- package/.github/skills/encryption-decryption-utility/references/dependency-guidance.md +234 -0
- package/.github/skills/encryption-decryption-utility/references/ec-implementation.md +832 -0
- package/.github/skills/encryption-decryption-utility/references/error-handling-playbook.md +234 -0
- package/.github/skills/encryption-decryption-utility/references/flutter-crypto.md +105 -0
- package/.github/skills/encryption-decryption-utility/references/ios-crypto.md +338 -0
- package/.github/skills/encryption-decryption-utility/references/native-rsa-implementation.md +373 -0
- package/.github/skills/encryption-decryption-utility/references/node-crypto.md +86 -0
- package/.github/skills/encryption-decryption-utility/references/react-crypto.md +105 -0
- package/.github/skills/encryption-decryption-utility/references/react-native-crypto.md +1001 -0
- package/.github/skills/encryption-decryption-utility/references/react-web-crypto.md +668 -0
- package/.github/skills/encryption-decryption-utility/references/security-checklist.md +176 -0
- package/.github/skills/encryption-decryption-utility/references/web-crypto.md +74 -0
- package/.github/skills/encryption-decryption-utility/scripts/detect.js +128 -0
- package/.github/skills/encryption-decryption-utility/scripts/install.js +1713 -0
- package/.github/skills/encryption-decryption-utility/scripts/setup.js +800 -0
- package/.github/skills/encryption-decryption-utility/template.md +241 -0
- package/.github/skills/encryption-decryption-utility/templates/config-questionnaire.md +467 -0
- package/.github/skills/encryption-decryption-utility/templates/delivery-checklist.md +206 -0
- package/.github/skills/encryption-decryption-utility/templates/implementation-plan.md +304 -0
- package/.github/skills/feature-generator/SKILL.MD +2741 -0
- package/.github/skills/feature-generator/assets/fingerprint-schema.json +385 -0
- package/.github/skills/feature-generator/assets/spec-template.md +172 -0
- package/.github/skills/feature-generator/assets/transform-rules.json +82 -0
- package/.github/skills/feature-generator/references/api-envelope-patterns.md +327 -0
- package/.github/skills/feature-generator/references/screen-logic-patterns.md +399 -0
- package/.github/skills/feature-generator/references/state-library-patterns.md +464 -0
- package/.github/skills/figma-ui-mapper/README.md +34 -0
- package/.github/skills/figma-ui-mapper/SKILL.md +101 -0
- package/.github/skills/figma-ui-mapper/assets/templates/component-map-template.md +30 -0
- package/.github/skills/figma-ui-mapper/assets/templates/generation-report-template.md +49 -0
- package/.github/skills/figma-ui-mapper/metadata.yaml +22 -0
- package/.github/skills/figma-ui-mapper/references/android.md +11 -0
- package/.github/skills/figma-ui-mapper/references/angular.md +18 -0
- package/.github/skills/figma-ui-mapper/references/capacitor.md +18 -0
- package/.github/skills/figma-ui-mapper/references/common.md +23 -0
- package/.github/skills/figma-ui-mapper/references/expo.md +18 -0
- package/.github/skills/figma-ui-mapper/references/flutter.md +18 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/angular/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/capacitor/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/expo/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/flutter/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/ionic/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/kotlin-multiplatform/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/native-android/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/native-ios/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/next/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/nuxt/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/react/rules.md +19 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/react-native/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/svelte/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/frameworks/vue/rules.md +23 -0
- package/.github/skills/figma-ui-mapper/references/ionic.md +18 -0
- package/.github/skills/figma-ui-mapper/references/ios.md +11 -0
- package/.github/skills/figma-ui-mapper/references/kotlin-multiplatform.md +18 -0
- package/.github/skills/figma-ui-mapper/references/native-android.md +18 -0
- package/.github/skills/figma-ui-mapper/references/native-ios.md +18 -0
- package/.github/skills/figma-ui-mapper/references/next.md +18 -0
- package/.github/skills/figma-ui-mapper/references/nuxt.md +18 -0
- package/.github/skills/figma-ui-mapper/references/react-figma-guideline.md +21 -0
- package/.github/skills/figma-ui-mapper/references/react-native.md +18 -0
- package/.github/skills/figma-ui-mapper/references/react.md +18 -0
- package/.github/skills/figma-ui-mapper/references/script-usage.md +46 -0
- package/.github/skills/figma-ui-mapper/references/svelte.md +18 -0
- package/.github/skills/figma-ui-mapper/references/vue.md +18 -0
- package/.github/skills/figma-ui-mapper/references/workflow.md +74 -0
- package/.github/skills/figma-ui-mapper/scripts/generate-page-through-figma.js +635 -0
- package/.github/skills/figma-ui-mapper/scripts/generate-react-page-through-figma.js +4 -0
- package/.github/skills/frontend-task-breakdown/SKILL.md +734 -0
- package/.github/skills/md-file-converter/SKILL.md +291 -0
- package/.github/skills/md-file-converter/config/formats.json +114 -0
- package/.github/skills/md-file-converter/extractors/extract-docx.sh +120 -0
- package/.github/skills/md-file-converter/extractors/extract-eml.py +108 -0
- package/.github/skills/md-file-converter/extractors/extract-pdf.sh +97 -0
- package/.github/skills/md-file-converter/extractors/extract-pptx.py +143 -0
- package/.github/skills/md-file-converter/extractors/extract-xlsx.py +175 -0
- package/.github/skills/md-file-converter/scripts/check-tools.sh +47 -0
- package/.github/skills/md-file-converter/scripts/extract-archive.sh +83 -0
- package/.github/skills/md-file-converter/scripts/extract-ocr.sh +77 -0
- package/.github/skills/md-file-converter/scripts/get-metadata.sh +57 -0
- package/.github/skills/md-file-converter/templates/output.md +73 -0
- package/.github/skills/md-file-converter/templates/unsupported-object.md +6 -0
- package/.github/skills/mockAPI-contract-generator/SKILL.md +607 -0
- package/.github/skills/test-case-validator/CHANGELOG.md +155 -0
- package/.github/skills/test-case-validator/CONFIGURATION.md +130 -0
- package/.github/skills/test-case-validator/EXAMPLES.md +50 -0
- package/.github/skills/test-case-validator/QUALITY_SCORING.md +98 -0
- package/.github/skills/test-case-validator/README.md +111 -0
- package/.github/skills/test-case-validator/REPORT_TEMPLATE.md +116 -0
- package/.github/skills/test-case-validator/SKILL.md +209 -0
- package/.github/skills/test-case-validator/SYSTEM_PROMPT.md +127 -0
- package/.github/skills/test-case-validator/TRACEABILITY_ENGINE.md +152 -0
- package/.github/skills/test-case-validator/VALIDATION_RULES.md +411 -0
- package/.github/skills/test-case-validator/config/default.config.yaml +62 -0
- package/.github/skills/test-case-validator/docs/ARCHITECTURE.md +66 -0
- package/.github/skills/test-case-validator/docs/EXTENDING.md +85 -0
- package/.github/skills/test-case-validator/docs/FAQ.md +88 -0
- package/.github/skills/test-case-validator/docs/VERSIONING.md +55 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-brd.md +43 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-test-cases.csv +9 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-user-story.md +29 -0
- package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/output-report.md +303 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-spec.md +43 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-test-files-index.md +56 -0
- package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/output-report.md +274 -0
- package/.github/skills/test-case-validator/prompts/00-applicability-resolution.md +61 -0
- package/.github/skills/test-case-validator/prompts/01-extraction-user-story.md +58 -0
- package/.github/skills/test-case-validator/prompts/02-extraction-brd.md +64 -0
- package/.github/skills/test-case-validator/prompts/03-extraction-test-cases.md +92 -0
- package/.github/skills/test-case-validator/prompts/04-traceability-matrix.md +41 -0
- package/.github/skills/test-case-validator/prompts/05-coverage-analysis.md +46 -0
- package/.github/skills/test-case-validator/prompts/06-missing-scenario-detection.md +32 -0
- package/.github/skills/test-case-validator/prompts/07-duplicate-detection.md +36 -0
- package/.github/skills/test-case-validator/prompts/08-risk-analysis.md +39 -0
- package/.github/skills/test-case-validator/prompts/09-gated-wiring-validation.md +53 -0
- package/.github/skills/test-case-validator/prompts/10-observation-report.md +56 -0
- package/.github/skills/test-case-validator/prompts/11-final-report-assembly.md +57 -0
- package/.github/skills/test-case-validator/templates/coverage-table.md +25 -0
- package/.github/skills/test-case-validator/templates/executive-summary.md +38 -0
- package/.github/skills/test-case-validator/templates/final-summary-block.md +87 -0
- package/.github/skills/test-case-validator/templates/observation-entry.md +41 -0
- package/.github/skills/test-case-validator/templates/rtm-row.md +25 -0
- package/.github/skills/validation-engine-builder/README.md +50 -0
- package/.github/skills/validation-engine-builder/SKILL.md +241 -0
- package/.github/skills/validation-engine-builder/references/core.md +158 -0
- package/.github/skills/validation-engine-builder/references/platform-angular.md +166 -0
- package/.github/skills/validation-engine-builder/references/platform-flutter.md +118 -0
- package/.github/skills/validation-engine-builder/references/platform-react-native.md +170 -0
- package/.github/skills/validation-engine-builder/references/platform-react.md +94 -0
- package/.github/skills/validation-engine-builder/scripts/apply-to-project.js +80 -0
- package/.github/skills/validation-engine-builder/scripts/generate-angular.js +271 -0
- package/.github/skills/validation-engine-builder/scripts/generate-flutter.js +298 -0
- package/.github/skills/validation-engine-builder/scripts/generate-react-native.js +217 -0
- package/.github/skills/validation-engine-builder/scripts/generate-react.js +163 -0
- package/.github/skills/validation-engine-builder/scripts/install-deps.js +53 -0
- package/.github/skills/validation-engine-builder/scripts/shared/detect-platform.js +68 -0
- package/.github/skills/validation-engine-builder/scripts/shared/npm-deps.js +103 -0
- package/.github/skills/validation-engine-builder/scripts/shared/rhf-hook.js +43 -0
- package/.github/skills/validation-engine-builder/scripts/shared/ts-messages-regex.js +62 -0
- package/.github/skills/validation-engine-builder/scripts/shared/util.js +44 -0
- package/.github/skills/validation-engine-builder/scripts/shared/yup-schemas.js +80 -0
- package/.github/skills/validation-engine-builder/template.md +73 -0
- package/.github/skills/validation-engine-builder/templates/messages.json +22 -0
- package/.github/skills/validation-engine-builder/templates/regex.json +16 -0
- package/.github/skills/validation-engine-builder/templates/schemas.json +48 -0
- package/bin/index.js +145 -0
- package/package.json +22 -0
- package/readme.md +0 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Configuration Questionnaire — Project Requirements Compliance Auditor
|
|
2
|
+
|
|
3
|
+
Ask questions in order. Validate each answer before proceeding. Do not proceed to analysis until all
|
|
4
|
+
required fields are confirmed.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Questions to Ask (in order)
|
|
9
|
+
|
|
10
|
+
### Q1 — BRD Path
|
|
11
|
+
**Question**: "What is the path to your BRD (Business Requirement Document) Markdown file?"
|
|
12
|
+
**Validation**: File must exist. Must be a .md file. Read the first 20 lines to confirm it contains requirements.
|
|
13
|
+
**Error**: "File not found or not readable. Please provide a valid path to the BRD Markdown file."
|
|
14
|
+
|
|
15
|
+
### Q2 — User Stories Path
|
|
16
|
+
**Question**: "What is the path to your User Stories Markdown file?"
|
|
17
|
+
**Validation**: File must exist. Must be a .md file. Read the first 20 lines to confirm it contains user stories.
|
|
18
|
+
**Error**: "File not found or not readable. Please provide a valid path to the User Stories Markdown file."
|
|
19
|
+
|
|
20
|
+
### Q3 — Test Cases Path
|
|
21
|
+
**Question**: "What is the path to your Test Cases Markdown file?"
|
|
22
|
+
**Validation**: File must exist. Must be a .md file. Read the first 20 lines to confirm it contains test cases.
|
|
23
|
+
**Error**: "File not found or not readable. Please provide a valid path to the Test Cases Markdown file."
|
|
24
|
+
|
|
25
|
+
### Q4 — Project Root
|
|
26
|
+
**Question**: "What is the root directory of the project source code to audit?"
|
|
27
|
+
**Validation**: Directory must exist. Must contain source code files.
|
|
28
|
+
**Error**: "Directory not found. Please provide the absolute or relative path to the project root."
|
|
29
|
+
|
|
30
|
+
### Q5 — Output Folder
|
|
31
|
+
**Question**: "What name should be used for the output folder where the 15 report files will be created?"
|
|
32
|
+
**Validation**: Non-empty string. Check if folder already exists; if yes, warn the user and ask to confirm overwrite.
|
|
33
|
+
**Default**: `COMPLIANCE_AUDIT_REPORT`
|
|
34
|
+
**Warning if exists**: "A folder named '{name}' already exists. Proceeding will overwrite existing reports. Continue? (yes/no)"
|
|
35
|
+
|
|
36
|
+
### Q6 — Platform (Auto-detected)
|
|
37
|
+
Run `pwsh scripts/detect-platform.ps1 -ProjectRoot "<Q4>"` (Mac/Linux) or
|
|
38
|
+
`powershell scripts/detect-platform.ps1 -ProjectRoot "<Q4>"` (Windows).
|
|
39
|
+
If confidence >= 1: auto-fill platform without asking. Show detected platform to user.
|
|
40
|
+
If confidence = 0 or script unavailable: "Could not auto-detect platform. Is this project:
|
|
41
|
+
(1) React Native (2) React (3) Angular (4) Flutter (5) Android (6) iOS
|
|
42
|
+
(7) NestJS (8) Node.js/Express (9) Spring Boot (10) .NET Core (11) Go (12) Other"
|
|
43
|
+
**Validation**: Must be one of the supported platforms.
|
|
44
|
+
|
|
45
|
+
### Q7 — Optional Documents (Optional)
|
|
46
|
+
**Question**: "Do you have any optional documents to include? (Architecture docs, API docs, Swagger, Database schema, Screen specs) — Enter paths comma-separated or press Enter to skip."
|
|
47
|
+
**Validation**: If provided, verify each file exists.
|
|
48
|
+
|
|
49
|
+
### Q8 — Deferred BRD Requirement IDs (Optional)
|
|
50
|
+
**Question**: "Are any BRD requirement IDs intentionally excluded from this audit scope? (Enter comma-separated BRD-IDs such as BRD-015, BRD-022, or press Enter to skip.)"
|
|
51
|
+
**Validation**: Optional. If provided, store as the SCOPED_OUT ID list. These requirements will be excluded from coverage calculation and marked SCOPED_OUT in all reports.
|
|
52
|
+
**Note for AI**: If Q8 is skipped, no SCOPED_OUT items exist. Do not mark any requirement as SCOPED_OUT unless its ID appears in Q8.
|
|
53
|
+
|
|
54
|
+
### Q9 — Project Type for Coverage Weight Preset (Optional)
|
|
55
|
+
**Question**: "Project type for coverage weights — press Enter for default balanced weights or select: (1) Full Stack (2) Frontend Only (3) Backend Only (4) Mobile App (5) API Service"
|
|
56
|
+
**Validation**: Optional. If skipped, use the default balanced weight preset from assets/coverage-calculation-rules.md.
|
|
57
|
+
**Weight presets**:
|
|
58
|
+
- Default / Full Stack: BRD 25%, Stories 20%, TC 20%, Validation 10%, API 10%, UI 5%, BL 5%, Nav 5%
|
|
59
|
+
- Frontend Only: BRD 20%, Stories 20%, TC 15%, Validation 10%, API 5%, UI 20%, BL 5%, Nav 5%
|
|
60
|
+
- Backend Only: BRD 25%, Stories 15%, TC 20%, Validation 10%, API 25%, UI 0%, BL 5%, Nav 0%
|
|
61
|
+
- Mobile App: BRD 25%, Stories 20%, TC 15%, Validation 15%, API 10%, UI 10%, BL 3%, Nav 2%
|
|
62
|
+
- API Service: BRD 25%, Stories 10%, TC 25%, Validation 15%, API 25%, UI 0%, BL 0%, Nav 0%
|
|
63
|
+
|
|
64
|
+
### Q10 — Previous Audit Folder for Delta Mode (Optional)
|
|
65
|
+
**Question**: "Enter the path to a previous audit output folder to run in delta mode (shows only changes since last audit), or press Enter for a full audit."
|
|
66
|
+
**Validation**: Optional. If provided, verify the folder exists and contains at least 01_EXECUTIVE_SUMMARY.md. If valid, load it and at the end of each pass compare new findings against prior findings — flag new MISSING, resolved MISSING, new INCORRECT, new CONFLICTS as delta items.
|
|
67
|
+
**Note for AI**: If Q10 is provided and valid, add a "### Delta from Previous Audit" section to Files 02, 11, and 13 showing what changed since the prior audit.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Part A — Configuration Summary Record
|
|
72
|
+
|
|
73
|
+
Present this summary and wait for user confirmation (user must type "OK", "yes", "confirm", or "proceed"):
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
COMPLIANCE AUDITOR — CONFIGURATION SUMMARY
|
|
77
|
+
===========================================
|
|
78
|
+
Q1 BRD File: {Q1}
|
|
79
|
+
Q2 User Stories: {Q2}
|
|
80
|
+
Q3 Test Cases: {Q3}
|
|
81
|
+
Q4 Project Root: {Q4}
|
|
82
|
+
Q5 Output Folder: {Q5}/
|
|
83
|
+
Q6 Platform: {Q6}
|
|
84
|
+
Q7 Optional Docs: {Q7 list or "None"}
|
|
85
|
+
Q8 Deferred BRD IDs: {Q8 list or "None"}
|
|
86
|
+
Q9 Project Type: {Q9 or "Default (Balanced)"}
|
|
87
|
+
Q10 Delta Mode: {Q10 path or "Full audit (no prior baseline)"}
|
|
88
|
+
|
|
89
|
+
Estimated scope:
|
|
90
|
+
Source files to scan: {count from tree scan}
|
|
91
|
+
Platform patterns: {reference file name}
|
|
92
|
+
|
|
93
|
+
Type "OK" to begin the audit or "cancel" to abort.
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Validation Rules
|
|
99
|
+
|
|
100
|
+
| Field | Rule |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Q1, Q2, Q3 | Must be readable .md files with content |
|
|
103
|
+
| Q4 | Must be a readable directory |
|
|
104
|
+
| Q5 | Non-empty string; alphanumeric, underscores, hyphens allowed |
|
|
105
|
+
| Q6 | Must match exactly one supported platform |
|
|
106
|
+
| Q7 | Each path must exist if provided; silently skip empty input |
|
|
107
|
+
| Q8 | Optional; validate each ID matches the pattern BRD-\d+ if provided |
|
|
108
|
+
| Q9 | Optional; must be 1–5 if provided; default to balanced weights if skipped |
|
|
109
|
+
| Q10 | Optional; if provided the folder must exist and contain 01_EXECUTIVE_SUMMARY.md |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Re-prompt Policy
|
|
114
|
+
|
|
115
|
+
- Q1, Q2, Q3: Re-prompt up to 3 times if file not found. Abort if still not found after 3 attempts.
|
|
116
|
+
- Q4: Re-prompt up to 3 times. Abort if not found.
|
|
117
|
+
- Q5: Re-prompt if string is empty or contains invalid characters.
|
|
118
|
+
- Q6: Re-prompt until valid platform selected.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Conflict Resolution Protocol — Project Requirements Compliance Auditor
|
|
2
|
+
|
|
3
|
+
This file defines how contradictions between requirement documents are handled.
|
|
4
|
+
Apply this protocol during Step 2D (Cross-Reference) and whenever a contradiction
|
|
5
|
+
is encountered during any audit pass.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What Counts as a Conflict
|
|
10
|
+
|
|
11
|
+
A conflict exists when two or more source documents specify **contradictory values**
|
|
12
|
+
for the same field, behavior, or constraint. Both must reference the same entity.
|
|
13
|
+
|
|
14
|
+
**Examples of CONFLICTS:**
|
|
15
|
+
- BRD-014: "PIN max length = 6 digits" | US-007-AC-03: "PIN length 4–8 digits"
|
|
16
|
+
- BRD-029: "OTP expires in 5 minutes" | US-012-AC-01: "OTP expires in 3 minutes"
|
|
17
|
+
- BRD-031: "Amount field allows up to ₹10,00,000" | TC-018: "Max amount = ₹5,00,000"
|
|
18
|
+
|
|
19
|
+
**Examples of NON-CONFLICTS (complementary, not contradictory):**
|
|
20
|
+
- BRD-014 states max PIN length; User Story adds "show PIN strength indicator" — this adds to the requirement, does not contradict it.
|
|
21
|
+
- BRD says "user must log in" and TC describes the login flow steps — both are consistent.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Types of Conflicts
|
|
26
|
+
|
|
27
|
+
| Type | Description | Example |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| BRD vs User Story | BRD specifies a constraint; User Story AC specifies a different value | PIN length |
|
|
30
|
+
| BRD vs Test Case | BRD states expected behavior; TC expects different output | OTP expiry |
|
|
31
|
+
| Intra-BRD | Same BRD document states two different values in different sections | Amount max |
|
|
32
|
+
| User Story vs Test Case | AC says one thing; TC expects another | Error message text |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Detection
|
|
37
|
+
|
|
38
|
+
During **Step 2D (Cross-Reference Building)**:
|
|
39
|
+
|
|
40
|
+
1. Group all requirements by their **subject entity** (field name, screen name, API name).
|
|
41
|
+
2. For each entity, list all constraints from all documents.
|
|
42
|
+
3. Compare constraints of the same type (max length vs max length, expiry vs expiry).
|
|
43
|
+
4. Flag any pair where the values contradict each other.
|
|
44
|
+
|
|
45
|
+
Use grep to find related requirements: search all three input documents for the same keyword.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## How to Record a Conflict
|
|
50
|
+
|
|
51
|
+
Assign a CONFLICT ID: `CONFLICT-{BRD-ID}-{US-ID or TC-ID}` (use the two source IDs).
|
|
52
|
+
|
|
53
|
+
Record:
|
|
54
|
+
```
|
|
55
|
+
CONFLICT-BRD014-US007:
|
|
56
|
+
Entity: PIN length
|
|
57
|
+
Source 1: BRD-014 — "maximum PIN length is 6 digits"
|
|
58
|
+
Source 2: US-007-AC-03 — "PIN must be between 4 and 8 digits"
|
|
59
|
+
Contradiction: Max of 6 (BRD) vs Max of 8 (US)
|
|
60
|
+
Resolution: PENDING — requires stakeholder decision
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Status Assignment for Conflicted Requirements
|
|
66
|
+
|
|
67
|
+
- All requirements involved in a conflict are assigned status: **CONFLICTED**
|
|
68
|
+
- CONFLICTED items score **0%** in coverage calculations
|
|
69
|
+
- They are NOT counted as MISSING or IMPLEMENTED
|
|
70
|
+
- They appear in a dedicated **"Requirement Conflicts"** table in File 02 (BRD Compliance Matrix)
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Reporting
|
|
75
|
+
|
|
76
|
+
### In File 02 (BRD Compliance Matrix)
|
|
77
|
+
Add a section after the main compliance table:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
## Requirement Conflicts
|
|
81
|
+
|
|
82
|
+
| CONFLICT-ID | Entity | Source 1 | Source 2 | Contradiction Summary |
|
|
83
|
+
|---|---|---|---|---|
|
|
84
|
+
| CONFLICT-BRD014-US007 | PIN max length | BRD-014: max 6 | US-007-AC-03: max 8 | Max length differs by 2 |
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### In File 01 (Executive Summary)
|
|
88
|
+
List conflicts in the "Risks and Blockers" section. Conflicts must be resolved before
|
|
89
|
+
the requirement can be evaluated for compliance.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Resolution
|
|
94
|
+
|
|
95
|
+
Conflict resolution requires a human decision. The audit report surfaces the conflict;
|
|
96
|
+
the project team decides which document is authoritative for that item.
|
|
97
|
+
|
|
98
|
+
After resolution, the user should update the authoritative document and re-run the audit
|
|
99
|
+
(or use delta-audit mode via Q10 to re-evaluate only CONFLICTED items).
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# Coverage Calculation Rules — Project Requirements Compliance Auditor
|
|
2
|
+
|
|
3
|
+
All coverage scores must be calculated from actual counts. Never estimate. Never round up.
|
|
4
|
+
Show the calculation formula alongside the result in the scorecard.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## General Principle
|
|
9
|
+
|
|
10
|
+
Coverage is based on VERIFIED IMPLEMENTATION, not file existence.
|
|
11
|
+
|
|
12
|
+
Wrong: "The Login screen file exists, so Login is covered."
|
|
13
|
+
Correct: "The Login screen implements all required fields, validations, and API calls confirmed
|
|
14
|
+
by reading the source — Login coverage is 100%."
|
|
15
|
+
|
|
16
|
+
Wrong: "The authentication module folder exists."
|
|
17
|
+
Correct: "3 of 5 required authentication flows are implemented — coverage is 60%."
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## BRD Coverage
|
|
22
|
+
|
|
23
|
+
### IMPLEMENTED Count
|
|
24
|
+
Count only requirements with status = `IMPLEMENTED`.
|
|
25
|
+
|
|
26
|
+
### PARTIAL Count
|
|
27
|
+
Count requirements with status = `PARTIALLY_IMPLEMENTED`.
|
|
28
|
+
|
|
29
|
+
### Missing Count
|
|
30
|
+
Count requirements with status = `MISSING`.
|
|
31
|
+
|
|
32
|
+
### Formulas
|
|
33
|
+
```
|
|
34
|
+
BRD_Total = count of all BRD requirements (excluding SCOPED_OUT and CONFLICTED items)
|
|
35
|
+
BRD_Implemented = count of IMPLEMENTED
|
|
36
|
+
BRD_Partial = count of PARTIALLY_IMPLEMENTED
|
|
37
|
+
BRD_Missing = count of MISSING
|
|
38
|
+
BRD_Incorrect = count of INCORRECT
|
|
39
|
+
BRD_NotVerified = count of NOT_VERIFIED
|
|
40
|
+
|
|
41
|
+
ZERO-GUARD: If BRD_Total = 0, set BRD_Coverage = N/A and exclude this dimension from
|
|
42
|
+
the Overall weighted score. Redistribute its 25% weight proportionally to remaining dimensions.
|
|
43
|
+
|
|
44
|
+
BRD_Coverage_Strict % = (BRD_Implemented / BRD_Total) × 100 [requires BRD_Total > 0]
|
|
45
|
+
BRD_Coverage_Lenient % = ((BRD_Implemented + BRD_Partial × 0.5) / BRD_Total) × 100
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Use **Strict** coverage as the primary metric. Show lenient coverage as secondary.
|
|
49
|
+
|
|
50
|
+
Example output:
|
|
51
|
+
```
|
|
52
|
+
BRD Requirements: 45 total
|
|
53
|
+
IMPLEMENTED: 32 (71.1%)
|
|
54
|
+
PARTIALLY_IMPLEMENTED: 6 (13.3%)
|
|
55
|
+
MISSING: 5 (11.1%)
|
|
56
|
+
INCORRECT: 1 (2.2%)
|
|
57
|
+
NOT_VERIFIED: 1 (2.2%)
|
|
58
|
+
|
|
59
|
+
BRD Coverage (Strict): 71.1% [= 32/45 × 100]
|
|
60
|
+
BRD Coverage (Lenient): 74.4% [= (32 + 6×0.5)/45 × 100]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## User Story Coverage
|
|
66
|
+
|
|
67
|
+
### Story-Level Coverage
|
|
68
|
+
A story is "Fully Satisfied" only if ALL of its acceptance criteria are SATISFIED.
|
|
69
|
+
A story is "Partially Satisfied" if at least one AC is SATISFIED but not all.
|
|
70
|
+
A story is "Not Satisfied" if zero ACs are SATISFIED.
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Story_Total = count of all user stories
|
|
74
|
+
Story_Full = count of Fully Satisfied stories
|
|
75
|
+
Story_Partial = count of Partially Satisfied stories
|
|
76
|
+
Story_None = count of Not Satisfied + Not Verifiable stories
|
|
77
|
+
|
|
78
|
+
Story_Coverage % = (Story_Full / Story_Total) × 100
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Acceptance Criteria Coverage
|
|
82
|
+
```
|
|
83
|
+
AC_Total = total count of all acceptance criteria across all stories
|
|
84
|
+
AC_Satisfied = count of SATISFIED ACs
|
|
85
|
+
AC_Partial = count of PARTIALLY_SATISFIED ACs
|
|
86
|
+
AC_Not = count of NOT_SATISFIED ACs
|
|
87
|
+
|
|
88
|
+
AC_Coverage % = (AC_Satisfied / AC_Total) × 100
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Test Case Coverage
|
|
94
|
+
|
|
95
|
+
### Pass Rate (Primary Metric)
|
|
96
|
+
```
|
|
97
|
+
TC_Total = count of all test cases
|
|
98
|
+
TC_Pass = count of PASS
|
|
99
|
+
TC_Partial = count of PARTIAL_PASS
|
|
100
|
+
TC_Fail = count of FAIL
|
|
101
|
+
TC_NotImpl = count of NOT_IMPLEMENTED
|
|
102
|
+
TC_Blocked = count of BLOCKED
|
|
103
|
+
TC_Unknown = count of UNKNOWN
|
|
104
|
+
|
|
105
|
+
TC_Pass_Rate % = (TC_Pass / TC_Total) × 100
|
|
106
|
+
TC_Implementation_Rate % = ((TC_Total - TC_NotImpl) / TC_Total) × 100
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Note: BLOCKED tests are excluded from denominator for pass rate IF the blocker is a MISSING feature
|
|
110
|
+
already counted in BRD missing (to avoid double-penalizing the same gap).
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Validation Coverage
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
Val_Required = total validations required across all fields (from BRD + User Stories)
|
|
118
|
+
Val_Implemented = validations where rule is implemented correctly
|
|
119
|
+
Val_MsgMatch = validations where message is EXACT match
|
|
120
|
+
Val_MsgPartial = validations where message is SIMILAR
|
|
121
|
+
Val_MsgMismatch = validations where message is MISMATCH
|
|
122
|
+
Val_Missing = validations not implemented at all
|
|
123
|
+
|
|
124
|
+
Val_Coverage % = (Val_Implemented / Val_Required) × 100
|
|
125
|
+
Msg_Accuracy % = (Val_MsgMatch / Val_Required) × 100
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## API Coverage
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
API_Required = count of distinct APIs required by BRD / User Stories
|
|
134
|
+
API_Implemented = count of required APIs with implementation found
|
|
135
|
+
API_Missing = count of required APIs not found
|
|
136
|
+
API_Extra = count of APIs in code with no requirement reference
|
|
137
|
+
|
|
138
|
+
API_Coverage % = (API_Implemented / API_Required) × 100
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Note: API_Extra does not penalize the coverage score. It is reported separately.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## UI Coverage
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
UI_Screens_Required = count of distinct screens required by BRD / User Stories
|
|
149
|
+
UI_Screens_Implemented = count implemented
|
|
150
|
+
UI_Elements_Required = total required UI elements across all screens
|
|
151
|
+
UI_Elements_Implemented = elements confirmed implemented
|
|
152
|
+
UI_Labels_Required = text labels / buttons with prescribed text
|
|
153
|
+
UI_Labels_Exact = labels matching requirements exactly
|
|
154
|
+
|
|
155
|
+
UI_Screen_Coverage % = (UI_Screens_Implemented / UI_Screens_Required) × 100
|
|
156
|
+
UI_Element_Coverage % = (UI_Elements_Implemented / UI_Elements_Required) × 100
|
|
157
|
+
UI_Label_Accuracy % = (UI_Labels_Exact / UI_Labels_Required) × 100
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Navigation Coverage
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
Nav_Required = count of distinct navigation flows required
|
|
166
|
+
Nav_Implemented = count fully implemented
|
|
167
|
+
Nav_Partial = count partially implemented (source or destination missing)
|
|
168
|
+
Nav_Missing = count not found
|
|
169
|
+
|
|
170
|
+
Nav_Coverage % = (Nav_Implemented / Nav_Required) × 100
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Business Logic Coverage
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
BL_Required = count of distinct business rules required
|
|
179
|
+
BL_Implemented = rules fully implemented
|
|
180
|
+
BL_Partial = rules partially implemented
|
|
181
|
+
BL_Missing = rules not found
|
|
182
|
+
|
|
183
|
+
BL_Coverage % = (BL_Implemented / BL_Required) × 100
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Overall Compliance Score
|
|
189
|
+
|
|
190
|
+
Weighted composite of all dimension scores.
|
|
191
|
+
|
|
192
|
+
### Weights
|
|
193
|
+
| Dimension | Weight |
|
|
194
|
+
|---|---|
|
|
195
|
+
| BRD Coverage (Strict) | 25% |
|
|
196
|
+
| User Story Coverage | 20% |
|
|
197
|
+
| Test Case Pass Rate | 20% |
|
|
198
|
+
| Validation Coverage | 10% |
|
|
199
|
+
| API Coverage | 10% |
|
|
200
|
+
| UI Screen Coverage | 5% |
|
|
201
|
+
| Business Logic Coverage | 5% |
|
|
202
|
+
| Navigation Coverage | 5% |
|
|
203
|
+
|
|
204
|
+
**Total weight**: 100%
|
|
205
|
+
|
|
206
|
+
### Formula
|
|
207
|
+
```
|
|
208
|
+
Overall % = (BRD_Coverage × 0.25)
|
|
209
|
+
+ (Story_Coverage × 0.20)
|
|
210
|
+
+ (TC_Pass_Rate × 0.20)
|
|
211
|
+
+ (Val_Coverage × 0.10)
|
|
212
|
+
+ (API_Coverage × 0.10)
|
|
213
|
+
+ (UI_Screen_Coverage × 0.05)
|
|
214
|
+
+ (BL_Coverage × 0.05)
|
|
215
|
+
+ (Nav_Coverage × 0.05)
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Zero-Guard — Dimension Exclusion
|
|
219
|
+
|
|
220
|
+
If any dimension's total count is zero (e.g., BRD has no navigation requirements), that
|
|
221
|
+
dimension is N/A and excluded from the formula. Its weight is redistributed proportionally.
|
|
222
|
+
|
|
223
|
+
Example — if Nav_Required = 0 (Nav excluded, 5% weight freed):
|
|
224
|
+
```
|
|
225
|
+
Redistributed weights = each remaining dimension × (100% / 95%) × original_weight
|
|
226
|
+
Practical shortcut: increase each remaining weight by factor (100/95 = 1.0526)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Always document which dimensions were N/A and show the adjusted weights used.
|
|
230
|
+
|
|
231
|
+
Zero-guard applies to ALL dimension formulas:
|
|
232
|
+
- AC_Coverage: if AC_Total = 0, dimension = N/A
|
|
233
|
+
- TC_Pass_Rate: if TC_Total = 0, dimension = N/A
|
|
234
|
+
- Val_Coverage: if Val_Required = 0, dimension = N/A
|
|
235
|
+
- API_Coverage: if API_Required = 0, dimension = N/A
|
|
236
|
+
- UI_Screen_Coverage: if UI_Screens_Required = 0, dimension = N/A
|
|
237
|
+
- BL_Coverage: if BL_Required = 0, dimension = N/A
|
|
238
|
+
- Nav_Coverage: if Nav_Required = 0, dimension = N/A
|
|
239
|
+
|
|
240
|
+
### Risk Score from Overall %
|
|
241
|
+
| Range | Risk Score |
|
|
242
|
+
|---|---|
|
|
243
|
+
| 95–100% | MINIMAL |
|
|
244
|
+
| 85–94% | LOW |
|
|
245
|
+
| 70–84% | MEDIUM |
|
|
246
|
+
| 50–69% | HIGH |
|
|
247
|
+
| 0–49% | CRITICAL |
|
|
248
|
+
|
|
249
|
+
### Production Readiness from Overall %
|
|
250
|
+
| Range | Readiness |
|
|
251
|
+
|---|---|
|
|
252
|
+
| ≥ 90% | READY |
|
|
253
|
+
| 75–89% | CONDITIONAL |
|
|
254
|
+
| 60–74% | NEEDS WORK |
|
|
255
|
+
| < 60% | NOT READY |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Grade Scale
|
|
260
|
+
|
|
261
|
+
Used in the Compliance Scorecard per dimension.
|
|
262
|
+
|
|
263
|
+
| Grade | Score Range | Interpretation |
|
|
264
|
+
|---|---|---|
|
|
265
|
+
| A+ | 98–100% | Exceptional compliance |
|
|
266
|
+
| A | 93–97% | Production ready |
|
|
267
|
+
| A- | 90–92% | Near production ready |
|
|
268
|
+
| B+ | 87–89% | Minor gaps |
|
|
269
|
+
| B | 83–86% | Some gaps |
|
|
270
|
+
| B- | 80–82% | Noticeable gaps |
|
|
271
|
+
| C+ | 77–79% | Significant gaps |
|
|
272
|
+
| C | 73–76% | Needs work |
|
|
273
|
+
| C- | 70–72% | Substantial rework needed |
|
|
274
|
+
| D | 60–69% | Major gaps |
|
|
275
|
+
| F | 0–59% | Not shippable |
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Calculation Display Format
|
|
280
|
+
|
|
281
|
+
Always show the formula with actual numbers when reporting scores in output files.
|
|
282
|
+
|
|
283
|
+
Good:
|
|
284
|
+
```
|
|
285
|
+
BRD Coverage: 71.1% [= 32 IMPLEMENTED / 45 Total × 100]
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Bad:
|
|
289
|
+
```
|
|
290
|
+
BRD Coverage: ~71%
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
Never round up. Always round to one decimal place using standard rounding (0.5 rounds up).
|
|
294
|
+
Never show a score higher than what the data supports.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Multi-Strategy Search Protocol — Project Requirements Compliance Auditor
|
|
2
|
+
|
|
3
|
+
**Rule**: A requirement may NEVER be marked MISSING after a single search.
|
|
4
|
+
All six strategies below must be exhausted (or confirmed inapplicable) before declaring MISSING.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## The Six Search Strategies
|
|
9
|
+
|
|
10
|
+
### Strategy 1 — Semantic Name Search
|
|
11
|
+
Search for the feature name and common synonyms in file names and code.
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Grep patterns: {featureName}, {camelCase(featureName)}, {PascalCase(featureName)}
|
|
15
|
+
Example: "authentication" → grep: authenticate, login, signIn, signin, auth
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Strategy 2 — API Endpoint URL Search
|
|
19
|
+
Search for the exact endpoint URL string (or URL fragment) from the BRD.
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Grep: the URL path (e.g., "/api/v1/loan/apply", "/auth/token", "/otp/verify")
|
|
23
|
+
Also grep: the last path segment alone (e.g., "loan/apply", "otp/verify")
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Strategy 3 — Screen / Component Name Search
|
|
27
|
+
Search for the screen or component name that would contain the feature.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Grep: {ScreenName}Screen, {FeatureName}Screen, {FeatureName}Page, {FeatureName}View
|
|
31
|
+
Also glob: **/screens/**/*{keyword}*
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Strategy 4 — UI Label / String Search
|
|
35
|
+
Search for visible text that would appear in the UI for this feature.
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Grep: the button label text from BRD (e.g., "Submit Application", "Verify OTP")
|
|
39
|
+
Grep: the field label text (e.g., "Loan Amount", "Mobile Number", "PAN Card")
|
|
40
|
+
Grep: the error message text (e.g., "Invalid OTP", "Amount exceeds limit")
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Strategy 5 — Import Chain Trace
|
|
44
|
+
Starting from the app entry point (App.tsx, main.dart, MainActivity, etc.), follow imports.
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
1. Read the root navigator / router file
|
|
48
|
+
2. Find all screen imports
|
|
49
|
+
3. For each screen, find its component imports
|
|
50
|
+
4. Trace until you find — or confirm absence of — a component related to the requirement
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Strategy 6 — Semantic Synonyms
|
|
54
|
+
Consult the synonym map below. Search using all synonyms for the domain concept.
|
|
55
|
+
Apply ALL sections that match your project's domain (the maps are additive, not exclusive).
|
|
56
|
+
|
|
57
|
+
**Fintech / Banking domain**:
|
|
58
|
+
```
|
|
59
|
+
authentication / login / signin / signIn / credentials / logIn / auth
|
|
60
|
+
payment / transaction / transfer / remittance / charge / debit / credit
|
|
61
|
+
loan / credit / borrow / lending / advance / finance / EMI
|
|
62
|
+
registration / onboarding / signup / sign-up / createAccount / newUser
|
|
63
|
+
profile / account / myAccount / userDetails / personalInfo
|
|
64
|
+
notification / alert / push / reminder / message / inbox
|
|
65
|
+
KYC / verification / identity / document / aadhaar / PAN
|
|
66
|
+
OTP / one-time-password / passcode / 2FA / twoFactor / verification-code
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**E-commerce / Retail domain**:
|
|
70
|
+
```
|
|
71
|
+
cart / basket / bag / shopping-cart / cartItems
|
|
72
|
+
checkout / payment / purchase / order-summary
|
|
73
|
+
order / purchase / transaction / booking
|
|
74
|
+
product / item / listing / sku / variant
|
|
75
|
+
inventory / stock / availability / inStock
|
|
76
|
+
wishlist / favorites / saved / bookmarked
|
|
77
|
+
search / filter / sort / browse / discover
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Healthcare domain**:
|
|
81
|
+
```
|
|
82
|
+
patient / user / member / beneficiary
|
|
83
|
+
appointment / booking / schedule / slot
|
|
84
|
+
record / history / chart / medical-record
|
|
85
|
+
prescription / medication / drug / dosage
|
|
86
|
+
diagnosis / condition / ailment / symptom
|
|
87
|
+
doctor / physician / provider / practitioner / specialist
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**General / Cross-domain**:
|
|
91
|
+
```
|
|
92
|
+
user / account / member / customer / subscriber
|
|
93
|
+
settings / preferences / profile / configuration
|
|
94
|
+
dashboard / home / overview / summary
|
|
95
|
+
report / analytics / statistics / metrics / insights
|
|
96
|
+
notification / alert / badge / message
|
|
97
|
+
search / find / discover / explore / browse
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Search Evidence Recording
|
|
103
|
+
|
|
104
|
+
For each strategy attempted, record the outcome in the finding:
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
Evidence: Searched using:
|
|
108
|
+
S1 [Semantic]: grep "authenticate", "login", "signIn" — no match in src/
|
|
109
|
+
S2 [API URL]: grep "/auth/login", "/api/auth" — no match
|
|
110
|
+
S3 [Screen name]: glob **/LoginScreen*, **/AuthScreen* — no match
|
|
111
|
+
S4 [UI label]: grep "Login", "Sign In", "Submit" — found in WelcomeScreen.tsx (unrelated)
|
|
112
|
+
S5 [Import chain]:traced App.tsx → RootNavigator → no auth-related screen imports
|
|
113
|
+
S6 [Synonyms]: grep "credentials", "signIn", "auth" — no dedicated screen found
|
|
114
|
+
→ Status: MISSING (all 6 strategies exhausted)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Minimum Strategies by Requirement Type
|
|
120
|
+
|
|
121
|
+
| Requirement Type | Minimum Strategies Required |
|
|
122
|
+
|---|---|
|
|
123
|
+
| Screen / page | S1, S3, S5 |
|
|
124
|
+
| API endpoint | S1, S2, S3 |
|
|
125
|
+
| Validation rule | S1, S4 (message text), S3 (screen containing the field) |
|
|
126
|
+
| Business logic / calculation | S1, S3, S5 |
|
|
127
|
+
| Navigation flow | S3, S5 (import chain from navigator) |
|
|
128
|
+
| UI element / label | S1, S4, S3 |
|
|
129
|
+
|
|
130
|
+
**Always include S6 (synonyms)** for any requirement where the first strategy fails.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## When MISSING is Confirmed
|
|
135
|
+
|
|
136
|
+
Only after all applicable strategies return no results may the status be MISSING.
|
|
137
|
+
|
|
138
|
+
Final evidence string format:
|
|
139
|
+
```
|
|
140
|
+
Searched [S1–S6 as applicable]: {list of grep patterns, glob patterns, files traced}.
|
|
141
|
+
No implementation found across {N} strategies.
|
|
142
|
+
Status: MISSING (Confidence: HIGH — exhaustive search completed)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Note: A MISSING status after exhaustive search has HIGH confidence (we are confident it is missing).
|