xiaoju
65e2305761
improve(solve-issue): planner must locate repo and read code before planning
...
- planner procedure: locate repo (cwd/clone/create), read source files, reference actual code
- planner frontmatter: add repoPath as required field
- developer procedure: cd to repoPath, create branch, commit with issue ref
2026-05-23 09:16:51 +00:00
xiaoju
3d6399c0e3
feat: make edge prompt required (Phase 1)
...
- Transition.prompt: string | null → string
- EvaluateResult.prompt: string | null → string
- AgentContext.edgePrompt: string | null → string
- CLI YAML validation rejects missing prompt
- All tests updated
Phase 2 will replace edgePrompt === null checks with findLastRoleIndex.
Refs #405 , #406 , #404
2026-05-23 04:28:58 +00:00
xiaoju
638329a562
feat: edge prompt + session resume implementation ( #402 )
...
- buildContinuationPrompt: incremental prompt for role re-entry
- buildHermesPrompt: dual-mode (initial vs continuation)
- session-cache: thread:role → hermes sessionId mapping
- HermesAcpClient.resume(): session/resume JSON-RPC
- Fallback: cache miss or resume fail → initial prompt
- UWF_NO_RESUME env to skip cache
- solve-issue.yaml: reviewer→developer edge prompt
- Tests updated for EvaluateResult + continuation prompt
Refs #402
2026-05-23 03:57:04 +00:00
xiaoju
e5ae9a134c
feat: register $first/$last JSONata functions in moderator
...
Register custom $first(role) and $last(role) functions in the JSONata
evaluator. These search the steps array and return the matching role's
frontmatter (output) directly, replacing verbose steps[-1].output.x
expressions with semantic $last('role').field syntax.
- workflow-moderator: register functions via expr.registerFunction()
- Updated all condition expressions in .workflows/ and examples/
- Added tests for $last, $first, and unmatched role (undefined)
Fixes #376
2026-05-22 06:29:56 +00:00
xiaoju
02f7f0b708
refactor!: rename RoleDefinition.meta → frontmatter
...
BREAKING CHANGE: All workflow YAML files must use 'frontmatter' instead of 'meta'.
- workflow-protocol: RoleDefinition.meta → frontmatter, schema updated
- cli-workflow: validate.ts, workflow.ts — resolveMetaRef → resolveFrontmatterRef
- workflow-agent-kit: run.ts — metaSchema → frontmatterSchema
- All YAML files updated (examples/, .workflows/)
Fixes #374
2026-05-22 06:05:07 +00:00
xiaoju
c60c310074
refactor: rename RoleDefinition fields for clarity
...
- identity → goal
- prepare → capabilities (string[])
- execute → procedure
- report → output
- outputSchema → meta
Fixes #364
2026-05-22 00:46:06 +00:00
xiaoju
192ad656a4
refactor: remove systemPrompt, make four-phase fields required
...
Breaking change per review:
- Remove systemPrompt from RoleDefinition entirely
- identity/prepare/execute/report are now required (string, not nullable)
- Remove all legacy fallback logic in buildRolePrompt
- Simplify validate.ts, workflow.ts materialize
- Migrate all test fixtures and example workflows
Refs #359
2026-05-21 03:07:56 +00:00
xiaoju
d63d58ccb5
chore: reorganize repo — legacy packages to legacy-packages/, templates to examples/
...
- Move 15 old workflow-* packages to legacy-packages/ (inactive, preserved for reference)
- Rename templates/ → examples/ for clarity
- Rewrite docs/architecture.md to reflect current uwf architecture
- Active packages remain in packages/: cli-uwf, uwf-agent-hermes, uwf-agent-kit, uwf-moderator, uwf-protocol, workflow-util
小橘 🍊 (NEKO Team)
2026-05-19 07:19:40 +00:00