From 69979380ecd185e060c27ecd56c493499d4a5980 Mon Sep 17 00:00:00 2001 From: "freshness-bot[bot]" Date: Mon, 27 Jul 2026 07:42:50 +0000 Subject: [PATCH] docs: Freshness-Audit 2026-07-27 Automatisch erzeugt durch den woechentlichen OSS-Freshness-Audit. Nur Dokumentation und Metadaten, kein Produktivcode. --- CHANGELOG.md | 2 +- CONTRIBUTING.md | 14 +++++++------- README.md | 4 ++-- docs/architecture.md | 6 +++--- src/metadata/README.md | 3 ++- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de6e7bb..db5cc14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5be6dc1..aa9d81b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 | @@ -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 | @@ -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 diff --git a/README.md b/README.md index aa51073..cb42e08 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/docs/architecture.md b/docs/architecture.md index 52c738f..7de6891 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -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 diff --git a/src/metadata/README.md b/src/metadata/README.md index 3135618..1e94b8a 100644 --- a/src/metadata/README.md +++ b/src/metadata/README.md @@ -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