BOHICA-LABS / BOHICA-LABS/writescore
Energy dimension should account for domain terms in abstract language calculation
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
The Energy dimension's "abstract language" metric flags domain-specific technical terms as abstract, even when they have concrete meanings within their field. This unfairly penalizes technical writing.
**Example:** In a cybersecurity article, terms like `reconnaissance`, `infrastructure`, `posture`, `correlation`, `intelligence` are flagged as abstract, contributing to a 40%+ abstract language score (target is <10%).
## Current Behavior
- **Voice dimension**: Uses `--domain-terms` to recognize technical vocabulary and adjust scoring
- **Energy dimension**: Ignores `--domain-terms`, penalizes technical writing regardless
## Expected Behavior
Energy's abstract language calculation should exclude terms specified in `--domain-terms` from its abstract word count, similar to how Voice already handles domain terminology.
## Impact
Technical articles hit a quality score ceiling (~70-71%) because unavoidable domain terminology gets flagged as "abstract language." This makes the tool less useful for technical writing where the audience understands the terminology.
## Proposed Solution
1. Pass `domain_terms` to the Energy analyzer (like Voice already receives)
2. Filter domain terms from the abstract language word list before calculating the percentage
3. Alternatively, weight domain terms lower in the abstract calculation
## Reproduction
```bash
# Article with security terminology
uv run writescore analyze article.md --mode full --profile full --show-scores --domain-terms "OSINT,reconnaissance,infrastructure,posture"
# Abstract language still shows 40%+ despite domain terms being specified
```
Contributor guide
Assessment
This issue has not been assessed yet.