kirin-tor-cli 0.3.0rc3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. kirin_tor_cli-0.3.0rc3/LICENSE +21 -0
  2. kirin_tor_cli-0.3.0rc3/MANIFEST.in +1 -0
  3. kirin_tor_cli-0.3.0rc3/PKG-INFO +320 -0
  4. kirin_tor_cli-0.3.0rc3/README.md +300 -0
  5. kirin_tor_cli-0.3.0rc3/pyproject.toml +44 -0
  6. kirin_tor_cli-0.3.0rc3/setup.cfg +4 -0
  7. kirin_tor_cli-0.3.0rc3/setup.py +24 -0
  8. kirin_tor_cli-0.3.0rc3/src/kirin_tor/__init__.py +3 -0
  9. kirin_tor_cli-0.3.0rc3/src/kirin_tor/application.py +680 -0
  10. kirin_tor_cli-0.3.0rc3/src/kirin_tor/authoring.py +1129 -0
  11. kirin_tor_cli-0.3.0rc3/src/kirin_tor/cli.py +1242 -0
  12. kirin_tor_cli-0.3.0rc3/src/kirin_tor/community_discovery.py +376 -0
  13. kirin_tor_cli-0.3.0rc3/src/kirin_tor/diagnostics.py +208 -0
  14. kirin_tor_cli-0.3.0rc3/src/kirin_tor/engine.py +1460 -0
  15. kirin_tor_cli-0.3.0rc3/src/kirin_tor/errors.py +137 -0
  16. kirin_tor_cli-0.3.0rc3/src/kirin_tor/expression.py +1055 -0
  17. kirin_tor_cli-0.3.0rc3/src/kirin_tor/kirin_syntax.py +406 -0
  18. kirin_tor_cli-0.3.0rc3/src/kirin_tor/kirin_v2.py +1104 -0
  19. kirin_tor_cli-0.3.0rc3/src/kirin_tor/limits.py +64 -0
  20. kirin_tor_cli-0.3.0rc3/src/kirin_tor/operations.py +1057 -0
  21. kirin_tor_cli-0.3.0rc3/src/kirin_tor/package_authoring.py +332 -0
  22. kirin_tor_cli-0.3.0rc3/src/kirin_tor/package_manifest.py +667 -0
  23. kirin_tor_cli-0.3.0rc3/src/kirin_tor/package_store.py +645 -0
  24. kirin_tor_cli-0.3.0rc3/src/kirin_tor/plotting.py +246 -0
  25. kirin_tor_cli-0.3.0rc3/src/kirin_tor/plugin_manifest.py +763 -0
  26. kirin_tor_cli-0.3.0rc3/src/kirin_tor/plugin_store.py +506 -0
  27. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_analysis.py +1321 -0
  28. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_ast.py +225 -0
  29. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_chart.py +422 -0
  30. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_crossing.py +151 -0
  31. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_expression.py +962 -0
  32. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_ir.py +369 -0
  33. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_lowering.py +778 -0
  34. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_measure.py +232 -0
  35. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_model.py +53 -0
  36. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_parser.py +846 -0
  37. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_renderer.py +163 -0
  38. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_runtime.py +1643 -0
  39. kirin_tor_cli-0.3.0rc3/src/kirin_tor/process_validation.py +131 -0
  40. kirin_tor_cli-0.3.0rc3/src/kirin_tor/records.py +456 -0
  41. kirin_tor_cli-0.3.0rc3/src/kirin_tor/relationship_graph.py +310 -0
  42. kirin_tor_cli-0.3.0rc3/src/kirin_tor/scenario_ast.py +257 -0
  43. kirin_tor_cli-0.3.0rc3/src/kirin_tor/scenario_ir.py +295 -0
  44. kirin_tor_cli-0.3.0rc3/src/kirin_tor/scenario_lowering.py +1484 -0
  45. kirin_tor_cli-0.3.0rc3/src/kirin_tor/scenario_measure_syntax.py +95 -0
  46. kirin_tor_cli-0.3.0rc3/src/kirin_tor/scenario_parser.py +892 -0
  47. kirin_tor_cli-0.3.0rc3/src/kirin_tor/scenario_renderer.py +226 -0
  48. kirin_tor_cli-0.3.0rc3/src/kirin_tor/scenario_validation.py +269 -0
  49. kirin_tor_cli-0.3.0rc3/src/kirin_tor/schema.py +1424 -0
  50. kirin_tor_cli-0.3.0rc3/src/kirin_tor/templates.py +222 -0
  51. kirin_tor_cli-0.3.0rc3/src/kirin_tor/timeout.py +82 -0
  52. kirin_tor_cli-0.3.0rc3/src/kirin_tor/tutorial_sources/basic_model.kirin +19 -0
  53. kirin_tor_cli-0.3.0rc3/src/kirin_tor/tutorial_sources/preset_comparison.kirin +34 -0
  54. kirin_tor_cli-0.3.0rc3/src/kirin_tor/tutorial_sources/scan_chart.kirin +28 -0
  55. kirin_tor_cli-0.3.0rc3/src/kirin_tor/tutorials.py +89 -0
  56. kirin_tor_cli-0.3.0rc3/src/kirin_tor/units.py +215 -0
  57. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web.py +542 -0
  58. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/ChangeReview-bfGYV7JJ.js +2 -0
  59. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/Checkbox-p0fHt3Tq.js +1 -0
  60. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/Code-B0qtSTIf.js +1 -0
  61. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/CommunityDiscoveryPanel-DNYQeDTd.js +1 -0
  62. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/DocumentsView-BR16v_N4.js +17 -0
  63. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/FocusTrap-D5hdmc8y.js +1 -0
  64. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/GraphView-BrgNWVgM.js +1 -0
  65. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/InputBase-DLbSOsHj.js +1 -0
  66. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/PackagesView-DeKVuxuw.js +1 -0
  67. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/PluginsView-C2D0mtVq.js +1 -0
  68. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/RelationshipGraphCanvas-odileUI0.js +18 -0
  69. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/RunsView-Db77dlcf.js +1 -0
  70. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/Select-Qg63t2-G.js +1 -0
  71. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/SyntaxReference-CP9-3BYR.js +2 -0
  72. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/Tabs-Bn4SJfHG.js +1 -0
  73. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/TextInput-DfkY1-5d.js +1 -0
  74. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/WorkspaceSearch-BXtNlP2d.js +1 -0
  75. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/copy-m46mNftu.js +1 -0
  76. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/createLucideIcon-fs27rAxj.js +1 -0
  77. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/external-link-CWgLapm7.js +1 -0
  78. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/folder-input-DKWTrP27.js +1 -0
  79. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/get-auto-contrast-value-BTPwFOS2.js +1 -0
  80. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/index-D447QmAj.css +1 -0
  81. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/index-DBRHnxi_.js +50 -0
  82. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/index.html +16 -0
  83. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/refresh-cw-BQiGGhOd.js +1 -0
  84. kirin_tor_cli-0.3.0rc3/src/kirin_tor/web_assets/trash-2-Cb5gNQOG.js +1 -0
  85. kirin_tor_cli-0.3.0rc3/src/kirin_tor/workbench.py +1470 -0
  86. kirin_tor_cli-0.3.0rc3/src/kirin_tor/workspace.py +971 -0
  87. kirin_tor_cli-0.3.0rc3/src/kirin_tor_cli.egg-info/PKG-INFO +320 -0
  88. kirin_tor_cli-0.3.0rc3/src/kirin_tor_cli.egg-info/SOURCES.txt +120 -0
  89. kirin_tor_cli-0.3.0rc3/src/kirin_tor_cli.egg-info/dependency_links.txt +1 -0
  90. kirin_tor_cli-0.3.0rc3/src/kirin_tor_cli.egg-info/entry_points.txt +2 -0
  91. kirin_tor_cli-0.3.0rc3/src/kirin_tor_cli.egg-info/requires.txt +9 -0
  92. kirin_tor_cli-0.3.0rc3/src/kirin_tor_cli.egg-info/top_level.txt +1 -0
  93. kirin_tor_cli-0.3.0rc3/tests/test_acceptance.py +131 -0
  94. kirin_tor_cli-0.3.0rc3/tests/test_advanced_operations.py +105 -0
  95. kirin_tor_cli-0.3.0rc3/tests/test_application.py +150 -0
  96. kirin_tor_cli-0.3.0rc3/tests/test_authoring.py +237 -0
  97. kirin_tor_cli-0.3.0rc3/tests/test_cli.py +324 -0
  98. kirin_tor_cli-0.3.0rc3/tests/test_community_discovery.py +177 -0
  99. kirin_tor_cli-0.3.0rc3/tests/test_finite_distributions.py +247 -0
  100. kirin_tor_cli-0.3.0rc3/tests/test_finite_recurrences.py +78 -0
  101. kirin_tor_cli-0.3.0rc3/tests/test_finite_state_models.py +92 -0
  102. kirin_tor_cli-0.3.0rc3/tests/test_game_mechanics_capabilities.py +140 -0
  103. kirin_tor_cli-0.3.0rc3/tests/test_generic_semantics.py +298 -0
  104. kirin_tor_cli-0.3.0rc3/tests/test_kirin_syntax.py +351 -0
  105. kirin_tor_cli-0.3.0rc3/tests/test_kirin_v2.py +120 -0
  106. kirin_tor_cli-0.3.0rc3/tests/test_package_system.py +657 -0
  107. kirin_tor_cli-0.3.0rc3/tests/test_plugin_system.py +227 -0
  108. kirin_tor_cli-0.3.0rc3/tests/test_process_analysis.py +671 -0
  109. kirin_tor_cli-0.3.0rc3/tests/test_process_decisions.py +228 -0
  110. kirin_tor_cli-0.3.0rc3/tests/test_process_document_integration.py +112 -0
  111. kirin_tor_cli-0.3.0rc3/tests/test_process_expression.py +133 -0
  112. kirin_tor_cli-0.3.0rc3/tests/test_process_ir.py +232 -0
  113. kirin_tor_cli-0.3.0rc3/tests/test_process_lowering.py +257 -0
  114. kirin_tor_cli-0.3.0rc3/tests/test_process_measure.py +196 -0
  115. kirin_tor_cli-0.3.0rc3/tests/test_process_runtime.py +180 -0
  116. kirin_tor_cli-0.3.0rc3/tests/test_records_v2.py +80 -0
  117. kirin_tor_cli-0.3.0rc3/tests/test_relationship_graph.py +91 -0
  118. kirin_tor_cli-0.3.0rc3/tests/test_scenario_integration.py +104 -0
  119. kirin_tor_cli-0.3.0rc3/tests/test_unified_entry_capabilities.py +305 -0
  120. kirin_tor_cli-0.3.0rc3/tests/test_validation_and_safety.py +216 -0
  121. kirin_tor_cli-0.3.0rc3/tests/test_web.py +372 -0
  122. kirin_tor_cli-0.3.0rc3/tests/test_workbench.py +376 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Kirin Tor contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ prune examples
