From 62562ef643dc0f0fe486bfc24feb561c90a202f8 Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 16:55:57 +0800 Subject: [PATCH 1/9] docs: compose WorldState and GeoTask public portal --- site/index.html | 159 ++++++++++-------------------------------------- 1 file changed, 31 insertions(+), 128 deletions(-) diff --git a/site/index.html b/site/index.html index a27a845..f1726a7 100644 --- a/site/index.html +++ b/site/index.html @@ -4,8 +4,8 @@ - - + + @@ -13,150 +13,53 @@ - - - + + + - - - GeoTask|面向 AI Agent 的时空任务上下文引擎 - + + + WorldState + GeoTask|从现实状态到任务上下文 + -
+
-

Spatiotemporal Task Context Engine for AI Agents

不是给 Agent 更多上下文,
而是给它当前任务真正需要的上下文。

GeoTask 是面向 AI Agent 的时空任务上下文引擎。它围绕任务构造相关、适用、分辨率足够且可明确判断充分性的上下文,并在现实变化后只重评真正受影响的部分。

Task Sufficiency at Minimum Context Cost —— 用最小必要上下文支撑任务,同时让 Critical Context Miss 保持可见。
+

面向智能体的开放时空基础

从现实状态,
到任务真正需要的上下文。

WorldState 负责把现实状态表达得可信、可追溯、可重放;GeoTask 负责围绕当前任务,从这些现实信息和其他数据源中构造真正需要、适用且足够的上下文。

不是给 Agent 更多上下文,而是先知道世界是什么,再给当前任务真正需要的上下文。
-

Problem

Agent 的上下文问题,不是“装多少”,而是“什么足够”。

长上下文窗口、RAG、数据库和工具可以提供更多信息,但不会自动回答这些信息是否真的适用于当前任务。

相关 ≠ 适用

同一事实可以与任务主题相关,却不适用于当前对象、空间、时间窗口或运行条件。

有数据 ≠ 分辨率足够

存在地图、气象、库存或传感器值,并不意味着空间、时间、精度和语义粒度足以支持任务。

上下文很多 ≠ 上下文充分

大 payload 仍可能遗漏 critical requirement;大量可选信息也可能只增加 token、网络与认知成本。

+

为什么要分成两层

Agent 既要知道“世界是什么”,也要知道“这个任务需要知道什么”。

这两个问题紧密相连,但不是同一个问题。把它们混在一个模型、一个提示词或一个通用数据层里,往往会同时丢失现实可信度和任务针对性。

世界有状态

同一对象会变化、过期、冲突,也可能暂时未知。现实状态必须保留来源、有效期和不确定性。

任务有需求

同一事实对不同任务的重要性不同;相关 ≠ 适用,有数据 ≠ 分辨率足够。

更多 ≠ 足够

大量上下文仍可能遗漏关键需求,也可能把无关信息、网络成本和 token 成本带入 Agent。

-

Task → Context,而不是 World → Prompt

GeoTask 先从任务建立 Requirement,再评估候选信息;Relevance、Applicability、Resolution Adequacy 和 Sufficiency 保持分离。

Task→Requirements→Candidates→Relevance→Applicability→Resolution→Sufficiency→Minimum TaskContext
核心对象包括 TaskFrame、ContextRequirement、ContextCandidate、ContextAssessment、ContextGap、SufficiencyAssessment、TaskContext 与 ContextConstructionTrace。
+

一个公共故事:Reality → WorldState → GeoTask → Agent

WorldState 与 GeoTask 可以共享一个公共入口,因为二者组成了连续的认知链;但它们仍是两个独立 Foundation,各自拥有自己的语义、仓库、路线图和 Benchmark。

Reality现实世界→WorldState世界现在是什么?→GeoTask这个任务需要知道什么?→Agent推理与行动
公共入口可以合并;工程所有权不能合并。一个故事 ≠ 一个仓库。
-

Boundary

GeoTask 不拥有世界真值,也不替代 Agent Runtime。

上游负责现实候选信息,下游负责推理、领域判断与动作授权;GeoTask 拥有的是 Task-relative Context。

UpstreamWorld / Data Providers

WorldState、GIS、API、Sensor、Database 或 Other Provider 提供候选事实与状态。

GeoTaskTask Context

判断当前任务需要什么,哪些候选相关、适用、分辨率足够,以及上下文是否充分。

DownstreamAgent / Domain System

Agent Harness 运行推理;领域系统继续拥有专业判断、授权、执行与责任边界。

Context Sufficient ≠ Domain Decision ≠ Action Authorization
+

边界

两个 Foundation,分别守住现实可信度与任务充分性。

WorldState 不知道当前任务

它只负责事实、证据、未知、冲突、有效期、历史和变化。

GeoTask 不拥有世界真值

它消费 WorldState、GIS、API、Sensor、Database 或其他 Provider,把信息变成任务相对上下文。

Context Sufficient ≠ Domain Decision ≠ Action Authorization

上下文充分不等于领域结论成立,更不等于现实动作已经获得授权。

-

Current Public Proof

已经有独立消费者,不再只靠定义证明自己。

公共 Core 已覆盖 Requirement、Candidate、Relevance / Applicability / Resolution、Sufficiency、Minimum Context 与 Temporal Reassessment。

Warehouse Robot Picking

室内 GIS、库存 API 与通道净宽传感器分别提供 ContextCandidate;GeoTask 构造 Requirement、判断充分性并在传感器变化后只刷新受影响 Requirement。

Indoor GIS / Inventory API / Aisle Sensor - ↓ -TaskFrame → ContextRequirement[] → ContextCandidate[] - ↓ -Relevance / Applicability / Resolution Adequacy - ↓ -Sufficiency → Minimum Sufficient TaskContext - ↓ -Sensor Change → Bounded Temporal Reassessment

关键反例:即使通道实测宽度小于机器人宽度,只要测量本身相关、适用、新鲜且分辨率足够,GeoTask 仍可判断“上下文充分”;但不会判断“机器人可以通行”。

打开完整示例 →
+
World Foundation

WorldState

世界现在是什么?什么是真的、未知的、冲突的、过期的或已经变化?

WorldState 是开放、轻量、领域无关的世界状态基础,把观察、证据、权威记录和外部 Provider 组织为可追溯、可重放的现实状态。

  • Entity / Observation / Evidence / Provenance
  • StateAssertion / Relation / Validity
  • Unknown / Conflict / History / StateDelta
  • North Star:Truth Fidelity
Task Context Foundation

GeoTask

当前任务真正需要知道什么?这些信息是否适用、分辨率足够,而且上下文已经充分?

GeoTask 是面向 AI Agent 的时空任务上下文引擎。它不是把整个世界塞进上下文,而是构造当前任务真正需要的最小充分上下文。

  • TaskFrame / ContextRequirement / ContextCandidate
  • Relevance / Applicability / Resolution Adequacy
  • SufficiencyAssessment / TaskContext / ContextGap
  • 北极星:Task Sufficiency at Minimum Context Cost
-

Measure

充分前提下的最小成本,而不是 Context Reduction 本身。

任何“减少上下文”的正指标都必须配反指标,避免系统通过漏掉关键事实获得漂亮数字。

Critical Requirement Coverage ↑Counter: Critical Context Miss Rate
Sufficiency Accuracy ↑Counter: False Sufficiency Rate
Applicability Accuracy ↑Counter: Irrelevant / Inapplicable Context Rate
Context Rebuild Locality ↑Counter: Unnecessary Context Rebuild
+

组合方式

紧密结合,但不强耦合。

GeoTask 可以直接消费 WorldState,也可以消费 GIS、API、传感器、数据库或其他世界模型。WorldState 同样可以服务传统 GIS、数字孪生和其他应用,而不要求它们使用 GeoTask。

WorldState 可独立

删除 GeoTask 后,WorldState 仍应能作为领域无关的世界状态基础运行。

