93 Commits

Author SHA1 Message Date
e4fd5d6ba4 refactor: migrate all workflows to RFC-005 ThreadContext signatures
- Role: (start, messages) → (ctx: ThreadContext)
- AgentFn prompt callbacks: (start) → (ctx)
- ModeratorContext → ThreadContext
- 13 files updated across knowledge-extraction and solve-issue workflows

小橘 <xiaoju@shazhou.work>
2026-04-30 08:39:52 +00:00
1c512435de feat: add knowledge-extraction BFS workflow
Three-role workflow (questioner → answerer → explorer) that iterates
over .knowledge/ cards to discover and fill knowledge gaps via BFS.

- questioner: createLlmRole, reads card, asks 3 technical questions
- answerer: spawnSafe nerve knowledge query, judges answers
- explorer: reads code, writes/patches .knowledge cards, runs sync
- moderator: BFS queue from message history, stagnation rule

Closes #266
2026-04-30 02:27:10 +00:00
8774d71d57 feat: update senses to return ComputeResult<T>
Wrap compute return values in { signal, workflow: null }
to match new SenseComputeFn contract.

— 小橘 🍊(NEKO Team)
2026-04-30 00:38:34 +00:00
1d9e574c94 fix: remove unused AbortSignal param from sense compute
— 小橘 🍊(NEKO Team)
2026-04-30 00:23:12 +00:00
252162ea8e refactor: pure sense compute — return data instead of db.insert
All 5 senses updated to new API:
- compute(signal: AbortSignal) => Promise<T | null>
- Export table for runtime-side insert
- Remove drizzle-orm/libsql imports

Refs uncaged/nerve#264

— 小橘 🍊(NEKO Team)
2026-04-30 00:15:03 +00:00
60979aaa6a refactor: migrate develop-sense/develop-workflow to @uncaged/nerve-workflow-meta
Delete local roles, moderator, and build files. Workflow index.ts
now imports factory from package and wires adapters/extract/cwd.

Closes #21

— 小橘 🍊(NEKO Team)
2026-04-29 14:52:25 +00:00
b0cff7e0ed refactor: update reviewer calls to use ReviewerConfig object
API changed from (adapter, extract, cwd) to (adapter, extract, { cwd, ... })

