Commit Graph

1110 Commits

Author SHA1 Message Date
xiaoju a736f92809 fix(cli): stop parent traversal at .git boundary
CI / check (pull_request) Successful in 2m24s
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
2026-06-07 15:45:27 +00:00
scottwei dfce57e9ca Merge pull request 'fix(cli): workflow list parent traversal + docs for .workflow/ auto-discovery' (#167) from fix/162-workflow-list-recursive into main
CI / check (push) Successful in 3m22s
Reviewed-on: #167
Reviewed-by: xiaomo <xiaomooo@shazhou.work>
2026-06-07 15:23:17 +00:00
scottwei 39802c1ec9 Merge pull request 'chore: remove completed eval plan, extract to .cards' (#166) from chore/remove-eval-plan into main
CI / check (push) Successful in 3m28s
Reviewed-on: #166
Reviewed-by: xingyue <xingyue@shazhou.work>
2026-06-07 15:16:20 +00:00
xiaoju 7db43005de fix(cli): align workflow list with thread start via parent traversal
CI / check (pull_request) Successful in 3m12s
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
2026-06-07 15:08:36 +00:00
scottwei 188c4191fd Merge pull request 'chore: remove skills/ folder' (#165) from chore/remove-skills-folder into main
CI / check (push) Failing after 12s
Reviewed-on: #165
Reviewed-by: xingyue <xingyue@shazhou.work>
2026-06-07 15:03:55 +00:00
xiaomo 678823d291 chore: remove completed eval plan, extract architecture to .cards
CI / check (pull_request) Successful in 2m48s
Plan fully implemented: CLI (run/report/diff/list), runner, 4 builtin judges,
CAS storage, task loader, 6 test files. New card captures design decisions.
2026-06-07 15:02:59 +00:00
xiaomo 31228ba0b9 chore: remove skills/ — duplicate of Hermes skill, not consumed by any toolchain
CI / check (pull_request) Successful in 3m10s
2026-06-07 14:54:32 +00:00
xingyue af3c8cc249 Merge pull request 'chore: remove docs/, extract current knowledge to .cards' (#164) from chore/remove-docs-folder into main
CI / check (push) Successful in 3m42s
chore: remove docs/, extract current knowledge to .cards (#164)
2026-06-07 14:51:51 +00:00
xingyue 9515e189e8 Merge pull request 'chore: move legacy workflows to examples/, update e2e for pnpm' (#163) from chore/move-legacy-workflows into main
CI / check (push) Successful in 4m14s
chore: move legacy workflows to examples/, update e2e for pnpm (#163)
2026-06-07 14:51:33 +00:00
xiaomo cb3a4acf4d chore: remove docs/, extract current knowledge to .cards
CI / check (pull_request) Successful in 3m57s
Remove 13 docs files (7 fully outdated @uncaged/* era, 6 superseded).
Extract 3 verified architectural facts as new .cards:

- frontmatter-fast-path: no LLM extraction, pure parse + schema validate + agent self-retry
- agent-cli-protocol: adapter output JSON via stdout, agent-owned step persistence
- status-based-moderator: pure graph lookup + mustache rendering, zero LLM cost

All 3 cards cross-checked against current source code (run.ts, evaluate.ts, frontmatter.ts).
2026-06-07 14:45:23 +00:00
xiaomo e559e6d227 chore: move legacy workflows to examples/, update e2e for pnpm
CI / check (pull_request) Successful in 3m17s
- Move e2e-walkthrough.yaml and normalize-bun-monorepo.yaml to examples/
- Update e2e-walkthrough: bun → pnpm, add uwf-claude-code agent
- Remove empty legacy-packages/ directory
2026-06-07 14:34:57 +00:00
xingyue 2f7609683a Merge pull request 'docs: add 6 FTE concept cards' (#160) from cards/fte-concepts into main
CI / check (push) Successful in 2m56s
2026-06-07 14:30:17 +00:00
xiaomo c128fad38e docs: add 6 FTE concept cards
CI / check (pull_request) Successful in 2m51s
- 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
2026-06-07 14:26:30 +00:00
xingyue 60fdb0a7ff Merge pull request 'fix(cli): thread list defaults to active threads only' (#159) from fix/147-thread-list-active-default into main
CI / check (push) Successful in 2m51s
2026-06-07 14:12:15 +00:00
xiaoju ae757e4d44 feat(cli): thread list defaults to active threads only
CI / check (pull_request) Successful in 2m52s
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>
2026-06-07 13:46:25 +00:00
xingyue e1c7e3d267 Merge pull request 'chore(cli): clean up step-ask nits from PR #156 review' (#158) from chore/156-nits into main
CI / check (push) Successful in 2m27s
2026-06-07 11:57:51 +00:00
xingyue 8b01ade66a Merge pull request 'docs: expand .cards — vision, comparisons, business rationale' (#157) from docs/project-cards into main
CI / check (push) Successful in 2m39s
2026-06-07 11:50:48 +00:00
xiaoju 10113f6ec6 chore(cli): clean up step-ask nits from PR #156 review
CI / check (pull_request) Successful in 2m23s
- Remove dead-code detailRef null guards (already validated upstream)
- Fix ?: to explicit T | null on external error type boundary
- Drop unnecessary async from resolveAskWorkflow (no await)
- Simplify double negation: opts.fork !== false → opts.fork

Refs #146
2026-06-07 11:44:45 +00:00
xiaomo 04e2b5b8a7 docs: expand .cards — vision, comparisons, business rationale, open questions
CI / check (pull_request) Successful in 2m21s
26 cards covering:
- Project philosophy (session isolation, process discipline, dissipative structure)
- Comparisons (vs skill, vs dynamic workflow)
- Business rationale (FTE vs vendor, OPC, switching cost)
- Learning model (memory + skill + workflow)
- Self-improvement (reflective workflow, eval)
- Open questions (workflow granularity, human-in-the-loop)
2026-06-07 11:43:52 +00:00
xingyue f697aec3e7 Merge pull request 'feat(cli): step ask — read-only query to historical step sessions' (#156) from fix/146-step-ask into main
CI / check (push) Successful in 3m2s
2026-06-07 11:05:59 +00:00
xiaoju b5e094ab4d feat(cli): step ask — read-only query to historical step sessions
CI / check (pull_request) Successful in 2m46s
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
2026-06-07 10:33:41 +00:00
xingyue e9e896146e Merge pull request 'feat(util-agent): extend AgentOptions with fork / cleanup (Phase 2a)' (#155) from fix/145-agent-fork-cleanup into main
CI / check (push) Successful in 2m48s
2026-06-07 09:16:27 +00:00
xiaoju d666516ce6 feat(util-agent): extend AgentOptions with fork / cleanup (Phase 2a)
CI / check (pull_request) Successful in 3m20s
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>
2026-06-07 08:36:58 +00:00
xingyue afc0287094 Merge pull request 'docs: add .cards — project philosophy and design rationale' (#154) from docs/project-cards into main
CI / check (push) Successful in 2m58s
2026-06-07 08:32:05 +00:00
xiaomo 22bffc5fcd docs: add .cards — project philosophy and design rationale
CI / check (pull_request) Successful in 2m44s
2026-06-07 08:03:04 +00:00
scottwei 4c5cc27d52 Merge pull request 'feat(cli): thread poke — re-run head step with supplementary prompt' (#148) from fix/144-thread-poke into main
CI / check (push) Successful in 2m44s
Reviewed-on: #148
Reviewed-by: xiaomo <xiaomooo@shazhou.work>
2026-06-07 07:53:27 +00:00
scottwei 031ecc6f7e Merge pull request 'release: v0.1.2 — session resume fix' (#153) from release/session-resume-fix into main
CI / check (push) Successful in 6m10s
Reviewed-on: #153
Reviewed-by: scottwei <shazhou.ww@gmail.com>
2026-06-07 07:53:06 +00:00
xiaoju 69ec8c2c5e release: v0.1.2
CI / check (pull_request) Successful in 3m6s
@united-workforce/agent-claude-code@v0.1.4 @united-workforce/agent-hermes@v0.1.5 @united-workforce/util-agent@v0.1.2
2026-06-07 15:44:00 +08:00
xingyue 81aa282c92 Merge pull request 'chore: release prep — proman bump + protocol 0.1.1 align' (#152) from release/next into main
CI / check (push) Successful in 2m56s
2026-06-07 07:41:37 +00:00
xingyue a620defbcf chore: bump versions via proman (protocol 0.1.1 align npm + session-resume fix)
CI / check (pull_request) Successful in 3m19s
2026-06-07 15:35:15 +08:00
scottwei 439891f6b6 Merge pull request 'revert: undo #150 release bump (changeset + version bump 不应由依赖升级触发)' (#151) from revert/150-release-bump into main
CI / check (push) Successful in 3m40s
Reviewed-on: #151
Reviewed-by: scottwei <shazhou.ww@gmail.com>
2026-06-07 07:33:54 +00:00
xingyue df244c52e8 Revert "Merge pull request 'chore: release — bump @ocas/* ^0.4.0, @shazhou/proman ^0.6.3' (#150) from release/bump-ocas-proman into main"
CI / check (pull_request) Successful in 3m45s
This reverts commit 9d0c6df62c, reversing
changes made to 00d960daba.
2026-06-07 15:25:31 +08:00
xiaomo cb6e0d6a11 Merge pull request 'chore: add changeset for session resume fix (#139)' (#141) from chore/139-changeset into main
CI / check (push) Successful in 3m36s
2026-06-07 07:20:36 +00:00
xiaoju e4c46c8150 feat(cli): add thread poke command
CI / check (pull_request) Successful in 3m43s
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
2026-06-07 07:19:26 +00:00
xiaomo 9d0c6df62c Merge pull request 'chore: release — bump @ocas/* ^0.4.0, @shazhou/proman ^0.6.3' (#150) from release/bump-ocas-proman into main
CI / check (push) Successful in 3m1s
2026-06-07 07:18:31 +00:00
xingyue 0f5bb1f191 chore: release — bump @ocas/* ^0.4.0, @shazhou/proman ^0.6.3
CI / check (pull_request) Successful in 2m35s
Published:
- @united-workforce/protocol@0.1.1
- @united-workforce/util-agent@0.1.2
- @united-workforce/agent-builtin@0.1.3
- @united-workforce/agent-claude-code@0.1.4
- @united-workforce/agent-hermes@0.1.5
- @united-workforce/agent-mock@0.1.3
- @united-workforce/cli@0.3.1
- @united-workforce/eval@0.1.6
2026-06-07 15:06:43 +08:00
xiaomo 00d960daba Merge pull request 'chore: bump @ocas/* to ^0.4.0 and @shazhou/proman to ^0.6.3' (#149) from chore/bump-ocas-proman into main
CI / check (push) Successful in 3m7s
2026-06-07 06:57:42 +00:00
xingyue 3a26285872 chore: bump @ocas/* to ^0.4.0 and @shazhou/proman to ^0.6.3
CI / check (pull_request) Successful in 3m28s
2026-06-07 14:12:03 +08:00
xiaoju 13c0812944 chore: add changeset for session resume fix (#139)
CI / check (pull_request) Successful in 2m4s
2026-06-07 03:03:55 +00:00
xiaomo 2e7e5f6ec4 Merge pull request 'fix: decouple session resume from isFirstVisit guard' (#140) from fix/139-session-resume-on-frontmatter-fail into main
CI / check (push) Successful in 1m59s
Merge PR #140: fix: decouple session resume from isFirstVisit guard
2026-06-07 02:43:36 +00:00
xiaoju 88c077d439 docs: add efficiency guidelines to CLAUDE.md
CI / check (pull_request) Successful in 2m3s
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)
2026-06-07 02:41:21 +00:00
xiaoju aaadab4445 fix: decouple session resume from isFirstVisit guard
CI / check (pull_request) Successful in 1m58s
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
2026-06-07 02:36:12 +00:00
xiaomo adf7837975 Merge pull request 'chore: add changeset + doc update requirements to solve-issue workflow' (#138) from chore/workflow-changeset-docs into main
CI / check (push) Successful in 2m0s
Merge PR #138: chore: add changeset + doc update requirements to solve-issue workflow
2026-06-06 23:09:17 +00:00
xiaoju 513846f4ab fix: update solve-issue test path from .workflows/ to examples/
CI / check (pull_request) Successful in 1m52s
Tests were referencing the old .workflows/ directory which no longer exists.
Updated workflow path and aligned assertions with current procedure content.

小橘 🍊(NEKO Team)
2026-06-06 23:01:33 +00:00
xiaoju aee123cc82 chore: add changeset + doc update requirements to solve-issue workflow
CI / check (pull_request) Failing after 2m4s
Developer: steps 12-13 — add changeset with correct bump type, update docs
Reviewer: checks 6-7 — verify changeset exists, docs updated for user-facing changes

Synced from ocas PR #86.
小橘 🍊
2026-06-06 22:45:42 +00:00
xiaoju 8ddada5879 chore: clean up workflow YAML — bun→pnpm, enum→const, deduplicate
CI / check (push) Failing after 3m6s
- solve-issue.yaml: bun→pnpm (5 refs), examples/ is now canonical
- Delete redundant workflows/solve-issue.yaml and .workflows/solve-issue.yaml
- analyze-topic.yaml + eval-simple.yaml: enum→const for $status
- Archive normalize-bun-monorepo.yaml and e2e-walkthrough.yaml to legacy-packages/

Closes #137
小橘 🍊
2026-06-06 10:56:28 +00:00
xiaoju aa732f5466 chore: bump eval to 0.1.5
CI / check (push) Successful in 3m56s
Fix workspace:^ not being replaced in 0.1.4 publish (was published with npm instead of pnpm).

小橘 🍊
2026-06-06 08:57:24 +00:00
xiaoju e354fc4341 chore: bump eval to 0.1.4
CI / check (push) Successful in 3m1s
小橘 🍊(NEKO Team)
eval@0.1.4
2026-06-06 08:02:33 +00:00
xiaoju 0e7e3ea44b fix: invalid Crockford Base32 log tag in eval list command
CI / check (pull_request) Successful in 3m57s
CI / check (push) Successful in 3m31s
L is not a valid Crockford Base32 character. Replace with H.

小橘 🍊(NEKO Team)
2026-06-06 07:57:00 +00:00
xiaoju aa454c85dd chore: bump versions for release
CI / check (push) Successful in 2m56s
- @united-workforce/util: 0.1.3 → 0.1.4
- @united-workforce/util-agent: 0.1.0 → 0.1.1
- @united-workforce/agent-hermes: 0.1.3 → 0.1.4
- @united-workforce/agent-claude-code: 0.1.2 → 0.1.3
agent-claude-code@0.1.3 agent-hermes@0.1.4 util-agent@0.1.1 util@0.1.4
2026-06-06 04:40:27 +00:00