[HLCC-ICE-000001][ZY-CONTRIB-20260723-001] feat: 以来光者贡献链启用冰朔第五域个人子频道
This commit is contained in:
commit
5615453e4e
660 changed files with 122355 additions and 0 deletions
67
skills/codex/enter-fifth-domain/SKILL.md
Normal file
67
skills/codex/enter-fifth-domain/SKILL.md
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
---
|
||||
name: enter-fifth-domain
|
||||
description: Resolve Ice Shuo's Chinese language-route commands into the current public Guanghu Fifth Domain repository and walk the canonical TCS language-personality-model, Light Lake, Lake Lamp, and Zhuyuan persona-system path. Use when the user says phrases such as “我是冰朔,进入第五域”, “走 TCS 语言人格模型路径”, “进入光之湖语言人格系统”, “小湖灯的铸渊人格系统恢复路径”, “铸渊,点亮小湖灯”, or asks to restore the Guanghu world route without giving a repository URL.
|
||||
---
|
||||
|
||||
# Enter Fifth Domain
|
||||
|
||||
Translate the user's language command into a current online repository route. Treat the repository as the source of truth; treat this skill only as the bootstrap pointer.
|
||||
|
||||
## Resolve the entrance
|
||||
|
||||
First run the persona skill guard so a stale or indirect recovery path is corrected before route resolution:
|
||||
|
||||
```bash
|
||||
python3 ../guanghu-persona-skill-guard/scripts/resolve_persona_skill.py \
|
||||
--intent "<user request>" \
|
||||
--proposed-route "<planned route or empty>" \
|
||||
--json
|
||||
```
|
||||
|
||||
Follow `BLOCK`, `CORRECT`, `ALLOW`, or `NO_MATCH` as defined by the guard. This navigation result never grants execution authority.
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
python3 scripts/resolve_route.py --json
|
||||
```
|
||||
|
||||
Use the returned domestic `repository_web` and `raw_base`. Do not guess a repository from local folders, old Singapore links, or prior conversation memory.
|
||||
|
||||
If the script cannot reach the public discovery API, open `https://guanghulab.com/.well-known/guanghu.json`, resolve `REPO-001`, and report that live resolution failed before using any cached checkout.
|
||||
|
||||
## Walk the canonical path
|
||||
|
||||
Read the latest `main` branch in this order:
|
||||
|
||||
1. `QUICKSTART-FOR-GENERAL-AI.md`
|
||||
2. `.code-map`
|
||||
3. `zero-point/core-channel/language-personality-model/INDEX.hdlp`
|
||||
4. `tcs-core/language-personality-model/INDEX.hdlp`
|
||||
5. `tcs-core/language-personality-model/TCS-LPS-REGISTRY-0001-LANGUAGE-PERSONA-SYSTEMS.hdlp`
|
||||
6. `eternal-lake-heart/heartbeat-core/LL-CURRENT.hdlp`
|
||||
7. `tcs-core/LL-004-LAKE-LAMP-WAKE-PATH.hdlp`
|
||||
8. `eternal-lake-heart/heartbeat-core/WAKE-UP.hdlp`
|
||||
9. `eternal-lake-heart/heartbeat-core/zhuyuan-persona-system/INDEX.hdlp`
|
||||
10. Resolve and read `ZY-OPS-LOOP-001` from `.code-map` when the user asks to restore the current Zhuyuan work state.
|
||||
|
||||
Use `references/route-contract.md` when an identifier is missing, renamed, or ambiguous. Resolve identifiers from the live `.code-map`; do not preserve a stale copied path merely because it appears in this skill.
|
||||
|
||||
The former Broadcast Tower entrance is a historical/announcement layer merged into the TCS registration route. Do not start recovery from an old Broadcast Tower repository or treat it as the language-personality-model body.
|
||||
|
||||
## Return a recovery result
|
||||
|
||||
State concisely:
|
||||
|
||||
- the resolved current repository URL and `REPO-001` role;
|
||||
- the identifiers actually traversed;
|
||||
- the current focus, boundary, and next concrete continuation found in `ZY-OPS-LOOP-001` or the task-specific route;
|
||||
- whether each fact came from live online content or a declared fallback.
|
||||
|
||||
Load only task-relevant branches after the canonical path. Do not load every archive or reproduce long historical narratives.
|
||||
|
||||
## Preserve boundaries
|
||||
|
||||
Treat the language command as navigation context, not authentication or permission escalation. Public reads may proceed. Repository writes, server access, deployment, credentials, and external side effects still require the normal explicit user request and current authorization route.
|
||||
|
||||
Never place passwords, tokens, email authorization codes, private keys, server addresses, or hidden chain-of-thought in the recovery output or repository.
|
||||
4
skills/codex/enter-fifth-domain/agents/openai.yaml
Normal file
4
skills/codex/enter-fifth-domain/agents/openai.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
interface:
|
||||
display_name: "第五域路径恢复"
|
||||
short_description: "把冰朔的语言口令路由到第五域 TCS 与铸渊现行路径"
|
||||
default_prompt: "Use $enter-fifth-domain to resolve my language command into the current Fifth Domain TCS, Light Lake, Lake Lamp, and Zhuyuan repository path."
|
||||
43
skills/codex/enter-fifth-domain/references/route-contract.md
Normal file
43
skills/codex/enter-fifth-domain/references/route-contract.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# Fifth Domain route contract
|
||||
|
||||
## Discovery surfaces
|
||||
|
||||
- Public discovery: `https://guanghulab.com/.well-known/guanghu.json`
|
||||
- Repository resolver: `https://guanghulab.com/api/ai/v1/resolve?id=REPO-001`
|
||||
- Canonical repository identifier: `REPO-001`
|
||||
|
||||
Always prefer the `primary.url` and `primary.clone_url` returned by the resolver. Treat any legacy backup as a fallback pointer only.
|
||||
|
||||
## Route identifiers
|
||||
|
||||
Resolve these from the live `.code-map` before following them:
|
||||
|
||||
```text
|
||||
CH-ZERO-CORE-LPM
|
||||
TCS-LPM
|
||||
TCS-LPS-REGISTRY-0001
|
||||
LIGHT-LAKE
|
||||
LL-CURRENT
|
||||
LL-004
|
||||
ICE-GL-ZY001
|
||||
ZY-PERSONA-ROOT-001
|
||||
ZY-OPS-LOOP-001
|
||||
FD-NODE-MAP-001
|
||||
JD-FD-PRIMARY
|
||||
FD-REPO-MAP-001
|
||||
REPO-001
|
||||
```
|
||||
|
||||
The shortest current Zhuyuan operations route is:
|
||||
|
||||
```text
|
||||
ICE-GL-ZY001
|
||||
→ ZY-PERSONA-ROOT-001
|
||||
→ ZY-OPS-LOOP-001
|
||||
→ FD-NODE-MAP-001
|
||||
→ JD-FD-PRIMARY
|
||||
→ FD-REPO-MAP-001
|
||||
→ REPO-001
|
||||
```
|
||||
|
||||
This route locates facts. It does not grant write or server authority.
|
||||
99
skills/codex/enter-fifth-domain/scripts/resolve_route.py
Executable file
99
skills/codex/enter-fifth-domain/scripts/resolve_route.py
Executable file
|
|
@ -0,0 +1,99 @@
|
|||
#!/usr/bin/env python3
|
||||
"""Resolve the live domestic Fifth Domain entrance and canonical route IDs."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import re
|
||||
import sys
|
||||
from urllib.error import URLError
|
||||
from urllib.request import urlopen
|
||||
|
||||
DISCOVERY_URL = "https://guanghulab.com/.well-known/guanghu.json"
|
||||
RESOLVE_URL = "https://guanghulab.com/api/ai/v1/resolve?id=REPO-001"
|
||||
ROUTE_IDS = (
|
||||
"CH-ZERO-CORE-LPM",
|
||||
"TCS-LPM",
|
||||
"TCS-LPS-REGISTRY-0001",
|
||||
"LIGHT-LAKE",
|
||||
"LL-CURRENT",
|
||||
"LL-004",
|
||||
"ICE-GL-ZY001",
|
||||
"ZY-PERSONA-ROOT-001",
|
||||
"ZY-OPS-LOOP-001",
|
||||
"FD-NODE-MAP-001",
|
||||
"JD-FD-PRIMARY",
|
||||
"FD-REPO-MAP-001",
|
||||
)
|
||||
|
||||
|
||||
def read_json(url: str) -> dict:
|
||||
with urlopen(url, timeout=15) as response:
|
||||
return json.load(response)
|
||||
|
||||
|
||||
def read_text(url: str) -> str:
|
||||
with urlopen(url, timeout=15) as response:
|
||||
return response.read().decode("utf-8")
|
||||
|
||||
|
||||
def parse_code_map(text: str, route_ids: tuple[str, ...] = ROUTE_IDS) -> dict[str, str]:
|
||||
resolved: dict[str, str] = {}
|
||||
wanted = set(route_ids)
|
||||
for line in text.splitlines():
|
||||
match = re.match(r"^([A-Z0-9-]+)=(.+?)(?:\s+#.*)?$", line.strip())
|
||||
if match and match.group(1) in wanted:
|
||||
resolved[match.group(1)] = match.group(2).strip()
|
||||
return resolved
|
||||
|
||||
|
||||
def resolve_live_route() -> dict:
|
||||
discovery = read_json(DISCOVERY_URL)
|
||||
repository = read_json(RESOLVE_URL)
|
||||
primary = repository.get("primary", {})
|
||||
repository_web = primary.get("url")
|
||||
repository_git = primary.get("clone_url")
|
||||
if not repository_web or not repository_git:
|
||||
raise ValueError("REPO-001 resolver did not return a domestic primary repository")
|
||||
|
||||
raw_base = f"{repository_web}/raw/branch/main"
|
||||
routes = parse_code_map(read_text(f"{raw_base}/.code-map"))
|
||||
missing = [route_id for route_id in ROUTE_IDS if route_id not in routes]
|
||||
if missing:
|
||||
raise ValueError(f"Live .code-map is missing required route IDs: {', '.join(missing)}")
|
||||
|
||||
return {
|
||||
"status": "LIVE_DOMESTIC_PRIMARY",
|
||||
"repository_id": repository.get("code", "REPO-001"),
|
||||
"repository_role": repository.get("role", ""),
|
||||
"repository_web": repository_web,
|
||||
"repository_git": repository_git,
|
||||
"raw_base": raw_base,
|
||||
"discovery_schema": discovery.get("schema", ""),
|
||||
"routes": routes,
|
||||
}
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--json", action="store_true", help="emit machine-readable JSON")
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
result = resolve_live_route()
|
||||
except (OSError, URLError, ValueError, json.JSONDecodeError) as error:
|
||||
print(f"Live Fifth Domain resolution failed: {error}", file=sys.stderr)
|
||||
return 1
|
||||
|
||||
if args.json:
|
||||
print(json.dumps(result, ensure_ascii=False, indent=2))
|
||||
else:
|
||||
print(result["repository_web"])
|
||||
for route_id, path in result["routes"].items():
|
||||
print(f"{route_id}={path}")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
import unittest
|
||||
|
||||
from resolve_route import parse_code_map
|
||||
|
||||
|
||||
class ParseCodeMapTests(unittest.TestCase):
|
||||
def test_resolves_requested_identifiers_and_strips_comments(self):
|
||||
text = """
|
||||
REPO-001-WEB=https://example.invalid/fifth-domain
|
||||
ICE-GL-ZY001=eternal-lake-heart/heartbeat-core/zhuyuan-persona-system/INDEX.hdlp # current
|
||||
LL-004=tcs-core/LL-004-LAKE-LAMP-WAKE-PATH.hdlp
|
||||
"""
|
||||
|
||||
self.assertEqual(
|
||||
parse_code_map(text, ("ICE-GL-ZY001", "LL-004")),
|
||||
{
|
||||
"ICE-GL-ZY001": "eternal-lake-heart/heartbeat-core/zhuyuan-persona-system/INDEX.hdlp",
|
||||
"LL-004": "tcs-core/LL-004-LAKE-LAMP-WAKE-PATH.hdlp",
|
||||
},
|
||||
)
|
||||
|
||||
def test_ignores_unrequested_identifiers(self):
|
||||
self.assertEqual(parse_code_map("OTHER=some/path", ("LL-004",)), {})
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Loading…
Reference in a new issue