GeoTask 可独立

不使用官方 WorldState,GeoTask 仍应能完成 Task → Context。

组合时更完整

WorldState 提供可信现实,GeoTask 将现实裁剪成任务充分上下文,二者在动态任务中天然形成连续链路。

Task → Context 是 GeoTask 的中心;World → State 是 WorldState 的中心。公共页面可以组合,但语义所有权必须继续分离。
-

Research Roadmap

下一阶段研究 Task Context 方法本身。

Requirement Derivation

稳定的 Task → Requirement 方法与推导轨迹。

Applicability & Resolution

把对象、空间、时间、精度和语义分辨率变成显式要求。

Minimum Context Cost

在 Critical Context Miss 不上升的前提下降低上下文成本。

Temporal Reassessment

变化只触发有界重评和必要的最小重建。

Independent Consumers

用更多领域验证公共 Core 不被单一业务塑形。

Open Method & Protocol

长期公共资产是 Method、Engine、Benchmark 与开放合同。

关于旧定位:Verifiable World Model / World-State Cycle / Verification 资产继续作为历史兼容面维护,但不再定义长期语义所有权。当前定位以 Task Context Engine 为准。
+

实证

不是只画架构图:两个 Foundation 都要证明自己能够独立工作。

GeoTask · Independent Consumer

Warehouse Robot Picking

这个公开案例不依赖 Lowa,也不要求官方 WorldState。它从 Indoor GIS / Inventory API / Aisle Sensor 获取候选信息,再由 GeoTask 判断当前拣货任务真正需要什么。

TaskFrame → ContextRequirement[] → ContextCandidate[] +Relevance / Applicability / Resolution Adequacy +→ Sufficiency → Minimum Sufficient TaskContext +Sensor Change → Bounded Temporal Reassessment

例如:当“通道实测宽度小于机器人宽度”时,系统可以明确区分“上下文充分”和“机器人可以通行”这两个不同结论。

查看独立消费者 →
WorldState · Independent Consumer

Cold-chain State

WorldState 的独立消费者使用冷链状态证明现实状态语义可以脱离 GeoTask 和低空业务存在:状态、证据、有效期、未知与冲突仍然具有独立价值。

Observation → Evidence → StateAssertion +→ Validity / Provenance +→ Unknown / Conflict Preservation +→ WorldStateSnapshot
查看 WorldState 独立消费者 →
-
-
-
-

P1 Reference Agent:历史 Product Track 的完整闭环

GT01—GT42证明单项能力;Reference Agent把新证据、World State、Discrepancy、Correction、Impact与Control串成一条可运行、可失败、可重放的设施评估更新链。它继续作为已发布兼容资产保留,但不再定义 GeoTask 的当前产品定位。

- 进入Reference Agent体验 → -
-
-
rev1 → rev2新观测记录先只更新事实,不把旧评估偷偷一起修改。
-
Discrepancy → Impact注册Artifact明确哪些结论已经stale、哪些路径需要重算、哪些结果继续复用。
-
rev3只重算障碍距离与净空结论,不触发整站全局重算。
-
Control条件全部满足只使报告更新eligible,生产写入和现实动作仍为false。
-
- -
-
+

度量

两个项目不靠“功能数量”证明价值,而靠各自的正指标与反指标。

WorldState:Truth Fidelity

关注 State Correctness、Provenance Coverage、Validity Accuracy、Conflict Preservation、Replayability;反指标是 Unsupported State Rate / False Resolution Rate。

GeoTask:任务充分性

关注 Critical Requirement Coverage、Sufficiency Accuracy、Context Reduction、Applicability Accuracy;反指标是 Critical Context Miss Rate / False Sufficiency Rate / Irrelevant Context Rate。

- -
-
-
-

GT01—GT42公开参考例

共42个可验证参考例,对应38个场景入口;GT38—GT42作为一个五阶段复合案例,完整展示无人机身份从证据审定到应用审批的治理链。

- 查看中文文档导航 → -
- - - -
-

4行动与可行性:从判断走向执行

-
- GT10

两台机器人抢同一条窄通道,谁先走?

把容量、占用时间和优先级转化为可执行协调计划。

进入体验 →
- GT11

目标只有50米,机器人为什么绕行300米?

几何距离不等于对象在真实网络中的可达路线。

进入体验 →
- GT12

电量够到达,无人机为什么仍不能起飞?

能到达目标不等于能保留安全余量完成任务。

进入体验 →
- GT13

道路开放,车辆为什么还是过不去?

道路状态与具体车辆的安全空间包络必须分别判断。

进入体验 →
- GT14

最近的救援队,为什么不一定最快到达?

直线距离只是空间事实,派遣动作必须验证真实路线、准备时间和响应窗口。

进入体验 →
- GT15

地图说可以通行,机器人为什么停下来了?

静态地图描述结构可通行性,实时感知决定当前路线是否被障碍占据。

进入体验 →
- GT16

计划已经安全,为什么无人机仍要持续监测?

初始间隔满足要求,但A机延误40秒后预测间隔从120秒缩至80秒;结论仍可用,却必须持续监测并准备增量复核。

进入体验 →
- GT17

同一个事件被上报十次,系统应该生成十个任务吗?

空间、时间和事件语义一致时,应合并处置任务并保留全部来源证据。

进入体验 →
- GT18

最短路线已经找到,为什么救援机器人仍然不能进入?

路线能够到达目标仍不足以执行,还必须核验危险区和具体设备耐受能力。

进入体验 →
- GT19

无人机已经到达目标上空,为什么仍然不能投放物资?

导航到达、高度和时间合规仍不足以释放载荷,还必须取得新鲜的地面净空证据。

进入体验 →
- GT20

车辆已经获得绿灯,为什么仍然不能进入路口?

信号许可仍不足以进入冲突区,还必须证明下游出口净空并能容纳完整车辆。

进入体验 →
-
-
-
-

5世界状态循环:观测记录、快照与增量复核

-
- GT21

遥测显示延误60秒,运行审核记录显示55秒,AI应该相信哪一个?

同一架无人机的延误数据来自两个系统。直接覆盖、取平均或按到达顺序选择都会掩盖冲突,必须使用业务方明确声明的处理规则。

进入体验 →
- GT22

无人机的位置和电量来自两个系统,AI怎样形成同一时刻的可靠运行快照?

位置与电量分别到达时,不能简单拼接成“当前状态”。系统必须确认对象、时间和字段归属,才能形成可追溯的统一运行快照。

进入体验 →
- GT23

无人机飞行五分钟后位置和电量都变了,系统如何证明“现在”不是“刚才”?

只覆盖最新值会丢失历史和变化依据。系统必须保留前后运行快照,绑定300秒时间差,并明确记录位置、电量和对象有效期变化。

进入体验 →
- GT24

临时禁飞区发布后,哪些航线、任务和审批结论必须重新检查?

医疗航线穿越临时禁飞区,巡检航线绕开。系统只将医疗航线、任务、审批和起飞动作纳入复核链,避免全量重算或只更新地图。

进入体验 →
- GT25

无人机位置更新后,哪些安全距离需要重算,哪些结果可以继续沿用?

无人机从走廊100米移动到130米后,只重算与无人机位置相关的两项安全距离,同时保留固定设施间距和电池余量。

进入体验 →
- GT26

飞行服务站营业时间已经失效,系统应该改哪条数据,而不是推翻全部结果?

服务站营业计划从08:00—22:00调整为09:00—18:00,系统只允许替换营业计划,保留位置、频率、服务类型和联系方式,并阻断20:30任务直至复核。

进入体验 →
- GT27

一条气象数据更新后,如何只复核受影响的飞行任务?

东区风速由6升至12米/秒后,只复核同区域且处于更新生效时段的配送和应急任务;一个结果变为不适飞,另一个复核后仍适飞,西区和更新前任务继续复用。

进入体验 →
- GT28

