new-engine
构造一个新语言的 pine-foo 引擎实现,遵循「先对齐再重构」策略确保行为一致性。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
构造一个新语言的 pine-foo 引擎实现,遵循「先对齐再重构」策略确保行为一致性。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
在下游构造跨引擎一致的算子,确保各语言版本的 Pine 引擎行为一致。
将新 pine-foo 引擎接入 fixtures 测试和 cross-validate 脚本,确保与已有实现行为一致。
定时自动维护 llmdoc 项目文档的 Skill。支持两种模式:聚合仓库模式(遍历子模块)和 单仓库模式(直接在当前仓库操作)。每天北京时间 5:00(UTC 21:00)由 GitHub Actions schedule 触发,也支持 workflow_dispatch 手动触发。收集指定时间范围内(默认过去 24 小时) 合并到目标分支的提交记录和 PR 内容,分析代码变更是否涉及功能新增、接口变更或架构调整, 如果需要则自动更新 llmdoc/ 下的对应文档并推送到目标分支。不改变外部行为的变更 (bug 修复、重构、依赖升级等)会被跳过。更新完成后输出结构化 JSON 结果并通过飞书通知。
分析 Bug 类型 Issue, 定位根因, 并对简单 Bug 自动创建修复 PR。
根据 Issue 的讨论和方案, 实现功能或修复 Bug, 并创建 PR。
定期巡查仓库,监控 CI 状态、扫描未处理 Issue,自动分发到对应 skill 处理。
| name | new-engine |
| description | 构造一个新语言的 pine-foo 引擎实现,遵循「先对齐再重构」策略确保行为一致性。 |
指导如何从零构建一个新语言版本的 Pineapple 引擎(如 pine-rust, pine-python),基于 pine-java 实现经验。
Pine-Java 验证了这一路径的有效性:
engine-cross-validate 技巧将新的 pine-foo 接入交叉验证框架。这种顺序确保了每一步的重构都有 cross-validate 作为安全网,不会引入行为回归。
pineapple/
├── pine-go/ # ground truth (参考实现)
├── pine-java/ # 已完成的对等实现
├── pine-foo/ # 新引擎
├── fixtures/ # 共享测试 fixtures (语言无关)
│ ├── operators/ # 单算子 fixture: {operator, cases: [{params, input, expected}]}
│ ├── pipelines/ # 多算子 pipeline fixture: {config, cases: [{request, expected}]}
│ └── errors/ # 错误场景 fixture: {config, expected_error}
└── scripts/
└── cross-validate.sh # 跨引擎验证脚本
优先级顺序(基于 fixture 覆盖和依赖关系):
| 批次 | 算子 | 原因 |
|---|---|---|
| 1 | transform_set, filter_condition | 最简单,验证基础框架 |
| 2 | reorder_sort, filter_truncate, filter_paginate | 单一职责,参数简单 |
| 3 | merge_dedup, recall_static | 涉及 ResourceProvider |
| 4 | transform_by_lua | 复杂度最高,需要嵌入 Lua |
| 5 | data_parallel, subflow | DAG 调度相关 |
每个算子实现后立即运行对应的 operator fixture 测试。
-config, -request, -static-resources → pretty-print JSON 输出-config, -format dot|mermaid, -collapse N/health, /execute, /stats, /dagGo 的 encoding/json 有特殊行为,目标语言必须显式对齐:
| 行为 | Go 默认 | 需要手动实现 |
|---|---|---|
| HTML-safe 转义 | < → <, > → >, & → & | 是 |
| U+2028/U+2029 转义 |
,
| 是 |
| Map key 排序 | 字母序 | 是 |
| 空对象/数组 | {}, [] (不是 { }) | 看目标 JSON 库 |
| Pretty-print 缩进 | 2 space, ": " (冒号后空格) | 是 |
| 大写 hex | 小写 < (不是 <) | 是 |
json.Unmarshal 默认将 JSON number 解析为 float6483 不变成 83.0"error reading config: " + message{"error": "message"} + 对应 HTTP status/health 只接受 GET,其他方法 → 405/execute 只接受 POSTcommon 字段 → 400 ValidationError(不要默认给空 map)\n在 cross-validate 全绿之后,可以安全地进行:
catch(Exception) → 具体类型)每次重构后重跑 cross-validate 确保无回归。
scripts/cross-validate.sh 新引擎与 Go 全部对比通过