--- name: ln-601-semantic-content-auditor description: Semantic content auditor (L3 Worker). Verifies document content matches stated SCOPE, aligns with project goals, and reflects actual codebase state. Called by ln-600 for each project document. Returns scope_alignment and fact_accuracy scores with findings. allowed-tools: Read, Grep, Glob, Bash --- # Semantic Content Auditor (L3 Worker) Specialized worker auditing semantic accuracy of project documentation. ## Purpose & Scope - **Worker in ln-600 coordinator pipeline** - invoked by ln-600-docs-auditor for each project document - Verify document content **matches stated SCOPE** (document purpose) - Check content **aligns with project goals** (value contribution) - Validate **facts against codebase** (accuracy and freshness) - Return structured findings to coordinator with severity, location, fix suggestions ## Target Documents Called ONLY for project documents (not reference/tasks): | Document | Verification Focus | |----------|-------------------| | `CLAUDE.md` | Instructions match project structure, paths valid | | `docs/README.md` | Navigation accurate, descriptions match reality | | `docs/documentation_standards.md` | Standards applicable to this project | | `docs/principles.md` | Principles reflected in actual code patterns | | `docs/project/requirements.md` | Requirements implemented or still valid | | `docs/project/architecture.md` | Architecture matches actual code structure | | `docs/project/tech_stack.md` | Versions/technologies match package files | | `docs/project/api_spec.md` | Endpoints/contracts match controllers | | `docs/project/database_schema.md` | Schema matches actual DB/migrations | | `docs/project/design_guidelines.md` | Components/styles exist in codebase | | `docs/project/runbook.md` | Commands work, paths valid | **Excluded:** `docs/tasks/`, `docs/reference/`, `docs/presentation/`, `tests/` ## Inputs (from Coordinator) ```json { "doc_path": "docs/project/architecture.md", "project_root": "/path/to/project", "tech_stack": { "language": "TypeScript", "frameworks": ["Express", "React"] } } ``` ## Workflow ### Phase 1: SCOPE EXTRACTION 1. Read document first 20 lines 2. Parse `` comment 3. If no SCOPE tag, infer from document type (see Verification Rules) 4. Record stated purpose/boundaries ### Phase 2: CONTENT-SCOPE ALIGNMENT Analyze document sections against stated scope: | Check | Finding Type | |-------|--------------| | Section not serving scope | OFF_TOPIC | | Scope aspect not covered | MISSING_COVERAGE | | Excessive detail beyond scope | SCOPE_CREEP | | Content duplicated elsewhere | SSOT_VIOLATION | **Scoring:** - 10/10: All content serves scope, scope fully covered - 8-9/10: Minor off-topic content or small gaps - 6-7/10: Some sections not aligned, partial coverage - 4-5/10: Significant misalignment, major gaps - 1-3/10: Document does not serve its stated purpose ### Phase 3: FACT VERIFICATION Per document type, verify claims against codebase: | Document | Verification Method | |----------|---------------------| | architecture.md | Check layers exist (Glob for folders), verify imports follow described pattern (Grep) | | tech_stack.md | Compare versions with package.json, go.mod, requirements.txt | | api_spec.md | Match endpoints with controller/route files (Grep for routes) | | requirements.md | Search for feature implementations (Grep for keywords) | | database_schema.md | Compare with migration files or Prisma/TypeORM schemas | | runbook.md | Validate file paths exist (Glob), test command syntax | | principles.md | Sample code files for principle adherence patterns | | CLAUDE.md | Verify referenced paths/files exist | **Finding Types:** - OUTDATED_PATH: File/folder path no longer exists - WRONG_VERSION: Documented version differs from package file - MISSING_ENDPOINT: Documented API endpoint not found in code - BEHAVIOR_MISMATCH: Described behavior differs from implementation - STALE_REFERENCE: Reference to removed/renamed entity **Scoring:** - 10/10: All facts verified against code - 8-9/10: Minor inaccuracies (typos, formatting) - 6-7/10: Some paths/names outdated, core info correct - 4-5/10: Functional mismatches (wrong behavior described) - 1-3/10: Critical mismatches (architecture wrong, APIs broken) ### Phase 4: SCORING & REPORT Calculate final scores and compile findings: ``` scope_alignment_score = weighted_average(coverage, relevance, focus) fact_accuracy_score = (verified_facts / total_facts) * 10 overall_score = (scope_alignment * 0.4) + (fact_accuracy * 0.6) ``` Fact accuracy weighted higher because incorrect information is worse than scope drift. ## Output Format Return JSON to coordinator: ```json { "doc_path": "docs/project/architecture.md", "scope": { "stated": "System architecture with C4 diagrams, component interactions", "coverage_percent": 85 }, "scores": { "scope_alignment": 8, "fact_accuracy": 6, "overall": 7 }, "summary": { "total_issues": 4, "high": 1, "medium": 2, "low": 1 }, "findings": [ { "severity": "HIGH", "type": "BEHAVIOR_MISMATCH", "location": "line 45", "issue": "Architecture shows 3-tier (Controller->Service->Repository) but code has Controller->Repository direct calls", "evidence": "src/controllers/UserController.ts:23 imports UserRepository directly", "fix": "Update diagram to show actual pattern OR refactor code to match docs" }, { "severity": "MEDIUM", "type": "OUTDATED_PATH", "location": "line 78", "issue": "References src/services/legacy/ which was removed", "evidence": "Folder does not exist: ls src/services/legacy/ returns error", "fix": "Remove reference or update to current path" } ] } ``` ## Verification Rules by Document Type See [references/verification_rules.md](references/verification_rules.md) for detailed per-document verification patterns. ## Critical Rules - **Read before judge:** Always read full document and relevant code before reporting issues - **Evidence required:** Every finding must include `evidence` field with verification command/result - **Code is truth:** When docs contradict code, document is wrong (unless code is a bug) - **Scope inference:** If no SCOPE tag, use document filename to infer expected scope - **No false positives:** Better to miss an issue than report incorrectly - **Location precision:** Always include line number for findings - **Actionable fixes:** Every finding must have concrete fix suggestion ## Definition of Done - Document read completely - SCOPE extracted or inferred - Content-scope alignment analyzed - Facts verified against codebase (with evidence) - Both scores calculated - JSON result returned to coordinator --- **Version:** 1.0.0 **Last Updated:** 2026-01-28