路线安全、天气合格,就可以自动起飞吗?

路线、高度、天气窗口和风速预检全部通过,但空域、运营人、起降场、气象放行和任务授权仍缺失;预检结论可引用,自动起飞授权与起飞指令保持阻断。

进入体验 →
-
-
- -
-

7动态世界对象:移动对象、轨迹与时间观测

-
- GT33

三个带时间位置点连起来,就是一条可验证轨迹吗?

用移动对象引用、严格递增的带时区时间戳和三次二维观测建立离散轨迹,确定性计算持续300秒;不插值、不预测、不地图匹配,也不执行现实动作。

进入体验 →
- GT34

三个轨迹样本之间,每一段到底移动了多远、多快?

将三次明确观测按相邻顺序绑定为两个分段,分别计算持续120/180秒、距离60/90个文档水平单位和0.5水平单位/秒平均速度;不插值、不推断瞬时速度、不预测未来或执行动作。

进入体验 →
- GT35

位置几乎没变就是停留,十分钟没观测就是失联吗?

使用调用方显式声明的5米停留半径、120秒最短时长、300秒最大观测间隔和缺口许可,将三个相邻分段分类为停留候选、已观测移动和观测缺口;不允许缺口标记时返回不可核验,不推断失联、异常或连续运动。

进入体验 →
- GT36

两段平均速度变了,就能证明瞬时加速度和连续运动吗?

以相邻分段中点为代表时刻,在调用方声明的300秒最大观测间隔内计算平均速度变化率;输出零加速度、正加速度和缺口驱动的不可核验,不推断瞬时或向量加速度、方向变化、未来位置或现实动作。

进入体验 →
- GT37

两段轨迹只差60秒和5米,就能自动认定为同一个对象吗?

比较前一轨迹末样本与后一轨迹首样本,在调用方声明的时间、距离和对象类别策略下输出对象同一性候选、不同对象候选或不可核验;不自动归并身份、不改写subject_ref,也不证明现实身份。

进入体验 →
-
复合案例 · 5阶段

巡检无人机短暂失联后被重新编号,如何确认并安全归并身份?

虚构巡检无人机UAV-017进入建筑遮挡区后短暂失联,恢复观测时被系统建立为新的临时主体。资产登记证据与人工复核均支持“同一架无人机”,但GeoTask仍将审定、归并提案、提案审批、变更请求和应用审批拆成五个可审计阶段。

-
-
-
-
- +

共同下一步

真正值得二者一起展示的,是现实变化后的动态闭环。

静态页面只是入口。长期共同主线应展示:现实发生变化后,WorldState 如何表达变化,GeoTask 如何只重评受影响的任务需求。

1
Reality changes

新的观察、证据、冲突、失效或 Provider 状态出现。

2
WorldState → StateDelta

明确什么变了、何时变化、哪些旧状态不再成立,并保留来源与历史。

3
GeoTask → affected requirements

只识别受影响的 ContextRequirement,重新判断适用性、分辨率和充分性。

4
Minimum rebuild

不受影响的上下文继续复用;只有必要部分刷新,避免全量重建。

-
GT01—GT42 继续保留。它们是 GeoTask 从确定性任务协议、Verification 与 World-State Cycle 演化到 Task Context Engine 的公开历史,不再承担定义当前产品定位的职责。
+

历史资产

GT01—GT42 不再承担 GeoTask 的主定位,但继续作为公开历史案例保留。

GT01—GT42 继续保留原有编号、URL 和可验证体验,不做“整包迁移到 WorldState”。它们记录了 GeoTask 0.x 从确定性空间计算、证据与世界状态逐步演化到任务上下文方法的历史。

理解现实状态

可从 GT21、GT22、GT23、GT29 开始,理解冲突、快照、变化和多源状态。

理解任务相对性

可从 GT11、GT12、GT13、GT18 开始,理解“存在事实”与“对当前对象/任务适用”之间的差异。

理解动态重评

可从 GT16、GT24、GT25、GT27 开始,再进入 GeoTask 的 Temporal Reassessment。

为什么不整体搬家? 历史案例的产生仓库与今天的长期语义所有权不是一回事。案例保留出处,新的 Truth / Validity / Conflict 能力进入 WorldState;新的 Relevance / Applicability / Sufficiency 能力进入 GeoTask。
-
+

文档与仓库

一个公共入口,两个独立工程入口。

第一次访问者在这里理解整体关系;开发者随后进入各自 GitHub Repository 的 README、规范、Benchmark 与路线图。

-

从“给模型更多信息”,转向“证明当前任务的信息已经足够”。

GeoTask Core 采用 MIT License。可以从独立消费者、Python API 或公开案例开始接入自己的 GIS、API、Sensor 或 WorldState Provider。

+

先理解整体,再选择你需要的 Foundation。

需要可信、可追溯的现实状态,进入 WorldState;需要为 Agent 构造任务相对、可判断充分性的时空上下文,进入 GeoTask。两者可以独立使用,也可以自然组合。

- + From b7de07cfd6f0f7e0f17332a4f3dec76ed752666f Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 16:56:10 +0800 Subject: [PATCH 2/9] test: freeze combined public foundations portal --- tests/test_public_foundations_portal.py | 65 +++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 tests/test_public_foundations_portal.py diff --git a/tests/test_public_foundations_portal.py b/tests/test_public_foundations_portal.py new file mode 100644 index 0000000..051c1b9 --- /dev/null +++ b/tests/test_public_foundations_portal.py @@ -0,0 +1,65 @@ +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +PORTAL = ROOT / "site" / "index.html" + + +def test_portal_composes_worldstate_and_geotask_without_merging_ownership() -> None: + html = PORTAL.read_text(encoding="utf-8") + + required = ( + "WorldState + GeoTask", + "从现实状态", + "Reality → WorldState → GeoTask → Agent", + "WorldState 不知道当前任务", + "GeoTask 不拥有世界真值", + "一个故事 ≠ 一个仓库", + "https://github.com/stpku/WorldState", + "https://github.com/stpku/GeoTask", + ) + for fragment in required: + assert fragment in html + + +def test_portal_keeps_geotask_task_context_identity() -> None: + html = PORTAL.read_text(encoding="utf-8") + + for fragment in ( + "时空任务上下文引擎", + "Task → Context", + "Task Sufficiency at Minimum Context Cost", + "相关 ≠ 适用", + "Context Sufficient ≠ Domain Decision ≠ Action Authorization", + ): + assert fragment in html + + +def test_portal_keeps_worldstate_truth_identity() -> None: + html = PORTAL.read_text(encoding="utf-8") + + for fragment in ( + "世界现在是什么?", + "Truth Fidelity", + "StateAssertion / Relation / Validity", + "Unknown / Conflict / History / StateDelta", + ): + assert fragment in html + + +def test_portal_exposes_github_star_call_to_action() -> None: + html = PORTAL.read_text(encoding="utf-8") + + assert 'class="star-link"' in html + assert "★ GitHub" in html + assert "★ Star GeoTask" in html + assert 'aria-label="在 GitHub 上为 GeoTask 点 Star"' in html + + +def test_legacy_cases_are_archive_not_current_positioning() -> None: + html = PORTAL.read_text(encoding="utf-8") + + assert "GT01—GT42 继续保留" in html + assert "不做“整包迁移到 WorldState”" in html + for number in range(1, 43): + assert f'href="gt{number:02d}/"' in html From a71a2d0d7b1461f081c1bb764b73b44d6a967b38 Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 17:16:44 +0800 Subject: [PATCH 3/9] docs: preserve portal compatibility surfaces --- site/index.html | 108 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 97 insertions(+), 11 deletions(-) diff --git a/site/index.html b/site/index.html index f1726a7..0eb31c9 100644 --- a/site/index.html +++ b/site/index.html @@ -4,7 +4,7 @@ - + @@ -15,7 +15,7 @@ - + @@ -24,23 +24,23 @@ -
+
-

