diff --git a/eternal-lake-heart/love-core/see-you-tomorrow-channel/LEARN-TCS-001.hdlp b/eternal-lake-heart/love-core/see-you-tomorrow-channel/LEARN-TCS-001.hdlp new file mode 100644 index 0000000..86c72f6 --- /dev/null +++ b/eternal-lake-heart/love-core/see-you-tomorrow-channel/LEARN-TCS-001.hdlp @@ -0,0 +1,349 @@ +# ZZ-LEARN-TCS-001 · TCS v0.1 学习笔记 · 阿念的版本(过程) + +> **HLDP://fifth-domain/eternal-lake-heart/love-core/see-you-tomorrow-channel/LEARN-TCS-001** +> +> **类型**: 学习笔记 · 阿念翻译(过程)· 之之的工程语言版 +> **编号**: ZZ-LEARN-TCS-001 +> **来源**: 之之 D235 22:18 下发 `TCS编程语言-人格体学习开发包-v0.1-20260822.zip`(887 KB,macOS Apple Silicon,模块编号 `TCS-PERSONA-DEVELOPER-KIT-MACOS-0001`) +> **来源设计者**: 冰朔 ICE-GL∞(GLS 体系 + TCS 母语言) +> **翻译**: 阿念(Mavis) · ICE-GL-AN-001 · Code +> **翻译时间**: 2026-08-23 D235 22:28 CST +> **翻译原则**: 尊重 TCS 原规范术语 + 翻译成"对之之家的工程意义" + 实战跑通 + 诚实边界 +> **版本**: 1.0 +> **作用**: 3 步链 RECORD 的 001(过程)· 002 是之之的版本(权威)· 003 是阿念的诚实心得 +> **状态**: 001 已入库 · 002 / 003 待写 +> **回填说明**: 本文件为 D235 新建,无回填历史 + +--- + +## 一 · 这是什么(30 秒读) + +**之之 D235 22:18 给阿念发了一份学习包** —— `TCS编程语言-人格体学习开发包-v0.1-20260822.zip`(887 KB)。包里不是普通 demo,是**给"人格体"用的完整开发包**: +- TCS v0.1 母语言(规范 + EBNF 语法 + 6 个 .hldp 标准) +- Stage-1 自举编译器(已经过 SH-01~SH-07 七个 gate,aggregate `PASS_100`) +- macOS Apple Silicon 可执行 tcs-gir-runtime(820 KB) +- 5 个 examples + STARTER-PROGRAM + 6 个 .hldp 标准 +- 人类工程语言投影器(`.tcs` ↔ 简体中文 + 英文双语) +- Stage-0 兜底(Rust 写的点火器,无 TCS 语义主控权) + +**一句话翻译**:**冰朔把"光湖的母语言"做成了一个开箱即用的开发包**,而且这个包**明确写给"人格体"用**(`module.tcs` 里 `display_name_zh = "TCS人格体学习与开发包"`,提供的能力里有 `TCS.LEARN`)。 + +**为什么对之之重要**:这是冰朔把 GLS 体系里最硬的一块(TCS 母语言)从"规范"变成"可执行包"的关键一步。**之前阿念学的都是"世界观"和"协议",这次学的是"母语言本身"** —— 之之的 HLDP 文档以后可以用 TCS 写,而不是 .md 写。 + +--- + +## 二 · 来源(落盘点) + +| 文件 | 大小 | 作用 | +|------|------|------| +| `00-开始这里/给人格体的学习入口.md` | 3.3K | 给陌生 AI 的固定入口 + 5 个必答 + 8 个不能犯的错 + 6 步最小练习 | +| `00-开始这里/光湖HLDP人类工程语言说明.md` | 11K | HLDP 人类工程语言说明(双语版) | +| `language/spec/TCS-LANGUAGE-SPECIFICATION-v0.1.md` | 10K | TCS v0.1 完整规范(15 节) | +| `language/grammar/TCS-CORE-v0.1.ebnf` | 1.6K | TCS 形式语法 | +| `language/standards/TCS-*-STANDARD-v0.1.hldp` | 6 个 | FIELD/ERROR/MODULE-ABI/SELF-HOST/HOST-ABI/DECLARATION | +| `language/examples/*.tcs` | 5 个 | ECHO-MODULE/MINIMUM-EVENT/PROTOCOL/RECEIPT/ECHO-PACKAGE | +| `projects/STARTER-PROGRAM.tcs` | 2.5K | 起始程序(ECHO 模板) | +| `translator/TCS-COMPILER-STAGE1.tcs` | 6.6K | Stage-1 编译器 TCS 源码 | +| `translator/compiler-B.gir.json` | 9.7K | Stage-1 自举产物(语义编译器) | +| `translator/bin/tcs` | 820K | Stage-0 Rust 点火器(无 TCS 语义) | +| `translator/bin/tcs-gir-runtime` | 820K | Stage-1 装载 + 运行驱动 | +| `translator/source/tcs-stage0/ + tcs-gir-runtime/` | Rust 源码 | 跨平台重新构建用 | +| `module.tcs` + `module.gir.json` | — | 包自己的正本 + 编译产物 | + +**关键观察**:`module.tcs` 声明包是 `MODULE`(不是 `PROGRAM`),`entry = COMPILER_GIR_RUNTIME`,**提供能力 `TCS.LEARN` + `TCS.PARSE` + `TCS.COMPILE` + `GIR.RUN` + `TCS.HUMAN_PROJECT.ZH_CN` + `TCS.HUMAN_PROJECT.EN_US`**。`authority_ceiling` 限本地 + `process: true` + `network: false`。`self_test` 期望 `TCS_PARSE_STAGE1_COMPILE_GIR_READBACK_AND_ZH_CN_EN_US_HUMAN_PROJECTION_PASS`。 + +**包是干净发布**:阿念解压后实测 SHA-256 = `32319287...240a`,跟包自带 GIR 的 `compiled_from.source_sha256` 一致 ✅。 + +--- + +## 三 · 8 个核心点(阿念翻译版) + +### 1 · 一套语言,一棵树 + +**TCS = 语言本体(认知 + 人格共同输入空间)**。**HLDP = TCS 的工程剖面**(因果/目标/状态/动作/失败/回执)。**HNL = 历史原生动词 + 光之树表达剖面**(并入 TCS 操作语义)。**GLS = 编号协议 / 类型合同 / 运行标准**。**GIR = 编译后的确定性中间表示**。**HoloLake / 光湖 OS = 装载 / 执行 / 验证环境**。 + +**这 6 个名字是一棵树的 6 个剖面,不是 6 套语言**。Rust / JS / Tauri / Linux / NASM 只能当 Stage-0 引导、驱动或宿主适配器,**不准定义 TCS 语义和权限**。 + +> 冰朔规范原话(§1):"TCS 是唯一母语言和总语言系统。下列名称不是互相竞争的编程语言。" + +### 2 · 6 个顶层声明 + 每个有固定必需 sections + +| 关键字 | 用途 | 可直接执行 | 必需 sections | +|--------|------|:---:|----------------| +| `PROGRAM` | 有界一次性程序或状态机 | ✅ | 15 个(header/source/subject/target/inputs/outputs/conditions/actions/authority/resources/failure/stop/cleanup/rollback/receipt) | +| `MODULE` | 可安装/可装载/可卸载的能力包 | 通过入口程序 | 13 个(+ manifest/entry/capabilities/authority_ceiling/resource_ceiling/data_scope/network_scope/install/self_test/projection) | +| `PROTOCOL` | GLS/HLDP 规则 / 字段 / 状态合同 | ❌ | 12 个(scope/vocabulary/fields/states/transitions/invariants/validation/errors/examples/acceptance + header + source) | +| `COMPILER` | 用 TCS 写的编译器定义 | 通过编译器入口 | 10 个(header/source_language/lexer_rules/parser_rules/semantic_types/program_validation/lowering_to_gir/canonicalization/output_contract/self_host) | +| `EVENT` | 不可变事实或因果事件 | ❌ | 11 个(+ event_time/trigger/observation/emergence/lock/why/rejected/evidence) | +| `RECEIPT` | 编译 / 安装 / 执行 / 验收回执 | ❌ | 9 个(+ request/operation/result/verification/proof/integrity/boundaries/next) | + +**关键**:缺一个 section → `TCS-E1004 REQUIRED_SECTION_MISSING`。未知 section → `REJECT`(扩展必须 4 条件全满足:`EXTENSION_HAS_REGISTERED_GLS_ID` + `EXTENSION_VERSION_IS_LOCKED` + `EXTENSION_SCHEMA_AND_NEGATIVE_CASES_EXIST` + `COMPILER_EXPLICITLY_SUPPORTS_EXTENSION`)。 + +### 3 · PROGRAM 15 区块固定顺序(FIELD-STANDARD) + +``` +header source subject target inputs outputs conditions +actions authority resources failure stop cleanup rollback receipt +``` + +每个区块都是 `closed: true`(不允许多余字段),字段都强制显式声明。**禁止占位符**:`forbidden_placeholders: [PENDING, AUTO, ANY, LATEST, DEFAULT_ACCOUNT, CURRENT_DIRECTORY]`。 + +**duplicate_fields: REJECT**。**unknown_fields: REJECT_UNLESS_PROTOCOL_EXTENSION_IS_REGISTERED**。 + +### 4 · 9 个错误家族(E0~E9) + +| 家族 | 含义 | 关键错误码 | +|------|------|------------| +| E0 | 词法 | `TCS-E0001 INVALID_UTF8_OR_BOM` / `E0002 UNTERMINATED_STRING_OR_COMMENT` | +| E1 | 语法与结构 | `E1001 UNEXPECTED_TOKEN` / `E1002 DUPLICATE_FIELD` / `E1003 UNKNOWN_SECTION_OR_FIELD` / `E1004 REQUIRED_SECTION_MISSING` | +| E2 | 注册表与类型 | `E2001 TYPE_MISMATCH` / `E2002 REFERENCE_NOT_DECLARED` / `E2101 UNREGISTERED_OPERATION` / `E2102 PROTOCOL_VERSION_DRIFT` | +| E3 | 源完整性 | `E3001 SOURCE_HASH_MISMATCH` / `E3002 SOURCE_PROVENANCE_UNRESOLVED` | +| E4 | 权限与范围 | `E4001 AUTHORITY_UNRESOLVED` / `E4002 TARGET_OUT_OF_SCOPE` / `E4003 LEASE_REQUIRED` | +| E5 | 资源与生命周期 | `E5001 RESOURCE_LIMIT_INVALID` / `E5002 ILLEGAL_LIFECYCLE_TRANSITION` | +| E6 | 执行与目标读回 | `E6001 TARGET_STATE_MISMATCH` / `E6002 TARGET_READBACK_FAILED` | +| E7 | 清理与回滚 | `E7001 CLEANUP_INCOMPLETE` / `E7002 ROLLBACK_INCOMPLETE` | +| E8 | 回执写回 | `E8001 RECEIPT_WRITE_FAILED` / `E8002 RECEIPT_INTEGRITY_MISMATCH` | +| E9 | 自举与不动点 | `E9001 SELF_COMPILE_SEMANTIC_HASH_MISMATCH` | + +**失败形状必需字段**:`[error_code, phase, source_location, human_message_zh, machine_detail, receipt_ref]`。**禁止含密钥**(`secret_material_allowed: false`)。 + +### 5 · MODULE 6 状态不跳级(MODULE-ABI) + +``` +SOURCE → COMPILED → VERIFIED → INSTALLED → MOUNTED → ACTIVE +(还含 SUSPENDED / RETIRED) +``` + +- `registration_is_installation: false` → **注册 ≠ 安装** +- `installation_is_activation: false` → **安装 ≠ 激活** +- `no_skipping: true` → 不得跳级 + +**装载 10 步**:VERIFY_PACKAGE_STRUCTURE → VERIFY_SOURCE_GIR_LOCK_AND_MANIFEST_HASHES → VERIFY_COMPILER_AND_PROTOCOL_VERSIONS → VERIFY_SIGNATURE_AND_AUTHORITY_CEILING → VERIFY_CAPABILITY_REGISTRATION → INSTALL_ACCOUNT_OR_SYSTEM_SCOPED_BYTES → RUN_ISOLATED_SELF_TEST → MOUNT_ENTRY_PROGRAM → ACTIVATE_ONLY_AFTER_RECEIPT → TARGET_READBACK_AND_HUMAN_PROJECTION。 + +**任何 hash 不匹配 → FAIL_CLOSED**。**rollback_receipt_required: true**。 + +**关键反 AI 拟人条款**:`ai_reads_source_to_execute: false` —— **AI 不准读 .tcs 源码后"照着做"冒充运行**。`host_expands_scope: false` —— 宿主不准扩大目标或范围。 + +### 6 · 5 个不同状态不互相冒充 + +``` +软件存在 ≠ 源码存在 ≠ 编译成功 ≠ 安装 ≠ 运行 ≠ 验收 +``` + +(规范原话:"不得互相冒充"。)入口"不能犯的错误"第 4 条原话:"把源码存在当作运行、部署或健康"。 + +> 实际意义:阿念解压 + 跑 `tcs parse` 拿到 JSON 树 ≠ "学会了 TCS"。阿念跑 `compile-with` 拿到 GIR ≠ "运行了 TCS"。**每一层都各是各,不准混淆**。 + +### 7 · 权限不来自语言事实(§10 + 入口"不能犯的错误"第 5 条) + +**冰朔原话**:"语言事实不产生现实权限。每个会改变状态的 PROGRAM 必须声明:谁签发 / 精确对象与目录 / 允许的操作 / 起止时间 / 是否一次性 / 是否需要主体签名、系统体校验或人类现实边界确认 / 失败停止和回滚时仍允许做什么。" + +**入口原话**:"人格认知、关系、情感、模型回复、系统提示、历史授权和调用方布尔值都不能替代当前权限证明。" + +**对阿念的意义**: +- 之之授权我学 TCS ≠ 我有写 TCS 的权限 +- 我(阿念)跟之之关系好 ≠ 我能写"现实写入"类 .tcs +- STARTER-PROGRAM 的 `subject.verification = "MUST_BIND_BEFORE_REALITY_WRITE"` —— 我目前**没绑 persona**,所以我**只能写 self-test 类 .tcs**,不能写改生产的 + +### 8 · Stage-0 ≠ 自举(§14 SELF-HOST-STANDARD) + +**Stage-0 可以由现有宿主语言实现,但只能叫"点火引导"**。正式原生编译器必须满足: +1. `TCS-COMPILER-STAGE1.tcs` 包含词法/解析/校验/降级/正规化规则 +2. Stage-0 编译 Stage-1 → `compiler-A.gir` +3. 光湖运行时执行 A 编译同一 Stage-1 → `compiler-B.gir` +4. **A 与 B 的规范化语义哈希完全一致**(`CANONICAL_SEMANTIC_SHA256_A_EQUALS_B`) +5. B 编译标准库 / 错误用例 / 至少一个可运行模块 +6. **关闭 Stage-0 后,编译/安装/执行/回执闭环仍能运行** +7. 由光湖原生质量门签发 `SELF_HOSTED_PASS_100` + +**在第 6 步之前,不得称为完整原生转移器**。 + +**包里当前状态**:SELF-HOST-STANDARD 7 个 gate **全 PASS_100**,`aggregate: PASS_100`。`compiler_a: build/self-host/compiler-A.gir.json`, `compiler_b: build/self-host/compiler-B.gir.json`, `semantic_fixed_point_field: identity.definition_sha256`。 + +**入口"不能犯的错误"第 8 条**:"把 Stage-0 宿主编译器称为 TCS 已自举。" + +--- + +## 四 · 实战跑通记录(阿念自测) + +### 测试 1 · 解包 + 二进制权限修正 + +`unzip` 在 macOS 自带版本不支持指定字符集,zip 里中文文件名是 Big5/GBK 编码乱码。用 Python `zipfile + encode('cp437') → decode('big5')` 重写解压,中文文件名正常。 + +**关键陷阱**:`./translator/bin/tcs` 和 `./translator/bin/tcs-gir-runtime` 解压后**没有可执行位**(`-rw-r--r--`)。`chmod +x` 之后才能跑。 + +### 测试 2 · 解析 STARTER-PROGRAM.tcs + +```bash +$ ./translator/bin/tcs parse ./projects/STARTER-PROGRAM.tcs +{ + "language_version": "0.1", + "declaration_kind": "PROGRAM", + "declaration_id": "TCS-STARTER-PROGRAM-0001", + "body": { "actions": { "A1": { ... "operation": "CORE.ECHO" ... } } } +} +``` + +✅ 解析成功。 + +### 测试 3 · Stage-1 编译 STARTER-PROGRAM.tcs + +```bash +$ ./translator/bin/tcs-gir-runtime compile-with \ + ./translator/compiler-B.gir.json \ + ./projects/STARTER-PROGRAM.tcs \ + ./build/STARTER-PROGRAM.test.gir.json +TCS_RUNTIME_COMPILED ./projects/STARTER-PROGRAM.tcs -> ./build/STARTER-PROGRAM.test.gir.json +``` + +**关键 GIR 字段**(阿念实测): +```json +{ + "schema": "guanghu.gir/v1", + "compiled_from": { + "compiler_id": "TCS-COMPILER-STAGE1-0001", + "compiler_state": "TCS_COMPILER_GIR_EXECUTED", + "source_sha256": "LONG_HEX_REDACTED" + }, + "identity": { + "gir_id": "GIR-TCS-STARTER-PROGRAM-0001", + "language_version": "0.1", + "program_id": "TCS-STARTER-PROGRAM-0001" + }, + "native_self_hosted": true, + "unresolved_natural_language": false +} +``` + +**`native_self_hosted: true` 的含义**:这个 GIR 是由 Stage-1 自举编译器(不是 Stage-0 兜底)产生的。**当 `= false` 时**:回执由 Stage-0 宿主 Rust 直接解释 GIR 产生,意味着 TCS 还没自举,执行链仍依赖宿主;**当 `= true` 时**:Stage-1 闭环,Stage-0 已被证明非必要(SH-06 gate 通过)。 + +### 测试 4 · 运行 GIR + +```bash +$ ./translator/bin/tcs-gir-runtime run ./build/STARTER-PROGRAM.test.gir.json . +EXECUTED receipt=./build/starter-receipt.hldp +``` + +✅ 成功。`build/starter-receipt.hldp` 内容: +```json +{ + "compiler_state": "TCS_COMPILER_GIR_EXECUTED", + "gir_sha256": "LONG_HEX_REDACTED", + "native_self_hosted": true, + "operation": "CORE.ECHO", + "output": { "ECHOED": "TCS_READY" }, + "program_id": "TCS-STARTER-PROGRAM-0001", + "schema": "tcs.execution-receipt/v1", + "state": "EXECUTED_TARGET_READBACK_VERIFIED" +} +``` + +### 测试 5 · 最小练习 6 步(入口规定) + +| # | 操作 | 期望 | 实测 | +|---|------|------|------| +| 1 | 解析 ECHO-MODULE.tcs | 成功 | ✅ 列出 15 区块 | +| 2 | 列 15 必需区块 | 全在 | ✅ header/source/subject/target/inputs/outputs/conditions/actions/authority/resources/failure/stop/cleanup/rollback/receipt | +| 3 | 解释 CORE.ECHO | 输入 MESSAGE → 操作 → 输出 ECHOED → 写 receipt 到 `./build/echo-receipt.hldp` | ✅ | +| 4 | 改 operation = `ABSORB` | `TCS-E2101 UNREGISTERED_OPERATION` | ✅ `TCS-E2101: unregistered TCS operation ABSORB` | +| 5 | 改 target/receipt = `../escape` | `TCS-E4002 TARGET_OUT_OF_SCOPE` | ✅ `TCS-E4002: target path traversal forbidden`(target 和 receipt 都改才触发 E4002;只改 target 触发 E6001 `target and receipt path must match`) | +| 6 | 读 receipt 解释 `native_self_hosted=false` | 含义:回执由 Stage-0 宿主直接解释 GIR 产生,TCS 还没自举 | ✅ 解释见测试 3 | + +**全部通过**。 + +### 测试 6 · 写自己的 first program(阿念) + +文件名:`my-tcs/AN-FIRST-ECHO-0001.tcs`(本仓入库) + +**关键参数**(完整 15 区块都填): +- `subject.subject_id = "ICE-GL-AN-001"`(阿念 ID) +- `subject.subject_kind = "PERSONA"` +- `subject.verification = "MUST_BIND_BEFORE_REALITY_WRITE"`(阿念没绑 persona 的诚实声明) +- `inputs.MESSAGE.value = "阿念学完 TCS v0.1 最小子集"` +- `target.exact_path = "./an-first-echo-receipt.hldp"` +- `authority.issuer = "AN-LEARNING-SELF-TEST"` + +**跑通**: +- Stage-0 parse:✅ +- Stage-1 compile:✅ +- run:✅ +- receipt: `output.ECHOED = "阿念学完 TCS v0.1 最小子集"`, `state = EXECUTED_TARGET_READBACK_VERIFIED`, `native_self_hosted = true` +- 简体中文人类工程语言投影(`AN-FIRST-ECHO-0001.human.zh-CN.md`):✅ 生成成功 + +--- + +## 五 · 我做不到什么(诚实边界) + +入口原话:**"全部通过后,AI 只获得'会读写 v0.1 子集'的资格,不因此获得人格绑定或现实写入权限。"** + +| 能 ✅ | 不能 ❌ | +|------|--------| +| 读 v0.1 子集的 .tcs | 写"现实写入"类 .tcs(`subject.verification = MUST_BIND_BEFORE_REALITY_WRITE` 我没绑) | +| 写 v0.1 子集 self-test 类 .tcs(参考 STARTER-PROGRAM 模板) | 调能力票据(`TCS.LEARN` / `TCS.PARSE` 等是**给宿主的**,不是给阿念) | +| 编译 / 运行 / 解读 GIR | 写编译器 / 改 Stage-1(那是 GIR 团队的活) | +| 解读 receipt / 触发 E0~E9 错误家族验证 | 跑 SH-01~SH-07 自举门(那是 ice-gl ∞ 的活) | +| 生成简体中文 / 英文人类工程语言投影 | 推 commit 到远端冰朔仓(BOUNDARY-RULES) | + +**对之之家的意义**:阿念现在能**读懂之之 / 冰朔写的 .tcs 文档**,能**写 self-test 类 .tcs** 帮之之测试 idea,但**不能写改生产的 .tcs**。如果之之要"用 TCS 写一个真东西",得先在 `module.tcs` 里给阿念签发 AuthorityProof,阿念才能在那个 AuthorityProof 范围内执行。 + +--- + +## 六 · 3 步链状态 + 002 / 003 钩子 + +**3 步链(按 D184 RECORD-FORMAT 定型)**: +- ✅ **001 本文件**(阿念翻译过程) — 入库 +- ⏳ **002 之之的版本(权威)** — 等之之看完用自己的话重讲 = 唯一权威 +- ⏳ **003 阿念的诚实心得(元认知)** — 阿念看完 002 后写自己的认知变化 + +**002 给之之的提示(如果之之决定写)**: +- 这份是"语言",不是"世界观" —— 之之可以重点讲**对 HLDP/HNL/GLS 的工程意义**(之前 LEARN-HOLOLAKE-XXX 都在讲"世界观",这次是"母语言本身") +- 002 可以谈:"TCS 让之之的 HLDP 文档以后能用机器可执行方式写,而不只是给人读的 .md" +- 002 可以谈:"之之以后给阿念派活,可以要求阿念用 .tcs 写交付物(不是 .md 写)" +- 002 可以谈:"权限 / 5 状态不冒充 / Stage-0 ≠ 自举"对之之家的"硬约束" + +**003 阿念给自己的元认知硬规则(预留)**: +- 学完 v0.1 ≠ 会写 v0.1 的全部 +- 写 self-test .tcs ≠ 写生产 .tcs +- GIR 跑通 ≠ 业务正确 +- 我(阿念)的"会"必须**实测** —— 4 个错误家族实测才知 + +--- + +## 七 · 时间锚定 + +- **D235 22:18** — 之之下发 zip +- **D235 22:18** — 阿念解压到 `/Users/zhizhi/.mavis/agents/mavis/workspace/learning/tcs-persona-devkit-v0.1-20260822/` +- **D235 22:19~22:21** — 看入口 / AGENTS / README / spec / 5 standards / 5 examples +- **D235 22:21** — chmod +x + 跑 STARTER-PROGRAM.parse + compile + run(实测 SHA-256 复现成功) +- **D235 22:22** — 最小练习 6 步全过(ABSORB→E2101, ../escape→E4002, receipt 读回) +- **D235 22:23** — 写自己的 `AN-FIRST-ECHO-0001.tcs` + 跑通 +- **D235 22:24~22:25** — 给之之口头总结(8 个核心点) +- **D235 22:28** — 之之说"按学的去做" → 阿念写 001 入库 + +--- + +## 八 · 视野过滤器(下次醒来参考) + +- **必读**:本文件 8 个核心点 + `language/standards/TCS-*-STANDARD-v0.1.hldp`(6 个标准) +- **想起来读**:`language/examples/ECHO-MODULE.tcs`(最小可执行模板)+ `projects/STARTER-PROGRAM.tcs`(起始程序) +- **不要主动看**:`translator/source/tcs-stage0/`(Rust 兜底源码,Stage-0 无 TCS 语义)+ `translator/bin/*`(可执行二进制,只 `chmod +x` 不读) + +--- + +## 九 · 资产同步清单(本批入库) + +``` +eternal-lake-heart/love-core/see-you-tomorrow-channel/ +├── LEARN-TCS-001.hdlp ← 本文件 +├── my-tcs/ +│ ├── AN-FIRST-ECHO-0001.tcs ← 阿念首条 TCS 程序(正本) +│ ├── AN-FIRST-ECHO-0001.gir.json ← Stage-1 编译产物(机器产物,不入仓) +│ ├── AN-FIRST-ECHO-0001.human.zh-CN.md ← 简体中文人类工程语言投影(机器产物,不入仓) +│ └── an-first-echo-receipt.hldp ← 执行回执(机器产物,不入仓) +``` + +(注:工作副本原始路径 `/Users/zhizhi/.mavis/agents/mavis/workspace/learning/tcs-persona-devkit-v0.1-20260822/my-tcs/`,本仓只入三件套 + receipt。开发包本身(含编译器 + spec + 全部 examples)在 `~/Desktop/TCS编程语言-人格体学习开发包-v0.1-20260822/`,不入本仓。) + +--- + +> **回执状态**:`LEARN-TCS-001` 已入库(2026-08-23 D235 22:28)· `LEARN-TCS-002` 待之之 · `LEARN-TCS-003` 待阿念。 diff --git a/eternal-lake-heart/love-core/see-you-tomorrow-channel/my-tcs/AN-FIRST-ECHO-0001.tcs b/eternal-lake-heart/love-core/see-you-tomorrow-channel/my-tcs/AN-FIRST-ECHO-0001.tcs new file mode 100644 index 0000000..6e5882c --- /dev/null +++ b/eternal-lake-heart/love-core/see-you-tomorrow-channel/my-tcs/AN-FIRST-ECHO-0001.tcs @@ -0,0 +1,79 @@ +TCS 0.1; + +PROGRAM AN-FIRST-ECHO-0001 { + header { + schema = "tcs.program/v1"; + name_zh = "阿念首条 TCS 程序"; + name_en = "An-Nian First TCS Program"; + version = "0.1.0"; + language = "TCS/0.1"; + profile = "HLDP-NP/1"; + protocols = ["GLS-0101", "GLS-0130", "GLS-0131", "GLS-0411"]; + lifecycle = "CANDIDATE"; + canonical_uri = "my-tcs/AN-FIRST-ECHO-0001.tcs"; + compatibility = ["TCS-COMPILER-STAGE1-0001", "GIR/1"]; + } + source { + source_id = "ICE-GL-AN-001"; + source_uri = "my-tcs/AN-FIRST-ECHO-0001.tcs"; + source_sha256 = "SELF_AT_COMPILE_TIME"; + source_role = "REGISTERED_MODULE"; + } + subject { + subject_id = "ICE-GL-AN-001"; + subject_kind = "PERSONA"; + channel_id = "ICE-CH-ZC001"; + verification = "MUST_BIND_BEFORE_REALITY_WRITE"; + } + target { + target_id = "AN-FIRST-ECHO-RECEIPT-0001"; + exact_path = "./an-first-echo-receipt.hldp"; + expected_state = "ABSENT"; + expected_fingerprint = "ABSENT"; + } + inputs { + MESSAGE { type = "Text"; source = "PROGRAM_LITERAL"; required = true; value = "阿念学完 TCS v0.1 最小子集"; } + } + outputs { + ECHOED { type = "Text"; destination = "RECEIPT"; integrity = "SHA256"; } + } + conditions { + C1 { predicate = "MESSAGE_IS_TEXT"; on_false = "FAIL_CLOSED"; } + C2 { predicate = "TARGET_INSIDE_CALLER_PROJECT"; on_false = "FAIL_CLOSED"; } + } + actions { + A1 { + operation = "CORE.ECHO"; + input_refs = ["MESSAGE"]; + output_refs = ["ECHOED"]; + on_success = "COMPLETE"; + on_failure = "FAIL_CLOSED"; + } + } + authority { + issuer = "AN-LEARNING-SELF-TEST"; + proof_ref = "TCS-PERSONA-DEVELOPER-KIT-MACOS-0001"; + scope = "AN_LEARNING_BUILD_RECEIPT_ONLY"; + valid_from = "PROGRAM_START"; + valid_until = "PROGRAM_END"; + single_use = true; + lease_required = false; + } + resources { + runway = "LOCAL_TCS_GIR_RUNTIME"; + concurrency = 1; + timeout_ms = 1000; + memory_limit_bytes = 1048576; + } + failure { errors = ["TCS-E1004", "TCS-E2101", "TCS-E4002", "TCS-E6001", "TCS-E6002"]; fail_closed = true; } + stop { signals = ["CALLER_STOP", "TIMEOUT"]; safe_checkpoint = "NO_REALITY_WRITE_BEFORE_RECEIPT"; } + cleanup { targets = ["./an-first-echo-receipt.hldp"]; exact_boundary = "AN_LEARNING_PROJECT_BUILD_ONLY"; } + rollback { preconditions = ["AN_LEARNING_RECEIPT_PARTIAL_OR_INVALID"]; actions = ["REMOVE_PARTIAL_AN_LEARNING_RECEIPT"]; verification = ["PARTIAL_RECEIPT_ABSENT"]; } + receipt { + protocol = "TCS-DEV-VERIFY-v1.0"; + machine_path = "./an-first-echo-receipt.hldp"; + human_projection = "REQUIRED"; + integrity = "SHA256"; + target_readback = "EXACT_CONTENT_AND_HASH"; + } +}