* feat(kb): automatic KB builder, ingestion & validation tooling (#35) Closes #118, #119, #120, #121, #122. - Ingest committed Danbooru alias/implication snapshots during generation: synonyms reach canonicals (long black stockings -> thighhighs), implications become expand relations. Curated-wins preserved. - Automatic candidate validator (structural rules reused from kb_validation + confidence heuristic, no approval gate; SC0022). - Duplicate/conflict detection tool (scripts/detect_kb_conflicts.py) + reusable detect_conflicts; clean reference KB reports zero. - KB coverage benchmark harness (scripts/coverage_benchmark.py) + JSON summary. - Single fully-automated, CI-runnable build pipeline (scripts/build_knowledge_base.py) that fails fast on rejections/conflicts and never prompts. Docs added. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * test(kb): use pytest.approx for confidence float assertions (SonarCloud reliability) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: kunail0804 <kunail0804@gmail.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
415 B
JSON
27 lines
415 B
JSON
{
|
|
"coverage_rate": 0.9032,
|
|
"covered": 28,
|
|
"hit_rate": {
|
|
"dropped": 3,
|
|
"exact": 25,
|
|
"fallback": 0,
|
|
"head_noun": 3
|
|
},
|
|
"per_category": {
|
|
"action": 1,
|
|
"body": 1,
|
|
"camera": 1,
|
|
"character": 1,
|
|
"clothing": 8,
|
|
"environment": 4,
|
|
"expression": 2,
|
|
"eyes": 1,
|
|
"hair": 1,
|
|
"interaction": 1,
|
|
"lighting": 2,
|
|
"objects": 3,
|
|
"pose": 2
|
|
},
|
|
"total": 31
|
|
}
|