Skip to content

v0.8.0 — thesis artifact (byte-faithful cut)

Choose a tag to compare

@SebasBarrera SebasBarrera released this 30 Sep 00:54
· 628 commits to develop since this release

Governed Agent Harness 0.8.0: the cut evaluated in the thesis.

This release is the byte-faithful import of the research artifact designed, implemented and evaluated in the master's thesis Diseño y evaluación de una arquitectura de harness engineering para el desarrollo de software asistido por inteligencia artificial, con supervisión humana y retrospectiva basada en evidencia (Juan Sebastián Barrera Pulido, Maestría en Informática, Escuela Colombiana de Ingeniería Julio Garavito). It reproduces the evaluated cut exactly. It is not a new version of the software.

Warning

The wheel and sdist attached here are the original binaries of the thesis cut. This repository's CI did not build them, so they carry no build-provenance attestation. Attested, SBOM-backed artifacts start with v0.8.1. Verify these files with SHA256SUMS.

Provenance

Item Value
Cut governed-agent-harness-0_8_0-current.zip
ZIP SHA-256 recorded in the thesis 7e1401ad9f324a9e9fe488b5eb4d9c842f3f8ec52ec7340e5913813440b4d0cd
Files in the cut 236 (macOS .DS_Store metadata excluded)
Versioned in Git 232, byte-identical to the cut (scripts/verify_provenance.py full → matched: 232/232, mismatched: 0, missing: 0)
Attached instead of versioned dist/governed_agent_harness-0.8.0-py3-none-any.whl, dist/governed_agent_harness-0.8.0.tar.gz, .coverage.release (published as coverage.release.sqlite). dist/.gitignore is a 1-byte file and is not versioned.
Reference manifest provenance/v0.8.0.sha256 (also attached as provenance-v0.8.0.sha256)

The ZIP archive itself was no longer available when the repository was published, so its SHA-256 could not be recomputed. Fidelity is anchored to the per-file manifest of the extracted cut. Every import step was checked against that manifest in CI.

The tag also contains repository infrastructure added around the cut. None of it modifies a file of the cut: .gitattributes, .editorconfig, provenance/, scripts/verify_provenance.py, scripts/check_denylist.py, .github/privacy-denylist.txt and .github/workflows/import-ci.yml. The original .github/workflows/ci.yml is kept byte-identical and is disabled through the Actions API (#15).

MANIFEST.sha256 is attached as shipped in the cut. It is stale: 51 of its 88 entries do not match the files (#13).

Snapshot evaluated in the thesis

The thesis author reported these figures for this cut. The last column shows what was re-verified while publishing this repository. These figures describe the frozen cut, not the current state of develop; the CI badges show that.

Fact Thesis value Re-verified during publication
Python modules in src/governed_harness 74 modules, 6,746 lines 74 source files (mypy count)
JSON Schema contracts 25 25 files in schemas/v1
CLI commands 21 21 (command tree introspection)
API routes 9: seven queries, one decision POST, dashboard at / 9 routes in api/app.py
Tests 86: core 79, E2E Python 4, E2E Node 1, performance 2 86 pass; core families 79
Full suite in one process exit 0 in three runs, 19–21 s exit 0 in three runs, 16–20 s (macOS, Python 3.12.11); green in CI on CPython 3.12/3.13/3.14
Core coverage lines 77.48 %, branches 59.29 %, 3,268 statements not recomputed for this release
Ruff 140 findings in src, 11 in tests (0.16.5); 60 F401, 40 B008 identical counts with ruff 0.16.7
Mypy strict package mode blocked by the missing py.typed; 54 errors in 15 files on sources, 34 attr-defined 55 errors in 15 files with mypy 1.20.2
Wheel in a clean environment 18 dependencies; harness runs 18 dependencies (25 with [api]); harness --help exits 0
Governed-process overhead 10.09 % and 11.23 % in two runs, about 1.2 ms microbenchmarks are published from v0.8.1 onwards
Exit codes 0, 1, 2, 3, 4, 5, 6, 130 3 (not found) and 5 (stale approval) reproduced with the original wheel
Brownfield case pallets/itsdangerous 2.2.0, tarball SHA-256 7b0c6d41…37f2b, baseline broken by missing freezegun, 298 tests after installing it, ChangeSet digest invariant reproduced: GitHub tag archive SHA-256 matches; 298 passed; digest sha256:e775aa2d…23d46 unchanged; APPROVE exit 5, APPROVE_EXCEPTION exit 0; 46 events, chain valid

Known limitations and defects

The harness is a research beta. It is not a sandbox: an authorized process keeps the file-system, network, CPU and memory permissions of the OS user. The local web dashboard has no authentication and must stay on loopback (#18).

Behavioral defects are kept unfixed so that this cut stays identical to what the thesis measured. They are tracked in the milestone backlog — thesis-impact:

  • #1: a mandatory validator whose Python module is missing yields FAILED/HIGH instead of BLOCKED.
  • #2: the gate stays FAILED after a passing retry when the ChangeSet digest does not change (needs-decision).
  • #3: workflow YAML phase settings are persisted and digested but not enforced.
  • #4: capabilities are resolved per run and actor, not per phase.
  • #5: allowNetwork, repositoryContentTrusted and destructiveActionsDefault are declared but not enforced.
  • #6: memory store: no production path creates records, exclusions go unrecorded, supersession depends on order.
  • #7: PREEXISTING_ERROR and INTRODUCED_ERROR are never assigned.
  • #8: PLANNING declares approval.request, but no checkpoint is wired.
  • #9: the process runner truncates output only after buffering all of it.
  • #19: contained_path rejects absolute paths under a symlinked ancestor (macOS /var).

Quality and infrastructure items are addressed in v0.8.1: #10–#17, #20, #22–#26.

Assets

File Description
governed_agent_harness-0.8.0-py3-none-any.whl Original wheel of the cut
governed_agent_harness-0.8.0.tar.gz Original sdist of the cut
coverage.release.sqlite Original .coverage.release coverage database of the cut
MANIFEST.sha256 Original integrity manifest, stale (#13)
provenance-v0.8.0.sha256 Per-file SHA-256 manifest of the extracted cut, the provenance reference
SHA256SUMS SHA-256 of all of the above

To verify the binaries:

sha256sum -c SHA256SUMS

To verify a checkout of this tag:

git checkout v0.8.0
python3 scripts/verify_provenance.py full