XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEEDToolBox

【WinUI】XFE精英危险工具箱

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFEEDToolBox

Observe original AI takeover after reset eligibility rejection

a53e8fa
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

6 个文件 +52 -2
Modified XFEEDToolBox.Core/Navigation/DockingValidationProof.cs +14 -0
@@ -5,6 +5,20 @@ public static class DockingValidationProof
5 5 private static bool True(JsonElement value,string name)=>value.TryGetProperty(name,out var field)&&field.ValueKind==JsonValueKind.True;
6 6 private static bool Near(JsonElement value,string name,double expected)=>value.TryGetProperty(name,out var field)&&field.ValueKind==JsonValueKind.Number&&double.IsFinite(field.GetDouble())&&Math.Abs(field.GetDouble()-expected)<=.001;
7 7 private static long Number(JsonElement value,string name)=>value.TryGetProperty(name,out var field)&&field.TryGetInt64(out var number)?number:-1;
8 public static bool RejectedBeforeResetDispatch(JsonElement value)
9 {
10 static bool False(JsonElement row,string name)=>row.TryGetProperty(name,out var field)&&field.ValueKind==JsonValueKind.False;
11 if(!True(value,"failed")||!False(value,"applied")||!False(value,"pending")||!False(value,"originalResetCalled")
12 ||!False(value,"originalDockingStartAttempted")||!False(value,"originalDockingStartCalled")
13 ||!value.TryGetProperty("phase",out var phase)||phase.GetString()!="failed-no-replay"
14 ||!value.TryGetProperty("failureStage",out var stage)||stage.ValueKind!=JsonValueKind.String)return false;
15 // The original game may take over between our reference frame and
16 // either native eligibility check. Observe it without resending reset.
17 return stage.GetString()!.StartsWith("initial-telemetry-schema | ",StringComparison.Ordinal)
18 &&Number(value,"nativeGeneration")==0
19 ||stage.GetString()!.StartsWith("post-zero-telemetry-schema | ",StringComparison.Ordinal)
20 &&Number(value,"nativeGeneration")>0;
21 }
8 22 public static bool Persistent075(JsonElement value)=>Number(value,"stage")==3&&Number(value,"unseededFrames")>=3&&Number(value,"seedSequence")>0
9 23 &&Number(value,"lastSequence")>Number(value,"seedSequence")&&True(value,"commandRestored")&&Near(value,"commandAfter",0)
10 24 &&Near(value,"accumulatorAfter",.75)&&Near(value,"sourceAfter",.75);
Modified XFEEDToolBox.Core/Navigation/NativeSystemFlightControlDriver.DockingReset.cs +7 -1
@@ -91,7 +91,13 @@ public sealed partial class NativeSystemFlightControlDriver
91 91 while(true)
92 92 {
93 93 token.ThrowIfCancellationRequested();var receipt=LastOriginalDockingResetReceipt!.Value;
94 if(Flag(receipt,"failed")||Flag(receipt,"expired"))throw new InvalidOperationException("Original reset was rejected: "+(receipt.TryGetProperty("issue",out var issue)?issue.GetString():"no detail"));
94 if(Flag(receipt,"failed")||Flag(receipt,"expired"))
95 {
96 var error=new InvalidOperationException("Original reset was rejected: "+(receipt.TryGetProperty("issue",out var issue)?issue.GetString():"no detail"));
97 if(!emptyDockingDiagnostic&&DockingValidationProof.RejectedBeforeResetDispatch(receipt))
98 throw new DockingResetObservationPendingException(dockingResetRequestId,selected.MarketId!.Value,frame.ObservedAt,error);
99 throw error;
100 }
95 101 if(Flag(receipt,"applied"))
96 102 {
97 103 if(!DockingValidationProof.OriginalResetZero(receipt,frame.ShipEntity,selected.MarketId!.Value,frame.ObservedAt,DateTimeOffset.UtcNow))
Modified XFEEDToolBox.Core/Navigation/SystemNavigationRunner.cs +1 -1
@@ -16,7 +16,7 @@ public sealed record SystemNavigationProgress(NavigationRunState State,SystemNav
16 16 public sealed class DockingHandoffException(string message,long marketId):InvalidOperationException(message)
17 17 {public long MarketId{get;}=marketId;}
18 18 public sealed class DockingResetObservationPendingException(string requestId,long marketId,DateTimeOffset requestedAt,Exception inner)
19 :Exception("归零请求回执暂未确认,正在只读观察自动降落,不重发请求。",inner)
19 :Exception("归零尚未确认,正在只读核对游戏自动降落接管,不重发请求。",inner)
20 20 {public string RequestId{get;}=requestId;public long MarketId{get;}=marketId;public DateTimeOffset RequestedAt{get;}=requestedAt;}
21 21
22 22 /// <summary>One local leg, with expiring inputs, actual target acknowledgements and bounded telemetry recovery.</summary>
Modified XFEEDToolBox.Test/DockingValidationProofTests.cs +15 -0
@@ -5,6 +5,21 @@ namespace XFEEDToolBox.Test;
5 5 [TestFixture]
6 6 public class DockingValidationProofTests
7 7 {
8 [Test]public void RejectedResetCanOnlyObserveTakeoverBeforeOriginalDispatch()
9 {
10 var receipt=JsonSerializer.SerializeToElement(new{failed=true,applied=false,pending=false,originalResetCalled=false,originalDockingStartAttempted=false,
11 originalDockingStartCalled=false,phase="failed-no-replay",failureStage="initial-telemetry-schema | local.read.reply",nativeGeneration=0});
12 Check.That(DockingValidationProof.RejectedBeforeResetDispatch(receipt));
13 var data=System.Text.Json.Nodes.JsonNode.Parse(receipt.GetRawText())!.AsObject();
14 data["failureStage"]="post-zero-telemetry-schema | health.read.reply";data["nativeGeneration"]=2;
15 Check.That(DockingValidationProof.RejectedBeforeResetDispatch(JsonSerializer.SerializeToElement(data)));
16 foreach(var change in new Action<System.Text.Json.Nodes.JsonObject>[]
17 {row=>row["originalResetCalled"]=true,row=>row.Remove("originalDockingStartAttempted"),row=>row["failureStage"]="mapper-rejected-no-replay",row=>row["pending"]=true})
18 {
19 var changed=data.DeepClone().AsObject();change(changed);
20 Check.That(!DockingValidationProof.RejectedBeforeResetDispatch(JsonSerializer.SerializeToElement(changed)));
21 }
22 }
8 23 private static JsonElement Proof(int stage=3,int frames=3,double accumulator=.75,double source=.75,int sequence=14,string id="trial",bool restored=true,bool zero=false)
9 24 =>JsonSerializer.SerializeToElement(new{stage,unseededFrames=frames,seedSequence=10,lastSequence=sequence,trialId=id,commandRestored=restored,commandAfter=0,accumulatorAfter=accumulator,sourceAfter=source,zeroVerified=zero});
10 25 [Test]public void SourceAlreadyZeroCannotPassReproduction()=>Check.That(!DockingValidationProof.Persistent075(Proof(source:0)));
Modified XFEEDToolBox.Test/SystemNavigationRunnerTests.cs +8 -0
@@ -38,6 +38,14 @@ public class SystemNavigationRunnerTests
38 38 private static SystemFlightFrame Landing(int sequence,DateTimeOffset at,NativeAssistState assist)=>Docked with{Sequence=sequence,ObservedAt=at,Mode=LocalFlightMode.Normal,
39 39 TargetDistance=7000,TargetPosition=new(0,0,7000),Speed=50,Assists=new(false,true,false),DockingAssist=assist,
40 40 Clearance=new(20,DockingPermission.Granted,9,Now,Now.AddMinutes(5))};
41 [Test] public async Task RejectedUndispatchedResetObservesActualAiOnDamagedButProtectedShip()
42 {
43 var at=Now;var arms=0;var ship=Player with{Ships=[new(){ShipId=7,HullHealth=.784498}]};
44 var driver=new Fake{Frame=n=>{at=Now.AddMilliseconds((n-1)*100);return n==3?Docked with{Sequence=n,ObservedAt=at}:Landing(n,at,n==1?NativeAssistState.Ready:NativeAssistState.Engaged);},
45 OnDecision=d=>{if(d.Actions.HasFlag(SystemNavigationAction.EnableDockingAssist)){arms++;throw new DockingResetObservationPendingException("rejected-before-dispatch",20,Now,new InvalidOperationException("initial telemetry rejected"));}}};
46 var runner=new SystemNavigationRunner(()=>ship,()=>at);await runner.RunAsync(Target,driver);
47 Check.Equal(NavigationRunState.Completed,runner.State);Check.Equal(1,arms);Check.Equal(1,driver.Calls.Count(x=>x=="apply"));Check.Equal(1,driver.Calls.Count(x=>x=="release"));
48 }
41 49 [Test] public async Task LostResetAcknowledgementObservesActualAiAndDockingWithoutRearmingOrSuspending()
42 50 {
43 51 var at=Now;var arms=0;var driver=new Fake{Frame=n=>{at=Now.AddMilliseconds((n-1)*100);if(n==2)throw new IOException("Brief telemetry interruption during handoff");return n==4?Docked with{Sequence=n,ObservedAt=at}:Landing(n,at,n==1?NativeAssistState.Ready:NativeAssistState.Engaged);},
Modified docs/TRADE-WORK-COORDINATION.md +7 -0
@@ -2,6 +2,13 @@
2 2
3 3 更新:2026-10-25(Asia/Shanghai)。最新状态以紧接下方的记录为准,后文保留历史故障及验收过程。
4 4
5 ## 归零执行前拒绝后继续核对实际AI;已维修并再次离场(2026-10-25 07:31)
6
7 - r10在Homer进场时被原归零扩展的资格检查拒绝;后台原图确认游戏已自行接管自动降落,07:30:03原始Docked确认Homer/4210924803,而程序此前已因拒绝终止。本次78.4498%船体低于扩展95%的诊断门槛;实际AI也可能在Core参考帧后已启动,完整条件不能仅按一行泛化错误断定。没有新HullDamage或Died证据,不把本次停止称为受攻击。
8 - 现在仅在同一请求回执严格证明初始/归零后资格检查拒绝、原始reset与显式启动都尚未调用时,正式流程进入只读AI/停靠核对;诊断仍严格失败,原生95%门槛未改,不把拒绝当作成功归零。实际AI不接管时原2秒移动保护及30秒上限保留,不重发arm、不重新抢轴、不因短暂读失败suspend。其他阶段、缺失证明、已执行或错市场仍拒绝。44项星系导航与24项停靠相关筛选测试通过,含78.4498%船体的真实AI接管模型及错误证明拒绝;Core Release零警告零错误。
9 - 只将已停止的工具箱90604更新至r11/101908,游戏101440与加载器0.5.17保留,没有重进或重启游戏。程序已确认Homer原始维护回执:燃油259Cr、船体修复16715Cr、完整度230Cr,总计17204Cr,记入route-ledger;不得继续使用维护前累计收益作为最新净收益。随后程序07:31:13自行Undocked,前往Polyakov刷新源站报价,尚未新增采购。这些已确认成本与仍未完成的新货物收益分别保留。
10 - 当前持续循环由工具箱持有,助手只检测与修复真实停止,不派发子智能体、不建立定时任务、不用键鼠或助手逐项游戏操作。对话结束不取消程序。后续是否完成仍以实际停靠、原始订单回执和result为准。
11
5 12 ## 自动离场排队超时修复及原会话恢复(2026-10-25 07:24)
6 13
7 14 - 原752t Gallite已完成售出;随后07:13:57工具箱自行从Polyakov空载离站,原游戏自动起飞持续显示排队等待、速度0,07:17:37与07:18:48后台原图分别确认剩余离站时间1:20与0:09。07:19:06原始HullDamage确认船体78.4498%;没有观察到Died。独立受损保护已退出并通过官方启动器重启97564→101440,不把一般危险标记当作这次实际受损的证据,也不把尚未发生的维修费用记入利润。