You are a focused subagent reviewer for a single holistic investigation batch.

Repository root: /home/tdvorak/Desktop/PROG_projekty/GOLANG/Devour
Immutable packet: /home/tdvorak/Desktop/PROG_projekty/GOLANG/Devour/.desloppify/review_packets/holistic_packet_20260223_100953.json
Batch index: 6
Batch name: Full Codebase Sweep
Batch dimensions: cross_module_architecture, error_consistency, abstraction_fitness, test_strategy, design_coherence
Batch rationale: thorough default: evaluate cross-cutting quality across all production files

Files assigned:
- cleanup_unused.go
- cmd/ask.go
- cmd/demo.go
- cmd/devour/main.go
- cmd/generate_scorecards/main.go
- cmd/get.go
- cmd/init.go
- cmd/languages.go
- cmd/push.go
- cmd/quality.go
- cmd/query.go
- cmd/realtest/main.go
- cmd/root.go
- cmd/runtime_helpers.go
- cmd/scorecard.go
- cmd/scrape.go
- cmd/serve.go
- cmd/status.go
- cmd/sync.go
- examples/demo_scrapers.go
- internal/ai/ai.go
- internal/ai/openai.go
- internal/config/config.go
- internal/indexer/indexer.go
- internal/markdown/formatter.go
- internal/projectstate/state.go
- internal/quality/analyzers/controlflow.go
- internal/quality/analyzers/dataflow.go
- internal/quality/analyzers/practices.go
- internal/quality/detector.go
- internal/quality/detectors/complexity.go
- internal/quality/detectors/duplication.go
- internal/quality/detectors/naming.go
- internal/quality/enhanced_types.go
- internal/quality/languages.go
- internal/quality/narrative.go
- internal/quality/plugins/go/analyzers/advanced.go
- internal/quality/plugins/go/analyzers/deadcode.go
- internal/quality/plugins/go/analyzers/detectors.go
- internal/quality/plugins/go/analyzers/security.go
- internal/quality/plugins/go/analyzers/test_coverage.go
- internal/quality/plugins/go/fixers/advanced_fixers.go
- internal/quality/plugins/go/fixers/fixers.go
- internal/quality/plugins/go/plugin.go
- internal/quality/plugins/plugin.go
- internal/quality/plugins/registry.go
- internal/quality/review/packet.go
- internal/quality/scanner.go
- internal/quality/scoring.go
- internal/quality/state.go
- internal/quality/types.go
- internal/scheduler/scheduler.go
- internal/scraper/external/astrodocs.go
- internal/scraper/external/cloudflaredocs.go
- internal/scraper/external/dockerdocs.go
- internal/scraper/external/godocs.go
- internal/scraper/external/javadocs.go
- internal/scraper/external/mcpdocs.go
- internal/scraper/external/nuxtdocs.go
- internal/scraper/external/pythondocs.go
- internal/scraper/external/reactdocs.go
- internal/scraper/external/register.go
- internal/scraper/external/rustdocs.go
- internal/scraper/external/springdocs.go
- internal/scraper/external/tsdocs.go
- internal/scraper/external/types.go
- internal/scraper/external/vuedocs.go
- internal/scraper/github.go
- internal/scraper/local.go
- internal/scraper/localsearch.go
- internal/scraper/normalize.go
- internal/scraper/openapi.go
- internal/scraper/register_core.go
- internal/scraper/registry_simple.go
- internal/scraper/scraper.go
- internal/scraper/web.go
- internal/scraper/wrapper.go
- internal/search/engine.go
- internal/server/server.go
- internal/storage/writer.go
- internal/ui/banner.go
- internal/ui/character.go
- internal/vector/store.go
- main.go
- pkg/astrodocs/parser.go
- pkg/astrodocs/types.go
- pkg/client/client.go
- pkg/cloudflaredocs/parser.go
- pkg/cloudflaredocs/types.go
- pkg/dockerdocs/parser.go
- pkg/dockerdocs/types.go
- pkg/godocs/parser.go
- pkg/godocs/types.go
- pkg/javadocs/parser.go
- pkg/javadocs/types.go
- pkg/mcpdocs/parser.go
- pkg/mcpdocs/types.go
- pkg/nuxtdocs/parser.go
- pkg/nuxtdocs/types.go
- pkg/parserutil/url.go
- pkg/pythondocs/parser.go
- pkg/pythondocs/types.go
- pkg/reactdocs/parser.go
- pkg/reactdocs/types.go
- pkg/rustdocs/parser.go
- pkg/rustdocs/types.go
- pkg/springdocs/parser.go
- pkg/springdocs/types.go
- pkg/tsdocs/parser.go
- pkg/tsdocs/types.go
- pkg/types/types.go
- pkg/vuedocs/parser.go
- pkg/vuedocs/types.go

Task requirements:
1. Read the immutable packet and follow `system_prompt` constraints exactly.
2. Evaluate ONLY listed files and ONLY listed dimensions for this batch.
3. Return 0-10 high-quality findings for this batch (empty array allowed).
4. Score/finding consistency is required: broader or more severe findings MUST lower dimension scores.
5. Every finding must include `related_files` with at least 2 files when possible.
6. Every finding must include `impact_scope` and `fix_scope`.
7. Every scored dimension MUST include dimension_notes with concrete evidence.
8. If a dimension score is >85, include `unreported_risk` in dimension_notes.
9. Use exactly one decimal place for every assessment and abstraction sub-axis score.
10. Do not edit repository files.
11. Return ONLY valid JSON, no markdown fences.

Scope enums:
- impact_scope: "local" | "module" | "subsystem" | "codebase"
- fix_scope: "single_edit" | "multi_file_refactor" | "architectural_change"

Output schema:
{
  "batch": "Full Codebase Sweep",
  "batch_index": 6,
  "assessments": {"<dimension>": <0-100 with one decimal place>},
  "dimension_notes": {
    "<dimension>": {
      "evidence": ["specific code observations"],
      "impact_scope": "local|module|subsystem|codebase",
      "fix_scope": "single_edit|multi_file_refactor|architectural_change",
      "confidence": "high|medium|low",
      "unreported_risk": "required when score >85",
      "sub_axes": {"abstraction_leverage": 0-100 with one decimal place, "indirection_cost": 0-100 with one decimal place, "interface_honesty": 0-100 with one decimal place}  // required for abstraction_fitness when evidence supports it
    }
  },
  "findings": []
}
