88)
99
1010// TestWithoutReviewOrInvestigateEnv pins the contract that the helper
11- // strips both ENTIRE_REVIEW_ * and ENTIRE_INVESTIGATE_ * entries from the
11+ // strips both TRACE_REVIEW_ * and TRACE_INVESTIGATE_ * entries from the
1212// supplied env slice while leaving unrelated entries untouched. This is
1313// the leak-prevention guarantee for fix-agent launches: a parent shell
1414// may have inherited stale provenance vars, and the fix session must not
@@ -34,36 +34,36 @@ func TestWithoutReviewOrInvestigateEnv(t *testing.T) {
3434 input : []string {
3535 "PATH=/usr/bin" ,
3636 "HOME=/home/u" ,
37- "ENTIRE_REVIEW_SESSION =1" ,
38- "ENTIRE_REVIEW_AGENT =claude-code" ,
39- "ENTIRE_REVIEW_SKILLS =[\" /x\" ]" ,
40- "ENTIRE_REVIEW_PROMPT =stale review prompt" ,
41- "ENTIRE_REVIEW_STARTING_SHA =stale1" ,
42- "ENTIRE_INVESTIGATE_SESSION =1" ,
43- "ENTIRE_INVESTIGATE_AGENT =claude-code" ,
44- "ENTIRE_INVESTIGATE_RUN_ID =abcdef012345" ,
45- "ENTIRE_INVESTIGATE_TOPIC =topic" ,
46- "ENTIRE_INVESTIGATE_FINDINGS_DOC =/tmp/f.md" ,
47- "ENTIRE_INVESTIGATE_STATE_DOC =/tmp/state.json" ,
48- "ENTIRE_INVESTIGATE_STARTING_SHA =stale2" ,
37+ "TRACE_REVIEW_SESSION =1" ,
38+ "TRACE_REVIEW_AGENT =claude-code" ,
39+ "TRACE_REVIEW_SKILLS =[\" /x\" ]" ,
40+ "TRACE_REVIEW_PROMPT =stale review prompt" ,
41+ "TRACE_REVIEW_STARTING_SHA =stale1" ,
42+ "TRACE_INVESTIGATE_SESSION =1" ,
43+ "TRACE_INVESTIGATE_AGENT =claude-code" ,
44+ "TRACE_INVESTIGATE_RUN_ID =abcdef012345" ,
45+ "TRACE_INVESTIGATE_TOPIC =topic" ,
46+ "TRACE_INVESTIGATE_FINDINGS_DOC =/tmp/f.md" ,
47+ "TRACE_INVESTIGATE_STATE_DOC =/tmp/state.json" ,
48+ "TRACE_INVESTIGATE_STARTING_SHA =stale2" ,
4949 },
5050 want : []string {
5151 "PATH=/usr/bin" ,
5252 "HOME=/home/u" ,
5353 },
5454 notWant : []string {
55- "ENTIRE_REVIEW_SESSION =1" ,
56- "ENTIRE_REVIEW_AGENT =claude-code" ,
57- "ENTIRE_REVIEW_SKILLS =[\" /x\" ]" ,
58- "ENTIRE_REVIEW_PROMPT =stale review prompt" ,
59- "ENTIRE_REVIEW_STARTING_SHA =stale1" ,
60- "ENTIRE_INVESTIGATE_SESSION =1" ,
61- "ENTIRE_INVESTIGATE_AGENT =claude-code" ,
62- "ENTIRE_INVESTIGATE_RUN_ID =abcdef012345" ,
63- "ENTIRE_INVESTIGATE_TOPIC =topic" ,
64- "ENTIRE_INVESTIGATE_FINDINGS_DOC =/tmp/f.md" ,
65- "ENTIRE_INVESTIGATE_STATE_DOC =/tmp/state.json" ,
66- "ENTIRE_INVESTIGATE_STARTING_SHA =stale2" ,
55+ "TRACE_REVIEW_SESSION =1" ,
56+ "TRACE_REVIEW_AGENT =claude-code" ,
57+ "TRACE_REVIEW_SKILLS =[\" /x\" ]" ,
58+ "TRACE_REVIEW_PROMPT =stale review prompt" ,
59+ "TRACE_REVIEW_STARTING_SHA =stale1" ,
60+ "TRACE_INVESTIGATE_SESSION =1" ,
61+ "TRACE_INVESTIGATE_AGENT =claude-code" ,
62+ "TRACE_INVESTIGATE_RUN_ID =abcdef012345" ,
63+ "TRACE_INVESTIGATE_TOPIC =topic" ,
64+ "TRACE_INVESTIGATE_FINDINGS_DOC =/tmp/f.md" ,
65+ "TRACE_INVESTIGATE_STATE_DOC =/tmp/state.json" ,
66+ "TRACE_INVESTIGATE_STARTING_SHA =stale2" ,
6767 },
6868 wantSize : 2 ,
6969 },
@@ -87,26 +87,26 @@ func TestWithoutReviewOrInvestigateEnv(t *testing.T) {
8787 {
8888 name : "only provenance entries: empty output" ,
8989 input : []string {
90- "ENTIRE_REVIEW_SESSION =1" ,
91- "ENTIRE_INVESTIGATE_SESSION =1" ,
90+ "TRACE_REVIEW_SESSION =1" ,
91+ "TRACE_INVESTIGATE_SESSION =1" ,
9292 },
9393 notWant : []string {
94- "ENTIRE_REVIEW_SESSION =1" ,
95- "ENTIRE_INVESTIGATE_SESSION =1" ,
94+ "TRACE_REVIEW_SESSION =1" ,
95+ "TRACE_INVESTIGATE_SESSION =1" ,
9696 },
9797 wantSize : 0 ,
9898 },
9999 {
100100 name : "look-alike non-provenance keys survive" ,
101101 input : []string {
102- "NOT_ENTIRE_REVIEW_SESSION =1" ,
103- "ENTIRE_REVIEW_OTHER =keep" , // not a known prefix
104- "ENTIRE_INVESTIGATE_OTHER =keep" , // not a known prefix
102+ "NOT_TRACE_REVIEW_SESSION =1" ,
103+ "TRACE_REVIEW_OTHER =keep" , // not a known prefix
104+ "TRACE_INVESTIGATE_OTHER =keep" , // not a known prefix
105105 },
106106 want : []string {
107- "NOT_ENTIRE_REVIEW_SESSION =1" ,
108- "ENTIRE_REVIEW_OTHER =keep" ,
109- "ENTIRE_INVESTIGATE_OTHER =keep" ,
107+ "NOT_TRACE_REVIEW_SESSION =1" ,
108+ "TRACE_REVIEW_OTHER =keep" ,
109+ "TRACE_INVESTIGATE_OTHER =keep" ,
110110 },
111111 wantSize : 3 ,
112112 },
@@ -142,8 +142,8 @@ func TestWithoutReviewOrInvestigateEnv_DoesNotMutateInput(t *testing.T) {
142142
143143 input := []string {
144144 "PATH=/usr/bin" ,
145- "ENTIRE_REVIEW_SESSION =1" ,
146- "ENTIRE_INVESTIGATE_SESSION =1" ,
145+ "TRACE_REVIEW_SESSION =1" ,
146+ "TRACE_INVESTIGATE_SESSION =1" ,
147147 "HOME=/home/u" ,
148148 }
149149 original := slices .Clone (input )
@@ -166,11 +166,11 @@ func TestWithoutReviewOrInvestigateEnv_DoesNotMutateInput(t *testing.T) {
166166// os.Environ() path, assert no provenance entries survive.
167167func TestLaunchFixAgent_EmptyEnvFallback_StripsHostProvenance (t * testing.T ) {
168168 // t.Setenv mutates process global state; cannot run with t.Parallel().
169- t .Setenv ("ENTIRE_REVIEW_SESSION " , "1" )
170- t .Setenv ("ENTIRE_REVIEW_AGENT " , "claude-code" )
171- t .Setenv ("ENTIRE_REVIEW_STARTING_SHA " , "deadbeefcafe" )
172- t .Setenv ("ENTIRE_INVESTIGATE_SESSION " , "1" )
173- t .Setenv ("ENTIRE_INVESTIGATE_RUN_ID " , "abcdef012345" )
169+ t .Setenv ("TRACE_REVIEW_SESSION " , "1" )
170+ t .Setenv ("TRACE_REVIEW_AGENT " , "claude-code" )
171+ t .Setenv ("TRACE_REVIEW_STARTING_SHA " , "deadbeefcafe" )
172+ t .Setenv ("TRACE_INVESTIGATE_SESSION " , "1" )
173+ t .Setenv ("TRACE_INVESTIGATE_RUN_ID " , "abcdef012345" )
174174
175175 // Drive the exact branch LaunchFixAgent takes when cmd.Env is empty:
176176 // withoutReviewOrInvestigateEnv(os.Environ()).
@@ -201,18 +201,18 @@ func osEnvironForTest() []string {
201201// here — the test file lives in the same package as the implementation).
202202func hasReviewOrInvestigatePrefix (kv string ) bool {
203203 prefixes := []string {
204- "ENTIRE_REVIEW_SESSION =" ,
205- "ENTIRE_REVIEW_AGENT =" ,
206- "ENTIRE_REVIEW_SKILLS =" ,
207- "ENTIRE_REVIEW_PROMPT =" ,
208- "ENTIRE_REVIEW_STARTING_SHA =" ,
209- "ENTIRE_INVESTIGATE_SESSION =" ,
210- "ENTIRE_INVESTIGATE_AGENT =" ,
211- "ENTIRE_INVESTIGATE_RUN_ID =" ,
212- "ENTIRE_INVESTIGATE_TOPIC =" ,
213- "ENTIRE_INVESTIGATE_FINDINGS_DOC =" ,
214- "ENTIRE_INVESTIGATE_STATE_DOC =" ,
215- "ENTIRE_INVESTIGATE_STARTING_SHA =" ,
204+ "TRACE_REVIEW_SESSION =" ,
205+ "TRACE_REVIEW_AGENT =" ,
206+ "TRACE_REVIEW_SKILLS =" ,
207+ "TRACE_REVIEW_PROMPT =" ,
208+ "TRACE_REVIEW_STARTING_SHA =" ,
209+ "TRACE_INVESTIGATE_SESSION =" ,
210+ "TRACE_INVESTIGATE_AGENT =" ,
211+ "TRACE_INVESTIGATE_RUN_ID =" ,
212+ "TRACE_INVESTIGATE_TOPIC =" ,
213+ "TRACE_INVESTIGATE_FINDINGS_DOC =" ,
214+ "TRACE_INVESTIGATE_STATE_DOC =" ,
215+ "TRACE_INVESTIGATE_STARTING_SHA =" ,
216216 }
217217 for _ , p := range prefixes {
218218 if strings .HasPrefix (kv , p ) {
0 commit comments