Files
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

196 lines
19 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
PASS: actual objective overlay lifecycle preserves separate ownership, late readiness/reopen, data refresh, pan/zoom/culling, supported sibling/shared-frame parents, coordinate offsets, native task-clear isolation and terminal cleanup; native rendering remains unverified
PASS: actual map element initializes each widget, retries missing widgets, updates position and changes only stale text/icon data; no native image-load claim
PASS: actual native fixture root/config ownership and idempotent cleanup preserve foreign map, selector excludes ordinary route, fixed budgets/screenshots/UGC boundaries retained; native operations not executed
PASS: actual full Inspect rejects canvas parenting, wrong active container/canvas, omitted origin offset, wrong rendered box and stale coordinates; differing origins and DPI accepted
PASS: actual long-warning phases retain visible label through1500ms checkpoint then restore radio before close; synthetic marker separated from unmoved player
PASS: actual Center places marker100screenpx left of pan center at both fixture zooms without altering disclosed coordinates
PASS: missing, child-only, malformed, zero and duplicate prefab root IDs rejected
PASS: delayed scene/inventory arrival, deferred preload, identity checks, stale replies, timeout and observer cleanup
PASS: actual inventory manifest, delayed/missing/wrong-owner item links, finite cap, consumed-stock refresh and preload ordering
PASS: spawn scene remains held through final acknowledgement and nearby use; leaving, reassignment, disconnect and teardown release it
PASS: production prison AI hold/release, repeat activation, authority/faction/player exclusion, dead actor and stop cleanup
PASS: actual protected/capped damage plus exact-actor terminal fixture bypass through delayed native damage, fail-closed ownership and untouched ordinary actor; no native claim
PASS: actual full planner selection/commit body, 360 equivalence scenarios, orders/reservations/cooldowns identical; one128-unit scan vs >10000 repeated unit visits; no FPS claim
PASS: actual observer monitor/recovery/cleanup rejects retained old controller, preserves new camera/editor/hints/timer, restarts once and retains normal recovery; native effects modeled from SDK, no runtime claim
PASS: former chat controller releases only its own callbacks and preserves replacement menu; current-owner stop/scope and repeated teardown remain intact
PASS: wrong observer fixture selector rejected before runtime/profile setup; no engine launched
PASS: actual depot radio/planning/two-leg state transitions, fixed deadline, late proof quarantine, finite import and no adoption after Stop
PASS: actual depot HQ lifecycle, existing planner priority, server/mode/owner gates, idempotent polling and owner replacement
PASS: actual full depot leaf, exact custody, isolated callbacks, finite reservation, false/unknown and Stop quarantine, once-only delivery and caps; native movement unqualified
PASS: actual authored identity capture, READY-only detached provenance, same shared stock admission, completed exact two-leg proof, lifetime caps and Stop no late adoption
actual mounted HQ dispatch planning, radio, ownership and lifecycle checks passed
/tmp/err-policy-tki2ggiz/check.cpp:136:8: error: redefinition of ‘struct ERR_HQRoadIntercept’
136 | struct ERR_HQRoadIntercept
| ^~~~~~~~~~~~~~~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:106:8: note: previous definition of ‘struct ERR_HQRoadIntercept’
106 | struct ERR_HQRoadIntercept
| ^~~~~~~~~~~~~~~~~~~
/tmp/err-policy-tki2ggiz/check.cpp: In function ‘int main()’:
/tmp/err-policy-tki2ggiz/check.cpp:243:14: error: ‘ERR_HQMountedInterceptRules’ does not name a type
243 | using Rules=ERR_HQMountedInterceptRules;ERR_HQBelief belief;SCR_AIGroup group;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/16/cassert:46,
from /tmp/err-policy-tki2ggiz/check.cpp:2:
/tmp/err-policy-tki2ggiz/check.cpp:244:9: error: ‘Rules’ has not been declared
244 | assert(Rules::Eligible(&belief,10000));
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:244:9: error: ‘Rules’ was not declared in this scope
244 | assert(Rules::Eligible(&belief,10000));
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:245:2: error: ‘ERR_ConvoyInterceptOrder’ was not declared in this scope
245 | ERR_ConvoyInterceptOrder order;order.Token=400001;order.Group=&group;order.SourceId="original-convoy";order.VehicleIndex=0;order.Position={1000,10,1300};order.IssuedAt=8000;order.ExpiresAt=125000;order.ObservedAt=5000;order.BeliefId=3;order.BeliefRevision=2;order.ReportId=1;
| ^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:245:33: error: ‘order’ was not declared in this scope
245 | ERR_ConvoyInterceptOrder order;order.Token=400001;order.Group=&group;order.SourceId="original-convoy";order.VehicleIndex=0;order.Position={1000,10,1300};order.IssuedAt=8000;order.ExpiresAt=125000;order.ObservedAt=5000;order.BeliefId=3;order.BeliefRevision=2;order.ReportId=1;
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:246:38: error: ‘Rules’ is not a class, namespace, or enumeration
246 | vector frozen=order.Position;assert(Rules::Current(&order,&belief,10000));belief.PredictedPosition={1050,10,1000};assert(Rules::Current(&order,&belief,11000)&&order.Position==frozen);belief.PredictedPosition={1000,10,1000};
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:246:31: error: expected primary-expression before ‘void’
246 | vector frozen=order.Position;assert(Rules::Current(&order,&belief,10000));belief.PredictedPosition={1050,10,1000};assert(Rules::Current(&order,&belief,11000)&&order.Position==frozen);belief.PredictedPosition={1000,10,1000};
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:246:31: error: expected ‘:’ before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:246:31: error: expected primary-expression before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:246:31: error: expected ‘)’ before ‘void’
246 | vector frozen=order.Position;assert(Rules::Current(&order,&belief,10000));belief.PredictedPosition={1050,10,1000};assert(Rules::Current(&order,&belief,11000)&&order.Position==frozen);belief.PredictedPosition={1000,10,1000};
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:246:123: error: ‘Rules’ is not a class, namespace, or enumeration
246 | vector frozen=order.Position;assert(Rules::Current(&order,&belief,10000));belief.PredictedPosition={1050,10,1000};assert(Rules::Current(&order,&belief,11000)&&order.Position==frozen);belief.PredictedPosition={1000,10,1000};
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:246:116: error: expected primary-expression before ‘void’
246 | vector frozen=order.Position;assert(Rules::Current(&order,&belief,10000));belief.PredictedPosition={1050,10,1000};assert(Rules::Current(&order,&belief,11000)&&order.Position==frozen);belief.PredictedPosition={1000,10,1000};
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:246:116: error: expected ‘:’ before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:246:116: error: expected primary-expression before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:246:116: error: expected ‘)’ before ‘void’
246 | vector frozen=order.Position;assert(Rules::Current(&order,&belief,10000));belief.PredictedPosition={1050,10,1000};assert(Rules::Current(&order,&belief,11000)&&order.Position==frozen);belief.PredictedPosition={1000,10,1000};
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:269:10: error: ‘Rules’ is not a class, namespace, or enumeration
269 | assert(!Rules::Current(&o,&b,now));}
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:270:30: error: ‘Rules’ is not a class, namespace, or enumeration
270 | order.VehicleIndex=3;assert(Rules::Current(&order,&belief,38000));order.VehicleIndex=5;assert(Rules::Current(&order,&belief,38000));
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:270:23: error: expected primary-expression before ‘void’
270 | order.VehicleIndex=3;assert(Rules::Current(&order,&belief,38000));order.VehicleIndex=5;assert(Rules::Current(&order,&belief,38000));
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:270:23: error: expected ‘:’ before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:270:23: error: expected primary-expression before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:270:23: error: expected ‘)’ before ‘void’
270 | order.VehicleIndex=3;assert(Rules::Current(&order,&belief,38000));order.VehicleIndex=5;assert(Rules::Current(&order,&belief,38000));
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:270:96: error: ‘Rules’ is not a class, namespace, or enumeration
270 | order.VehicleIndex=3;assert(Rules::Current(&order,&belief,38000));order.VehicleIndex=5;assert(Rules::Current(&order,&belief,38000));
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:270:89: error: expected primary-expression before ‘void’
270 | order.VehicleIndex=3;assert(Rules::Current(&order,&belief,38000));order.VehicleIndex=5;assert(Rules::Current(&order,&belief,38000));
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:270:89: error: expected ‘:’ before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:270:89: error: expected primary-expression before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:270:89: error: expected ‘)’ before ‘void’
270 | order.VehicleIndex=3;assert(Rules::Current(&order,&belief,38000));order.VehicleIndex=5;assert(Rules::Current(&order,&belief,38000));
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:271:10: error: ‘Rules’ is not a class, namespace, or enumeration
271 | assert(!Rules::Eligible(&belief,50001));assert(!Rules::Eligible(nullptr,10000));
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:271:50: error: ‘Rules’ is not a class, namespace, or enumeration
271 | assert(!Rules::Eligible(&belief,50001));assert(!Rules::Eligible(nullptr,10000));
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:273:9: error: ‘Rules’ is not a class, namespace, or enumeration
273 | assert(Rules::Select(&belief,10000,reserved,result)&&result==vector(1000,10,1300));assert(ERR_ConvoyPlacement::calls==1&&ERR_SettlementSafety::calls==1);assert(std::abs(ERR_ConvoyPlacement::heading-90)<.001);
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:273:2: error: expected primary-expression before ‘void’
273 | assert(Rules::Select(&belief,10000,reserved,result)&&result==vector(1000,10,1300));assert(ERR_ConvoyPlacement::calls==1&&ERR_SettlementSafety::calls==1);assert(std::abs(ERR_ConvoyPlacement::heading-90)<.001);
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:273:2: error: expected ‘:’ before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:273:2: error: expected primary-expression before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:273:2: error: expected ‘)’ before ‘void’
273 | assert(Rules::Select(&belief,10000,reserved,result)&&result==vector(1000,10,1300));assert(ERR_ConvoyPlacement::calls==1&&ERR_SettlementSafety::calls==1);assert(std::abs(ERR_ConvoyPlacement::heading-90)<.001);
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:274:26: error: ‘Rules’ is not a class, namespace, or enumeration
274 | road.width=5.99;assert(!Rules::Select(&belief,10000,reserved,result)&&result==vector::Zero);road.width=6;
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:275:90: error: ‘Rules’ is not a class, namespace, or enumeration
275 | int placementCalls=ERR_ConvoyPlacement::calls;ERR_SettlementSafety::clear=false;assert(!Rules::Select(&belief,10000,reserved,result)&&result==vector::Zero&&ERR_ConvoyPlacement::calls==placementCalls);ERR_SettlementSafety::clear=true;
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:276:43: error: ‘Rules’ is not a class, namespace, or enumeration
276 | ERR_ConvoyPlacement::clear=false;assert(!Rules::Select(&belief,10000,reserved,result)&&result==vector::Zero);ERR_ConvoyPlacement::clear=true;
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:277:95: error: ‘Rules’ is not a class, namespace, or enumeration
277 | road.points={{900,20,1300},{1100,20,1300}};placementCalls=ERR_ConvoyPlacement::calls;assert(!Rules::Select(&belief,10000,reserved,result)&&ERR_ConvoyPlacement::calls==placementCalls);road.points={{900,10,1300},{1100,10,1300}};
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:278:42: error: ‘Rules’ is not a class, namespace, or enumeration
278 | reserved.Insert({1000,10,1300});assert(!Rules::Select(&belief,10000,reserved,result));reserved.clear();
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:279:50: error: ‘Rules’ is not a class, namespace, or enumeration
279 | game.ai.manager.roads.resize(129,&road);assert(!Rules::Select(&belief,10000,reserved,result));game.ai.manager.roads={&road};
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:280:92: error: ‘Rules’ is not a class, namespace, or enumeration
280 | auto unknown=belief;unknown.HasVelocity=false;int queries=game.ai.manager.queries;assert(!Rules::Select(&unknown,10000,reserved,result)&&game.ai.manager.queries==queries);
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:281:36: error: ‘Rules’ is not a class, namespace, or enumeration
281 | Replication::server=false;assert(!Rules::Select(&belief,10000,reserved,result)&&game.ai.manager.queries==queries);Replication::server=true;
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:282:29: error: ‘Rules’ is not a class, namespace, or enumeration
282 | float score,heading;assert(Rules::FromPolyline({{900,10,1300},{1100,10,1300}},belief.Position,belief.Velocity,{1000,10,1350},reserved,result,score,heading)&&result.z==1300);
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:282:22: error: expected primary-expression before ‘void’
282 | float score,heading;assert(Rules::FromPolyline({{900,10,1300},{1100,10,1300}},belief.Position,belief.Velocity,{1000,10,1350},reserved,result,score,heading)&&result.z==1300);
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:282:22: error: expected ‘:’ before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:282:22: error: expected primary-expression before ‘void’
/tmp/err-policy-tki2ggiz/check.cpp:282:22: error: expected ‘)’ before ‘void’
282 | float score,heading;assert(Rules::FromPolyline({{900,10,1300},{1100,10,1300}},belief.Position,belief.Velocity,{1000,10,1350},reserved,result,score,heading)&&result.z==1300);
| ^~~~~~
/tmp/err-policy-tki2ggiz/check.cpp:282:112: error: expected primary-expression before ‘{’ token
282 | float score,heading;assert(Rules::FromPolyline({{900,10,1300},{1100,10,1300}},belief.Position,belief.Velocity,{1000,10,1350},reserved,result,score,heading)&&result.z==1300);
| ^
/tmp/err-policy-tki2ggiz/check.cpp:282:126: error: expected primary-expression before ‘,’ token
282 | float score,heading;assert(Rules::FromPolyline({{900,10,1300},{1100,10,1300}},belief.Position,belief.Velocity,{1000,10,1350},reserved,result,score,heading)&&result.z==1300);
| ^
/tmp/err-policy-tki2ggiz/check.cpp:283:10: error: ‘Rules’ is not a class, namespace, or enumeration
283 | assert(!Rules::Ahead(belief.Position,belief.Velocity,{1000,10,1299}));assert(!Rules::Ahead(belief.Position,belief.Velocity,{1000,10,1901}));
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:283:80: error: ‘Rules’ is not a class, namespace, or enumeration
283 | assert(!Rules::Ahead(belief.Position,belief.Velocity,{1000,10,1299}));assert(!Rules::Ahead(belief.Position,belief.Velocity,{1000,10,1901}));
| ^~~~~
/tmp/err-policy-tki2ggiz/check.cpp:284:55: error: ‘Rules’ is not a class, namespace, or enumeration
284 | Array<vector> oversized(1025,{1000,10,1300});assert(!Rules::FromPolyline(oversized,belief.Position,belief.Velocity,{1000,10,1350},reserved,result,score,heading));
| ^~~~~
Traceback (most recent call last):
File "/home/jakub/devel/escapistsrereintroduced/tests/test_hq_mounted_intercept.py", line 25, in <module>
run(r'''
~~~^^^^^
#include <cassert>
^^^^^^^^^^^^^^^^^^
...<73 lines>...
}
^
''')
^^^^
File "/home/jakub/devel/escapistsrereintroduced/tests/policy_harness.py", line 13, in run
subprocess.run(['g++','-std=c++17','-Wall','-Werror',str(p/'check.cpp'),'-o',str(p/'check')],check=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/subprocess.py", line 578, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['g++', '-std=c++17', '-Wall', '-Werror', '/tmp/err-policy-tki2ggiz/check.cpp', '-o', '/tmp/err-policy-tki2ggiz/check']' returned non-zero exit status 1.
Traceback (most recent call last):
File "/tmp/erri-mounted-intercept-root-1247/run-suite.py", line 21, in <module>
try:module.check()
~~~~~~~~~~~~^^
File "/home/jakub/devel/escapistsrereintroduced/tools/check.py", line 88, in check
subprocess.run([sys.executable,str(ROOT/'tests'/name)],check=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/erri-mounted-intercept-root-1247/run-suite.py", line 12, in track
try:result=original(args,*a,**kw)
~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib/python3.14/subprocess.py", line 578, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '/home/jakub/devel/escapistsrereintroduced/tests/test_hq_mounted_intercept.py']' returned non-zero exit status 1.
PASS: 35 prefabs have unique saved root entity IDs
PASS: 299 original script entries tracked across 18 unfinished responsibilities
PASS: 1 isolated addons, acyclic dependencies, 57 unique resources, exact vanilla/authorized external references
Suite exit 1 programs 19 unchanged True