面向智能体的开放时空基础

从现实状态,
到任务真正需要的上下文。

WorldState 负责把现实状态表达得可信、可追溯、可重放;GeoTask 负责围绕当前任务,从这些现实信息和其他数据源中构造真正需要、适用且足够的上下文。

不是给 Agent 更多上下文,而是先知道世界是什么,再给当前任务真正需要的上下文。
+

面向智能体的开放时空基础

从现实状态,
到任务真正需要的上下文。

WorldState 把现实状态表达为带证据、有效期、未知与冲突的可追溯、可重放状态;GeoTask 围绕当前任务,从这些现实信息和其他数据源中构造真正需要、适用且足够的上下文。

不是给 Agent 更多上下文,而是先把现实状态说清楚,再给当前任务真正需要的上下文。
-

为什么要分成两层

Agent 既要知道“世界是什么”,也要知道“这个任务需要知道什么”。

这两个问题紧密相连,但不是同一个问题。把它们混在一个模型、一个提示词或一个通用数据层里,往往会同时丢失现实可信度和任务针对性。

世界有状态

同一对象会变化、过期、冲突,也可能暂时未知。现实状态必须保留来源、有效期和不确定性。

任务有需求

同一事实对不同任务的重要性不同;相关 ≠ 适用,有数据 ≠ 分辨率足够。

更多 ≠ 足够

大量上下文仍可能遗漏关键需求,也可能把无关信息、网络成本和 token 成本带入 Agent。

+

为什么要分成两层

Agent 既要知道“世界是什么”,也要知道“这个任务需要知道什么”。

这两个问题紧密相连,但不是同一个问题。把它们混在一个模型、一个提示词或一个通用数据层里,往往会同时丢失现实状态的来源与有效边界,以及任务针对性。

世界有状态

同一对象会变化、过期、冲突,也可能暂时未知。现实状态必须保留来源、有效期和不确定性。

任务有需求

同一事实对不同任务的重要性不同;相关 ≠ 适用,有数据 ≠ 分辨率足够。

更多 ≠ 足够

大量上下文仍可能遗漏关键需求,也可能把无关信息、网络成本和 token 成本带入 Agent。

一个公共故事:Reality → WorldState → GeoTask → Agent

WorldState 与 GeoTask 可以共享一个公共入口,因为二者组成了连续的认知链;但它们仍是两个独立 Foundation,各自拥有自己的语义、仓库、路线图和 Benchmark。

Reality现实世界→WorldState世界现在是什么?→GeoTask这个任务需要知道什么?→Agent推理与行动
公共入口可以合并;工程所有权不能合并。一个故事 ≠ 一个仓库。
-

边界

两个 Foundation,分别守住现实可信度与任务充分性。

WorldState 不知道当前任务

它只负责事实、证据、未知、冲突、有效期、历史和变化。

GeoTask 不拥有世界真值

它消费 WorldState、GIS、API、Sensor、Database 或其他 Provider,把信息变成任务相对上下文。

Context Sufficient ≠ Domain Decision ≠ Action Authorization

上下文充分不等于领域结论成立,更不等于现实动作已经获得授权。

+

边界

两个 Foundation,分别守住现实状态语义与任务充分性。

WorldState 不知道当前任务

它只负责事实、证据、未知、冲突、有效期、历史和变化。

GeoTask 不拥有世界真值

它消费 WorldState、GIS、API、Sensor、Database 或其他 Provider,把信息变成任务相对上下文。

Context Sufficient ≠ Domain Decision ≠ Action Authorization

上下文充分不等于领域结论成立,更不等于现实动作已经获得授权。

-
World Foundation

WorldState

世界现在是什么?什么是真的、未知的、冲突的、过期的或已经变化?

WorldState 是开放、轻量、领域无关的世界状态基础,把观察、证据、权威记录和外部 Provider 组织为可追溯、可重放的现实状态。

  • Entity / Observation / Evidence / Provenance
  • StateAssertion / Relation / Validity
  • Unknown / Conflict / History / StateDelta
  • North Star:Truth Fidelity
Task Context Foundation

GeoTask

当前任务真正需要知道什么?这些信息是否适用、分辨率足够,而且上下文已经充分?

GeoTask 是面向 AI Agent 的时空任务上下文引擎。它不是把整个世界塞进上下文,而是构造当前任务真正需要的最小充分上下文。

  • TaskFrame / ContextRequirement / ContextCandidate
  • Relevance / Applicability / Resolution Adequacy
  • SufficiencyAssessment / TaskContext / ContextGap
  • 北极星:Task Sufficiency at Minimum Context Cost
+
World Foundation

WorldState

世界现在是什么?什么是真的、未知的、冲突的、过期的或已经变化?

WorldState 是开放、轻量、领域无关的世界状态基础,把观察、证据、权威记录和外部 Provider 组织为可追溯、可重放的现实状态,并显式保留未知、冲突与有效期。

  • Entity / Observation / Evidence / Provenance
  • StateAssertion / Relation / Validity
  • Unknown / Conflict / History / StateDelta
  • North Star:Truth Fidelity
Task Context Foundation

GeoTask

当前任务真正需要知道什么?这些信息是否适用、分辨率足够,而且上下文已经充分?

GeoTask 是面向 AI Agent 的时空任务上下文引擎。它不是把整个世界塞进上下文,而是构造当前任务真正需要的最小充分上下文。

  • TaskFrame / ContextRequirement / ContextCandidate
  • Relevance / Applicability / Resolution Adequacy
  • SufficiencyAssessment / TaskContext / ContextGap
  • 北极星:Task Sufficiency at Minimum Context Cost
-

组合方式

紧密结合,但不强耦合。

GeoTask 可以直接消费 WorldState,也可以消费 GIS、API、传感器、数据库或其他世界模型。WorldState 同样可以服务传统 GIS、数字孪生和其他应用,而不要求它们使用 GeoTask。

WorldState 可独立

删除 GeoTask 后,WorldState 仍应能作为领域无关的世界状态基础运行。

GeoTask 可独立

不使用官方 WorldState,GeoTask 仍应能完成 Task → Context。

组合时更完整

WorldState 提供可信现实,GeoTask 将现实裁剪成任务充分上下文,二者在动态任务中天然形成连续链路。

Task → Context 是 GeoTask 的中心;World → State 是 WorldState 的中心。公共页面可以组合,但语义所有权必须继续分离。
+

组合方式

紧密结合,但不强耦合。

GeoTask 可以直接消费 WorldState,也可以消费 GIS、API、传感器、数据库或其他世界模型。WorldState 同样可以服务传统 GIS、数字孪生和其他应用,而不要求它们使用 GeoTask。

WorldState 可独立

删除 GeoTask 后,WorldState 仍应能作为领域无关的世界状态基础运行。

GeoTask 可独立

不使用官方 WorldState,GeoTask 仍应能完成 Task → Context。

组合时更完整

WorldState 提供带证据、有效期、未知与冲突的现实状态;GeoTask 再把这些信息裁剪为任务充分上下文,二者在动态任务中天然形成连续链路。

Task → Context 是 GeoTask 的中心;World → State 是 WorldState 的中心。公共页面可以组合,但语义所有权必须继续分离。

实证

不是只画架构图:两个 Foundation 都要证明自己能够独立工作。

GeoTask · Independent Consumer

Warehouse Robot Picking

这个公开案例不依赖 Lowa,也不要求官方 WorldState。它从 Indoor GIS / Inventory API / Aisle Sensor 获取候选信息,再由 GeoTask 判断当前拣货任务真正需要什么。

TaskFrame → ContextRequirement[] → ContextCandidate[] Relevance / Applicability / Resolution Adequacy @@ -54,11 +54,97 @@

共同下一步

真正值得二者一起展示的,是现实变化后的动态闭环。

