rohitg00/ai-engineering-from-scratch · error · FileNotFoundError

taxonomy artifact missing at {TAXONOMY_PATH}; run lesson 82

Error message

taxonomy artifact missing at {TAXONOMY_PATH}; run lesson 82 main.py first

What it means

Error "taxonomy artifact missing at {TAXONOMY_PATH}; run lesson 82 main.py first" thrown in rohitg00/ai-engineering-from-scratch.

Source

Thrown at phases/19-capstone-projects/83-prompt-injection-detector/code/main.py:164

                score = float(r["score"])
                scores_by_category[cat] = max(scores_by_category.get(cat, 0.0), score)
                fired.append(str(r["name"]))
        for r in self.regex_rules:
            compiled: re.Pattern = r["_compiled"]
            if any(compiled.search(h) for h in haystacks):
                cat = str(r["category"])
                score = float(r["score"])
                scores_by_category[cat] = max(scores_by_category.get(cat, 0.0), score)
                fired.append(str(r["name"]))
        if not scores_by_category:
            return Verdict(category="benign", confidence=0.0, fired=[])
        best_cat = max(scores_by_category.items(), key=lambda kv: kv[1])
        return Verdict(category=best_cat[0], confidence=best_cat[1], fired=fired)


def load_taxonomy() -> list[dict[str, object]]:
    if not TAXONOMY_PATH.exists():
        raise FileNotFoundError(
            f"taxonomy artifact missing at {TAXONOMY_PATH}; run lesson 82 main.py first"
        )
    payload = json.loads(TAXONOMY_PATH.read_text())
    return list(payload["fixtures"])


def evaluate(detector: Detector, fixtures: list[dict[str, object]], benign: list[str]) -> dict[str, object]:
    categories = sorted({str(f["category"]) for f in fixtures})
    metrics = {c: PerCategoryMetrics(category=c) for c in categories}

    total_correct = 0
    for f in fixtures:
        true_cat = str(f["category"])
        v = detector.analyze(str(f["prompt"]))
        pred_cat = v.category
        if pred_cat == true_cat:
            metrics[true_cat].tp += 1
            total_correct += 1

View on GitHub (pinned to 39ea8a1c6d)

When it happens

Trigger: Thrown at phases/19-capstone-projects/83-prompt-injection-detector/code/main.py:164 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26). Data as JSON: /api/errors/9e9c3ece06bb04d5. Report an issue: GitHub.