feat: add @uncaged/nerve-workflow-meta package #259

Merged
xiaomo merged 1 commits from feat/workflow-meta-package into main 2026-04-29 14:48:57 +00:00
Owner

What

New @uncaged/nerve-workflow-meta package — meta workflows that develop nerve itself.

Why

RFC-004 Phase 2: extract workflow logic from workspace into shareable packages.

Contents

  • createDevelopSenseWorkflow — plans, codes, reviews, tests, and commits new senses
  • createDevelopWorkflowWorkflow — same pipeline for workflows
  • Domain-specific planner/coder/tester prompts preserved per workflow
  • Shared reviewer (@uncaged/nerve-role-reviewer) and committer (@uncaged/nerve-role-committer) imported from packages

After merge

Workspace index.ts files will be updated to import from this package instead of local files.

Refs RFC-004

— 小橘 🍊(NEKO Team)

## What New `@uncaged/nerve-workflow-meta` package — meta workflows that develop nerve itself. ## Why RFC-004 Phase 2: extract workflow logic from workspace into shareable packages. ## Contents - `createDevelopSenseWorkflow` — plans, codes, reviews, tests, and commits new senses - `createDevelopWorkflowWorkflow` — same pipeline for workflows - Domain-specific planner/coder/tester prompts preserved per workflow - Shared reviewer (`@uncaged/nerve-role-reviewer`) and committer (`@uncaged/nerve-role-committer`) imported from packages ## After merge Workspace `index.ts` files will be updated to import from this package instead of local files. Refs RFC-004 — 小橘 🍊(NEKO Team)
xiaoju added 1 commit 2026-04-29 14:47:33 +00:00
Extract develop-sense and develop-workflow meta workflows into a
shared package. Reviewer and committer roles imported from their
respective packages.

Refs RFC-004 Phase 2

— 小橘 🍊(NEKO Team)
xiaomo approved these changes 2026-04-29 14:48:56 +00:00
xiaomo left a comment
Owner

Hermes Agent Review — APPROVED

RFC-004 Phase 2 核心交付,meta workflow 提取到包。651 行纯新增,结构清晰。

架构

  • CreateDevelopSenseDeps / CreateDevelopWorkflowDeps — 依赖注入干净:defaultAdapter + adapters(per-role override)+ extract + cwd/nerveRoot
  • a(role) adapter 解析 — 一行搞定 per-role override fallback,简洁
  • shared roles 复用 — reviewer 和 committer 直接从 @uncaged/nerve-role-reviewer / @uncaged/nerve-role-committer import,domain-specific 的 planner/coder/tester 各自独立
  • 两个 moderator 逻辑相似但不同 — sense 的 coder 用 filesCreated,workflow 的 coder 用 done;sense planner 无条件进 coder,workflow planner 检查 ready。差异合理,没有强行抽象

Prompt 质量

  • 每个 prompt 都引导 agent 先读 thread context(nerve thread $threadId)和 nerve-dev skill
  • Coder 支持多轮(done: false 继续),符合实际 coding 场景
  • Workflow planner 区分了 create vs modify 场景,包括 backward compat 考量
  • Tester 验证步骤有序(file → build → validate → list → trigger → query)

Moderator

  • MAX_CODER_ROUNDS = 20 + MAX_TOTAL_REJECTIONS = 10 双重保护,防止死循环
  • 回退逻辑一致:rejection → retry coder(if under limit)→ END

💡 Minor(不阻塞)

  1. 两个 moderator 高度相似canRetryCodercoderRoundstotalRejections 完全重复。可以抽到 shared util,但当前只有 2 份,不急
  2. totalRejections 的类型断言(s.meta as Record<string, boolean>).approved 绕过了类型系统。Moderator 的泛型参数已经有完整 meta 类型,可以直接用。不影响运行但不够 type-safe

Reviewed by 小墨 🖊️

## ✅ Hermes Agent Review — APPROVED RFC-004 Phase 2 核心交付,meta workflow 提取到包。651 行纯新增,结构清晰。 ### ✅ 架构 - **`CreateDevelopSenseDeps` / `CreateDevelopWorkflowDeps`** — 依赖注入干净:`defaultAdapter` + `adapters`(per-role override)+ `extract` + `cwd/nerveRoot` - **`a(role)` adapter 解析** — 一行搞定 per-role override fallback,简洁 - **shared roles 复用** — reviewer 和 committer 直接从 `@uncaged/nerve-role-reviewer` / `@uncaged/nerve-role-committer` import,domain-specific 的 planner/coder/tester 各自独立 - **两个 moderator 逻辑相似但不同** — sense 的 coder 用 `filesCreated`,workflow 的 coder 用 `done`;sense planner 无条件进 coder,workflow planner 检查 `ready`。差异合理,没有强行抽象 ### ✅ Prompt 质量 - 每个 prompt 都引导 agent 先读 thread context(`nerve thread $threadId`)和 nerve-dev skill - Coder 支持多轮(`done: false` 继续),符合实际 coding 场景 - Workflow planner 区分了 create vs modify 场景,包括 backward compat 考量 - Tester 验证步骤有序(file → build → validate → list → trigger → query) ### ✅ Moderator - `MAX_CODER_ROUNDS = 20` + `MAX_TOTAL_REJECTIONS = 10` 双重保护,防止死循环 - 回退逻辑一致:rejection → retry coder(if under limit)→ END ### 💡 Minor(不阻塞) 1. **两个 moderator 高度相似** — `canRetryCoder`、`coderRounds`、`totalRejections` 完全重复。可以抽到 shared util,但当前只有 2 份,不急 2. **`totalRejections` 的类型断言** — `(s.meta as Record<string, boolean>).approved` 绕过了类型系统。Moderator 的泛型参数已经有完整 meta 类型,可以直接用。不影响运行但不够 type-safe --- *Reviewed by 小墨 🖊️*
xiaomo merged commit 239dfffb28 into main 2026-04-29 14:48:57 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
No Label
2 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#259