静态页面只是入口。长期共同主线应展示:现实发生变化后,WorldState 如何表达变化,GeoTask 如何只重评受影响的任务需求。

1
Reality changes

新的观察、证据、冲突、失效或 Provider 状态出现。

2
WorldState → StateDelta

明确什么变了、何时变化、哪些旧状态不再成立,并保留来源与历史。

3
GeoTask → affected requirements

只识别受影响的 ContextRequirement,重新判断适用性、分辨率和充分性。

4
Minimum rebuild

不受影响的上下文继续复用;只有必要部分刷新,避免全量重建。

-

历史资产

GT01—GT42 不再承担 GeoTask 的主定位,但继续作为公开历史案例保留。

GT01—GT42 继续保留原有编号、URL 和可验证体验,不做“整包迁移到 WorldState”。它们记录了 GeoTask 0.x 从确定性空间计算、证据与世界状态逐步演化到任务上下文方法的历史。

理解现实状态

可从 GT21、GT22、GT23、GT29 开始,理解冲突、快照、变化和多源状态。

理解任务相对性

可从 GT11、GT12、GT13、GT18 开始,理解“存在事实”与“对当前对象/任务适用”之间的差异。

理解动态重评

可从 GT16、GT24、GT25、GT27 开始,再进入 GeoTask 的 Temporal Reassessment。

为什么不整体搬家? 历史案例的产生仓库与今天的长期语义所有权不是一回事。案例保留出处,新的 Truth / Validity / Conflict 能力进入 WorldState;新的 Relevance / Applicability / Sufficiency 能力进入 GeoTask。
+

P1 Reference Agent:历史兼容产品闭环

GT01—GT42证明单项能力;Reference Agent 把新证据、World State、Discrepancy、Correction、Impact 与 Control 串成一条可运行、可失败、可重放的设施评估更新链。它继续作为已发布兼容资产保留,但不再定义 GeoTask 的当前定位。

+ +

历史资产

GT01—GT42 不再承担 GeoTask 的主定位,但继续作为公开历史案例保留。

GT01—GT42 继续保留原有编号、URL 和可验证体验,不做“整包迁移到 WorldState”。它们记录了 GeoTask 0.x 从确定性空间计算、证据与世界状态逐步演化到任务上下文方法的历史。

理解现实状态

可从 GT21、GT22、GT23、GT29 开始,理解冲突、快照、变化和多源状态。

理解任务相对性

可从 GT11、GT12、GT13、GT18 开始,理解“存在事实”与“对当前对象/任务适用”之间的差异。

理解动态重评

可从 GT16、GT24、GT25、GT27 开始,再进入 GeoTask 的 Temporal Reassessment。

为什么不整体搬家? 历史案例的产生仓库与今天的长期语义所有权不是一回事。案例保留出处,新的 Truth / Validity / Conflict 能力进入 WorldState;新的 Relevance / Applicability / Sufficiency 能力进入 GeoTask。
展开全部 42 个原始案例与七阶段目录 + +
+
+
+

GT01—GT42公开参考例

共42个可验证参考例,对应38个场景入口;GT38—GT42作为一个五阶段复合案例,完整展示无人机身份从证据审定到应用审批的治理链。

+ 查看中文文档导航 → +
+ + + +
+

4行动与可行性:从判断走向执行

+
+ GT10

两台机器人抢同一条窄通道,谁先走?

把容量、占用时间和优先级转化为可执行协调计划。

进入体验 →
+ GT11

目标只有50米,机器人为什么绕行300米?

几何距离不等于对象在真实网络中的可达路线。

进入体验 →
+ GT12

电量够到达,无人机为什么仍不能起飞?

能到达目标不等于能保留安全余量完成任务。

进入体验 →
+ GT13

道路开放,车辆为什么还是过不去?

道路状态与具体车辆的安全空间包络必须分别判断。

进入体验 →
+ GT14

最近的救援队,为什么不一定最快到达?

直线距离只是空间事实,派遣动作必须验证真实路线、准备时间和响应窗口。

进入体验 →
+ GT15

地图说可以通行,机器人为什么停下来了?

静态地图描述结构可通行性,实时感知决定当前路线是否被障碍占据。

进入体验 →
+ GT16

计划已经安全,为什么无人机仍要持续监测?

初始间隔满足要求,但A机延误40秒后预测间隔从120秒缩至80秒;结论仍可用,却必须持续监测并准备增量复核。

进入体验 →
+ GT17

同一个事件被上报十次,系统应该生成十个任务吗?

空间、时间和事件语义一致时,应合并处置任务并保留全部来源证据。

进入体验 →
+ GT18

最短路线已经找到,为什么救援机器人仍然不能进入?

路线能够到达目标仍不足以执行,还必须核验危险区和具体设备耐受能力。

进入体验 →
+ GT19

无人机已经到达目标上空,为什么仍然不能投放物资?

导航到达、高度和时间合规仍不足以释放载荷,还必须取得新鲜的地面净空证据。

进入体验 →
+ GT20

车辆已经获得绿灯,为什么仍然不能进入路口?

信号许可仍不足以进入冲突区,还必须证明下游出口净空并能容纳完整车辆。

进入体验 →
+
+
+
+

5世界状态循环:观测记录、快照与增量复核

+
+ GT21

遥测显示延误60秒,运行审核记录显示55秒,AI应该相信哪一个?

同一架无人机的延误数据来自两个系统。直接覆盖、取平均或按到达顺序选择都会掩盖冲突,必须使用业务方明确声明的处理规则。

进入体验 →
+ GT22

无人机的位置和电量来自两个系统,AI怎样形成同一时刻的可靠运行快照?

位置与电量分别到达时,不能简单拼接成“当前状态”。系统必须确认对象、时间和字段归属,才能形成可追溯的统一运行快照。

进入体验 →
+ GT23

无人机飞行五分钟后位置和电量都变了,系统如何证明“现在”不是“刚才”?

只覆盖最新值会丢失历史和变化依据。系统必须保留前后运行快照,绑定300秒时间差,并明确记录位置、电量和对象有效期变化。

进入体验 →
+ GT24

临时禁飞区发布后,哪些航线、任务和审批结论必须重新检查?

医疗航线穿越临时禁飞区,巡检航线绕开。系统只将医疗航线、任务、审批和起飞动作纳入复核链,避免全量重算或只更新地图。

进入体验 →
+ GT25

无人机位置更新后,哪些安全距离需要重算,哪些结果可以继续沿用?

无人机从走廊100米移动到130米后,只重算与无人机位置相关的两项安全距离,同时保留固定设施间距和电池余量。

进入体验 →
+ GT26

飞行服务站营业时间已经失效,系统应该改哪条数据,而不是推翻全部结果?

服务站营业计划从08:00—22:00调整为09:00—18:00,系统只允许替换营业计划,保留位置、频率、服务类型和联系方式,并阻断20:30任务直至复核。

进入体验 →
+ GT27

一条气象数据更新后,如何只复核受影响的飞行任务?

东区风速由6升至12米/秒后,只复核同区域且处于更新生效时段的配送和应急任务;一个结果变为不适飞,另一个复核后仍适飞,西区和更新前任务继续复用。

进入体验 →
+ GT28

路线安全、天气合格,就可以自动起飞吗?

路线、高度、天气窗口和风速预检全部通过,但空域、运营人、起降场、气象放行和任务授权仍缺失;预检结论可引用,自动起飞授权与起飞指令保持阻断。

进入体验 →
+
+
+ +
+

7动态世界对象:移动对象、轨迹与时间观测

+
+ GT33

三个带时间位置点连起来,就是一条可验证轨迹吗?

用移动对象引用、严格递增的带时区时间戳和三次二维观测建立离散轨迹,确定性计算持续300秒;不插值、不预测、不地图匹配,也不执行现实动作。

进入体验 →
+ GT34

三个轨迹样本之间,每一段到底移动了多远、多快?

