Four defects, one surface
1. The write path fails silently on escaping. createConfluencePage accepted HTML entities where raw tags were needed, published them as literal visible markup, and returned a success payload with no validation error. The page was only repaired because the run read its own response body. Both runs hit this.
2. It asks permission for what the config already granted. The Consumer sets docs.publish: true, and the run still stopped to ask whether to publish. That is one of only four halts in the /specs leg, and it bought nothing.
3. Contract changes in git do not reach Confluence. When publish is true and a contract is regenerated, the page should update. Today it does not.
4. Run 1 published no component pages at all, despite docs.publish: true. Design System Components (973276506) had no descendants before run 2 published three. Measured before publishing, so it cannot be re-verified now — the pages are there.
Why 4 is the serious one
A publish step that silently does nothing, while configured to publish, is the same class as a review node that records nothing: the run looks identical whether it worked or not.
The open question
Should publish be a step that can fail loudly, and what does it verify after writing — that the page exists, that its body is what was sent, or neither?
Full evidence: docs/research/2026-08-31-dlc-run-2-findings.md.
Four defects, one surface
1. The write path fails silently on escaping.
createConfluencePageaccepted HTML entities where raw tags were needed, published them as literal visible markup, and returned a success payload with no validation error. The page was only repaired because the run read its own response body. Both runs hit this.2. It asks permission for what the config already granted. The Consumer sets
docs.publish: true, and the run still stopped to ask whether to publish. That is one of only four halts in the/specsleg, and it bought nothing.3. Contract changes in git do not reach Confluence. When
publishis true and a contract is regenerated, the page should update. Today it does not.4. Run 1 published no component pages at all, despite
docs.publish: true.Design System Components(973276506) had no descendants before run 2 published three. Measured before publishing, so it cannot be re-verified now — the pages are there.Why 4 is the serious one
A publish step that silently does nothing, while configured to publish, is the same class as a review node that records nothing: the run looks identical whether it worked or not.
The open question
Should
publishbe a step that can fail loudly, and what does it verify after writing — that the page exists, that its body is what was sent, or neither?Full evidence:
docs/research/2026-08-31-dlc-run-2-findings.md.