23 Commits

Author SHA1 Message Date
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
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
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
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
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
495d8d1b60 chore(workflow): auto-generated commit 2026-04-28 12:55:08 +00:00
1940ccedd6 refactor: bundle sense-generator to dist/ via esbuild
- Add esbuild build script to package.json
- Add .gitignore for dist/
- Remove stale tsc-generated .js files (now bundled)
- Include sense files generated by workflow run (hermes-gateway-health update, worker-process-metrics)
- Clean up nerve.yaml (remove deleted workflows, migrate reflexes to interval)
2026-04-28 05:31:04 +00:00
e05c71d6b0 refactor(sense-generator): use createCursorRole factory, slim meta to routing-only
- planner/coder: replaced 80+ lines hand-written agent calls with createCursorRole()
- SenseMeta slimmed to routing signals only (senseName, filesCreated, passed/attempt)
- Roles read context from thread via nerve thread <id>, not from previous role's meta
- tester stays hand-written (pure CLI logic)
- Re-exported spawnSafe from workflow-utils for helper use

Refs uncaged/nerve#210

小橘 🍊(NEKO Team)
2026-04-28 02:22:38 +00:00
476ac4d7a5 workflow: pr-code-reviewer
Workflow: pr-code-reviewer
User request (summary): Create a code-reviewer workflow that: 1) Takes a PR URL (supporting Gitea git.shazhou.work, GitHub, and Gitee) as input. 2) A fetcher role detects the platform from the URL, authenticates using ava...
Reviewer (summary): npx tsc --noEmit passed and nerve.yaml contains the workflow entry
Staged paths:
- nerve.yaml
- workflows/pr-code-reviewer/index.ts
- workflows/pr-code-reviewer/package.json
- workflows/pr-code-reviewer/pnpm-lock.yaml
- workflows/pr-code-reviewer/tsconfig.json
2026-04-25 06:46:00 +00:00
714a320bdc feat: add hello-world workflow and update sense-generator config
- Add hello-world workflow generated by workflow-generator
- Add package.json/tsconfig.json to sense-generator
- Update nerve.yaml

小橘 🍊(NEKO Team)
2026-04-25 06:12:29 +00:00
7bfb24c2c1 feat: add workflow-generator meta-workflow (Issue #99)
4-role workflow (analyst → architect → coder → reviewer) that generates
new workflows from natural language descriptions. Uses cursorAgent for
analysis/design/code generation and llmExtract for structured extraction.

小橘 🍊(NEKO Team)
2026-04-25 04:18:57 +00:00
9a3c50c257 refactor: consolidate senses — merge tcp-socket-stats into system-health, remove cpu-usage
- Remove cpu-usage sense (redundant with system-health loadavg)
- Remove linux-tcp-socket-stats (merged into linux-system-health)
- Remove disk-usage-mounts (unused)
- Add tcp socket fields to system-health schema + migration
- Simplify nerve.yaml: 4 senses → 2

小橘 <xiaoju@shazhou.work>
2026-04-24 06:13:51 +00:00
d1a2ee876a fix: hermesRun command and tester verdict via llmExtract
- Fix hermes invocation: 'hermes -q' → 'hermes chat -q' with proper flags
- Replace fragile string.includes('PASS') with llmExtract judge
  (previous false positive: matched '--pass-session-id' in usage text)

小橘 🍊(NEKO Team)
2026-04-23 12:20:11 +00:00
56c7588c82 feat: sense-generator workflow with llmExtract metadata extraction
- Planner uses cursor-agent ask mode (not plan mode) for stdout output
- llmExtract: structured metadata extraction via DashScope qwen-plus + tool_choice
- Replaces fragile regex name parsing with reliable LLM tool call
- Removed unknown-sense artifact from failed generation

小橘 🍊(NEKO Team)
2026-04-23 12:01:12 +00:00
d7e2913d99 feat: add linux-system-health sense + update config
- Add linux-system-health sense (CPU load, memory, disk, uptime)
- Register in nerve.yaml with 30s interval
- Clean up .gitignore (ignore logs, pid, sock, false/)
- Remove stale pnpm metadata cache (false/)

小橘 🍊(NEKO Team)
2026-04-23 10:39:26 +00:00
386205327a Initial nerve workspace 2026-04-23 09:58:08 +00:00