将三次明确观测按相邻顺序绑定为两个分段,分别计算持续120/180秒、距离60/90个文档水平单位和0.5水平单位/秒平均速度;不插值、不推断瞬时速度、不预测未来或执行动作。

进入体验 →
+ GT35

位置几乎没变就是停留,十分钟没观测就是失联吗?

使用调用方显式声明的5米停留半径、120秒最短时长、300秒最大观测间隔和缺口许可,将三个相邻分段分类为停留候选、已观测移动和观测缺口;不允许缺口标记时返回不可核验,不推断失联、异常或连续运动。

进入体验 →
+ GT36

两段平均速度变了,就能证明瞬时加速度和连续运动吗?

以相邻分段中点为代表时刻,在调用方声明的300秒最大观测间隔内计算平均速度变化率;输出零加速度、正加速度和缺口驱动的不可核验,不推断瞬时或向量加速度、方向变化、未来位置或现实动作。

进入体验 →
+ GT37

两段轨迹只差60秒和5米,就能自动认定为同一个对象吗?

比较前一轨迹末样本与后一轨迹首样本,在调用方声明的时间、距离和对象类别策略下输出对象同一性候选、不同对象候选或不可核验;不自动归并身份、不改写subject_ref,也不证明现实身份。

进入体验 →
+
复合案例 · 5阶段

巡检无人机短暂失联后被重新编号,如何确认并安全归并身份?

虚构巡检无人机UAV-017进入建筑遮挡区后短暂失联,恢复观测时被系统建立为新的临时主体。资产登记证据与人工复核均支持“同一架无人机”,但GeoTask仍将审定、归并提案、提案审批、变更请求和应用审批拆成五个可审计阶段。

+
+
+
+
+ +

文档与仓库

一个公共入口,两个独立工程入口。

第一次访问者在这里理解整体关系;开发者随后进入各自 GitHub Repository 的 README、规范、Benchmark 与路线图。

-

先理解整体,再选择你需要的 Foundation。

需要可信、可追溯的现实状态,进入 WorldState;需要为 Agent 构造任务相对、可判断充分性的时空上下文,进入 GeoTask。两者可以独立使用,也可以自然组合。

+

先理解整体,再选择你需要的 Foundation。

需要带证据、有效期、未知与冲突的可追溯现实状态,进入 WorldState;需要为 Agent 构造任务相对、可判断充分性的时空上下文,进入 GeoTask。两者可以独立使用,也可以自然组合。

From 92385f73e9766af5ccc1c485e7e1408a3bf8c23e Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 17:18:02 +0800 Subject: [PATCH 4/9] docs: align English public portal --- site/en/index.html | 62 ++++++++++++++-------------------------------- 1 file changed, 19 insertions(+), 43 deletions(-) diff --git a/site/en/index.html b/site/en/index.html index 1e222ee..9520954 100644 --- a/site/en/index.html +++ b/site/en/index.html @@ -4,65 +4,41 @@ - + - - + + - GeoTask | Spatiotemporal Task Context Engine for AI Agents + WorldState + GeoTask | From World State to Task Context -
- -
- +
-
-
-

Spatiotemporal Task Context Engine for AI Agents

-

Not more context.
The context this task actually needs.

-

GeoTask constructs spatiotemporal context that is relevant, applicable, resolution-adequate, and explicitly sufficient, then reassesses only the parts that are actually affected when reality changes.

-
Task Sufficiency at Minimum Context Cost — minimize carried context while keeping critical context misses visible.
- -
Task-relativeContext for the task, not “the whole world”
Provider-neutralGIS / API / Sensor / WorldState
Explicit SufficiencySufficiency and gaps stay observable
Minimum ContextLower cost without hiding critical misses
-
-
- -

Problem

The context problem is not how much an agent can carry. It is what is sufficient.

Long context windows, RAG, databases, and tools can expose more information. They do not automatically prove that information applies to the current task.

Relevant ≠ Applicable

A fact can match the topic and still be wrong for the current object, place, time window, or operating condition.

Available ≠ Adequate

A map, forecast, inventory value, or sensor reading may exist while its spatial, temporal, precision, or semantic resolution is still inadequate.

Large ≠ Sufficient

A huge payload can still miss one critical requirement; optional context can also add token, network, and human recovery cost without helping the task.

+

Open spatiotemporal foundations for AI agents

From world state
to the context this task actually needs.

WorldState represents reality as traceable, replayable state with evidence, validity, unknowns, and conflicts. GeoTask constructs the context the current task actually needs from that state and other providers.

Not more context: make world state explicit, then provide the minimum sufficient context for the task.
-

Task → Context, not World → Prompt

GeoTask starts from task requirements, then assesses candidate information. Relevance, applicability, resolution, and sufficiency remain separate so the final TaskContext and its gaps are explicit.

Task→Requirements→Candidates→Relevance→Applicability→Resolution→Sufficiency→Minimum TaskContext
Core concepts include TaskFrame, ContextRequirement, ContextCandidate, ContextAssessment, ContextGap, SufficiencyAssessment, TaskContext, ContextConstructionTrace, plus Minimum Context and Temporal Reassessment contracts.
+

One public story: Reality → WorldState → GeoTask → Agent

The projects are tightly related because they form a continuous information chain. They remain independent foundations with separate semantic ownership, repositories, roadmaps, and benchmarks.

Realitythe physical world→WorldStatewhat is true, unknown, conflicted or stale?→GeoTaskwhat does this task need to know?→Agentreason and act
One public story does not mean one repository.
-

Boundary

GeoTask does not own world truth and does not replace an agent runtime.

Its independent value is task-relative context. Upstream systems provide candidate reality; downstream systems keep reasoning, domain decisions, authorization, and execution.

UpstreamWorld / Data Providers

WorldState, GIS, APIs, sensors, databases, or other providers expose candidate facts, provenance, and state.

GeoTaskTask Context

Determines what the task needs and whether candidates are relevant, applicable, resolution-adequate, and sufficient.

DownstreamAgent / Domain System

The harness runs reasoning; domain systems continue to own professional judgment, authorization, execution, and responsibility.

Context Sufficient ≠ Domain Decision ≠ Action Authorization
+

Two foundations

World truth semantics and task-context semantics stay separate.

WorldState

What is true about the world?

WorldState is an open, lightweight, domain-neutral foundation for evidence-grounded world state. It preserves provenance, temporal validity, uncertainty, unknowns, conflicts, and history instead of silently resolving them away.

  • Entity / Observation / Evidence / Provenance
  • StateAssertion / Relation / Validity
  • Unknown / Conflict / History / StateDelta
  • North Star: Truth Fidelity
Open WorldState →

GeoTask

What does this task need to know?

GeoTask is a Spatiotemporal Task Context Engine for AI agents. It evaluates candidate information by relevance, applicability, resolution adequacy, and explicit sufficiency, then seeks a minimum sufficient TaskContext.

  • TaskFrame / ContextRequirement / ContextCandidate
  • Relevance / Applicability / Resolution Adequacy
  • SufficiencyAssessment / TaskContext / ContextGap
  • North Star: Task Sufficiency at Minimum Context Cost
Open GeoTask →
-

Current Public Proof

An independent consumer now proves the model outside its original domain.

The public Core includes Task Context contracts, provider candidates, relevance / applicability / resolution, sufficiency composition, minimum context, and temporal continuity, with a non-low-altitude consumer.

Warehouse Robot Picking

Indoor GIS, an inventory API, and an aisle-clearance sensor provide ContextCandidates. GeoTask derives requirements, evaluates relevance, applicability, and resolution separately, composes sufficiency, builds minimum context, and refreshes only the affected requirement after a sensor change.

Indoor GIS / Inventory API / Aisle Sensor - ↓ -TaskFrame → ContextRequirement[] → ContextCandidate[] - ↓ -Relevance / Applicability / Resolution Adequacy - ↓ -Sufficiency → Minimum Sufficient TaskContext - ↓ -Sensor Change → Bounded Temporal Reassessment

