From e2c178ebe1df47c62b5cca6820effaa5684b2921 Mon Sep 17 00:00:00 2001 From: Tariq A Date: Wed, 10 Jun 2026 08:52:49 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=C2=A75=20board=20ruling=20=E2=80=94=20?= =?UTF-8?q?3-value=20verdict=20model?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PROCEED | PROCEED_STRATEGIC | ABANDON (was 5-value). status field absorbs INSUFFICIENT_SIGNAL. reason sub-codes for telemetry. v0.1.1 → v0.2.0. Per board minute 2026-06-10 §7.2. --- README.md | 6 ++++-- pyproject.toml | 2 +- src/etymolt/__init__.py | 2 +- src/etymolt/types.py | 4 +++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6e16e84..6651dd1 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,10 @@ from etymolt import Etymolt etymolt = Etymolt() verdict = etymolt.verify("Stratagem") -# verdict["verdict"] → "PROCEED" | "ITERATE" | "DECIDE" | "ABANDON" | "INSUFFICIENT_SIGNAL" -# verdict["score"] → int | None (None when INSUFFICIENT_SIGNAL) +# verdict["verdict"] → "PROCEED" | "PROCEED_STRATEGIC" | "ABANDON" +# verdict["score"] → int | None (None when status=="partial") +# verdict["status"] → "complete" | "partial" +# verdict["reason"] → str (e.g. "hard_blocker", "coexistence_required", "no_workaround") # verdict["axes"] → { trademark, domain, cultural, sound_symbolism, pronunciation } # verdict["disclaimer"] → Render verbatim per EVP/1 §5. diff --git a/pyproject.toml b/pyproject.toml index 129b91b..2f04861 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "etymolt" -version = "0.1.1" +version = "0.2.0" description = "Official Python SDK for Etymolt — the fact-check layer for LLM-generated names." readme = "README.md" requires-python = ">=3.10" diff --git a/src/etymolt/__init__.py b/src/etymolt/__init__.py index 6e05243..684c9c4 100644 --- a/src/etymolt/__init__.py +++ b/src/etymolt/__init__.py @@ -21,7 +21,7 @@ from .client import Etymolt, EtymoltError, AsyncEtymolt from .types import Verdict, VerdictAxes, AxisStatus -__version__ = "0.1.1" +__version__ = "0.2.0" __all__ = [ "Etymolt", diff --git a/src/etymolt/types.py b/src/etymolt/types.py index ae1d603..9b5b26f 100644 --- a/src/etymolt/types.py +++ b/src/etymolt/types.py @@ -20,7 +20,9 @@ class VerdictAxes(TypedDict): class Verdict(TypedDict, total=False): evp_version: str name: str - verdict: Literal["PROCEED", "ITERATE", "DECIDE", "ABANDON", "INSUFFICIENT_SIGNAL"] + verdict: Literal["PROCEED", "PROCEED_STRATEGIC", "ABANDON"] + status: Literal["complete", "partial"] + reason: Optional[str] score: Optional[int] axes: VerdictAxes verdict_id: str