Skip to content
Open
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
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Initial project bootstrap
- Phase 1: Tesseract.js OCR for counter extraction
- Phase 2: Anthropic Claude Vision integration (BYOK)
- 9-field prioritization matrix with German recommendations
- 9-field prioritization matrix with recommendations
- Settings dialog for API key management
- GitHub Pages deployment workflow
- Try-with-sample-screenshot button for the onboarding flow
Expand Down
14 changes: 7 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ Each entry in `recommendations.json` represents one cell in the 9-field matrix a
| `id` | string | Unique identifier for the matrix cell (e.g. `"quick-wins"`) |
| `matrix_position` | object | `{ "impact": "high"|"medium"|"low", "effort": "low"|"medium"|"high" }` |
| `color` | string | Color code: `"green"`, `"yellow"`, `"orange"`, or `"red"` |
| `icon` | string | Emoji icon displayed in the matrix cell |
| `icon` | string | Icon name displayed in the matrix cell (e.g. `"zap"`) |
| `title` | string | English title for the matrix cell |
| `priority_label` | string | German priority label (e.g. `"Sofort umsetzen"`) |
| `subtitle` | string | German description of the cell's meaning |
| `scale_center_hint` | string | German hint on which Scale Center section is relevant |
| `priority_label` | string | English priority label (e.g. `"Implement Now"`) |
| `subtitle` | string | English description of the cell's meaning |
| `scale_center_hint` | string | English hint on which Scale Center section is relevant |
| `trigger_signals` | array | Metrics and keywords that trigger this cell |
| `recommendations` | array | Array of recommendation objects (see below) |
| `contributors` | array | GitHub handles of contributors |
Expand All @@ -62,8 +62,8 @@ Each recommendation object:

| Field | Type | Description |
|--------------|--------|---------------------------------------------------------------|
| `title` | string | German title of the recommendation |
| `body` | string | German body text with actionable advice |
| `title` | string | English title of the recommendation |
| `body` | string | English body text with actionable advice |
| `tags` | array | Technology area tags (e.g. `["Apex", "SOQL"]`) |
| `references` | array | Array of `{ "url": "...", "type": "official_docs" }` objects |

Expand Down Expand Up @@ -99,7 +99,7 @@ npm run lint

## Recommendation Content Guidelines

- Recommendation bodies should be in **German** (we will add i18n later)
- Recommendation bodies should be in **English**
- UI labels and titles are in **English**
- Include Salesforce documentation links where possible
- Be specific and actionable — avoid vague advice
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

**Diagnose your Salesforce org's performance from a single Scale Center screenshot.**

[![Status](https://img.shields.io/badge/status-public%20beta-brightgreen)]()
[![License](https://img.shields.io/badge/license-MIT-blue)]()
![Status](https://img.shields.io/badge/status-public%20beta-brightgreen)
![License](https://img.shields.io/badge/license-MIT-blue)

</div>

Expand Down
6 changes: 3 additions & 3 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ matrix.js (entry point)
### Basic Mode (OCR)

1. User uploads a Scale Center screenshot (PNG/JPG)
2. `ocr.js` crops the top 30% of the image (counter region)
3. Tesseract.js performs text recognition in the browser
4. Regex patterns extract six counter values
2. `ocr.js` detects the layout, then crops each of the six counter tiles individually (per-tile OCR, see `ORG_PERF_LAYOUT`); a full-region crop with label-based regex parsing remains as a fallback for the legacy Scale Center layout
3. Tesseract.js performs text recognition on each tile in the browser
4. A digit-matching regex extracts the numeric value per tile
5. `recommendations.js` maps counters to matrix cells
6. `matrix.js` highlights relevant cells and displays the detection summary

Expand Down
3 changes: 2 additions & 1 deletion src/metadata/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ Migrated from the orgpulse-dev prototype on 2026-04-17. Loaded only in local bui

- **apexCpuAnalyzer** — SOQL/DML in loops, nested iterations (brace-aware detection)
- **apexRowLockAnalyzer** — read-then-write patterns with context-aware confidence (batch/trigger/controller/LIMIT 1)
- **flowAnalyzer** — RT Flow patterns: no entry filter, record ops in loops, multiple flows on same trigger, synchronous callouts
- **flowAnalyzer** — RT Flow patterns: no entry filter, record ops in loops, subflow-in-loop, multiple flows on same trigger, synchronous callouts, Get Records inefficiencies (redundant fetches, missing filters, unindexed fields, heap-heavy fields)
- **metadataAnalyzer** — roll-up summaries on high-contention objects, active legacy Workflow rules, workflow field updates on high-contention objects, duplicate active triggers on the same sObject

## Adding a new analyzer

Expand Down
Loading