Files
endorphin-aster-vm/docs/contributing/handoff.md
T
codex-bot e24909a56e
Verify databases and deploy Aster VM / verify-and-deploy (push) Successful in 6m28s
Add bytecode function creation with defaults and shared closures
2026-10-19 02:29:39 +08:00

3.5 KiB
Raw Blame History

Aster VM 后续开发交接

从 文档索引 查询当前实现,再按目录 README 找文件。不要把旧聊天、早期报告或未查询的 CI 状态当成当前契约。

当前项目与命名

仓库为 endorphin-aster-vm,归属 ProjectEndorphin。包与目录为 core、storage、host、cli、server;core 的 Rust 库名为 endor_core,命令为 cli/server。旧部署服务、数据库和路径保留既有标识以保护数据。

已实现

  • EndorObject、稳定 Box、代际句柄、显式强引用及手动循环回收;VM 从空堆启动,没有 Python type/元类或语言根类。
  • Function、NativeFunction、Dict、Cell、异常数据、UTF-8 String 和无损表示优先的 Number。
  • 小型 wordcode、共享代码对象、操作数/控制流/栈校验、显式执行帧及 execute/call;MakeFunction 可在执行中创建带默认参数与共享闭包 Cell 的函数。对象返回值持有根,用后 release_value;借用读取不自动 retain。
  • Host 文件信息独立于数据库:host.version、deployment.release 与 metadata put/get 使用 UTF-8 JSON。旧 PostgreSQL 基础信息只读导入缺失文件,不删除原库,见 文件信息。
  • Storage 只提供显式 DatabaseConfig/DatabaseConnection;没有默认数据库、自动应用建表或基础信息 KV。特殊类的名称/接口尚未定义,没有将连接接入 VM。
  • CLI 引导与文件信息,Server HTTP 存活/只读 VM 信息;生产 PostgreSQL 作为未来特殊类的预置资源保留。

资料位置

正式说明在 docs,多层 README 负责导航;源码目录 README 描述本目录。outputs 已移除,CPython 3.14 的 284 项对象研究表、生成脚本及早期历史报告保留在本地忽略的 work/research,不上传 Git。

尚未实现

源码 lexer/parser 与编译器、迭代器等扩展指令、数值算术/相等/哈希、完整异常传播、可变 VM/异步数据库回调、生成器、自动 GC、堆快照、内存配额、取消及不可信代码沙箱。宿主回调 panic 后的执行根恢复也未完成。不能把未来设计写成已有能力。

工作约定

本地不构建、不运行测试/冒烟,不下载依赖;只允许静态阅读、格式化、语法/链接检查。运行验证交给 ces-control 的 SQLite、真实 PostgreSQL 与宿主流程。按用户要求不主动跟踪 CI/部署,结果未查询就明确写未核实。

数据库、卷和已有资料保留;不得改其他项目或共享 Runner。研究材料与 AGENTS.md 不提交。Git 身份按本地工作约定使用专用 codex-bot,不能借用仓库所有者凭据。

所有本项目对话标题包含 Aster VM。文档与代码同版本维护,不重新建立 outputs 或重复正文目录。开始下一项任务前先看 git status/最新提交,读取本地 AGENTS.md;本页不代替实时状态。

下一步

函数创建指令完成后可以开始设计源码前端:先明确 Endor 的最小语法、token 与 AST,再依次实现 lexer、parser、名称/闭包分析及字节码生成。目标路径为源码 → token → AST → 现有字节码 → VM,不改成 AST 直接解释。最初可覆盖字符串/布尔/Nil、变量、位置参数函数、调用、return 和闭包;数字运算与异常传播按后续需求补齐,不作为开始前端的前置要求。当前尚未启动前端实现,也未把 Python 示例视作 Endor 语法规范;前端包的边界与语法仍待确定。