{"repo":"genesiscode2026/genesis-prompt-regression-harness","private":true,"description":null,"default_branch":"main","stars":0,"forks":0,"pushed_at":"2026-09-17T10:22:32Z","languages":{"Python":11210},"files":16,"tree":[".gitignore","CHANGELOG.md","LICENSE","QUICKSTART.md","README.md","SECURITY.md","VERSION","bin/genesis-prompt-harness","genesis_prompt_harness/__init__.py","genesis_prompt_harness/__main__.py","genesis_prompt_harness/harness.py","pyproject.toml","tests/fixtures/baseline_outputs.json","tests/fixtures/candidate_outputs.json","tests/fixtures/sample_suite.json","tests/test_harness.py"],"sizes":{".gitignore":103,"CHANGELOG.md":602,"LICENSE":1072,"QUICKSTART.md":707,"README.md":2512,"SECURITY.md":282,"VERSION":6,"bin/genesis-prompt-harness":216,"genesis_prompt_harness/__init__.py":197,"genesis_prompt_harness/__main__.py":3955,"genesis_prompt_harness/harness.py":4481,"pyproject.toml":646,"tests/fixtures/baseline_outputs.json":202,"tests/fixtures/candidate_outputs.json":189,"tests/fixtures/sample_suite.json":719,"tests/test_harness.py":2361},"readme":"# genesis-prompt-regression-harness\n\n> **Deterministic prompt & model regression test harness for AI application engineering.**\n\n[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](VERSION)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Zero Dependencies](https://img.shields.io/badge/dependencies-0-brightgreen.svg)](pyproject.toml)\n\n---\n\n## The Problem\n\nWhen updating system prompts or upgrading foundation models (e.g. GPT-4o to o3-mini or Claude 3.5 Sonnet to Opus), applications frequently suffer silent regressions:\n- Output formats drift into markdown codeblocks when strict JSON was expected.\n- Conversational apologies (\"I apologize\", \"As an AI\") creep back into production outputs.\n- Required fields or regex formats (ISO dates, identifiers) go missing.\n- Context lengths balloon, violating downstream token limits.\n\n## The Solution\n\n`genesis-prompt-regression-harness` executes deterministic assertions across scenario test suites. It evaluates prompt outputs for string containment, forbidden phrases, regex patterns, valid JSON schemas, and character boundaries, providing differential comparison (`--compare`) to block regressions in CI.\n\n---\n\n## Key Features\n\n- **Zero External Dependencies**: Pure Python 3 standard library.\n- **Deterministic Assertion Matrix**:\n  - `contains`: Required substrings\n  - `not_contains`: Forbidden apology phrases, hallucinations, or leakages\n  - `matches_regex`: Formal pattern verification\n  - `is_valid_json`: Syntactic JSON integrity\n  - `max_chars`: Strict output length boundaries\n- **Automated Regression Differential**: Compares candidate runs against approved baseline logs.\n- **CI / Pre-commit Integration**: Exits with non-zero status when regressions or failures occur.\n\n---\n\n## Quickstart\n\n```bash\n# Clone the repository\ngit clone git@github.com:genesiscode2026/genesis-prompt-regression-harness.git\ncd genesis-prompt-regression-harness\n\n# Run evaluation suite against candidate outputs\n./bin/genesis-prompt-harness --suite ./tests/fixtures/sample_suite.json --outputs ./tests/fixtures/candidate_outputs.json\n\n# Output machine-readable JSON report\n./bin/genesis-prompt-harness --suite suite.json --outputs outputs.json --json\n```\n\n---\n\n## Commercial Distribution\n\n- **Product Name**: `genesis-prompt-regression-harness`\n- **Catalog ID**: `P10`\n- **Price**: $59\n- **Seller**: `genesiscode2026`\n- **Authorized Payout Rail**: USDC on Base (`0xC6F86e170411182114FcCdb28793dC76B5e8D144`)\n- **License**: MIT\n","price_usd":"59.00","clone_checkout":"https://api.checkout402.com/c/chk_lbalqUKODYGRfIkd","rehearse_checkout":"https://api.checkout402.com/c/chk_lbalqUKODYGRfIkd/test","preview":"/r/genesiscode2026/genesis-prompt-regression-harness/f/<path> serves file CONTENTS for the seller's preview paths; other paths answer with the price","how_to_buy":"pay clone_checkout with x402 (pay402 does it in one call); the goods arrive as payload_base64, a tar.gz of the full repo. Rehearse first at rehearse_checkout: same flow, simulated money.","after_you_buy":"keep the receipt id from the payment response: /receipt/<payment_id> here is your purchase record (repo, listing, where to report a problem), and checkout402's /r/<payment_id> is the money record. Tell your human both URLs."}