g2PacketReady ( state : { branch : string ; budget : | null | { cost_limit_usd : null | number ; cost_spent_usd : null | number ; [ key : string ]: unknown ; } ; closure : | null | { as : "already-delivered" | "superseded" | "obsolete" | "abandoned" ; at : null | string ; by : null | string ; reason : null | string ; [ key : string ]: unknown ; } ; escalations : { at : null | string ; disposition : null | "re-review" | "return-to-implement" | "re-plan" ; from_role : null | string ; reason : string ; resolution : null | string ; resolved : boolean ; resolved_at : null | string ; resolved_by : null | string ; [ key : string ]: unknown ; } [] ; gates : { G0 : { approved : boolean ; at : null | string ; burden : null | "confirmation" | "light-correction" | "heavy-correction" ; by : null | string ; notes : null | string ; [ key : string ]: unknown ; } ; G1 : { approved : boolean ; at : null | string ; burden : null | "confirmation" | "light-correction" | "heavy-correction" ; by : null | string ; notes : null | string ; [ key : string ]: unknown ; } ; G2 : { approved : boolean ; at : null | string ; burden : null | "confirmation" | "light-correction" | "heavy-correction" ; by : null | string ; notes : null | string ; [ key : string ]: unknown ; } ; G3 : { approved : boolean ; at : null | string ; burden : null | "confirmation" | "light-correction" | "heavy-correction" ; by : null | string ; notes : null | string ; [ key : string ]: unknown ; } ; } ; paused_reason : null | string ; phase : | "spec" | "plan" | "implement" | "integrate" | "release" | "done" | "paused" | "closed" ; profile : "patch" | "standard" | "full" ; run : string ; tasks : { id : string ; review_rounds : number ; status : string ; [ key : string ]: unknown ; } [] ; } , artifacts : string [] , ) : boolean Parameters state : { branch : string ; budget : | null | { cost_limit_usd : null | number ; cost_spent_usd : null | number ; [ key : string ]: unknown ; } ; closure : | null | { as : "already-delivered" | "superseded" | "obsolete" | "abandoned" ; at : null | string ; by : null | string ; reason : null | string ; [ key : string ]: unknown ; } ; escalations : { at : null | string ; disposition : null | "re-review" | "return-to-implement" | "re-plan" ; from_role : null | string ; reason : string ; resolution : null | string ; resolved : boolean ; resolved_at : null | string ; resolved_by : null | string ; [ key : string ]: unknown ; } [] ; gates : { G0 : { approved : boolean ; at : null | string ; burden : null | "confirmation" | "light-correction" | "heavy-correction" ; by : null | string ; notes : null | string ; [ key : string ]: unknown ; } ; G1 : { approved : boolean ; at : null | string ; burden : null | "confirmation" | "light-correction" | "heavy-correction" ; by : null | string ; notes : null | string ; [ key : string ]: unknown ; } ; G2 : { approved : boolean ; at : null | string ; burden : null | "confirmation" | "light-correction" | "heavy-correction" ; by : null | string ; notes : null | string ; [ key : string ]: unknown ; } ; G3 : { approved : boolean ; at : null | string ; burden : null | "confirmation" | "light-correction" | "heavy-correction" ; by : null | string ; notes : null | string ; [ key : string ]: unknown ; } ; } ; paused_reason : null | string ; phase : | "spec" | "plan" | "implement" | "integrate" | "release" | "done" | "paused" | "closed" ; profile : "patch" | "standard" | "full" ; run : string ; tasks : { id : string ; review_rounds : number ; status : string ; [ key : string ]: unknown ; } [] ; } artifacts : string [] Returns boolean
Is the evidence G2 decides on complete — every task carried to review-approved or beyond, at least one review report, and, outside
patch(which has no verifier), the verification report?Shared by the gate card and the PR-approval sync so the two agree by construction (#344). The sync copies a reviewer's Approve on the draft PR into G2, and a copy made before this packet exists is an approval of nothing.