@@ -167,7 +167,6 @@ describe("RunDetail core flows", () => {
167167 status : "RUNNING" ,
168168 allowed_paths : [ "apps/dashboard" ] ,
169169 contract : { } ,
170- manifest : { } ,
171170 role_binding_read_model : {
172171 authority : "contract-derived-read-model" ,
173172 source : "persisted from contract" ,
@@ -208,6 +207,13 @@ describe("RunDetail core flows", () => {
208207 } ,
209208 } ,
210209 } ,
210+ manifest : {
211+ artifacts : [
212+ { name : "prompt_artifact" , path : "artifacts/prompt_artifact.json" } ,
213+ { name : "planning_wave_plan" , path : "artifacts/planning_wave_plan.json" } ,
214+ { name : "planning_worker_prompt_contracts" , path : "artifacts/planning_worker_prompt_contracts.json" } ,
215+ ] ,
216+ } ,
211217 } ;
212218 const fetchMock = mockFetchFactory ( { events : [ ] , reports : [ ] , availableRuns : [ ] } ) ;
213219 // @ts -expect-error test override
@@ -226,6 +232,7 @@ describe("RunDetail core flows", () => {
226232 expect ( screen . getByText ( "Runtime binding: agents / cliproxyapi / gpt-5.4" ) ) . toBeInTheDocument ( ) ;
227233 expect ( screen . getByText ( "Runtime capability: standard-provider-path" ) ) . toBeInTheDocument ( ) ;
228234 expect ( screen . getByText ( "Tool execution: standard-provider-path / provider-path-required" ) ) . toBeInTheDocument ( ) ;
235+ expect ( screen . getByText ( "Lifecycle artifacts: Prompt artifact / Wave plan / Worker prompt contracts" ) ) . toBeInTheDocument ( ) ;
229236 expect (
230237 screen . getByText (
231238 "Read-only note: this mirrors the persisted binding summary. task_contract still owns execution authority." ,
0 commit comments