Compact workflow_get candidate evidence¶
- Repository:
h8v6/heyaira - Frozen task:
ee1b6fd5-078b-442f-9daa-4a3a857799acversion 2, read through MCP before changes. - Execution:
1f98132a-7aa3-41b8-9aef-5a4ee2e66c03 - Base commit:
790cc1a31f7cf5b0e2db11c969fd89ad5996050a - Candidate branch:
heyaira/ee1b6fd5; the containing commit is the candidate.
The MCP tool previously returned duplicated frozen instruction text on every
read. Its optional detail boolean now defaults to false. A response-only
projection replaces contract.profile.instructions,
contract.verifier.instructions and contract.prompt with markers containing
omitted=true, Python character count and lowercase SHA-256 of the original
UTF-8 text. Every other field is retained. detail=true returns the original
full read result. Neither the stored contract nor its digest is rewritten.
Changed files: src/heyaira/server.py, tests/test_workflow_view.py,
tests/test_workflow_e2e.py, contracts/mcp-tools.json,
docs/reference/mcp-tools.md, docs/reference/task-workflow.md, and this report.
Criterion evidence¶
| Criterion | Result | Evidence |
|---|---|---|
| compact-default | pass | Shaping and registered-tool tests compare every field, restoring only the three text fields after checking exact markers. Unicode, empty text, missing text, absent verifier and input immutability are covered. |
| detail-full | pass | Shaping and registered-tool tests assert equality with the original full output. The database regression compares the full contract with dispatch and full reads. |
| internal-callers | pass | Audited all production read callers: MCP uses workflow.read; Bridge uses workflow.read_project; read delegates to read_project. Both read functions and the Bridge route remain unchanged. |
| contract-docs | pass | Generated MCP contract and both reference pages describe the optional boolean, default, markers and full view. Export and documentation checks pass. |
| suite | fail | Complete sandbox suite: one failure in an unchanged SMTP wall-clock test, 392 passed, 233 skipped. See the timing evidence below. |
Executed checks¶
Test processes used TMPDIR="$PWD/.pytest_cache/tmp", a writable ignored
directory. The complete run additionally prefixed PATH with
/Applications/Xcode.app/Contents/Developer/usr/bin to avoid Apple's Git launcher
cache restrictions. No dependencies were installed.
- Before implementation:
PYTHONPATH=src python -m pytest -q -p no:cacheprovider tests/test_workflow_view.pyreturned 5 failed in 2.08s. The registered MCP test failed because the default response still contained instruction strings instead of markers. - After implementation:
PYTHONPATH=src python -m pytest -q -p no:cacheprovider tests/test_workflow_view.py tests/test_workflow_e2e.py tests/test_mcp_runtime_contract.pyreturned 20 passed, 39 skipped in 1.82s. python scripts/export_mcp_contract.py --checkreturned exit 0:MCP contract is up to date.python scripts/check_docs_contract.pyreturned exit 0:documentation contract passed: 30 MCP tools covered.git diff --checkreturned exit 0.PYTHONPATH=src python -m pytest -q -p no:cacheproviderreturned exit 1: 1 failed, 392 passed, 233 skipped in 73.85s.
The failing test is
tests/test_server_beat_audit.py::test_R6_02_tcp_connect_gets_only_the_budget_left_after_resolution.
Its mocked resolver sleeps for 0.15 seconds within a 0.2-second total deadline.
It failed because the connection mock was never reached (assert seen with
seen == []). An instrumented synthetic reproduction measured SMTP hostname
lookup at 0.011 seconds and the requested 0.15-second sleep at 0.251 seconds;
the deadline consequently expired before connection. The isolated unchanged
test also failed (1 failed in 1.16s), and an awake-process wrapper
(caffeinate -i) did not resolve it (1 failed in 0.74s). No SMTP production
code or existing timing tests were modified to broaden this workflow task.
An earlier suite invocation through Apple's Git launcher was interrupted after 158 passed, 31 skipped in 362.80s because Git-fixture commands were slow; it is not counted as a complete suite result.
Verification limits and handoff¶
HEYAIRA_EXECUTION_E2E_DATABASE_URL is absent locally. The added real
MCP/PostgreSQL regression therefore skips as required. It verifies default and
explicit compact output, full output, pagination, Bridge full output, internal
full reads, and persisted contract/digest preservation. Existing CI runs it
through .github/workflows/ci.yml and scripts/test_postgres.py, which supplies
the isolated database URL and rejects skipped tests.
Confidence is high in the scoped response change from passing targeted tests, field-by-field assertions and the caller audit. Database execution remains unverified locally, and the required full-suite criterion is not met in this sandbox. Independent verification and resolution of the existing timing failure are required before acceptance. This is a local candidate only; no push, PR, merge, installation, deployment or production mutation was performed.