Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/matrix_recommendation.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ labels: ["recommendation", "content"]

## Which matrix cell?

Specify the matrix cell this recommendation applies to (e.g., "High Growth / Low Engagement").
Specify the matrix cell this recommendation applies to (e.g., "Quick Wins" or "Strategic").

## Recommendation Title

Expand All @@ -22,7 +22,7 @@ What signals or data conditions should cause this recommendation to appear? Desc

## Tags

List relevant tags (e.g., `adoption`, `engagement`, `governance`, `license-risk`).
List relevant tags (e.g., `Apex`, `SOQL`, `LWC`, `Integration`).

## References

Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 9-field prioritization matrix with German recommendations
- Settings dialog for API key management
- GitHub Pages deployment workflow
- Try-with-sample-screenshot button for the onboarding flow
- OCR calibration for the Org Performance layout, with an opt-in OCR diagnostic panel
- Metadata analyzer for local SFDX projects (Apex CPU/DML/SOQL patterns, row-lock detection, Flow patterns, roll-up/workflow/trigger duplicate detection) — local build only
- AI-generated fix suggestions for metadata findings (BYOK, Claude Haiku by default with a Sonnet option), with session-scoped caching
- Markdown export of analysis results (executive summary and detailed findings), including AI fix suggestions when present
- Severity color coding, tooltips, and context hints in the matrix UI

### Fixed
- Multiple OCR extraction and counter-parsing fixes for the Org Performance layout
- Recommendations matrix signal-mapping and cell-placement corrections (see `docs/RECOMMENDATIONS_AUDIT.md`)
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ OrgPulse has two build outputs from a single codebase:
- Screenshot diagnostics plus metadata analysis of SFDX projects
- Runs on localhost via `npm run dev:local`
- Metadata analyzer scans Apex classes, triggers, and Flows for patterns correlating with Scale Center signals
- AI-generated fix suggestions per finding (BYOK, Claude Haiku by default with a Sonnet option)
- Export all findings as a Markdown report (executive summary plus detailed findings)
- Not deployed — for architects working with real Salesforce metadata
- Command: `npm run dev:local`

Expand Down
19 changes: 17 additions & 2 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,25 @@ The optional Deep Analysis Mode uses the Anthropic Claude Vision API. Instead of
src/
├── index.html # Single-page application shell
├── styles/
│ └── main.css # Design system + all component styles
│ ├── main.css # Design system + all component styles
│ └── metadata.css # Local-build metadata section styles
├── js/
│ ├── matrix.js # Main entry point — orchestrates everything
│ ├── ocr.js # Tesseract.js OCR integration
│ ├── vision.js # Anthropic Claude Vision API integration
│ ├── settings.js # API key management modal
│ ├── validation.js # Metric whitelist validation for Vision findings
│ └── recommendations.js # Maps analysis results to matrix cells
├── api/
│ └── claudeClient.js # Shared Claude API call helper (timeout, typed errors)
├── ui/
│ ├── metadataSection.js # Local-build metadata analysis UI
│ └── markdownExporter.js # Markdown report export
├── metadata/ # Local-build-only: SFDX project metadata analysis
│ ├── index.js # Public API for the metadata module
│ ├── analyzers/ # apexCpuAnalyzer, apexRowLockAnalyzer, flowAnalyzer, metadataAnalyzer
│ ├── fixSuggestions/ # AI-generated fix suggestions (fixSuggester.js, fixCache.js)
│ └── fs/ # File System Access API integration (directory picker, file reader)
└── data/
└── recommendations.json # 9-field matrix content and recommendations
```
Expand All @@ -64,7 +76,10 @@ matrix.js (entry point)
├── settings.js (API key CRUD)
├── ocr.js (Tesseract.js, lazy-loaded)
├── vision.js (Claude API, imports settings.js)
└── recommendations.js (matching logic)
├── recommendations.js (matching logic)
└── ui/metadataSection.js (local build only, lazy-loaded)
├── metadata/index.js (SFDX project analysis)
└── metadata/fixSuggestions/ (imports api/claudeClient.js)
```

## Data Flow
Expand Down
Loading