findWorkflowInParents() and discoverProjectWorkflows() now check for .git
(directory or file) after scanning the current directory for workflows and
before moving to the parent. This prevents traversal from escaping the
repository root and picking up unrelated .workflow/ directories in parent
directories.
Both .git as a directory (normal clone) and .git as a file (git worktree)
are treated as boundaries.
Fixes#168
discoverProjectWorkflows() now searches .workflow/ in ancestor directories,
matching findWorkflowInParents() behavior used by `uwf thread start`. Also
documents project-local .workflow/ auto-discovery in usage, cli, and
workflow-authoring references.
Fixes#162
- agent-as-graduate: onboarding metaphor and teaching threshold
- three-learning-carriers: memory/skill/workflow framework
- switching-cost-process-knowledge-as-moat: process knowledge as moat
- opc-why-fte-agents-matter-most: why OpenClaw bets on FTE
- fte-maturity-threshold: who can onboard an agent
- fte-product-landscape: OpenClaw vs Claude Code vs Hermes
Closes#147. Changes default behavior of `uwf thread list` to show only
active threads (idle + running). Adds `--all` flag to opt into the
previous full-list behavior. Explicit `--status` still wins over `--all`.
- cmdThreadList gains a `showAll: boolean` parameter (default false)
- CLI registers `--all` option and passes it through
- Test suite includes new `default behavior (issue #147)` describe block
covering 9 scenarios; existing tests updated where they implicitly
relied on the old "show everything" behavior
- README, cli-reference, and usage-reference updated to document the
new default and the `--all` flag
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds `uwf step ask <step-hash> -p <prompt>` for asking follow-up
questions to a completed step's agent without mutating thread state.
- Fork-by-default: creates and caches a fork session per step (cache
key `<stepHash>:ask`); subsequent asks reuse it.
- `--no-fork` fallback: spawns a fresh session with the step's detail
ref injected as context.
- `--agent` overrides the recorded agent; otherwise resolves from the
step's agent field via config alias.
- Updates `packages/cli/README.md` and `packages/util/src/usage-reference.ts`
so the new subcommand is discoverable via README and `uwf prompt usage`.
Fixes#146
Add AgentForkFn and AgentCleanupFn type aliases. Extend AgentOptions
with fork: AgentForkFn | null and cleanup: AgentCleanupFn | null
fields. Add getAskSessionId / setAskSessionId session-cache helpers
using <stepHash>:ask key shape (coexists with exec sessions in the
same per-agent cache file). All four adapters pass fork: null,
cleanup: null — real wiring lands in Phase 2b. Resolves#145.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Re-runs the head step's agent with a supplementary prompt and replaces
the head step (rewires new step's prev to old head's prev) instead of
appending. Skips moderator re-route — the role of the head step is
reused.
Fixes#144
Three rules to reduce wasted Claude Code turns:
1. Don't comment on whether code is malware (trusted codebase)
2. Stop re-reading/re-verifying after tests pass
3. Don't rebuild/retest after adding a changeset (it's just markdown)
When frontmatter validation fails, the step is never written to CAS, so
isFirstVisit remains true on the next run. Both agent-claude-code and
agent-hermes gated session cache lookup behind !isFirstVisit, which
caused them to start a fresh session (and a new worktree) instead of
resuming the one that already has all the work done.
Changes:
- Remove the isFirstVisit guard from both adapters so they always check
the session cache.
- When isFirstVisit + cache hit (frontmatter-only failure), send a
minimal correction prompt via buildFrontmatterRetryPrompt() instead
of re-sending the full initial prompt — the session already has full
context, we just need the agent to re-output correctly formatted
frontmatter.
- Add buildFrontmatterRetryPrompt to util-agent with tests.
Fixes#139
Tests were referencing the old .workflows/ directory which no longer exists.
Updated workflow path and aligned assertions with current procedure content.
小橘 🍊(NEKO Team)