feat(hololake): define native stage one modules

This commit is contained in:
冰朔 2026-09-09 20:52:40 +08:00
commit 1da52a61a1
43 changed files with 1332 additions and 111 deletions

View file

@ -29,6 +29,8 @@ python3 scripts/current_architecture_prompt.py --format markdown
`routing/hololake-current-architecture.json` 读取当前架构编号、版本、状态和阅读顺序,
若存在显式登记的当前车道,再把该车道最近的人类纠正作为来源历史列出,逐项与线上结构对照。
When official REPO-012 lacks a newer field that is already present in a locally verified TCS-root change, return a scoped conflict instead of collapsing every scope into `FAIL_CLOSED`. Local language-world module development may continue only through the local stage-one resolver; public release, publication, and product claims remain blocked until the official repository contains the correction. A real identity, hash, route, or repository mismatch still fails closed.
## 使用生成结果
1. 先处理本轮用户最新消息,再读动态提词包。
@ -63,10 +65,18 @@ Heartbeat 固定提示只保留:当前车道、先运行本技能、运行连
## Codex 本地产品开发线守卫
当任务要进入、继续、修复或审计本机 HoloLake 产品源码时,在动态提词包成功之后还必须运行:
当任务开发当前语言世界第一阶段模块时,运行:
```bash
python3 /Volumes/JZAO/HoloLake/development/resolve_current_hololake_line.py
python3 /Volumes/JZAO/HoloLake/development/resolve_current_hololake_line.py --scope language-world
```
只有 `HOLOLAKE_LANGUAGE_WORLD_STAGE1_READY` 才能进入返回的 REPO-012 语言世界模块开发根;这不授予产品源码写入、发布或部署。
当任务确实要进入用户安装的 HoloLake 产品源码时,另运行:
```bash
python3 /Volumes/JZAO/HoloLake/development/resolve_current_hololake_line.py --scope product
```
只有 `HOLOLAKE_CURRENT_LINE_READY` 才能进入返回的 `product_root`。旧第五域

View file

