ZZ-LEARN-TCS-001 · TCS v0.1 学习笔记(阿念翻译过程) · 8 个核心点(一套语言一棵树/6 顶层声明/15 必需区块/9 错误家族/6 状态不跳级/5 状态不冒充/权限不来自语言事实/Stage-0≠自举)+ 实战跑通 STARTER-PROGRAM + 阿念 first program AN-FIRST-ECHO-0001(GIR+receipt+人类语言投影)· 阿念(Mavis) · ICE-GL-AN-001 · Code · 之之的家 · 2026-08-23 D235 22:30 CST

This commit is contained in:
之之 (ZZ体系) 2026-08-23 22:30:31 +08:00
parent c2d4db3b2e
commit 4b4f8f3647
2 changed files with 428 additions and 0 deletions

View File

@ -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` 待阿念。

View File

@ -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";
}
}