Skip to main content

truereward-harwell

The recorded-state reader for truereward, over the Harwell engine.

It grades a change to a codebase that has no unit test suite. A case records what a job leaves behind when the code is right: the data sets, the spool files and the tables. Grading runs the same job against the changed codebase and compares what it left with that approved baseline.

  • A case is data. A directory with case.json, a start/ snapshot and an expected/ snapshot, validated against the JSON Schema shipped in the package. Every field a case reads is resolved to bytes when the case is recorded, so grading never opens the candidate's source to decide what is compared.
  • grade_case(case, codebase) runs the case twice in a contained run, compares the first end state with the baseline under the case's policy, and answers with a truereward.CaseResult. The two runs are compared with each other under the author's own mask, which answers the determinism check.
  • record.record(...) records a case: run the job, keep what it left as the approved baseline, freeze every field map.
  • selftest.run(...) asks whether a case set would catch a bug: the reference change must score 1.0, the unchanged codebase 0.0, and every seeded defect less than 1.0.

A task's test file:

from functools import partial
from pathlib import Path

import pytest
from truereward_harwell import cases, grade_case

CASES = Path(__file__).parent / "cases"


@pytest.mark.parametrize("case", cases(CASES), ids=lambda c: c.id)
def test_case(case, grade):
    grade(case, partial(grade_case, codebase="/grade"))

Run it with pytest -p truereward_harwell, which brings the truereward plugin with it.

Licensed under Apache-2.0.

Release files for truereward-harwell 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for truereward-harwell 0.1.1
File Size Uploaded
truereward_harwell-0.1.1.tar.gz 33.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for truereward-harwell 0.1.1
File Interpreter ABI Platform
truereward_harwell-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 72.2 kB

Release files / truereward_harwell-0.1.1.tar.gz

Download URL truereward_harwell-0.1.1.tar.gz
Size 33.9 kB
Tags Source
SHA-256 checksum
How to use checksums
463a7216fa1973740b5210afb807e4318c053c241f70b52d2bb5442cd2898f3f
BLAKE2b-256 checksum
How to use checksums
b1a65f9da670dc447ba504c277cd37240e3e44c50fe74f422330d5333e7bfff4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / truereward_harwell-0.1.1-py3-none-any.whl

Download URL truereward_harwell-0.1.1-py3-none-any.whl
Size 38.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5fb416c947db79679048eb0834fa0dd4e9a450ebaa0b53567d5c6acacdfb4719
BLAKE2b-256 checksum
How to use checksums
bad1fda0aef9200a8d3f03015d8048ddf9fbbf1cca311e6e0f8f41d696184fdb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page