xiaoju
21694c899f
feat(cli): add thread poke command
...
CI / check (pull_request) Successful in 2m39s
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:05:05 +00: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
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
xiaomo
6dd7d521be
Merge pull request 'chore: deduplicate debate frontmatter with YAML anchor' ( #135 ) from chore/debate-yaml-cleanup into main
...
CI / check (push) Successful in 2m40s
Merge PR #135 : chore: deduplicate debate frontmatter with YAML anchor
2026-06-06 04:23:12 +00:00
xiaoju
950dc056d8
chore: deduplicate debate frontmatter with YAML anchor
...
CI / check (pull_request) Successful in 2m22s
Use &debater-frontmatter anchor for the shared oneOf schema between
proponent and opponent roles. Procedure blocks remain duplicated
since YAML anchors cannot be embedded inside block scalars.
capabilities: [] kept — required by WorkflowPayload type.
Addresses review suggestions from #133 .
2026-06-06 04:16:13 +00:00
xiaomo
d360b85374
Merge pull request 'docs: upgrade debate example + fix: UWF_HERMES_BIN env support' ( #133 ) from docs/upgrade-debate-example into main
...
CI / check (push) Successful in 3m1s
Merge PR #133 : docs: upgrade debate example + fix: UWF_HERMES_BIN env support
2026-06-06 04:11:13 +00:00
xiaoju
509dfad857
fix: support UWF_HERMES_BIN env var for hermes binary path
...
CI / check (pull_request) Successful in 3m28s
Replace hardcoded HERMES_COMMAND constant with resolveHermesCommand()
that checks UWF_HERMES_BIN first, falling back to 'hermes' via PATH.
This fixes environments where hermes is installed in a venv or
non-standard location that isn't in the non-login shell PATH
(e.g. ~/.local/bin symlink only available in login shell).
Refs #134
2026-06-06 03:59:08 +00:00
xiaoju
58b84e3b3c
docs: upgrade debate example — 3 roles, oneOf routing, bounded termination
...
CI / check (pull_request) Failing after 11m23s
Replace the original 2-role debate with a 3-role version featuring:
- proponent/opponent/host roles (was: for/against)
- oneOf + const status routing (was: enum)
- Critical thinking framework in procedure (pre-speech reflection,
evidence discipline, anti-fragility)
- Bounded termination via Thread Progress (3rd speech → final)
- Host role for impartial summary and verdict
Based on xiaonuo's debate workflow design.
2026-06-06 03:30:54 +00:00
xiaomo
f821ac99f4
Merge pull request 'docs: add upgrading section to usage reference' ( #132 ) from feat/usage-upgrade-hint into main
CI / check (push) Successful in 2m8s
2026-06-06 03:00:09 +00:00
xiaoju
2c4700c49f
docs: add upgrading section to usage reference
CI / check (pull_request) Successful in 2m27s
2026-06-06 02:57:25 +00:00
xiaomo
4410afcd4a
Merge pull request 'fix: render const values as literals in output format instruction ( #129 )' ( #130 ) from fix/129-const-prompt into main
CI / check (push) Successful in 2m29s
2026-06-06 01:44:24 +00:00
xiaoju
a0e254a681
fix: render const values as literals in output format instruction ( #129 )
...
CI / check (pull_request) Successful in 1m48s
buildOutputFormatInstruction now renders const fields with their actual
value (e.g. $status: greeted) instead of the type placeholder (<string>).
Also adds early return in resolvePropertySchema for const properties.
Fixes #129
2026-06-06 01:12:13 +00:00
xiaomo
dd77b40f6c
Merge pull request 'feat: inject thread progress into agent prompt ( #127 )' ( #128 ) from feat/127-inject-turn-count into main
CI / check (push) Successful in 1m44s
2026-06-06 00:53:10 +00:00
xiaoju
5ed6f68e4b
feat: inject thread progress into agent prompt ( #127 )
...
CI / check (pull_request) Successful in 1m42s
Agents now receive a Thread Progress section showing current step number
and role visit count, eliminating tool calls to count turns.
- util-agent: new buildThreadProgress() helper
- agent-hermes: inject before continuation/first-visit prompt
- agent-claude-code: same injection point
Fixes #127
2026-06-06 00:40:12 +00:00
xiaoju
1ed0bf1f76
chore: clean changesets after v0.3.0 release
CI / check (push) Successful in 1m43s
2026-06-06 00:14:00 +00:00
xiaoju
d97840cf8d
chore: release cli@0.3.0 util@0.1.3 agent-hermes@0.1.3 agent-claude-code@0.1.2 agent-builtin@0.1.2 agent-mock@0.1.2
CI / check (push) Successful in 1m46s
agent-builtin@0.1.2
agent-claude-code@0.1.2
agent-hermes@0.1.3
agent-mock@0.1.2
cli@0.3.0
util@0.1.3
2026-06-06 00:13:48 +00:00
xiaomo
b560818f1a
Merge pull request 'fix: bootstrap — session restart hint + v0.2.1 migration note' ( #125 ) from fix/123-session-restart-hint into main
CI / check (push) Successful in 1m42s
2026-06-05 23:54:24 +00:00
xiaoju
f989dee85b
fix: bootstrap — remind to restart session after skill install/update
...
CI / check (pull_request) Successful in 1m42s
- Step 3 (fresh install): warn skills not active until new session
- Step 2 (upgrade): same reminder after regenerating skills
- Step 3 (upgrade): add v0.2.1 migration note for enum → const
Refs #123
2026-06-05 23:48:53 +00:00
xiaomo
7e4a59de7e
Merge pull request 'fix: workflow-authoring docs — type:object + const vs enum clarity ( #123 )' ( #124 ) from fix/123-workflow-authoring-docs into main
CI / check (push) Successful in 1m42s
2026-06-05 23:33:57 +00:00
xiaoju
68079cc003
fix: unify $status to const-only, drop enum support ( #123 )
...
CI / check (pull_request) Successful in 1m43s
- Validator: hasStatusConst/getConstStatuses replace enum checks
- enum in $status is now rejected with clear error message
- All docs/examples/tests migrated from enum to const/oneOf
- bootstrap hello.yaml updated
Fixes #123
2026-06-05 23:31:56 +00:00
xiaoju
1a37928bb9
fix: workflow-authoring docs — type:object + const vs enum clarity ( #123 )
...
CI / check (pull_request) Successful in 1m41s
- Add type:object to all frontmatter examples (flat and oneOf)
- Restructure $status section: Multi-exit (oneOf/const) vs Single-exit (flat/enum)
- Add Important rules box clarifying validation requirements
- Restore Custom Fields subsection
Fixes #123
2026-06-05 23:13:54 +00:00
xiaomo
57511a93fe
Merge pull request 'fix: bootstrap agent discovery + adapter version independence ( #120 )' ( #122 ) from fix/120-agent-discovery into main
CI / check (push) Successful in 1m44s
2026-06-05 22:35:54 +00:00
xiaoju
adc3982a4a
fix: bootstrap agent discovery + adapter version independence ( #120 )
...
CI / check (pull_request) Successful in 1m42s
- Step 1: detect hermes/claude before choosing adapter
- Adapter versions independent from CLI — install @latest
- ACP verification: hermes acp --help
- Remove uwf-builtin (not ready)
Refs #120
2026-06-05 22:29:35 +00:00
xiaomo
4580388270
Merge pull request 'fix: bootstrap docs — pnpm/npm parity, adapter order, preset table ( #118 )' ( #119 ) from fix/118-bootstrap-ux into main
CI / check (push) Successful in 2m29s
2026-06-05 16:48:47 +00:00
xiaoju
caba82fe36
fix: bootstrap PATH fix guidance — find binary location + update shell config ( #118 #1 )
CI / check (pull_request) Successful in 1m44s
2026-06-05 16:45:33 +00:00
xiaoju
6aee2ed5ef
fix: bootstrap docs — pnpm/npm parity, adapter order, preset table ( #118 )
...
CI / check (pull_request) Successful in 2m27s
- Show pnpm and npm install commands side-by-side
- Clarify adapter must be installed before uwf setup --agent
- Add version verification steps with PATH troubleshooting
- --agent takes adapter command name (uwf-hermes), not npm package
- Preset providers shown as table with default base URLs
- Non-preset providers must specify --base-url manually
Fixes #118 (#2 , #3 , #4 , #5 )
2026-06-05 16:41:35 +00:00
xiaomo
709b9dc1e5
Merge pull request 'fix: suppress ExperimentalWarning, PEP 668 guidance, setup help ( #116 )' ( #117 ) from fix/116-setup-ux-2 into main
CI / check (push) Successful in 2m21s
2026-06-05 16:15:27 +00:00
xiaoju
7a788a9d90
fix: suppress ExperimentalWarning, PEP 668 guidance, setup help
...
CI / check (pull_request) Successful in 2m31s
- All 5 CLI bins: shebang --disable-warning=ExperimentalWarning
- Remove NODE_OPTIONS injection from thread.ts spawn (redundant now)
- Bootstrap pip install: venv (recommended) / pipx / source options
- setup --help mentions interactive wizard mode
- Update shebang test to accept -S flag
Fixes #116
2026-06-05 16:12:06 +00:00
xiaomo
e5af5e9027
Merge pull request 'fix: setup UX improvements ( #114 )' ( #115 ) from fix/114-setup-ux into main
CI / check (push) Successful in 2m43s
2026-06-05 15:45:02 +00:00
xiaoju
fde87b6274
fix: setup UX improvements — adapter check, ENOENT, SQLite warning, VERSION, PATH docs
...
CI / check (pull_request) Successful in 2m24s
- setup validates adapter binary availability, prints install command if missing
- setup prints 'Config saved to <path> ✓' on success
- spawn ENOENT gives actionable error with which command
- SQLite ExperimentalWarning suppressed via NODE_OPTIONS
- bootstrap VERSION reads cli package.json (was reading util)
- bootstrap PATH guidance is shell-agnostic
Fixes #114
2026-06-05 15:42:22 +00:00
xiaomo
a33f12c74f
Merge pull request 'fix: bootstrap adds Step 0 environment pre-flight check' ( #113 ) from fix/112-bootstrap-preflight into main
CI / check (push) Successful in 3m35s
2026-06-05 14:34:12 +00:00
xiaoju
0ad10b9b6d
chore: add changeset for #112
CI / check (pull_request) Successful in 6m2s
2026-06-05 14:11:47 +00:00
xiaoju
3be92bfac2
fix: bootstrap adds Step 0 environment pre-flight check
...
CI / check (pull_request) Successful in 3m44s
- Node.js, pnpm/npm, global bin PATH, hermes CLI checks with FIX instructions
- Agent must pass all checks before proceeding to install
- Install commands changed from npm to pnpm (with npm fallback)
- hermes PATH guidance moved from Step 1 to Step 0
Fixes #112
2026-06-05 14:09:33 +00:00
xiaomo
8d6f480b0f
Merge pull request 'fix: workflow-authoring flat schema, bootstrap PATH guidance' ( #111 ) from fix/110-bootstrap-workflow-fixes into main
CI / check (push) Successful in 2m31s
2026-06-05 11:49:48 +00:00
xiaoju
5450bc1230
fix: workflow-authoring flat schema, bootstrap PATH guidance
...
CI / check (pull_request) Successful in 2m18s
- #110.3: flat schema example uses enum: [done] instead of bare const
(bare const fails validate-semantic hasStatusEnum check)
- #110.4: bootstrap adds 'which hermes' PATH check and venv guidance
- #110.1: already fixed in rc.1 (inline hello.yaml)
- #110.2: already fixed in rc.1 (capabilities: [] present)
Fixes #110
2026-06-05 11:44:20 +00:00
xiaomo
f1f122b0b1
Merge pull request 'fix: preset base-url auto-fill, bootstrap ACP docs, friendlier errors' ( #109 ) from fix/106-107-108-bootstrap-ux into main
CI / check (push) Successful in 2m49s
2026-06-05 11:16:31 +00:00
xiaoju
57ae6d1755
fix: preset base-url auto-fill, bootstrap ACP docs, friendlier errors
...
CI / check (pull_request) Successful in 2m26s
- #106 : uwf setup --provider <preset> now auto-fills --base-url
- #107 : bootstrap documents hermes ACP dependency (pip install hermes-agent[acp])
- #107 : verify step uses inline hello.yaml instead of missing examples/eval-simple.yaml
- #108 : workflow name mismatch error suggests how to fix (rename file or change YAML name)
Fixes #106 , Fixes #107 , Fixes #108
2026-06-05 11:06:35 +00:00
xiaomo
d64d150071
Merge pull request 'fix: expand bootstrap prompt with full onboarding and upgrade guide' ( #105 ) from fix/104-bootstrap-onboarding into main
CI / check (push) Successful in 2m20s
2026-06-05 10:39:18 +00:00
xiaoju
c5eb8b79d1
fix: expand bootstrap prompt with full onboarding and upgrade guide
...
CI / check (pull_request) Successful in 2m56s
- Fresh install: CLI + adapter install, uwf setup, skills, e2e verify
- Upgrade: update packages, regenerate skills, migrate workflows
- Explicitly tells agent to ask user for provider/api-key/model
- Lists all available adapters with install commands
- Documents v0.2.0 $START migration
Fixes #104
2026-06-05 10:35:01 +00:00