worktools / worktools/hosta

[P1] 把 WASM 源码编译变成可诊断、可复现的产物流程

Open
#7 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority:P1 type:feature
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
1h 26m
Merged PRs (30d)
6

Description

用户问题与代码依据

server.mjs compileWasm 在控制面调用本机 rustc/moon;starter 与 Hoya ABI 不同;WASM 执行不使用用户 JSON 输入。

评估基线:2026-09-06,Hosta 666eca9 / Hoya 2234baa。此项记录待实现目标,不表示已完成。

验收标准

  • 采用 Hoya ABI v1 示例,记录源码、工具链、编译参数、artifact hash 和构建日志,执行只传固化产物。
  • 编译工具缺失、语法错误和 ABI 不兼容以稳定错误码、构建日志和修复建议通过 API/CLI 返回;不支持的语言在能力发现中明确禁用。
  • 构建使用隔离且有时间/CPU/内存/输出/并发上限的环境,和请求处理解耦;编译器不获得平台 secrets。
  • Rust 完整 JSON 输入输出优先验收;MoonBit 经相同 fixture 验证后开启;全部构建、上传和执行可用命令行完成,无网页编辑器依赖。

归属与范围

归属:worktools/hosta。阶段:A1 · 开发者闭环。维护者已确认:CLI/API 优先,前期全命令行验收,UI 先只读展示,网页交互后续评估。沿用独立 Hoya 引擎与 Hosta 控制面边界;本项不扩展到多租户、计费、DAG 或全球调度。

依赖

下游验收

实施进展(2026-09-06)

PR #14 优先支持预编译 WASM 上传及内容 hash,提供实际依赖 JSON 输入的 Rust hoya_main 示例;源码编译默认关闭,仅受信本地开发可显式开启。隔离构建任务、编译元数据/工具链固化及 MoonBit ABI 验证仍未实现。

合并跟进(2026-09-06 10:22 CST)

Hosta #15 已合入 #14,#14 已合入 main(160f0d3),部署 CLI 与独立引擎接入均已进入主分支。Hosta main 的真实双运行时集成 CI 通过;Hoya #12/#13/#14 均已合并,最新 main Test 通过。无未解决审查意见。两仓库的 issue 中间导出已清理,构建/缓存忽略规则已补充。本项剩余验收继续按既定范围跟踪,不因首轮 PR 合并而提前关闭。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at server.mjs compileWasm and review the Hoya ABI v1 example plus dependencies Y1 and Y6. Define the remaining CLI/API workflow around reproducible metadata, isolated resource-limited builds, stable diagnostics, and Rust JSON fixtures; done means the listed acceptance checks pass, with MoonBit enabled only after its fixture validation.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, typescript, wasm
Domain
api, build-system, cli, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.