Skip to content

CL-6439: prove and lock the template-block deploy freeze - #180

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-6439-block-freeze
Aug 21, 2026
Merged

TheGreatAxios merged 2 commits into
mainfrom
cl-6439-block-freeze

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

What

The last product gap on the GitHub code-review demo path: template-block deploys (POST /template-blocks/:assetName/deploy) used to record no frozen wire projection, so a webhook-fired launch 500d with DefinitionProjectionMissingError.

The call-site cutover to @corbits/workflow-freeze landed with #179 (the hub's deployWorkflowSource binding now calls freezeInertWorkflowDefinition). This PR closes CL-6439's remaining halves:

  • Tests: packages/workflow-catalog/test/block-workflow-freeze.test.ts locks the code-review block source's freezability — projection covers every step, the hash computes, the capability walk resolves every director and reports a non-empty grant surface. A block edit that broke any of those would turn the deploy route into a 500, and now fails here first.
  • Docs: the factory eval scoreboard's gap 1 is closed and rewritten from evidence.

Red -> green evidence

A plumbing-mode run of the github-pr-review-factory case against a scratch hub (real install route, real ingress route, HMAC-signed delivery):

  • install: created [correctness-reviewer, architecture-reviewer, release-risk-reviewer], deployed blocks [code-review], webhook triggers started: 1
  • fire-webhook: webhook delivery accepted: instance run_ce34bc... at run_ce34bc...@... — 202 with a real run instance, no DefinitionProjectionMissingError
  • suggestedFixesStructurallyValid's failure reason flipped from the launch 500 to "no successful github_post_pr_review call yet" — the documented live-key gap (scorer full-green needs EVAL_PROVIDER_API_KEY; plumbing mode's stub credential can never post a review).

Fixes CL-6439

The template-block deploy now freezes its serialized definition through
@corbits/workflow-freeze (CL-6439), so a block edit that names an
unresolvable director or an unprojectable step would turn the deploy
route into a 500. Lock the freezability of the code-review block source:
projection covers every step, the hash computes, and the capability walk
reports a non-empty grant surface.

bun.lock also picks up bun's re-normalization of stale aliased entries
from installing the new workspace devDependency.
The factory eval scoreboard's gap 1 (DefinitionProjectionMissingError on
a webhook-fired launch) is closed: the template-block deploy freezes its
definition through @corbits/workflow-freeze, and a plumbing-mode run
confirms the fired trigger answers 202 with a real run instance.
Scorers #5/#6 now block only on a live EVAL_PROVIDER_API_KEY run.
@TheGreatAxios
TheGreatAxios merged commit 7cbf78a into main Aug 21, 2026
0 of 2 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-6439-block-freeze branch August 25, 2026 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant