new-engine
构造一个新语言的 pine-foo 引擎实现,遵循「先对齐再重构」策略确保行为一致性。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
构造一个新语言的 pine-foo 引擎实现,遵循「先对齐再重构」策略确保行为一致性。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
在下游构造跨引擎一致的算子,确保各语言版本的 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 全部对比通过