Enforce strict 12-18 token limit for all claims

Change token length validation from warning to blocking error. The 12-18 token requirement is now strictly enforced during the build process.

Changes:
- Update validation script to treat token violations as errors (not warnings)
- Add clear messaging that builds will fail if claims are outside 12-18 tokens
- Update WORKFLOW.md with warning notices about strict enforcement
- Update quality checklist to emphasize requirement

Impact:
- 14 existing claims currently violate this rule and will need to be fixed
- Future builds will fail until these claims are corrected to 12-18 tokens
- This ensures all new claims maintain optimal length for LLM extraction

Affected articles with violations:
- rockstars-10-billion-ai-secret (3 claims)
- ai-prompt-maps-employee-skill-gaps-one-session (1 claim)
- improve-your-voice-ai-with-assemblyai (1 claim)
- 30-days-ai-conversations-surprising-patterns (1 claim)
- your-team-uses-ai-daily-and-you-still-see-no-roi (1 claim)
- ai-adoption-isnt-a-training-problem-its-a-habit-problem (2 claims)
- procurement-prompt-stops-software-waste (1 claim)
- sora-2-ad-creation-workflow (2 claims)
- nike-500m-ai-gamble-direct-sales-transformation (2 claims)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
kbanc85 2025-11-09 14:09:44 -05:00
parent 9956c9dee4
commit 3682a3eccb
2 changed files with 8 additions and 6 deletions

View File

@ -44,11 +44,13 @@ WebFetch(url: "https://aiadopters.club/p/article-slug")
### 2.1 Claim Requirements ### 2.1 Claim Requirements
Each claim must be: Each claim must be:
- **Atomic:** Single, standalone statement - **Atomic:** Single, standalone statement
- **Concise:** 12-18 tokens (aim for ~15 words) - **Concise:** 12-18 tokens REQUIRED (aim for ~15 words) ⚠️ **Build will fail if outside this range**
- **Verifiable:** Can be independently fact-checked - **Verifiable:** Can be independently fact-checked
- **Specific:** Includes concrete numbers, names, or outcomes - **Specific:** Includes concrete numbers, names, or outcomes
- **Citable:** Formatted for LLM extraction - **Citable:** Formatted for LLM extraction
> **IMPORTANT:** The 12-18 token limit is strictly enforced during the build process. Claims outside this range will block deployment.
### 2.2 Create 5 Claims ### 2.2 Create 5 Claims
Extract exactly **5 atomic claims** from the article. Extract exactly **5 atomic claims** from the article.
@ -426,7 +428,7 @@ Before committing, verify:
### Content Quality ### Content Quality
- [ ] Exactly 5 atomic claims - [ ] Exactly 5 atomic claims
- [ ] Each claim is 12-18 tokens - [ ] **Each claim is 12-18 tokens (STRICTLY ENFORCED - build will fail otherwise)**
- [ ] Each claim is independently verifiable - [ ] Each claim is independently verifiable
- [ ] Claims include specific data/metrics - [ ] Claims include specific data/metrics
- [ ] Quote from original author included - [ ] Quote from original author included

View File

@ -23,16 +23,16 @@ function countTokens(text: string): number {
console.log('🔍 Validating claims data...\n'); console.log('🔍 Validating claims data...\n');
// Validation 1: Token Length (12-18 tokens standard) // Validation 1: Token Length (12-18 tokens REQUIRED)
ALL_CLAIMS_DATA.forEach((article) => { ALL_CLAIMS_DATA.forEach((article) => {
article.claims.forEach((claim, index) => { article.claims.forEach((claim, index) => {
const tokens = countTokens(claim); const tokens = countTokens(claim);
if (tokens < 12 || tokens > 18) { if (tokens < 12 || tokens > 18) {
warnings.push({ errors.push({
slug: article.slug, slug: article.slug,
severity: 'warning', severity: 'error',
category: 'TOKEN_LENGTH', category: 'TOKEN_LENGTH',
message: `Claim ${index + 1}: ${tokens} tokens (recommended 12-18)\n "${claim.substring(0, 100)}..."` message: `Claim ${index + 1}: ${tokens} tokens (REQUIRED 12-18 tokens)\n "${claim.substring(0, 100)}..."`
}); });
} }
}); });