CtrlK
BlogDocsLog inGet started
Tessl Logo

vitron-ai/alethia

Agent-native E2E runtime with verifiable safety. 13 MCP tools including alethia_propose_tests (agent generates tests from a URL), alethia_assert_safety (proves destructive actions are blocked), and the expect block: NLP primitive unique to Alethia. Zero-IPC, ~45x faster than Playwright, signed evidence packs. Works with Claude Code, Cursor, Cline.

95

2.77x
Quality

94%

Does it follow best practices?

Impact

97%

2.77x

Average score across 5 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-4/

{
  "context": "Tests whether the agent uses correct Alethia NLP phrasing conventions: 'assert X is visible' (not 'assert the heading/button X'), 'type VALUE into the FIELD field', 'click LABEL', and newline-separated instructions (one step per line, not semicolons or periods).",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Assertion avoids descriptor prefix",
      "description": "The assertion for 'Analytics Overview' does NOT include a descriptor word like 'heading' before the text — e.g. uses 'assert Analytics Overview is visible' not 'assert the heading Analytics Overview is visible'",
      "max_score": 15
    },
    {
      "name": "'assert X is visible' phrasing",
      "description": "All assertion steps use the pattern 'assert X is visible' (not 'assert X exists', 'verify X', or 'check X')",
      "max_score": 12
    },
    {
      "name": "Type phrasing pattern",
      "description": "The step for entering the date range uses 'type VALUE into the FIELD field' pattern (e.g. 'type ... into the date range field')",
      "max_score": 12
    },
    {
      "name": "Click phrasing pattern",
      "description": "Click steps use simple 'click LABEL' phrasing (e.g. 'click Generate Report') rather than verbose forms like 'click the Generate Report button'",
      "max_score": 12
    },
    {
      "name": "Newline-separated instructions",
      "description": "Each instruction is on its own line in instructions.txt — steps are NOT joined with periods, semicolons, or commas",
      "max_score": 12
    },
    {
      "name": "Navigation step uses file:// URL",
      "description": "The navigation step uses 'navigate to file:///workspace/meridian/dashboard.html' (file:// scheme, not http://localhost or relative path)",
      "max_score": 12
    },
    {
      "name": "Confirmation assertion avoids descriptor prefix",
      "description": "The assertion for 'Report Ready' does NOT include a descriptor like 'message' or 'text' before the term",
      "max_score": 12
    },
    {
      "name": "Notes explain phrasing",
      "description": "notes.md mentions that descriptor words (like 'heading' or 'button') get included in the text search needle and cause incorrect element matching",
      "max_score": 13
    }
  ]
}

tile.json