@@ -0,0 +1,320 @@
1
+ Metadata-Version: 2.4
2
+ Name: kirin-tor-cli
3
+ Version: 0.3.0rc3
4
+ Summary: A game-neutral, file-driven theorycrafting CLI and local browser workbench
5
+ Author: Kirin Tor contributors
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Aaronlves/Kirin-Tor-Calc
8
+ Project-URL: Repository, https://github.com/Aaronlves/Kirin-Tor-Calc
9
+ Project-URL: Issues, https://github.com/Aaronlves/Kirin-Tor-Calc/issues
10
+ Requires-Python: >=3.9
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: matplotlib<3.10,>=3.8
14
+ Requires-Dist: sympy<1.15,>=1.13
15
+ Requires-Dist: tomli<3,>=2; python_version < "3.11"
16
+ Requires-Dist: typer<1,>=0.12
17
+ Provides-Extra: dev
18
+ Requires-Dist: pytest<9,>=8; extra == "dev"
19
+ Dynamic: license-file
20
+
21
+ # Kirin Tor
22
+
23
+ Kirin Tor 是一个游戏中立、文件驱动的结构化数学工作台,面向需要长期维护数据、公式、参数方案和图表的攻略与理论计算作者。
24
+
25
+ 工作区只有一种可编辑权威:`entries/**/*.kirin`。结果、图表、公式展开、诊断、关系图、索引、恢复缓存和导出文件都是源码的投影或产物,不会形成第二套计算定义。具体游戏的量纲、公式和数据由工作区或独立社区 Package 提供;Kirin Tor 核心不内置游戏、职业、技能或版本数据。
26
+
27
+ Kirin Tor 不是脚本式战斗模拟器。内核只执行 source 明确声明且受 horizon、事件、决策、分支、实体和
28
+ 集合容量约束的 Process 事件场景;它不会补全完整 APL、Boss 时间轴或未声明规则,也不做隐式抽样。
29
+ Process Analysis 已接入 CLI、浏览器工作台实时投影、多图导出和可重放运行记录。
30
+
31
+ ## 安装
32
+
33
+ Kirin Tor 需要 Python 3.9 或更新版本。长期使用推荐先按
34
+ [`uv` 官方说明](https://docs.astral.sh/uv/getting-started/installation/)安装 `uv`,再让它为 Kirin Tor
35
+ 维护独立环境。当前版本仍是预发布版,因此安装和升级时需要显式允许预发布版本:
36
+
37
+ ```bash
38
+ uv tool install --prerelease allow kirin-tor-cli
39
+ kt version
40
+ kt web
41
+ ```
42
+
43
+ 以后升级仍使用同一独立环境,不需要进入源码目录或手动激活虚拟环境:
44
+
45
+ ```bash
46
+ uv tool upgrade --prerelease allow kirin-tor-cli
47
+ ```
48
+
49
+ 正式版发布后,上述安装和升级命令可以省略 `--prerelease allow`。不再需要时可以完整移除:
50
+
51
+ ```bash
52
+ uv tool uninstall kirin-tor-cli
53
+ ```
54
+
55
+ 也可以从 [GitHub Releases](https://github.com/Aaronlves/Kirin-Tor-Calc/releases) 下载 wheel,手动安装到自行管理的虚拟环境:
56
+
57
+ ```bash
58
+ python3 -m venv .venv
59
+ source .venv/bin/activate
60
+ python -m pip install -U pip
61
+ python -m pip install /path/to/kirin_tor_cli-VERSION-py3-none-any.whl
62
+ kt version
63
+ ```
64
+
65
+ 也可以直接安装当前源码:
66
+
67
+ ```bash
68
+ python3 -m venv .venv
69
+ source .venv/bin/activate
70
+ python -m pip install -U pip
71
+ python -m pip install .
72
+ kt --help
73
+ ```
74
+
75
+ 开发安装:
76
+
77
+ ```bash
78
+ python -m pip install -e '.[dev]'
79
+ pytest
80
+ ```
81
+
82
+ ## 快速开始
83
+
84
+ 创建并打开一个空的游戏中立工作区:
85
+
86
+ ```bash
87
+ kt init my-math
88
+ cd my-math
89
+ kt web
90
+ ```
91
+
92
+ 浏览器工作台会显示三份只读教程:基础公式、参数方案与比较、扫描与图表。教程不是工作区文档;只有主动复制后,才会以普通未保存草稿进入校验和保存流程。
93
+
94
+ 也可以从命令行创建文档:
95
+
96
+ ```bash
97
+ kt new entry basic_model --template model
98
+ ```
99
+
100
+ 一份最小而完整的 Kirin Tor source 如下:
101
+
102
+ ```text
103
+ @kirin 2
104
+ @entry basic_model "基础公式"
105
+
106
+ input unit_price "单价": number[dimensionless] = 12 in 0..*
107
+ input quantity "数量": number[dimensionless] = 5 in 0..100 integer
108
+ input discount "折扣": probability = 10%
109
+
110
+ field subtotal "小计": dimensionless = unit_price * quantity
111
+
112
+ output total "折后总价": dimensionless = subtotal * (1 - discount)
113
+ display total = number digits 2
114
+ ```
115
+
116
+ 保存为 `entries/basic_model.kirin` 后可以校验和计算:
117
+
118
+ ```bash
119
+ kt check
120
+ kt eval basic_model.total
121
+ ```
122
+
123
+ 结果为精确值 `54`。十进制先转换为精确有理数,不经过二进制浮点近似。
124
+
125
+ ## 浏览器工作台
126
+
127
+ `kt web [WORKSPACE|SOURCE.kirin]` 启动只监听本机回环地址的浏览器工作台。服务使用随机会话令牌,不接受外部 Host、跨站 Origin 或远程监听;停止终端进程即可关闭,不存在后台守护程序或云端账户状态。
128
+
129
+ 工作台的主要能力包括:
130
+
131
+ - 在中央 CodeMirror 编辑器中完成全部源码编辑;`Ctrl+Space` 提供 Kirin Tor 补全和中文结构片段。
132
+ - 同时保留多个未保存草稿,按完整工作区校验,并通过 Save All 原子写入。
133
+ - Agent 或其他本地工具直接改写 `.kirin` 后,干净文档与新文档会自动同步;未保存草稿不会被覆盖,也不会显示 CLI 或 Agent 操作记录。
134
+ - 自动派生只读结果、静态图表、Process Analysis 多图、公式、诊断和局部关系;检查器不提供临时计算参数或参数方案填写字段。
135
+ - 提供定义跳转、引用查找、符号大纲、签名提示、安全重命名、查找替换和安全空白格式化。
136
+ - 提供工作区全文搜索、草稿式批量替换、保存前变更审查、只读 Git 摘要和外部冲突三方合并。
137
+ - 支持文档路径移动、复制为新草稿,以及依赖安全的可恢复删除;这些文件操作不会改写源码中的 `@entry` ID 或数学语义。
138
+ - 从已校验引用生成文档与成员关系图,并为图表和画布提供键盘可读的数据列表。
139
+ - 通过独立本地进程执行长操作,显示真实阶段并允许取消;数学超时仍是另一层独立限制。
140
+
141
+ 右侧检查器的结果使用源码默认值。需要改变默认预览时应编辑 `.kirin` 输入默认值;需要重复使用的组合应写成命名 `presets`。变换、求导、求解、扫描和网格目前使用相应 CLI 命令;多方案比较保留在共享计算服务层。这些高级操作没有在浏览器中复制成一组通用参数表单。
142
+
143
+ ### 与 Agent 一起创作
144
+
145
+ 保持 `kt web` 打开的同时,可以让本地 Agent 直接创建或修改工作区中的
146
+ `entries/**/*.kirin`。Agent 不需要操作浏览器,也不需要通过 Kirin Tor CLI 写文档;工作台会自动发现新
147
+ 文档,并在当前缓冲区没有未保存修改时重新加载源码和派生预览。界面只显示最终文档、诊断与结果,
148
+ 不会显示 Agent 的提示词、操作过程、终端或 CLI 输出。
149
+
150
+ 这是一种以 `.kirin` 文件为中介的协作,不是共享光标或隐藏的 Agent 状态。Agent 看不到浏览器内尚未
151
+ 保存的草稿;若双方改到同一文档,工作台保留草稿并打开 base/draft/disk 冲突比较。Agent 直接修改多
152
+ 个文件也不属于 Save All 原子事务,期间出现的不完整源码会照常显示诊断,只有通过完整校验的模型才
153
+ 能计算。详细合同见[浏览器工作台规范](docs/web-workbench.md#external-agent-authoring)。
154
+
155
+ 常用编辑快捷键:
156
+
157
+ | 操作 | 快捷键 |
158
+ | --- | --- |
159
+ | 保存全部 | `Mod+S` |
160
+ | 补全 | `Ctrl+Space` |
161
+ | 查找/替换 | `Mod+F` |
162
+ | 跳到行 | `Mod+G` |
163
+ | 文档符号大纲 | `Mod+Shift+O` |
164
+ | 安全格式化 | `Mod+Shift+F` |
165
+ | 转到定义 | `F12` 或 `Mod+单击` |
166
+ | 查看定义与引用 | `Shift+F12` |
167
+ | 安全重命名 | `F2` |
168
+ | 工作区快速打开 | `Mod+K` 或 `Mod+P` |
169
+
170
+ 完整交互与权威边界见[浏览器工作台规范](docs/web-workbench.md)。
171
+
172
+ ## 语言和数学能力
173
+
174
+ Kirin Tor source v2 使用一个 `entry` 文档模型和一致的逐项声明语法。正式 ID 保持 ASCII;中文别名只在声明它的条目中参与公式,显示标签只影响界面、解释和图表。跨文档引用、CLI 参数、运行记录和 Package 导出继续使用稳定的正式身份。
175
+
176
+ 当前内核支持:
177
+
178
+ - 精确整数、有理数、十进制和科学计数法;
179
+ - 数值与布尔输入、范围、整数限制、有限允许值和组合约束;
180
+ - 用户声明的量纲、精确比例单位和可复用值域;
181
+ - 字段、函数、输出、分组、参数方案、显示格式和版本化查表;
182
+ - 封闭的可复用类型、具名对象和静态多层属性访问;
183
+ - 有界 Process 状态、精确时间、事件 phase、连续 flow、动作 guard、冷却/充能等作者定义组件与固定策略;
184
+ - 条件、分段、有限求和与连乘;
185
+ - 有限离散分布、显式独立组合、条件化和有限重复;
186
+ - Process 事件链形式的有界迭代,以及有限随机转移的 `reach` / `steady` / `cycle` 分析;
187
+ - 化简、展开、因式分解、求导、单变量求解和最多八个变量的有限符号联立求解;
188
+ - 一维扫描、双输入网格、SVG/PNG/CSV 图表以及可重放运行记录。
189
+
190
+ 完整语法写法见 [Kirin Tor source syntax v2](docs/kirin-syntax.md);数学语义、安全边界和固定限制见[结构模型、表达式与安全边界](docs/schema-and-expressions.md)。
191
+
192
+ ## 社区 Package
193
+
194
+ 社区 Package 是独立维护、只含数据的 GitHub 仓库或本地开发目录。Kirin Tor 不执行其中的 Python、安装脚本、Git hook 或其他代码。
195
+
196
+ 公开仓库可添加 GitHub topic `kirin-tor-package`,从工作台的只读发现抽屉中被找到。Topic 只是社区自声明;发现不会安装内容,安装仍需用户明确指定来源与精确版本。
197
+
198
+ 创建并检查 Package:
199
+
200
+ ```bash
201
+ kt package new my-community-package \
202
+ --name community.example \
203
+ --namespace community_example
204
+ kt package check my-community-package
205
+ ```
206
+
207
+ 安装精确 GitHub 版本或本地不可变快照:
208
+
209
+ ```bash
210
+ cd my-math
211
+ kt package add example github:OWNER/REPOSITORY 1.0.0
212
+ kt package add-path local_example ../my-community-package
213
+ kt package list
214
+ kt package verify
215
+ ```
216
+
217
+ `kirin.packages.toml` 记录用户请求的直接依赖,`kirin.lock` 锁定完整依赖图、Git commit 和内容摘要,`.kirin/packages/` 是可删除并显式恢复的只读缓存。普通工作区加载不会隐式联网。
218
+
219
+ 完整协议见 [Kirin Tor community package protocol v1](docs/package-system-v1.md)。
220
+
221
+ ## Workbench Extension Plugins
222
+
223
+ Workbench Plugin 可以为验证后的文档增加游戏化呈现器,也可以注册顶层页面、工作区工具、声明式命令和布局 Profile。插件不会改变 Kirin Tor 语法或数学结果;`.kirin`、验证器、Save All、Package 解析和运行记录仍由官方工作台控制。
224
+
225
+ 公开仓库可添加 GitHub topic `kirin-tor-plugin`,从工作台的只读发现抽屉中被找到。只有当前协议可解析的 manifest 会显示;发现不会下载、安装、批准、启用或执行插件。
226
+
227
+ 协议 v1 只安装作者明确选择的本地目录快照:
228
+
229
+ ```bash
230
+ cd my-math
231
+ kt plugin add-path talents /path/to/talent-plugin
232
+ kt plugin list
233
+ kt plugin verify
234
+ kt web
235
+ ```
236
+
237
+ 插件清单、JavaScript、CSS、图片和其他静态文件全部进入内容摘要;安装时复制到 `.kirin/plugins/<SHA-256>/`,不会从可变源目录直接执行。`kirin.plugins.toml` 记录请求和启用状态,`kirin.plugins.lock` 锁定身份、版本与摘要,而可执行批准单独保存在工作区外的本机用户状态中。仅提交工作区配置不能批准陌生代码。
238
+
239
+ 插件页面运行在没有同源权限的沙箱 iframe 中,只能接收清单权限允许的 JSON 投影。v1 可代理定位源码以及对既有合法 target 的有界求值;插件无法读取会话令牌、宿主 DOM、文件系统、环境变量或网络,也不能调用 Save All 和 Package 变更。出现问题时可停用插件,或使用:
240
+
241
+ ```bash
242
+ kt web --safe-mode
243
+ ```
244
+
245
+ 源码仓库提供了不含真实游戏数据的 `examples/plugins/fictional-talent-tree`,展示文档呈现器、页面、工具、命令与 Profile。完整清单、权限、frame 消息协议和限制见 [Workbench Extension Plugin protocol v1](docs/workbench-plugin-system-v1.md)。
246
+
247
+ ## 命令概览
248
+
249
+ ```text
250
+ kt init DIRECTORY
251
+ kt web [WORKSPACE|SOURCE.kirin] [--safe-mode]
252
+ kt new entry ID [--template blank|data|model|semantics]
253
+ kt list
254
+ kt show ID
255
+ kt explain TARGET
256
+ kt check
257
+ kt eval TARGET [--preset ENTRY.PRESET] [--set ENTRY.INPUT=VALUE]
258
+ kt analyze ENTRY.ANALYSIS [--save-run ID] [--export-charts]
259
+ kt simplify TARGET
260
+ kt expand TARGET
261
+ kt factor TARGET
262
+ kt diff TARGET --var ENTRY.INPUT
263
+ kt solve TARGET --var ENTRY.INPUT --equals VALUE
264
+ kt solve-system --equation TARGET=VALUE --var ENTRY.INPUT
265
+ kt scan --x ENTRY.INPUT --range START:END --points N --y TARGET
266
+ kt grid --x ENTRY.INPUT --x-range START:END --x-points N \
267
+ --y ENTRY.INPUT --y-range START:END --y-points N --result TARGET
268
+ kt plot [--config ENTRY_ID]
269
+ kt replay RUN_ID
270
+ kt package --help
271
+ kt plugin --help
272
+ ```
273
+
274
+ 各命令的完整参数以 `kt COMMAND --help` 为准。输出文件默认限制在工作区内且不覆盖已有文件;扩大路径权限或覆盖文件必须显式请求。保存运行记录前,参与计算的源码必须已经保存。
275
+
276
+ ## 仓库示例
277
+
278
+ `examples/虚构技能工作区` 只存在于源码仓库,不进入 wheel 或 source distribution。其数据完全虚构,只用于验证常见游戏公式形状:
279
+
280
+ ```bash
281
+ cd "examples/虚构技能工作区"
282
+ kt check
283
+ kt eval combo.total --preset presets.baseline
284
+ kt simplify combo.total --keep combo.crit
285
+ kt diff combo.total --var combo.crit
286
+ kt solve combo.total --var combo.crit --equals "3000 damage" --range "0:1"
287
+ kt plot --config combo --force
288
+ kt analyze rotation.replay_rotation
289
+ kt analyze rotation.prove_rotation
290
+ ```
291
+
292
+ 关键结果包括 `2750 damage`、`2200*combo.crit + 2200`、导数 `2200 damage`、解 `4/11`,以及固定 Process 策略的精确轨迹与边界周期证明。这些都是测试数据,不代表任何真实游戏技能。
293
+
294
+ ## 能力边界
295
+
296
+ Kirin Tor 可以直接处理作者给出的有限公式、有限分布,以及有明确 phase 和 fuel 的有界 Process 场景。Process Analysis 已支持精确有限随机路径、作者声明的条件或固定序列策略,以及 `run`、`compare`、确定性有界 `optimize`、`reach`、有限状态 `steady` 和 `cycle`。它不会从技能说明自动推导完整战斗循环。当前没有:
297
+
298
+ - 优先级 APL、完整战斗时间线或随机采样;
299
+ - 一般连续时间搜索的全局证明或带误差界全局求解;
300
+ - 面向动态目标集合的公开建模承诺,或通用向量/矩阵语言;
301
+ - 无界连续或离散全局优化器;
302
+ - 积分、极限和完整通用数值根搜索。
303
+
304
+ 常见理论计算的适用范围和不可直接表达的问题见[游戏机制计算能力边界](docs/game-mechanics-capability-audit.md)。
305
+
306
+ ## 文档索引
307
+
308
+ | 文档 | 职责 |
309
+ | --- | --- |
310
+ | [Kirin Tor source syntax v2](docs/kirin-syntax.md) | 表面语法、类型化属性、多层访问与 Process 写法 |
311
+ | [结构模型、表达式与安全边界](docs/schema-and-expressions.md) | 解析后的数学语义、求值、安全和固定限制 |
312
+ | [有界 Process 模型](docs/bounded-process-model.md) | 动态机制统一语义、fuel、分析器与证明边界 |
313
+ | [有界 Process 纸面模型](docs/bounded-process-paper-models.md) | 六类机制的目标验证、Policy/Analysis 声明与当前可执行边界 |
314
+ | [浏览器工作台规范](docs/web-workbench.md) | 界面、编辑状态、外部 Agent 协作、保存、冲突与权威边界 |
315
+ | [Kirin Tor community package protocol v1](docs/package-system-v1.md) | Package manifest、解析、锁定、缓存和来源 |
316
+ | [Workbench Extension Plugin protocol v1](docs/workbench-plugin-system-v1.md) | 沙箱 UI 插件、贡献点、权限、批准、锁定和安全模式 |
317
+ | [游戏机制计算能力边界](docs/game-mechanics-capability-audit.md) | 已证明能力、需要外部等效模型的情况和明确非目标 |
318
+ | [Changelog](CHANGELOG.md) | 版本历史、破坏性变更和未发布修改 |
319
+
320
+ 发生冲突时,以当前实现和测试为行为证据;表面语法以语法文档为准,数学与安全契约以结构模型文档为准,界面行为以工作台规范为准,Package 行为以 Package 协议为准。Changelog 只记录历史,不替代当前规范。
@@ -0,0 +1,300 @@
1
+ # Kirin Tor
2
+
3
+ Kirin Tor 是一个游戏中立、文件驱动的结构化数学工作台,面向需要长期维护数据、公式、参数方案和图表的攻略与理论计算作者。
4
+
5
+ 工作区只有一种可编辑权威:`entries/**/*.kirin`。结果、图表、公式展开、诊断、关系图、索引、恢复缓存和导出文件都是源码的投影或产物,不会形成第二套计算定义。具体游戏的量纲、公式和数据由工作区或独立社区 Package 提供;Kirin Tor 核心不内置游戏、职业、技能或版本数据。
6
+
7
+ Kirin Tor 不是脚本式战斗模拟器。内核只执行 source 明确声明且受 horizon、事件、决策、分支、实体和
8
+ 集合容量约束的 Process 事件场景;它不会补全完整 APL、Boss 时间轴或未声明规则,也不做隐式抽样。
9
+ Process Analysis 已接入 CLI、浏览器工作台实时投影、多图导出和可重放运行记录。
10
+
11
+ ## 安装
12
+
13
+ Kirin Tor 需要 Python 3.9 或更新版本。长期使用推荐先按
14
+ [`uv` 官方说明](https://docs.astral.sh/uv/getting-started/installation/)安装 `uv`,再让它为 Kirin Tor
15
+ 维护独立环境。当前版本仍是预发布版,因此安装和升级时需要显式允许预发布版本:
16
+
17
+ ```bash
18
+ uv tool install --prerelease allow kirin-tor-cli
19
+ kt version
20
+ kt web
21
+ ```
22
+
23
+ 以后升级仍使用同一独立环境,不需要进入源码目录或手动激活虚拟环境:
24
+
25
+ ```bash
26
+ uv tool upgrade --prerelease allow kirin-tor-cli
27
+ ```
28
+
29
+ 正式版发布后,上述安装和升级命令可以省略 `--prerelease allow`。不再需要时可以完整移除:
30
+
31
+ ```bash
32
+ uv tool uninstall kirin-tor-cli
33
+ ```
34
+
35
+ 也可以从 [GitHub Releases](https://github.com/Aaronlves/Kirin-Tor-Calc/releases) 下载 wheel,手动安装到自行管理的虚拟环境:
36
+
37
+ ```bash
38
+ python3 -m venv .venv
39
+ source .venv/bin/activate
40
+ python -m pip install -U pip
41
+ python -m pip install /path/to/kirin_tor_cli-VERSION-py3-none-any.whl
42
+ kt version
43
+ ```
44
+
45
+ 也可以直接安装当前源码:
46
+
47
+ ```bash
48
+ python3 -m venv .venv
49
+ source .venv/bin/activate
50
+ python -m pip install -U pip
51
+ python -m pip install .
52
+ kt --help
53
+ ```
54
+
55
+ 开发安装:
56
+
57
+ ```bash
58
+ python -m pip install -e '.[dev]'
59
+ pytest
60
+ ```
61
+
62
+ ## 快速开始
63
+
64
+ 创建并打开一个空的游戏中立工作区:
65
+
66
+ ```bash
67
+ kt init my-math
68
+ cd my-math
69
+ kt web
70
+ ```
71
+
72
+ 浏览器工作台会显示三份只读教程:基础公式、参数方案与比较、扫描与图表。教程不是工作区文档;只有主动复制后,才会以普通未保存草稿进入校验和保存流程。
73
+
74
+ 也可以从命令行创建文档:
75
+
76
+ ```bash
77
+ kt new entry basic_model --template model
78
+ ```
79
+
80
+ 一份最小而完整的 Kirin Tor source 如下:
81
+
82
+ ```text
83
+ @kirin 2
84
+ @entry basic_model "基础公式"
85
+
86
+ input unit_price "单价": number[dimensionless] = 12 in 0..*
87
+ input quantity "数量": number[dimensionless] = 5 in 0..100 integer
88
+ input discount "折扣": probability = 10%
89
+
90
+ field subtotal "小计": dimensionless = unit_price * quantity
91
+
92
+ output total "折后总价": dimensionless = subtotal * (1 - discount)
93
+ display total = number digits 2
94
+ ```
95
+
96
+ 保存为 `entries/basic_model.kirin` 后可以校验和计算:
97
+
98
+ ```bash
99
+ kt check
100
+ kt eval basic_model.total
101
+ ```
102
+
103
+ 结果为精确值 `54`。十进制先转换为精确有理数,不经过二进制浮点近似。
104
+
105
+ ## 浏览器工作台
106
+
107
+ `kt web [WORKSPACE|SOURCE.kirin]` 启动只监听本机回环地址的浏览器工作台。服务使用随机会话令牌,不接受外部 Host、跨站 Origin 或远程监听;停止终端进程即可关闭,不存在后台守护程序或云端账户状态。
108
+
109
+ 工作台的主要能力包括:
110
+
111
+ - 在中央 CodeMirror 编辑器中完成全部源码编辑;`Ctrl+Space` 提供 Kirin Tor 补全和中文结构片段。
112
+ - 同时保留多个未保存草稿,按完整工作区校验,并通过 Save All 原子写入。
113
+ - Agent 或其他本地工具直接改写 `.kirin` 后,干净文档与新文档会自动同步;未保存草稿不会被覆盖,也不会显示 CLI 或 Agent 操作记录。
114
+ - 自动派生只读结果、静态图表、Process Analysis 多图、公式、诊断和局部关系;检查器不提供临时计算参数或参数方案填写字段。
115
+ - 提供定义跳转、引用查找、符号大纲、签名提示、安全重命名、查找替换和安全空白格式化。
116
+ - 提供工作区全文搜索、草稿式批量替换、保存前变更审查、只读 Git 摘要和外部冲突三方合并。
117
+ - 支持文档路径移动、复制为新草稿,以及依赖安全的可恢复删除;这些文件操作不会改写源码中的 `@entry` ID 或数学语义。
118
+ - 从已校验引用生成文档与成员关系图,并为图表和画布提供键盘可读的数据列表。
119
+ - 通过独立本地进程执行长操作,显示真实阶段并允许取消;数学超时仍是另一层独立限制。
120
+
121
+ 右侧检查器的结果使用源码默认值。需要改变默认预览时应编辑 `.kirin` 输入默认值;需要重复使用的组合应写成命名 `presets`。变换、求导、求解、扫描和网格目前使用相应 CLI 命令;多方案比较保留在共享计算服务层。这些高级操作没有在浏览器中复制成一组通用参数表单。
122
+
123
+ ### 与 Agent 一起创作
124
+
125
+ 保持 `kt web` 打开的同时,可以让本地 Agent 直接创建或修改工作区中的
126
+ `entries/**/*.kirin`。Agent 不需要操作浏览器,也不需要通过 Kirin Tor CLI 写文档;工作台会自动发现新
127
+ 文档,并在当前缓冲区没有未保存修改时重新加载源码和派生预览。界面只显示最终文档、诊断与结果,
128
+ 不会显示 Agent 的提示词、操作过程、终端或 CLI 输出。
129
+
130
+ 这是一种以 `.kirin` 文件为中介的协作,不是共享光标或隐藏的 Agent 状态。Agent 看不到浏览器内尚未
131
+ 保存的草稿;若双方改到同一文档,工作台保留草稿并打开 base/draft/disk 冲突比较。Agent 直接修改多
132
+ 个文件也不属于 Save All 原子事务,期间出现的不完整源码会照常显示诊断,只有通过完整校验的模型才
133
+ 能计算。详细合同见[浏览器工作台规范](docs/web-workbench.md#external-agent-authoring)。
134
+
135
+ 常用编辑快捷键:
136
+
137
+ | 操作 | 快捷键 |
138
+ | --- | --- |
139
+ | 保存全部 | `Mod+S` |
140
+ | 补全 | `Ctrl+Space` |
141
+ | 查找/替换 | `Mod+F` |
142
+ | 跳到行 | `Mod+G` |
143
+ | 文档符号大纲 | `Mod+Shift+O` |
144
+ | 安全格式化 | `Mod+Shift+F` |
145
+ | 转到定义 | `F12` 或 `Mod+单击` |
146
+ | 查看定义与引用 | `Shift+F12` |
147
+ | 安全重命名 | `F2` |
148
+ | 工作区快速打开 | `Mod+K` 或 `Mod+P` |
149
+
150
+ 完整交互与权威边界见[浏览器工作台规范](docs/web-workbench.md)。
151
+
152
+ ## 语言和数学能力
153
+
154
+ Kirin Tor source v2 使用一个 `entry` 文档模型和一致的逐项声明语法。正式 ID 保持 ASCII;中文别名只在声明它的条目中参与公式,显示标签只影响界面、解释和图表。跨文档引用、CLI 参数、运行记录和 Package 导出继续使用稳定的正式身份。
155
+
156
+ 当前内核支持:
157
+
158
+ - 精确整数、有理数、十进制和科学计数法;
159
+ - 数值与布尔输入、范围、整数限制、有限允许值和组合约束;
160
+ - 用户声明的量纲、精确比例单位和可复用值域;
161
+ - 字段、函数、输出、分组、参数方案、显示格式和版本化查表;
162
+ - 封闭的可复用类型、具名对象和静态多层属性访问;
163
+ - 有界 Process 状态、精确时间、事件 phase、连续 flow、动作 guard、冷却/充能等作者定义组件与固定策略;
164
+ - 条件、分段、有限求和与连乘;
165
+ - 有限离散分布、显式独立组合、条件化和有限重复;
166
+ - Process 事件链形式的有界迭代,以及有限随机转移的 `reach` / `steady` / `cycle` 分析;
167
+ - 化简、展开、因式分解、求导、单变量求解和最多八个变量的有限符号联立求解;
168
+ - 一维扫描、双输入网格、SVG/PNG/CSV 图表以及可重放运行记录。
169
+
170
+ 完整语法写法见 [Kirin Tor source syntax v2](docs/kirin-syntax.md);数学语义、安全边界和固定限制见[结构模型、表达式与安全边界](docs/schema-and-expressions.md)。
171
+
172
+ ## 社区 Package
173
+
174
+ 社区 Package 是独立维护、只含数据的 GitHub 仓库或本地开发目录。Kirin Tor 不执行其中的 Python、安装脚本、Git hook 或其他代码。
175
+
176
+ 公开仓库可添加 GitHub topic `kirin-tor-package`,从工作台的只读发现抽屉中被找到。Topic 只是社区自声明;发现不会安装内容,安装仍需用户明确指定来源与精确版本。
177
+
178
+ 创建并检查 Package:
179
+
180
+ ```bash
181
+ kt package new my-community-package \
182
+ --name community.example \
183
+ --namespace community_example
184
+ kt package check my-community-package
185
+ ```
186
+
187
+ 安装精确 GitHub 版本或本地不可变快照:
188
+
189
+ ```bash
190
+ cd my-math
191
+ kt package add example github:OWNER/REPOSITORY 1.0.0
192
+ kt package add-path local_example ../my-community-package
193
+ kt package list
194
+ kt package verify
195
+ ```
196
+
197
+ `kirin.packages.toml` 记录用户请求的直接依赖,`kirin.lock` 锁定完整依赖图、Git commit 和内容摘要,`.kirin/packages/` 是可删除并显式恢复的只读缓存。普通工作区加载不会隐式联网。
198
+
199
+ 完整协议见 [Kirin Tor community package protocol v1](docs/package-system-v1.md)。
200
+
201
+ ## Workbench Extension Plugins
202
+
203
+ Workbench Plugin 可以为验证后的文档增加游戏化呈现器,也可以注册顶层页面、工作区工具、声明式命令和布局 Profile。插件不会改变 Kirin Tor 语法或数学结果;`.kirin`、验证器、Save All、Package 解析和运行记录仍由官方工作台控制。
204
+
205
+ 公开仓库可添加 GitHub topic `kirin-tor-plugin`,从工作台的只读发现抽屉中被找到。只有当前协议可解析的 manifest 会显示;发现不会下载、安装、批准、启用或执行插件。
206
+
207
+ 协议 v1 只安装作者明确选择的本地目录快照:
208
+
209
+ ```bash
210
+ cd my-math
211
+ kt plugin add-path talents /path/to/talent-plugin
212
+ kt plugin list
213
+ kt plugin verify
214
+ kt web
215
+ ```
216
+
217
+ 插件清单、JavaScript、CSS、图片和其他静态文件全部进入内容摘要;安装时复制到 `.kirin/plugins/<SHA-256>/`,不会从可变源目录直接执行。`kirin.plugins.toml` 记录请求和启用状态,`kirin.plugins.lock` 锁定身份、版本与摘要,而可执行批准单独保存在工作区外的本机用户状态中。仅提交工作区配置不能批准陌生代码。
218
+
219
+ 插件页面运行在没有同源权限的沙箱 iframe 中,只能接收清单权限允许的 JSON 投影。v1 可代理定位源码以及对既有合法 target 的有界求值;插件无法读取会话令牌、宿主 DOM、文件系统、环境变量或网络,也不能调用 Save All 和 Package 变更。出现问题时可停用插件,或使用:
220
+
221
+ ```bash
222
+ kt web --safe-mode
223
+ ```
224
+
225
+ 源码仓库提供了不含真实游戏数据的 `examples/plugins/fictional-talent-tree`,展示文档呈现器、页面、工具、命令与 Profile。完整清单、权限、frame 消息协议和限制见 [Workbench Extension Plugin protocol v1](docs/workbench-plugin-system-v1.md)。
226
+
227
+ ## 命令概览
228
+
229
+ ```text
230
+ kt init DIRECTORY
231
+ kt web [WORKSPACE|SOURCE.kirin] [--safe-mode]
232
+ kt new entry ID [--template blank|data|model|semantics]
233
+ kt list
234
+ kt show ID
235
+ kt explain TARGET
236
+ kt check
237
+ kt eval TARGET [--preset ENTRY.PRESET] [--set ENTRY.INPUT=VALUE]
238
+ kt analyze ENTRY.ANALYSIS [--save-run ID] [--export-charts]
239
+ kt simplify TARGET
240
+ kt expand TARGET
241
+ kt factor TARGET
242
+ kt diff TARGET --var ENTRY.INPUT
243
+ kt solve TARGET --var ENTRY.INPUT --equals VALUE
244
+ kt solve-system --equation TARGET=VALUE --var ENTRY.INPUT
245
+ kt scan --x ENTRY.INPUT --range START:END --points N --y TARGET
246
+ kt grid --x ENTRY.INPUT --x-range START:END --x-points N \
247
+ --y ENTRY.INPUT --y-range START:END --y-points N --result TARGET
248
+ kt plot [--config ENTRY_ID]
249
+ kt replay RUN_ID
250
+ kt package --help
251
+ kt plugin --help
252
+ ```
253
+
254
+ 各命令的完整参数以 `kt COMMAND --help` 为准。输出文件默认限制在工作区内且不覆盖已有文件;扩大路径权限或覆盖文件必须显式请求。保存运行记录前,参与计算的源码必须已经保存。
255
+
256
+ ## 仓库示例
257
+
258
+ `examples/虚构技能工作区` 只存在于源码仓库,不进入 wheel 或 source distribution。其数据完全虚构,只用于验证常见游戏公式形状:
259
+
260
+ ```bash
261
+ cd "examples/虚构技能工作区"
262
+ kt check
263
+ kt eval combo.total --preset presets.baseline
264
+ kt simplify combo.total --keep combo.crit
265
+ kt diff combo.total --var combo.crit
266
+ kt solve combo.total --var combo.crit --equals "3000 damage" --range "0:1"
267
+ kt plot --config combo --force
268
+ kt analyze rotation.replay_rotation
269
+ kt analyze rotation.prove_rotation
270
+ ```
271
+
272
+ 关键结果包括 `2750 damage`、`2200*combo.crit + 2200`、导数 `2200 damage`、解 `4/11`,以及固定 Process 策略的精确轨迹与边界周期证明。这些都是测试数据,不代表任何真实游戏技能。
273
+
274
+ ## 能力边界
275
+
276
+ Kirin Tor 可以直接处理作者给出的有限公式、有限分布,以及有明确 phase 和 fuel 的有界 Process 场景。Process Analysis 已支持精确有限随机路径、作者声明的条件或固定序列策略,以及 `run`、`compare`、确定性有界 `optimize`、`reach`、有限状态 `steady` 和 `cycle`。它不会从技能说明自动推导完整战斗循环。当前没有:
277
+
278
+ - 优先级 APL、完整战斗时间线或随机采样;
279
+ - 一般连续时间搜索的全局证明或带误差界全局求解;
280
+ - 面向动态目标集合的公开建模承诺,或通用向量/矩阵语言;
281
+ - 无界连续或离散全局优化器;
282
+ - 积分、极限和完整通用数值根搜索。
283
+
284
+ 常见理论计算的适用范围和不可直接表达的问题见[游戏机制计算能力边界](docs/game-mechanics-capability-audit.md)。
285
+
286
+ ## 文档索引
287
+
288
+ | 文档 | 职责 |
289
+ | --- | --- |
290
+ | [Kirin Tor source syntax v2](docs/kirin-syntax.md) | 表面语法、类型化属性、多层访问与 Process 写法 |
291
+ | [结构模型、表达式与安全边界](docs/schema-and-expressions.md) | 解析后的数学语义、求值、安全和固定限制 |
292
+ | [有界 Process 模型](docs/bounded-process-model.md) | 动态机制统一语义、fuel、分析器与证明边界 |
293
+ | [有界 Process 纸面模型](docs/bounded-process-paper-models.md) | 六类机制的目标验证、Policy/Analysis 声明与当前可执行边界 |
294
+ | [浏览器工作台规范](docs/web-workbench.md) | 界面、编辑状态、外部 Agent 协作、保存、冲突与权威边界 |
295
+ | [Kirin Tor community package protocol v1](docs/package-system-v1.md) | Package manifest、解析、锁定、缓存和来源 |
296
+ | [Workbench Extension Plugin protocol v1](docs/workbench-plugin-system-v1.md) | 沙箱 UI 插件、贡献点、权限、批准、锁定和安全模式 |
297
+ | [游戏机制计算能力边界](docs/game-mechanics-capability-audit.md) | 已证明能力、需要外部等效模型的情况和明确非目标 |
298
+ | [Changelog](CHANGELOG.md) | 版本历史、破坏性变更和未发布修改 |
299
+
300
+ 发生冲突时,以当前实现和测试为行为证据;表面语法以语法文档为准,数学与安全契约以结构模型文档为准,界面行为以工作台规范为准,Package 行为以 Package 协议为准。Changelog 只记录历史,不替代当前规范。