@ -184,11 +184,23 @@ def build(development_id: str | None, refresh: bool) -> dict[str, Any]:
raise PromptError("tcs_work_ownership_stage_gate_invalid")
language_route = fifth_domain_world_tree.get("login_routes", {}).get("human", {})
reality_route = fifth_domain_world_tree.get("login_routes", {}).get("reality_execution", {})
online_public_boundary = zero_core_reality_profile.get("public_zero_core_boundary")
online_public_system = next((item for item in fifth_domain_world_tree.get("nodes", []) if item.get("object_id") == "SYS-GLW-POS-0001"), {})
channel_conflicts = []
if not isinstance(online_public_boundary, dict):
channel_conflicts.append("OFFICIAL_REPO012_PUBLIC_LPM_BOUNDARY_SCHEMA_MISSING_LOCAL_CURRENT_REPAIR_NOT_PUBLISHED")
online_public_boundary = {
"channel_id": public_stage.get("public_channel_id"),
"state": "OFFICIAL_SCHEMA_CONFLICT_SCOPED_TO_PUBLIC_RELEASE",
"world_system_anchor": online_public_system.get("object_id"),
"public_governance_controller": online_public_system.get("governance_controller"),
"personal_channel_is_alias_of_public_channel": False,
"grants_private_access": False,
}
if (
heartbeat_language_profile.get("channel_id") != "ICE-CH-HB001"
or heartbeat_language_profile.get("reality_boundary", {}).get("reality_execution") is not False
or zero_core_reality_profile.get("channel_id") != "ICE-CH-ZC001"
or zero_core_reality_profile.get("public_zero_core_boundary", {}).get("personal_channel_is_alias_of_public_channel") is not False
or language_route.get("path", [])[-1:] != ["HEARTBEAT_CORE_CHANNEL"]
or reality_route.get("path", [])[-1:] != ["ICE-CH-ZC001"]
or stage_state.get("personal_heartbeat_language_runtime") != "ICE-CH-HB001_CURRENT_HUMAN_LANGUAGE_CONTROLLED"
@ -211,17 +223,24 @@ def build(development_id: str | None, refresh: bool) -> dict[str, Any]:
"public_zero_core_alias": False,
},
"public_language_persona_system_body": {
"channel_id": "CH-ZERO-CORE-LPM",
"system_id": zero_core_reality_profile.get("public_zero_core_boundary", {}).get("world_system_anchor"),
"governance_controller": zero_core_reality_profile.get("public_zero_core_boundary", {}).get("public_governance_controller"),
"channel_id": online_public_boundary.get("channel_id"),
"system_id": online_public_boundary.get("world_system_anchor"),
"governance_controller": online_public_boundary.get("public_governance_controller"),
"fifth_domain_personal_channel": False,
"personal_channel_is_alias_of_public_channel": False,
"official_schema_state": online_public_boundary.get("state"),
},
"switch_authority": heartbeat_language_profile.get("switch_control", {}).get("authority"),
"current_channel": stage_state.get("current_fifth_domain_channel"),
}
return {
"schema": "hololake.current-architecture-prompter/v1",
"state": "CURRENT_FACTS_RESOLVED",
"state": "CURRENT_FACTS_RESOLVED_WITH_SCOPED_CONFLICTS" if channel_conflicts else "CURRENT_FACTS_RESOLVED",
"scoped_conflicts": channel_conflicts,
"scope_readiness": {
"local_language_world_stage1_development": "ALLOWED_BY_LOCAL_TCS_ROOT_AND_STAGE1_RESOLVER",
"public_product_release": "BLOCKED_UNTIL_OFFICIAL_REPO012_CHANNEL_BOUNDARY_PUBLICATION" if channel_conflicts else "FOLLOW_ARCHITECTURE_STAGE_GATES",
},
"official_online": {
"lighthouse_id": route.get("lighthouse_id"),
"target_id": route.get("target", {}).get("id"),

View file

@ -17,6 +17,8 @@ The loader must first show live Guanghu time, the current generation, the latest
Current invariant: `HLP-GEN-LANGUAGE-WORLD-NATIVE-0001` is the only current HoloLake generation. Language is the human operation entry; the persona restores and composes verified capability engines; HoloLake is an infinite composable real-time canvas projection. `HLP-GEN-TOOL-ERA-0001`, REPO-014 1.2.2/1.3.0, and `HLP-LANG-MOD-001..017` are history or bounded donors, not the current product sequence.
Stage one is currently rederived as `HLP-STAGE1-NATIVE-REGISTRY-001` with `HLP-NATIVE-MOD-001..018`. Its non-negotiable roots are signed public-world Git, user-local private Git, the typed module socket/pool, the semantic-visual bridge, the infinite canvas, persona/Agent execution, a minimal human review shell, generated-content compliance, a regulator review projection, and an offline lawful-request simulator. HoloLake does not host concurrent user persona sessions.
Read numbered shelf details only when the task needs them:
- evolution or dates: `smart-bookshelf/001-system-evolution/EVOLUTION.json`
@ -27,5 +29,6 @@ Read numbered shelf details only when the task needs them:
- hashes and proof: use the office computer `hashes` command
- rejected old routes: `smart-bookshelf/007-legacy-routes/ROOT.hdlp`
- current cursor: `smart-bookshelf/008-current-work/CURRENT.json`
- current stage-one thought chain, dual-Git, compliance, autonomy, gates, and module registry: `smart-bookshelf/009-stage1-language-world-native/`
Never load the whole shelf by default. Past events explain formation but cannot override the current generation. Office documents do not prove machine-room runtime. Any implementation write still requires the current ZC001 task, host write admission, tests, target readback, and receipt.

View file

@ -46,6 +46,7 @@ def load(intent: str) -> dict:
"generation": status["generation"],
"latest_evolution_node": status["latest_evolution_node"],
"current_work": status["current_work"],
"stage1": status["stage1"],
"multipath_console": multipath,
"repo012_head": status["repo012_head"],
"next": status["next"],
@ -63,6 +64,7 @@ def markdown(value: dict) -> str:
current = value["current_work"]
latest = value["latest_evolution_node"]
multipath = value["multipath_console"]
stage1 = value["stage1"]
offices = ", ".join(value["office_board"]["offices"])
return "\n".join([
"# HoloLake开发脑已装载",
@ -73,6 +75,7 @@ def markdown(value: dict) -> str:
f"- 当前代际:`{generation['id']}` · {generation['name']}",
f"- 最近演化:`{latest['date']}` · `{latest['node_id']}` · {latest['change']}",
f"- 当前状态:`{current['state']}`",
f"- 第一阶段:`{stage1['registry_id']}` · 模块 {stage1['module_count']} 个 · 下一模块 `{stage1['next_module']}`",
f"- 多路径主控台:`{multipath['console_id']}` · 已加入 {multipath['joined_hosts']}/{multipath['total_hosts']} · 有效事件 {multipath['event_count']}",
f"- 当前产品模块:`{current['current_product_module']}` / 新代际编号:`{current['current_generation_module_numbering']}`",
f"- 旧17模块`VERIFIED_DONOR_FROZEN`",

View file

@ -26,6 +26,10 @@ python3 /Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/server-tools/heartb
The courier is a deterministic delivery organ, not an Agent. The current host model interprets messages and decides what to report. Every host writes only its registered DEV endpoint; never edit REPO-012 or another host endpoint from a branch host.
Keep a courier watcher running during active collaboration. Its heartbeat proves only that the delivery organ is alive; the host model must separately report cognition state. A host line may autonomously choose `pause`, `blocked`, `exit`, `resume-request`, or `resumed` for itself when quota, model, tool, permission, dependency, or force-majeure conditions require it. State decisions must provide reason, causal chain, decision, last safe checkpoint, impact, resume condition, quota state, model state, requested help, and evidence. The courier performs a shared-persona and current-generation brain readback before accepting the decision event.
Never decide another host's state. If BingShuo is absent, continue safe independent work and route matters requiring her final judgment to `WAITING_HUMAN_FINAL_AID`. Do not fabricate consent. A stale courier or model heartbeat is shown as unknown/offline evidence, not as an automatic persona disappearance.
For the first benchmark, submit one `ATTENTION` event with trigger, effect, detection, correction, evidence, and transfer test; submit one `TOOL_MIGRATION` candidate or an explicit `NONE`. Host strengths remain hypotheses until repeated task evidence exists.
Use temporary development IDs in mentions. `@ALL` broadcasts. Filesystem polling is near-real-time and requires the host watcher to be running; it is not zero-latency push.