You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ticket 3/4 of the harness workstream (see #293). Primary source: docs/harness-review-2026-08-16.md (sections B-5, B-6, 七.4). Blocked by #293's merge SHA (incompatible block rule per runtime-compat.json policy). Work happens in the LeXwDeX/opencode-dag-config repository, not this one.
Problem Statement
The saved workflow library currently overpromises in two ways:
The full project-development route advertises "parallel slices", but the runtime compiled those slices into a serial chain. Once spec(dag): parallel workspace writers with implementation evidence aggregator #293 lands, the wording becomes truthful — and the plan blocks must carry the write-set discipline that real parallelism demands.
One route synthesizes its final report via a hand-rolled delivery contract (write a markdown file to a temp dir, submit only the path). The runtime now natively supports output-by-reference: submitting an absolute file path records a content_ref with size and SHA-256 into the managed workflow-reports area with automatic gitignore handling. The hand-rolled version bypasses the integrity receipt and writes outside the managed area.
Solution
Update the full project-development reference so its parallel-slice wording is honest, and bake the triple-disjoint write-set contract into the plan block's instruction: source files, generated artifacts, and lockfiles must all be disjoint across parallel writers, and no shared build may be triggered.
Delete the hand-rolled delivery-contract block from the full route; rely on the runtime's native output-by-reference for the final report.
Sweep remaining route/library wording for serialization promises.
As a parent orchestrator reading a saved route, I want "parallel slices" to mean what it says, so that my concurrency budget is a real expectation.
As a plan block worker, I want my instruction to state the triple-disjoint rule explicitly, so that I partition write sets correctly before parallel slices spawn.
As a report consumer, I want final reports delivered through the managed reports area with an integrity receipt, so that report content is verifiable.
As the config-repo maintainer, I want runtime-compat pinned to the exact runtime merge SHA, so that CI template validation runs against the compiler that produced these shapes.
The triple-disjoint contract is expressed in block instructions (plan slice), not as new schema fields.
Native report delivery replaces the temp-file mechanism; the route keeps one synthesize block and depends on runtime file-ref capture.
Landing rule: runtime merge first, then this repo's PR bumps the SHA and updates templates in the same change, matching the documented policy for incompatible block rules.
Testing Decisions
The config repository's own template-validation CI (which validates every root YAML with the runtime-owned validator at the pinned SHA) is the acceptance gate.
Prior art: existing route YAMLs validated the same way.
Blocked by: #293
Problem Statement
The saved workflow library currently overpromises in two ways:
content_refwith size and SHA-256 into the managed workflow-reports area with automatic gitignore handling. The hand-rolled version bypasses the integrity receipt and writes outside the managed area.Solution
runtime-compat.jsonto the spec(dag): parallel workspace writers with implementation evidence aggregator #293 merge SHA and pass the config repo's template-validation CI in the same change.User Stories
Implementation Decisions
Testing Decisions
Out of Scope
write_setfields, codegen-cache contention detection.Further Notes