a4625a4559
fix: restore CLI-triggered workflows, only remove restart-gateway
...
The previous commit incorrectly deleted all workflows. Only restart-gateway
should be removed (replaced by direct shell trigger). Other workflows
(solve-issue, extract-knowledge, develop-sense, develop-workflow) are
CLI-triggered and independent of sense coupling.
2026-05-02 13:55:27 +00:00
c71212a0ce
refactor: sense triggers shell command directly, remove workflow
...
- SenseTrigger is now { command: string } — no workflow coupling
- Restart gateway via direct systemctl command instead of workflow
- Remove workflows/ directory and workflow config from nerve.yaml
2026-05-02 13:44:22 +00:00
29d47bd9c4
feat: add restart-gateway workflow, remove unused senses
...
- Remove 4 data-only senses (linux-system-health, worker-process-metrics,
hermes-session-message-stats, git-workspace-status) — none triggered workflows
- Refactor hermes-gateway-health sense: add state tracking, trigger
restart-gateway workflow after 3 consecutive failures (with 5min cooldown)
- Add restart-gateway workflow: restarter role (systemctl restart) +
verifier role (check service came back)
- Simplify nerve.yaml to single sense + single workflow
2026-05-02 05:38:44 +00:00
436ccf12b3
refactor(solve-issue): flatten role folders to single files
...
Also clean up leftover knowledge-extraction folder (renamed to extract-knowledge in dc1e96d).
Refs uncaged/nerve#284
2026-04-30 13:05:41 +00:00
2f78c72e4e
refactor(solve-issue): flatten role folders to single files
...
Refs uncaged/nerve#284
2026-04-30 13:04:36 +00:00
dc1e96d8f3
refactor(workflows): rename knowledge-extraction to extract-knowledge
...
Align WorkflowDefinition name, nerve.yaml, role prompts, and lockfile path with extract-knowledge.
Refs #285
Made-with: Cursor
2026-04-30 13:04:29 +00:00
7432f80d61
refactor(knowledge-extraction): convert questioner and answerer to createRole four-tuple
...
- questioner: createRole(adapter, questionerPrompt, schema, extract) + queue short-circuit + meta post-processing
- answerer: createRole(adapter, answererPrompt, schema, extract) + empty-questions short-circuit
- build.ts: use createLlmAdapter(extract.provider) as default LLM adapter for questioner/answerer
Refs uncaged/nerve#277
2026-04-30 12:38:58 +00:00
cf7e288874
chore: consolidate .gitignore into root
...
Remove per-workflow .gitignore files, add build output patterns to root.
小橘 <xiaoju@shazhou.work>
2026-04-30 09:06:22 +00:00
f7cf1a1cb2
refactor: single-package workspace with root esbuild build
...
Merge workflow and sense devDependencies into root, remove per-package package.json and workflow tsconfigs, add scripts/build.mjs for consistent outputs.
Fixes #22
2026-04-30 09:03:05 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
ef7d83ad0a
chore(sense): auto-generated commit
2026-04-28 13:02:12 +00:00
495d8d1b60
chore(workflow): auto-generated commit
2026-04-28 12:55:08 +00:00
0fab8a68c3
chore: declare pnpm workspace, remove per-package lockfiles and pnpm config
...
- Add pnpm-workspace.yaml (senses/*, workflows/*)
- Add root build script: pnpm -r build
- Remove pnpm.onlyBuiltDependencies from sense package.json
- Remove pnpm.overrides from workflow package.json
- Remove per-package pnpm-lock.yaml and node_modules
2026-04-28 11:11:41 +00:00
7fb161cf96
fix: tester prompts — build before list, remove non-existent dry-run command
...
- Both workflow/sense tester: build first, then validate, then list
- workflow-generator: remove nerve workflow dry-run (doesn't exist)
- sense-generator: add build step before sense list/trigger
2026-04-28 11:04:31 +00:00