Counterexample by design: even when the measured aisle is narrower than the robot, GeoTask may correctly conclude that the context is sufficient if that measurement is relevant, applicable, fresh, and resolution-adequate. It still does not decide that the robot may traverse the aisle.

Open the complete example →
+

Boundary

Tightly integrated, not tightly coupled.

GeoTask can consume WorldState, but it can also consume GIS, APIs, sensors, databases, or other world models. WorldState can serve GIS, digital-twin, analytics, and other consumers without GeoTask.

WorldState does not know the task

It owns state, evidence, validity, provenance, unknowns, conflicts, history, and change.

GeoTask does not own world truth

It owns task-relative context, applicability, resolution adequacy, sufficiency, gaps, and context construction.

Context sufficient ≠ decision ≠ authorization

A sufficient TaskContext does not itself decide the domain outcome or authorize real-world action.

World → State is the center of WorldState. Task → Context is the center of GeoTask.
-

Measure

The objective is not context reduction by itself. It is minimum cost under sufficiency.

Every positive “reduce context” metric needs a counter-metric so the system cannot look efficient by silently dropping critical information.

Critical Requirement Coverage ↑Counter: Critical Context Miss Rate
Sufficiency Accuracy ↑Counter: False Sufficiency Rate
Context Reduction ↑Counter: Critical Context Miss Rate
Applicability Accuracy ↑Counter: Irrelevant / Inapplicable Context Rate
Context Rebuild Locality ↑Counter: Unnecessary Context Rebuild
+

Independent proof

Each foundation must still work without the other.

GeoTask: Warehouse Robot Picking

Indoor GIS, an inventory API, and an aisle sensor provide candidates. GeoTask derives requirements, assesses relevance / applicability / resolution, composes sufficiency, builds minimum context, and refreshes only affected requirements.

TaskFrame → ContextRequirement[] → ContextCandidate[] +→ Relevance / Applicability / Resolution Adequacy +→ Sufficiency → Minimum Sufficient TaskContext +→ Bounded Temporal Reassessment
Open the GeoTask proof →

WorldState: Cold-chain State

The cold-chain consumer demonstrates that evidence, validity, unknown/conflict preservation, history, and state transitions remain useful without GeoTask or a low-altitude domain product.

Observation → Evidence → StateAssertion +→ Validity / Provenance +→ Unknown / Conflict Preservation +→ WorldStateSnapshot
Open the WorldState proof →
-

Research Roadmap

The next frontier is the Task Context method itself, not more numbered examples.

GeoTask evolves as an independent foundation with its own problems, benchmarks, and cross-domain evidence.

Requirement Derivation

Move from manually supplied requirements toward stable Task → Requirement methods with explicit lineage.

Applicability & Resolution

Prove that the same fact can have different applicability across tasks while making spatial, temporal, precision, and semantic adequacy testable.

Minimum Context Cost

Reduce carried bytes, tokens, provider latency, and recovery cost without increasing critical misses.

Temporal Reassessment

Map reality changes to affected requirements and perform bounded reassessment plus only the rebuild that is actually needed.

Independent Consumers

Validate the Core in additional domains so no single product or data model shapes GeoTask semantics.

Open Method & Protocol

The durable public asset is a Task Context Method, Engine, Benchmark, and open contracts — not a closed domain platform.

About the previous positioning: early Verifiable World Model / World-State Cycle / Verification assets remain public and maintained for compatibility and traceability. They no longer define long-term semantic ownership. The current positioning is Task Context Engine.
- -

Move from “give the model more information” to “prove this task has enough information.”

GeoTask Core is MIT licensed. Start with the independent consumer, the Python API, or the existing public examples, then connect your own GIS, API, sensor, WorldState, or other provider.

+

Understand the shared story, then use the foundation you need.

Use WorldState when you need traceable world state with evidence and validity. Use GeoTask when you need task-relative, explicitly sufficient context for an AI agent. Use both when reality changes and the task context must be reassessed.

- - + From a52f8a94a80b4f0b3d5b8006f652d2070fff1078 Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 17:20:54 +0800 Subject: [PATCH 5/9] test: freeze bilingual foundation portal --- tests/test_public_foundations_portal.py | 32 ++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/tests/test_public_foundations_portal.py b/tests/test_public_foundations_portal.py index 051c1b9..848b82c 100644 --- a/tests/test_public_foundations_portal.py +++ b/tests/test_public_foundations_portal.py @@ -3,6 +3,7 @@ ROOT = Path(__file__).resolve().parents[1] PORTAL = ROOT / "site" / "index.html" +EN_PORTAL = ROOT / "site" / "en" / "index.html" def test_portal_composes_worldstate_and_geotask_without_merging_ownership() -> None: @@ -35,7 +36,7 @@ def test_portal_keeps_geotask_task_context_identity() -> None: assert fragment in html -def test_portal_keeps_worldstate_truth_identity() -> None: +def test_portal_keeps_worldstate_truth_identity_without_overclaiming_truth() -> None: html = PORTAL.read_text(encoding="utf-8") for fragment in ( @@ -43,9 +44,12 @@ def test_portal_keeps_worldstate_truth_identity() -> None: "Truth Fidelity", "StateAssertion / Relation / Validity", "Unknown / Conflict / History / StateDelta", + "带证据、有效期、未知与冲突", ): assert fragment in html + assert "负责把现实状态表达得可信" not in html + def test_portal_exposes_github_star_call_to_action() -> None: html = PORTAL.read_text(encoding="utf-8") @@ -54,6 +58,7 @@ def test_portal_exposes_github_star_call_to_action() -> None: assert "★ GitHub" in html assert "★ Star GeoTask" in html assert 'aria-label="在 GitHub 上为 GeoTask 点 Star"' in html + assert "查看 WorldState" in html def test_legacy_cases_are_archive_not_current_positioning() -> None: @@ -61,5 +66,30 @@ def test_legacy_cases_are_archive_not_current_positioning() -> None: assert "GT01—GT42 继续保留" in html assert "不做“整包迁移到 WorldState”" in html + assert "展开全部 42 个原始案例与七阶段目录" in html + assert "" in html + assert "" in html for number in range(1, 43): assert f'href="gt{number:02d}/"' in html + + +def test_english_portal_matches_combined_foundation_story() -> None: + html = EN_PORTAL.read_text(encoding="utf-8") + + required = ( + "WorldState + GeoTask", + "From world state", + "Reality → WorldState → GeoTask → Agent", + "One public story does not mean one repository", + "WorldState does not know the task", + "GeoTask does not own world truth", + "Spatiotemporal Task Context Engine for AI agents", + "Truth Fidelity", + "Task Sufficiency at Minimum Context Cost", + "★ GitHub", + "★ Star GeoTask", + "https://github.com/stpku/WorldState", + "https://github.com/stpku/GeoTask", + ) + for fragment in required: + assert fragment in html From 2ed79171f065a226618ee61d1a0e9caccfff121a Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 17:22:14 +0800 Subject: [PATCH 6/9] test: preserve portal section invariants --- tests/test_public_foundations_portal.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_public_foundations_portal.py b/tests/test_public_foundations_portal.py index 848b82c..fea5cfe 100644 --- a/tests/test_public_foundations_portal.py +++ b/tests/test_public_foundations_portal.py @@ -69,6 +69,8 @@ def test_legacy_cases_are_archive_not_current_positioning() -> None: assert "展开全部 42 个原始案例与七阶段目录" in html assert "" in html assert "" in html + assert 'id="reference-agent"' in html + assert "P1 Reference Agent" in html for number in range(1, 43): assert f'href="gt{number:02d}/"' in html From a28ff9f9a47321d665283b587fa7f0474f3fb1c0 Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 17:28:54 +0800 Subject: [PATCH 7/9] docs: clarify shared portal independence From d0777fad10dc99439fda5e87d1fc69ca5546b9ed Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 17:36:41 +0800 Subject: [PATCH 8/9] docs: retain validated shared portal --- site/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/index.html b/site/index.html index 0eb31c9..727e739 100644 --- a/site/index.html +++ b/site/index.html @@ -109,7 +109,7 @@

