|
56 | 56 | $published_assets = $release['published_assets'] ?? null; |
57 | 57 | $assert( is_array( $published_assets ), 'WP Codebox release fixture must record published release assets.' ); |
58 | 58 | $assert( array( |
59 | | - 'wp-codebox-workspace-0.12.26.tgz' => 'sha256:f8d8e74831b9937e1d2f2e832af18d625c25179e74d9aa5801f17132aae03f08', |
60 | | - 'wp-codebox.zip' => 'sha256:9246ec070d108936e7cf2a6194889af0c94e2de7c6980bc6507f07667b24012e', |
61 | | -) === $published_assets, 'WP Codebox release fixture must retain the published v0.12.26 asset digests.' ); |
| 59 | + '01-wp-codebox.zip' => 'sha256:1c03a35cf0f31e8b2fbbacaae5867f205ea8ae7b8c2017d0e3e297ed6298ff72', |
| 60 | + '02-wp-codebox-workspace-0.12.27.tgz' => 'sha256:be6ec64bd0dc667629ee019d6a79d505927ef2854c8db21fd23d656d0e7d3e6d', |
| 61 | +) === $published_assets, 'WP Codebox release fixture must retain the published v0.12.27 asset digests.' ); |
62 | 62 | $run = $release['run'] ?? null; |
63 | 63 | $assert( is_string( $run ) && preg_match( '/^\d+$/', $run ) === 1, 'WP Codebox release fixture must retain the regression run reference.' ); |
64 | 64 | $diagnostic_regression_run = $release['diagnostic_regression_run'] ?? null; |
|
91 | 91 | $assert( true === ( $release['pre_redaction_trusted_apply_input'] ?? null ), 'WP Codebox release fixture must preserve the pre-redaction trusted apply input.' ); |
92 | 92 | $assert( true === ( $release['git_ignored_workspace_artifacts_excluded'] ?? null ), 'WP Codebox release fixture must exclude Git-ignored verification artifacts from publication integrity snapshots.' ); |
93 | 93 | $assert( true === ( $release['runtime_control_files_excluded'] ?? null ), 'WP Codebox release fixture must exclude mutable .codebox runtime control files from publication integrity snapshots.' ); |
| 94 | +$assert( true === ( $release['workspace_integrity_change_evidence'] ?? null ), 'WP Codebox release fixture must preserve bounded workspace integrity change evidence.' ); |
| 95 | +$assert( true === ( $release['non_git_workspace_snapshot_fallback'] ?? null ), 'WP Codebox release fixture must retain bounded snapshots for non-Git workspaces.' ); |
94 | 96 | $native_result_path = $release['native_result_path'] ?? null; |
95 | 97 | $workflow_result_path = $release['workflow_result_path'] ?? null; |
96 | 98 | $assert( '.codebox/native-agent-task-result.json' === $native_result_path, 'WP Codebox release fixture must declare the controlled native result path.' ); |
|
305 | 307 | $assert( in_array( '.codebox/agent-task-request.json', $producer_upload_regression['observed']['uploaded'] ?? array(), true ), 'WP Codebox upload regression fixture must retain the controlled request upload.' ); |
306 | 308 | $assert( ! array_intersect( array( 'MODEL_PROVIDER_SECRET_1', 'MODEL_PROVIDER_SECRET_2', 'MODEL_PROVIDER_SECRET_3', 'MODEL_PROVIDER_SECRET_4', 'MODEL_PROVIDER_SECRET_5' ), array_keys( $caller_secrets ) ), 'Docs Agent must forward only the OPENAI_API_KEY provider secret name.' ); |
307 | 309 |
|
308 | | -$assert( str_contains( $workflow, 'output_projections="$(jq -cn --arg path \'metadata.runner_workspace_publication.url\' --argjson required "$success_requires_pr" \'{docs_agent_publication:{path:$path,required:$required}}\')"' ), 'Docs Agent must define the v0.12.26 publication projection descriptor.' ); |
| 310 | +$assert( str_contains( $workflow, 'output_projections="$(jq -cn --arg path \'metadata.runner_workspace_publication.url\' --argjson required "$success_requires_pr" \'{docs_agent_publication:{path:$path,required:$required}}\')"' ), 'Docs Agent must define the v0.12.27 publication projection descriptor.' ); |
309 | 311 | $docs_projections = array( |
310 | 312 | 'docs_agent_publication' => array( |
311 | 313 | 'path' => 'metadata.runner_workspace_publication.url', |
|
315 | 317 | $publication_descriptor = $docs_projections['docs_agent_publication'] ?? null; |
316 | 318 | $assert( is_array( $publication_descriptor ), 'Docs Agent must define the docs_agent_publication projection descriptor.' ); |
317 | 319 | $publication_path = $publication_descriptor['path'] ?? null; |
318 | | -$assert( 'metadata.runner_workspace_publication.url' === $publication_path, 'Docs Agent publication projection must use the v0.12.26 runner workspace publication URL path.' ); |
| 320 | +$assert( 'metadata.runner_workspace_publication.url' === $publication_path, 'Docs Agent publication projection must use the v0.12.27 runner workspace publication URL path.' ); |
319 | 321 |
|
320 | 322 | $producer_request_fixture = $read_json( rtrim( $wp_codebox_dir, '/' ) . '/contracts/agent-task-workflow-request.fixture.json' ); |
321 | 323 | $producer_projection_paths = array_values( $producer_request_fixture['outputs']['projections'] ?? array() ); |
|
0 commit comments