@@ -45,6 +45,7 @@ function proofBody(evidence: string, overrides: Record<string, string> = {}) {
4545describe ( "real-behavior-proof-policy" , ( ) => {
4646 it . each ( [
4747 "" ,
48+ "Linked artifact: https://github.com/openclaw/openclaw/actions/runs/123456789/artifacts/987654321" ,
4849 "Redacted runtime log: gateway connected Discord channel and delivered the reply." ,
4950 [ "Terminal transcript:" , "```text" , "$ openclaw gateway status" , "discord ready" , "```" ] . join (
5051 "\n" ,
@@ -90,6 +91,20 @@ describe("real-behavior-proof-policy", () => {
9091 expect ( labelsForRealBehaviorProof ( evaluation ) ) . toEqual ( [ MOCK_ONLY_PROOF_LABEL ] ) ;
9192 } ) ;
9293
94+ it ( "fails external PRs whose only copied output is a fenced test or CI transcript" , ( ) => {
95+ const evaluation = evaluateRealBehaviorProof ( {
96+ pullRequest : externalPr (
97+ proofBody ( [ "```text" , "$ pnpm test" , "CI passed with Vitest mocks" , "```" ] . join ( "\n" ) , {
98+ steps : "pnpm test" ,
99+ observedResult : "CI passes." ,
100+ } ) ,
101+ ) ,
102+ } ) ;
103+
104+ expect ( evaluation . status ) . toBe ( "mock_only" ) ;
105+ expect ( labelsForRealBehaviorProof ( evaluation ) ) . toEqual ( [ MOCK_ONLY_PROOF_LABEL ] ) ;
106+ } ) ;
107+
93108 it ( "passes maintainer, bot, and override cases" , ( ) => {
94109 expect (
95110 evaluateRealBehaviorProof ( {
0 commit comments