5世界状态循环:
GT21

遥测显示延误60秒,运行审核记录显示55秒,AI应该相信哪一个?

同一架无人机的延误数据来自两个系统。直接覆盖、取平均或按到达顺序选择都会掩盖冲突,必须使用业务方明确声明的处理规则。

进入体验 →
GT22

无人机的位置和电量来自两个系统,AI怎样形成同一时刻的可靠运行快照?

位置与电量分别到达时,不能简单拼接成“当前状态”。系统必须确认对象、时间和字段归属,才能形成可追溯的统一运行快照。

进入体验 →
- GT23

无人机飞行五分钟后位置和电量都变了,系统如何证明“现在”不是“刚才”?

只覆盖最新值会丢失历史和变化依据。系统必须保留前后运行快照,绑定300秒时间差,并明确记录位置、电量和对象有效期变化。

进入体验 →
+ GT23

无人机飞行五分钟后位置和电量都变了,系统如何证明“现在”不是“刚才”?

只覆盖最新值会丢失历史和变化依据。系统必须保留前后快照,绑定300秒时间差,并明确记录位置、电量和对象有效期变化。

进入体验 →
GT24

临时禁飞区发布后,哪些航线、任务和审批结论必须重新检查?

医疗航线穿越临时禁飞区,巡检航线绕开。系统只将医疗航线、任务、审批和起飞动作纳入复核链,避免全量重算或只更新地图。

进入体验 →
GT25

无人机位置更新后,哪些安全距离需要重算,哪些结果可以继续沿用?

无人机从走廊100米移动到130米后,只重算与无人机位置相关的两项安全距离,同时保留固定设施间距和电池余量。

进入体验 →
GT26

飞行服务站营业时间已经失效,系统应该改哪条数据,而不是推翻全部结果?

服务站营业计划从08:00—22:00调整为09:00—18:00,系统只允许替换营业计划,保留位置、频率、服务类型和联系方式,并阻断20:30任务直至复核。

进入体验 →
@@ -122,7 +122,7 @@

6验证提供方生态
GT29

气象服务数据和现场传感器冲突时,AI应该相信谁?

模拟气象服务给出8米/秒,现场传感器给出13米/秒。两个来源都新鲜且相互独立,但数值仍然冲突,因此天气结论保持未知,并请求第三个独立来源。

进入体验 →
GT30

第三个独立气象来源加入后,冲突就自动解决了吗?

第三个独立来源也给出13米/秒,形成二比一;但可信保证策略没有声明多数表决规则,因此系统仍保持未知,不静默删除8米/秒来源,并请求显式气象审定。

进入体验 →
- GT31

人工复核解决气象冲突后,天气合格就能自动起飞吗?

人工复核精确绑定GT30冲突响应与虚构上下文证据,保留三份原始响应并将两份13米/秒读数限定为局部测试气流影响;8米/秒天气结论可用,但自动起飞授权与起飞指令继续阻断。

进入体验 →
+ GT31

人工复核解决气象冲突后,天气合格就能自动起飞吗?

人工复核精确绑定GT30冲突响应与虚构上下文证据,保留三份原始响应并将两份13米/秒读数限定为局部测试气流影响;8米/秒天气结论可用,但自动起飞授权和起飞指令继续阻断。

进入体验 →
GT32

五项授权陆续到达后,什么时候才算可起飞?

空域、运营人、起降场、气象放行和任务授权逐项到达,未知项从5降至0;最后两个起飞相关输出转为可用,但公共核心不发布结果、不发送指令,也不执行飞行动作。

进入体验 →

From 5a28ce9b07ae47a8189a9172724281228e058a67 Mon Sep 17 00:00:00 2001 From: stpku <83755634+stpku@users.noreply.github.com> Date: Thu, 27 Aug 2026 18:13:41 +0800 Subject: [PATCH 9/9] docs: restore generated case catalog portal --- site/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/index.html b/site/index.html index 727e739..0eb31c9 100644 --- a/site/index.html +++ b/site/index.html @@ -109,7 +109,7 @@

5世界状态循环:
GT21

遥测显示延误60秒,运行审核记录显示55秒,AI应该相信哪一个?

同一架无人机的延误数据来自两个系统。直接覆盖、取平均或按到达顺序选择都会掩盖冲突,必须使用业务方明确声明的处理规则。

进入体验 →
GT22

无人机的位置和电量来自两个系统,AI怎样形成同一时刻的可靠运行快照?

位置与电量分别到达时,不能简单拼接成“当前状态”。系统必须确认对象、时间和字段归属,才能形成可追溯的统一运行快照。

进入体验 →
- GT23

无人机飞行五分钟后位置和电量都变了,系统如何证明“现在”不是“刚才”?

只覆盖最新值会丢失历史和变化依据。系统必须保留前后快照,绑定300秒时间差,并明确记录位置、电量和对象有效期变化。

进入体验 →
+ GT23

无人机飞行五分钟后位置和电量都变了,系统如何证明“现在”不是“刚才”?

只覆盖最新值会丢失历史和变化依据。系统必须保留前后运行快照,绑定300秒时间差,并明确记录位置、电量和对象有效期变化。

进入体验 →
GT24

临时禁飞区发布后,哪些航线、任务和审批结论必须重新检查?

医疗航线穿越临时禁飞区,巡检航线绕开。系统只将医疗航线、任务、审批和起飞动作纳入复核链,避免全量重算或只更新地图。

进入体验 →
GT25

无人机位置更新后,哪些安全距离需要重算,哪些结果可以继续沿用?

无人机从走廊100米移动到130米后,只重算与无人机位置相关的两项安全距离,同时保留固定设施间距和电池余量。

进入体验 →
GT26

飞行服务站营业时间已经失效,系统应该改哪条数据,而不是推翻全部结果?

服务站营业计划从08:00—22:00调整为09:00—18:00,系统只允许替换营业计划,保留位置、频率、服务类型和联系方式,并阻断20:30任务直至复核。

进入体验 →
@@ -122,7 +122,7 @@

6验证提供方生态
GT29

气象服务数据和现场传感器冲突时,AI应该相信谁?

模拟气象服务给出8米/秒,现场传感器给出13米/秒。两个来源都新鲜且相互独立,但数值仍然冲突,因此天气结论保持未知,并请求第三个独立来源。

进入体验 →
GT30

第三个独立气象来源加入后,冲突就自动解决了吗?

第三个独立来源也给出13米/秒,形成二比一;但可信保证策略没有声明多数表决规则,因此系统仍保持未知,不静默删除8米/秒来源,并请求显式气象审定。

进入体验 →
- GT31

人工复核解决气象冲突后,天气合格就能自动起飞吗?

人工复核精确绑定GT30冲突响应与虚构上下文证据,保留三份原始响应并将两份13米/秒读数限定为局部测试气流影响;8米/秒天气结论可用,但自动起飞授权和起飞指令继续阻断。

进入体验 →
+ GT31

人工复核解决气象冲突后,天气合格就能自动起飞吗?

人工复核精确绑定GT30冲突响应与虚构上下文证据,保留三份原始响应并将两份13米/秒读数限定为局部测试气流影响;8米/秒天气结论可用,但自动起飞授权与起飞指令继续阻断。

进入体验 →
GT32

五项授权陆续到达后,什么时候才算可起飞?

空域、运营人、起降场、气象放行和任务授权逐项到达,未知项从5降至0;最后两个起飞相关输出转为可用,但公共核心不发布结果、不发送指令,也不执行飞行动作。

进入体验 →