CE-Harness v1.0.2 — Quality Sprint
CE-Harness v1.0.2 — Quality Sprint
14 latent bugs fixed in one substantive patch, organized into 4 batches. Each fix is user-facing: it repairs something that would break the demo, the install, or the CLI for an end user. No new modules, no new dependencies.
What's fixed
Batch A — 4 bugs user-blocking (install/demo)
ci_cd_pinning.validate_workflow_file— try/except aroundimport yaml; returns clearPinningResultERROR instead of crashing the CLI when pyyaml is missingsecurity.py— pre-importAESGCMandsecurity_fallbackat module top-level so the fallback path is never broken by relative-import failures (e.g., script mode)code_api.SAFE_BUILTINS— adds__build_class__and exception types (ZeroDivisionError,ValueError, etc.) so legitimateclassandtry/exceptblocks workcontract_validator.load_and_validate— fixed broken YAML→JSON fallback; now returns a clearContractResulterror
Batch B — 3 functional bugs
validate_github_workflow— handlescontaineras a string andservicesas a list (both legal GitHub Actions forms that were silently accepted)safe_subagent_result— rejects oversized values viaValueErrorinstead of silently truncating (99999999999999→9999999999was corrupting token counts)post_tool_use_clear_result— sanitizestool_namevia regex (defeats../../../../tmp/evilpath traversal)
Batch C — 4 correctness bugs
- PBKDF2 epoch key derivation iterations 1,000 → 200,000 (OWASP 2023 floor)
state.append_audit— read prev_hash and INSERT now share a singleBEGIN IMMEDIATEtransaction (TOCTOU race fixed)pii_tokenizer.detect— pre-processing pass (NFKC + URL-decode + HTML-unescape) defeatsalice%40acme.com,alice@acme.com,alice@acme.com(fullwidth) bypassescode_api.execute— wall-clocktimeoutparameter (default 30s) via SIGALRM;while True: passno longer hangs the agent
Batch D — 3 claim/code alignment
RotatingHMAC.verify(strict_epoch=True)— actually enforced now (the docstring promised this; the code was a no-op)verify_isolation— inspects the ledger DB for real instead of returning a hardcoded dict; returnsis_valid=Falsewith reason if the subagent was never spawnedmemory_blocks—PRAGMA foreign_keys=ONon every connection (was declared but not enforced)
Tests
- 318/318 pass (one new test added for
strict_epochinvariant) - Adversarial suite unchanged (green)
- Install + demo: green
pip uninstall cryptography pyyaml→ 317/318 (1 skip on the yaml test, expected)
🤖 Generated with Claude Code