"""Execute the actual objective-inference rules; audit the HQ ingestion boundaries.""" from policy_harness import ROOT, body, run P=ROOT/'addons/core/Scripts/Game/ERR/10_AI/ERR_HQDoctrine.c' methods='\n'.join(body(P,x) for x in ('static float Threat(', 'static bool Forward(', 'static vector Approach(')) methods=methods.replace('Math.','Math::').replace('vector.','vector::').replace('ERR_HQPursuitRules.','ERR_HQPursuitRules::').replace('float alignment;', 'float alignment=0;') run(r''' #include #include #include struct vector {float x=0,y=0,z=0; vector()=default;vector(float a,float b,float c):x(a),y(b),z(c){} float& operator[](int i){return i==0?x:i==1?y:z;} vector operator-(vector b)const{return {x-b.x,y-b.y,z-b.z};} vector operator+(vector b)const{return {x+b.x,y+b.y,z+b.z};} vector operator*(float n)const{return {x*n,y*n,z*n};} float Length()const{return std::sqrt(x*x+y*y+z*z);} vector Normalized()const{return *this*(1/Length());} static float Dot(vector a,vector b){return a.x*b.x+a.y*b.y+a.z*b.z;}}; struct Math {static float Max(float a,float b){return std::max(a,b);}static float Clamp(float n,float a,float b){return std::clamp(n,a,b);}}; struct ERR_HQPursuitRules { static bool Finite(float v){return std::isfinite(v);} static bool PositionValid(vector v){return Finite(v.x)&&Finite(v.y)&&Finite(v.z);} static bool Heading(vector v,bool known){return known&&PositionValid(v)&&v.Length()>=.5&&v.Length()<=70;} static vector Direction(vector v,bool){v.y=0;return v.Normalized();} }; struct Doctrine {'''+methods+r'''}; int main(){ vector origin{1000,0,1000},north{1000,0,3000},south{1000,0,0},velocity{0,0,4}; assert(Doctrine::Forward(north,origin,velocity,true)); assert(!Doctrine::Forward(south,origin,velocity,true)); assert(!Doctrine::Forward(north,origin,velocity,false)); assert(!Doctrine::Forward({1000,0,1100},origin,velocity,true)); assert(Doctrine::Threat(north,origin,velocity,true,1,50)>Doctrine::Threat(south,origin,velocity,true,1,50)); assert(std::abs(Doctrine::Threat(north,origin,velocity,false,0,50)-.2)<.0001); assert(Doctrine::Threat(north,origin,velocity,true,.3,500)