Product Kit · 1.0.0
Browser-local · deterministic estimates
Prompt Regression Kit
Compare bounded prompt templates with explicit variables, literal fixtures, estimated context and cost assumptions, and deterministic release rules.
AI application teams reviewing prompt-template changes without asking a model to grade quality or infer semantic equivalence.
Variable compatibility matrix
[
{
"status": "renamed",
"previous_name": "customer_name",
"current_name": "account_name",
"explicit_mapping": true,
"required_current": true
},
{
"status": "added",
"previous_name": null,
"current_name": "literal",
"explicit_mapping": false,
"required_current": true
},
{
"status": "added",
"previous_name": null,
"current_name": "plan",
"explicit_mapping": false,
"required_current": true
}
]Estimated token and context fit
{
"estimates": {
"label": "estimate",
"method": "UTF-8 bytes are exact; tokens use submitted characters-per-token ratio; cost uses submitted prices.",
"chars_per_token": 4,
"previous": {
"exact_utf8_bytes": 38,
"estimated_tokens": 10
},
"current": {
"exact_utf8_bytes": 95,
"estimated_tokens": 24
}
},
"context_fit": {
"label": "estimate",
"context_window_tokens": 128000,
"previous_estimated_prompt_tokens": 10,
"previous_estimated_total_tokens": 1510,
"previous_estimated_remaining_tokens": 126490,
"previous_fits_context": true,
"estimated_prompt_tokens": 24,
"reserved_output_tokens": 1000,
"other_context_tokens": 500,
"estimated_total_tokens": 1524,
"estimated_remaining_tokens": 126476,
"fits_context": true,
"fits_with_reserve": true
},
"cost_estimate": {
"label": "estimate",
"currency": "USD",
"submitted_assumptions": true,
"previous_per_request_usd": 0.010025,
"current_per_request_usd": 0.01006,
"delta_per_request_usd": 0.000035,
"requests": 100,
"previous_total_usd": 1.0025,
"current_total_usd": 1.006,
"delta_total_usd": 0.0035,
"input_price_per_million_usd": 2.5,
"output_price_per_million_usd": 10
}
}Complete regression envelope
{
"ok": true,
"schema_version": "utilito.product-kit.v1",
"kit": {
"id": "prompt-regression-kit",
"version": "1.0.0"
},
"result": {
"text_diff": {
"format": "line_diff",
"semantic_analysis_performed": false,
"quality_graded": false,
"summary": {
"changedLines": 1,
"addedLines": 3,
"removedLines": 0,
"originalChars": 38,
"revisedChars": 95,
"charDelta": 57,
"originalWords": 5,
"revisedWords": 12,
"wordDelta": 7,
"originalLines": 1,
"revisedLines": 4,
"lineDelta": 3
},
"operations": [
{
"type": "changed",
"before": "Write a welcome for {{customer_name}}.",
"after": "[system]",
"leftLine": 1,
"rightLine": 1
},
{
"type": "added",
"line": "Write a safe welcome for {{account_name}}.",
"rightLine": 2
},
{
"type": "added",
"line": "[user]",
"rightLine": 3
},
{
"type": "added",
"line": "Plan: {{plan}}. Literal: {{literal}}",
"rightLine": 4
}
],
"diff_text": "- Write a welcome for {{customer_name}}.\n+ [system]\n+ Write a safe welcome for {{account_name}}.\n+ [user]\n+ Plan: {{plan}}. Literal: {{literal}}"
},
"variable_compatibility_matrix": [
{
"status": "renamed",
"previous_name": "customer_name",
"current_name": "account_name",
"explicit_mapping": true,
"required_current": true
},
{
"status": "added",
"previous_name": null,
"current_name": "literal",
"explicit_mapping": false,
"required_current": true
},
{
"status": "added",
"previous_name": null,
"current_name": "plan",
"explicit_mapping": false,
"required_current": true
}
],
"rendered_fixtures": [
{
"id": "complete",
"status": "rendered",
"missing_variables": [],
"unresolved_optional_variables": [],
"previous_rendered_kind": "text",
"current_rendered_kind": "messages",
"previous_rendered": "Write a welcome for Ada.",
"current_rendered": [
{
"role": "system",
"content": "Write a safe welcome for Ada."
},
{
"role": "user",
"content": "Plan: Pro. Literal: <b>\"{{plan}}\"</b>"
}
]
},
{
"id": "missing-plan",
"status": "blocked",
"missing_variables": [
"plan"
],
"unresolved_optional_variables": [],
"previous_rendered_kind": "text",
"current_rendered_kind": "messages",
"previous_rendered": null,
"current_rendered": null
}
],
"estimates": {
"label": "estimate",
"method": "UTF-8 bytes are exact; tokens use submitted characters-per-token ratio; cost uses submitted prices.",
"chars_per_token": 4,
"previous": {
"exact_utf8_bytes": 38,
"estimated_tokens": 10
},
"current": {
"exact_utf8_bytes": 95,
"estimated_tokens": 24
}
},
"context_fit": {
"label": "estimate",
"context_window_tokens": 128000,
"previous_estimated_prompt_tokens": 10,
"previous_estimated_total_tokens": 1510,
"previous_estimated_remaining_tokens": 126490,
"previous_fits_context": true,
"estimated_prompt_tokens": 24,
"reserved_output_tokens": 1000,
"other_context_tokens": 500,
"estimated_total_tokens": 1524,
"estimated_remaining_tokens": 126476,
"fits_context": true,
"fits_with_reserve": true
},
"cost_estimate": {
"label": "estimate",
"currency": "USD",
"submitted_assumptions": true,
"previous_per_request_usd": 0.010025,
"current_per_request_usd": 0.01006,
"delta_per_request_usd": 0.000035,
"requests": 100,
"previous_total_usd": 1.0025,
"current_total_usd": 1.006,
"delta_total_usd": 0.0035,
"input_price_per_million_usd": 2.5,
"output_price_per_million_usd": 10
},
"release_decision": {
"decision": "block",
"rule_ids": [
"TEXT_CHANGED",
"ADDED_REQUIRED_VARIABLE",
"FIXTURE_MISSING_REQUIRED_VARIABLE"
],
"semantic_judgment_used": false
},
"regression_report": {
"format": "markdown",
"content": "# Prompt Regression Kit report\n\nRelease decision: block\nRule IDs: TEXT_CHANGED, ADDED_REQUIRED_VARIABLE, FIXTURE_MISSING_REQUIRED_VARIABLE\n\nThis report is semantic-free. It does not assess prompt quality or semantic equivalence.\n\nPrevious exact UTF-8 bytes: 38\nCurrent exact UTF-8 bytes: 95\nPrevious estimated tokens: 10\nCurrent estimated tokens: 24\nPrevious context fit (estimate): fits\nCurrent context fit (estimate): fits\nPrevious estimated cost per request: $0.010025\nCurrent estimated cost per request: $0.010060\nEstimated cost delta per request: $0.000035"
},
"artifact_manifest": [
{
"name": "text_diff",
"media_type": "text/plain",
"bytes": 144
},
{
"name": "variable_matrix",
"media_type": "application/json",
"bytes": 466
},
{
"name": "rendered_fixtures",
"media_type": "application/json",
"bytes": 775
},
{
"name": "estimates",
"media_type": "application/json",
"bytes": 785
},
{
"name": "context_fit",
"media_type": "application/json",
"bytes": 452
},
{
"name": "regression_report",
"media_type": "text/markdown",
"bytes": 561
}
],
"safety": {
"literal_substitution_only": true,
"model_used": false,
"provider_called": false,
"network_used": false,
"storage_used": false,
"telemetry_used": false,
"semantic_equivalence_assessed": false,
"quality_graded": false
}
},
"receipt": {
"input_bytes": 1044,
"output_bytes": 4986,
"operations": 4,
"omitted_items": 1,
"warnings": [
"TEXT_CHANGED",
"ADDED_REQUIRED_VARIABLE",
"FIXTURE_MISSING_REQUIRED_VARIABLE"
],
"templates": 2,
"fixtures_submitted": 2,
"fixtures_rendered": 1,
"fixtures_blocked": 1,
"variables_previous": 1,
"variables_current": 3,
"artifacts": 6
},
"provenance": {
"deterministic": true,
"model_used": false,
"network_used": false,
"storage_used": false,
"core_versions": {
"prompt_regression_kit": "1.0.0",
"prompt_diff": "prompt-diff-core",
"prompt_sizing": "explicit-ratio-adapter-v1",
"context_fit": "explicit-assumptions-adapter-v1"
}
},
"error": null
}Free runnable capability
Build and download one bounded browser-local prompt regression packet with no signup.
Builder capability
The existing Builder Pilot can coordinate higher bounded review volume; it does not add model grading, provider execution, storage, monitoring, or inferred semantic decisions.
See the existing Builder PilotPrivacy boundary
Browser generation runs locally. API and MCP requests are response-only; no model or provider call, network access, storage, telemetry, execution, or semantic analysis is performed.
Limits and trust boundary
- Only {{variable_name}} placeholders are recognized. Renames are classified only from the submitted rename map; the kit never infers a semantic rename, prompt equivalence, intent, or quality.
- Fixture values must be literal strings and are substituted once. HTML, JavaScript, shell syntax, ${markers}, and nested {{markers}} inside values are never evaluated or recursively expanded.
- UTF-8 byte counts are exact. Token counts use the submitted characters-per-token ratio, while context fit and USD cost use submitted context, reserve, volume, and pricing assumptions; all such values are labeled estimates, not current provider facts.
- The line diff is bounded before the shared quadratic diff core is called. Aggregate rendered output is preflighted, and the complete success envelope is capped at 262,144 UTF-8 bytes. No model/provider call, network, storage, telemetry, monitoring, or execution occurs.