CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/intent-integrity-kit

Closing the intent-to-code chasm - specification-driven development with BDD verification chain

86

1.82x
Quality

92%

Does it follow best practices?

Impact

86%

1.82x

Average score across 14 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-13/

{
  "context": "Tests whether the agent generates a plan with an ASCII architecture diagram and correctly populates .specify/context.json with node classifications, preserving existing data through a merge rather than overwrite.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "ASCII architecture diagram",
      "description": "plan.md contains an architecture diagram using ASCII box-drawing characters (e.g., +---, |, →, or similar)",
      "max_score": 12
    },
    {
      "name": "Named components in diagram",
      "description": "The architecture diagram names at least 3 distinct components (e.g., 'React SPA' or 'Web Client', 'Search Service' or 'API', 'PostgreSQL' or similar database, 'AI Ranking API' or similar external service)",
      "max_score": 10
    },
    {
      "name": "context.json exists",
      "description": ".specify/context.json exists and contains valid JSON",
      "max_score": 8
    },
    {
      "name": "planview.nodeClassifications key",
      "description": ".specify/context.json contains a 'planview' key with a 'nodeClassifications' sub-key",
      "max_score": 12
    },
    {
      "name": "Existing data preserved",
      "description": ".specify/context.json still contains the original keys from the input file ('projectName' and 'version') — the file was merged, not overwritten",
      "max_score": 14
    },
    {
      "name": "Client node classified",
      "description": "At least one component in nodeClassifications is classified as 'client' (browser, web app, CLI, or mobile app)",
      "max_score": 11
    },
    {
      "name": "Server node classified",
      "description": "At least one component in nodeClassifications is classified as 'server' (API, service, worker, or middleware)",
      "max_score": 11
    },
    {
      "name": "Storage node classified",
      "description": "At least one component in nodeClassifications is classified as 'storage' (database, cache, queue, or file store)",
      "max_score": 11
    },
    {
      "name": "External node classified",
      "description": "At least one component in nodeClassifications is classified as 'external' (third-party API, SaaS service, or system outside project boundary)",
      "max_score": 11
    }
  ]
}

evals

README.md

tile.json