Skip to main content
Authoring is invite-only private beta. Everything on this page needs an Aethis API key with authoring scopes, plus your own model-provider key for the generation steps. Request access, or start on the open evaluate tier with your first decision — no key required. The two tiers are set out on Capabilities and access.
Authoring is invite-only private beta — request access.

Why field vocabulary matters

Test cases are written against field names. If the names in your test cases don’t exactly match the names the engine expects, the tests will silently fail for the wrong reason — the engine receives an unknown field and treats it as absent. Phase 2 resolves this before test writing begins. You discover what fields the source text implies, validate them against your expected spec, and confirm names before writing a single test case.

Step 1 — Discover fields from source text

Returns:

If you know the fields you expect before discovery, set a spec upfront. aethis_discover_fields will auto-validate against it:
When a spec is set, aethis_discover_fields returns a validation result alongside the field list showing any missing fields, type mismatches, or unexpected extras.

Step 3 — Explicit validation

Validate discovered fields against your spec as a gate before writing test cases:
Returns (all match):
Returns (mismatch):

Refine if fields are wrong

Feedback must reference the specific field and its source in the legislation. After refining, re-run aethis_discover_fields to confirm the change.

Field naming conventions

Consistent naming within a domain makes test cases readable and prevents silently mismatched fields. Every field in a domain should follow the same convention.

After field vocabulary

Once field names are validated, write your test cases using those exact field names, then move to Phase 3 — Rule generation.
Write at least 5–10 test cases before generating rules. Cover: boundary values (just below, at, and above every threshold), every Enum value, and any combination of fields that exercises a distinct code path. The quality and coverage of your test suite determines how quickly rule generation converges.