— 小橘 🍊(NEKO Team)
2026-04-29 14:32:23 +00:00
b282dfdb7b Merge pull request 'refactor: use @uncaged/nerve-role-reviewer package' (#20) from feat/use-role-reviewer-package into master 2026-04-29 14:27:36 +00:00
bed5ecb56b refactor: use @uncaged/nerve-role-reviewer package
Replace inline reviewer role with import from package.
Both develop-sense and develop-workflow now share the same code.

— 小橘 🍊(NEKO Team)
2026-04-29 14:26:27 +00:00
6a2dbb7335 Merge pull request 'refactor: use @uncaged/nerve-role-committer package' (#19) from feat/use-role-committer-package into master 2026-04-29 14:20:02 +00:00
174df68368 refactor: use @uncaged/nerve-role-committer package, delete _shared/
- develop-sense/develop-workflow committer → re-export from package
- solve-issue committer → uses decorateRole chain (custom prompt stays)
- Delete _shared/workspace-committer.ts and _shared/ directory

RFC-004 Phase 1 complete
2026-04-29 14:18:12 +00:00
59b8f033ba Merge pull request 'refactor: simplify workspace committer — infer from thread' (#18) from refactor/17-simplify-committer into master 2026-04-29 12:53:34 +00:00
0a9da468f7 refactor: simplify workspace committer — agent infers context from thread
Remove nerveRoot, workflowName, conventionalCommitScopeHint, branchCheckoutExample params.
Signature: createWorkspaceCommitterRole(adapter, extract)
Agent reads thread history to decide branch name, scope, and commit message.

Closes #17
2026-04-29 12:52:56 +00:00
ac47daa42b Merge pull request 'refactor: decouple adapters from workflow factories + createXxxRole' (#16) from refactor/15-decouple-adapters into master 2026-04-29 12:44:18 +00:00
a609dc2486 refactor: derive adapter keys from Meta type instead of manual union 2026-04-29 12:41:10 +00:00
eaddd88109 refactor: add defaultAdapter + typed role union, adapters becomes Partial
- Each workflow factory takes defaultAdapter: AgentFn + adapters?: Partial<Record<RoleUnion, AgentFn>>
- index.ts only overrides roles that differ from default (planner/coder use cursor, rest fallback)
- Cleaner call sites, type-safe role names

Refs #15
2026-04-29 12:38:21 +00:00
1683e41b05 refactor: decouple adapters from workflow factories, roles export createXxxRole
- Rename build* → create* workflow factories
- Workflow factories accept adapters: Record<string, AgentFn>
- Each role file exports createXxxRole(adapter, ...) factory
- _shared/workspace-committer accepts adapter as first param
- All adapter imports moved to index.ts (injection point)
- solve-issue roles also updated

Closes #15
2026-04-29 12:35:07 +00:00
a506e5b36b Merge pull request 'refactor: flatten role folders into single .ts files' (#14) from refactor/13-flatten-role-folders into master 2026-04-29 12:23:34 +00:00
42f943c303 refactor: flatten role folders into single .ts files
Each role's index.ts + prompt.ts merged into a single <role>.ts file.
Committer stays as re-export from _shared.
Import paths updated in build.ts and moderator.ts.

Closes #13
2026-04-29 12:21:41 +00:00
215a8f6566 fix(committer): forbid --author in shared workspace committer prompt 2026-04-29 11:15:27 +00:00
f6e29a5cae Merge chore/10-dedup-committer: dedup workspace committer into _shared 2026-04-29 11:15:10 +00:00
f651389ad8 chore(workflows): deduplicate workspace committer role
Extract shared buildWorkspaceCommitterRole into workflows/_shared/workspace-committer.ts
with parameterized conventionalCommitScopeHint and branchCheckoutExample.

Both develop-sense and develop-workflow committer/index.ts now re-export from the
shared module. Duplicate prompt.ts files removed.

Fixes #10
2026-04-29 11:11:51 +00:00
85fac3158d Merge refactor/9-committer-agent-workflow: committer agent + forbid --author 2026-04-29 11:09:12 +00:00
16bea3b8a7 fix(committer): forbid --author flag, use repo git config identity 2026-04-29 11:09:01 +00:00
03146b210a refactor(solve-issue): align committer/publish prompts and docs with agent role workflow
- publish/prompt.ts: require 'Fixes #N' in Ref section to auto-close issues
- CONVENTIONS.md: update Role Patterns table (committer uses createRole hermesAdapter), fix Meta Convention (committed not success)
- committer/prompt.ts: add defaultBranch guard before branch creation to prevent empty PR diffs
- implement/prompt.ts: strengthen git commit prohibition

Refs #9
2026-04-29 11:06:05 +00:00
小橘 🍊(NEKO Team)
c585e0d8a8 Refactor committer into Hermes agent with branch/commit/push workflow
Add solve-issue committer after implement; replace develop-sense and develop-workflow script roles with createRole(hermesAdapter). Implement prompt no longer does git; publish prompt asks for meaningful PR titles.

Refs #9

Made-with: Cursor
2026-04-29 10:44:28 +00:00
3a2b8a49a3 fix: add nerve-daemon back to workspace deps (needed by CLI thread commands)
小橘 🍊(NEKO Team)
2026-04-29 10:11:12 +00:00
aef9943746 fix(solve-issue): prepare supports local repo path from trigger prompt
If the trigger prompt specifies a local repo path (--repo /path or absolute path),
prepare validates it instead of cloning to ~/Code/. Enables running solve-issue
on repos outside the default ~/Code directory.

小橘 🍊(NEKO Team)
2026-04-29 10:09:34 +00:00
小橘 🍊(NEKO Team)
95df8bc3c2 refactor(workflows): use createRole instead of compileWorkflowSpec
Switch build.ts and solve-issue inner roles to @uncaged/nerve-workflow-utils createRole with LlmExtractorConfig. Remove @uncaged/nerve-daemon from workspace dependencies; keep override for linking. Planner uses createCursorAdapter ask mode; dynamic cwd via start.meta.workdir.

Made-with: Cursor
2026-04-29 10:01:02 +00:00
小橘 🍊(NEKO Team)
70fd064bad Refactor workflows to use compileWorkflowSpec from nerve-daemon
Remove workflows/_shared; wire createLlmExtractFn, zodMeta, and createCursorAdapter(mode ask). Plan/implement/publish compile inner specs via daemon.

Made-with: Cursor
2026-04-29 09:35:13 +00:00
56ce22fb1b Migrate workflows to WorkflowSpec-style roles (RFC-003)
Replace createCursorRole/createHermesRole with adapter + prompt + zod meta.

Add shared compileRoleSpec, cursor ask adapter, nerve.yaml extract defaults.

Refs #248

Made-with: Cursor
2026-04-29 09:23:55 +00:00
66ce30cdfb rename: generate-workflow → develop-workflow, generate-sense → develop-sense
小橘 🍊(NEKO Team)
2026-04-29 00:20:01 +00:00
28ac2e9dad chore: change workflow overflow from drop to queue
小橘 🍊(NEKO Team)
2026-04-29 00:13:14 +00:00
86f02da306 refactor: rename workflows to verb phrases, delete gitea-issue-solver
- workflow-generator → generate-workflow
- sense-generator → generate-sense
- Delete gitea-issue-solver (replaced by solve-issue)

小橘 🍊(NEKO Team)
2026-04-28 23:17:26 +00:00
7313111548 chore: remove nerve.db from tracking, add *.db to gitignore
小橘 🍊(NEKO Team)
2026-04-28 23:08:00 +00:00
64a5fc5301 chore(workflow): auto-generated commit 2026-04-28 22:46:19 +00:00
d786827ac8 chore(workflow): auto-generated commit 2026-04-28 22:37:27 +00:00
d6e95f5c65 chore(workflow): auto-generated commit 2026-04-28 22:24:20 +00:00
95587260f6 chore(workflow): auto-generated commit 2026-04-28 16:02:16 +00:00
57c740cdde Revert "chore(workflow): auto-generated commit"
This reverts commit 75f2768a8c7713879bb2ab564f42f24bc609338e.
2026-04-28 15:49:22 +00:00
75f2768a8c chore(workflow): auto-generated commit 2026-04-28 14:46:13 +00:00
3d9f239230 refactor: moderator uses dual limits — max coder rounds (20) + max total rejections (10)
Either limit triggers END. Simple, no per-rejector budgets.
2026-04-28 14:27:40 +00:00
bbcaf1eba5 refactor: moderator uses per-rejector limits instead of shared coderCount
- coder self-iterations (done=false): max 5
- reviewer rejections: max 3
- tester rejections: max 3
- committer rejections: max 2
Each budget is independent, no longer starved by coder's own passes.
2026-04-28 14:22:04 +00:00
fbcc1ff30c feat: add CONVENTIONS.md, reviewer references it instead of hardcoding rules
- CONVENTIONS.md covers: language paradigm, naming, error handling,
  workflow/sense structure, role patterns, meta convention, git rules
- Reviewer prompt now: cat CONVENTIONS.md + check diff against it
- Single source of truth for all roles
2026-04-28 14:19:20 +00:00
76760c4d29 fix: reviewer — remove 'missing files from planner' check, planner designs roles not files 2026-04-28 14:16:23 +00:00
18e201b49c fix: reviewer prompt — reject or approve, no middle ground 2026-04-28 14:13:33 +00:00
daf07b5746 feat: add reviewer role to all three workflows
- workflow-generator, sense-generator, gitea-issue-solver all now have:
  planner → coder → reviewer → tester → committer → END
- Reviewer uses createHermesRole with git diff/status for static analysis
- Checks: garbage files, secrets, debug code, unrelated changes
- Planner prompt now requires Role Behavior sections for every role
- Coder prompt now emphasizes reading initial user prompt for specifics
2026-04-28 13:56:37 +00:00
bd89dcaff6 chore(workflow): auto-generated commit 2026-04-28 13:33:14 +00:00
994de1e7ff chore(workflow): auto-generated commit 2026-04-28 13:20:29 +00:00
e8765abac6 fix: pass nerveRoot to tester prompts for correct path resolution
Hermes agent cwd is not necessarily the nerve workspace root.
Inject nerveRoot into tester prompts so all file paths and commands
use absolute paths to the workspace directory.
2026-04-28 13:03:31 +00:00