Skip to content

Releases

文渊阁 0.4.99

Choose a tag to compare

@suifei suifei released this 15 Nov 07:56
54dc9b4

文渊阁 0.4.99

Host-boundary fixes from a code review, see CHANGELOG.md.

  • Plugin routes now pass the host connection trust fence (ctx.connection.requestRejection) before any handler runs; rejected requests get 401/403, and a missing fence returns 503 instead of failing open. Upgrading is strongly recommended.
  • Disposing the plugin before boot settles no longer leaves the ledger locked (E_LOCKED until host restart); teardown waits for an in-flight boot, which closes its ledgers and wires nothing (#25).
  • 343 tests pass / 1 skipped; E2E on isolated profiles against rc.1 and rc.3.

文渊阁 0.4.98

Choose a tag to compare

@suifei suifei released this 15 Nov 06:04
ea50cf1

文渊阁 0.4.98

Rolling release (0.4.88–0.4.98), see CHANGELOG.md.

  • 0.4.98 (#18 audit): Thread replies on done/cancelled cards no longer wake anyone; pending re-dispatch judges busy by the live host turn (turn/start/turn/end), at most 3 per card; cards awaiting acceptance are nudged for review whether or not QA is required; upper-case billing codes and host transient codes (SERVER/TIMEOUT/TRANSPORT/STREAM_CLOSED/EMPTY_RESPONSE) are classified correctly; editing settings no longer refills the autonomy budget (FOLD_STATE_VERSION 8).
  • 0.4.97: project.team.renew — a stopped project's PMO and member sessions are renewed.
  • 0.4.96: a stopped project blocks host tools that wake or spawn agents (stop-guard).
  • 0.4.95: one member, one session — never auto-create a subagent to resume; autoReseatLimitPer30Min removed.
  • 0.4.94: a reseated member's stale session is detached from the workspace.
  • 0.4.93: activation spec read in both request shapes across hosts rc.1/rc.2/rc.3.
  • 0.4.92: late Thread replies are recorded with missed context; no meeting without a reachable PMO.
  • 0.4.91: stop interrupts in-flight turns; bookkeeping events are not Human intent; PMO session joins its workspace on boot.
  • 0.4.90: one PMO session per project; PMO say; no idle spinning after the goal is done.
  • 0.4.89: bounded autonomy — pmoMaxRounds (default 3); split heartbeat / patrol clocks.
  • 0.4.88: wake has a single delivery path, subagents.sendMessage.
  • 341 tests pass / 1 skipped; E2E on isolated DSH_HOME against rc.1 and rc.3.

文渊阁 0.4.87

Choose a tag to compare

@suifei suifei released this 13 Nov 15:10
f544b57

文渊阁 0.4.87

Rolling release (0.4.86–0.4.87), see CHANGELOG.md.

  • Built-in skills are now assembled per member identity: the project owner (ledger ownerMemberId) or a lead/PMO role gets the read-only reviewer text, QA roles get the new independent-re-run reviewer skill, everyone else gets the new executor skill — executors are no longer told "do not write code".
  • New skills/ai-team-executor and skills/ai-team-qa; skillKindForMember() does the dispatch and loadSkillContext() takes { vars, ownerId } while still accepting a bare variable table.
  • Clean-env web E2E: three members in one project received reviewer / executor / QA respectively, and {{GOAL}} rendered the real goal in a project that carries one.
  • 304 tests pass / 1 skipped.

文渊阁 0.4.86

Choose a tag to compare

@suifei suifei released this 13 Nov 14:07
69ca766

文渊阁 0.4.86

Rolling release (0.4.85–0.4.86), see CHANGELOG.md.

  • The core skill's frontmatter now matches its body: description and whenToUse describe the read-only reviewer PMO instead of the retired engineering-discipline text that the skill catalog was still showing.
  • {{GOAL}} is rendered on the skill-tool path as well: list() carries the cwd with each candidate, get() resolves the owning project (exact, longest prefix, then the single-project case, ignoring case and separators) and fills GOAL/PROJECT/WORKSPACE.
  • 302 tests pass / 1 skipped.

文渊阁 0.4.85

Choose a tag to compare

@suifei suifei released this 13 Nov 13:56
ae1432d

文渊阁 0.4.85

Rolling release (0.4.84–0.4.85), see CHANGELOG.md.

  • skills/ai-team-core/SKILL.md is now the read-only "review and navigate" PMO prompt: verify what the child claims, check it against the goal anchor, hand back exactly one next step, and answer STATUS: CONTINUE | DONE | NEED_HUMAN.
  • {{GOAL}} is actually rendered now. renderSkillVars() fills GOAL/PROJECT/MEMBER/WORKSPACE when the core skill is injected at activation; the goal comes from the ledger's projects[id].goal, and an unfilled goal says so instead of leaving a blank line. Unknown keys stay literal rather than being blanked.
  • 300 tests pass / 1 skipped.

文渊阁 0.4.84

Choose a tag to compare

@suifei suifei released this 13 Nov 10:01
0552b27

文渊阁 0.4.84

Rolling release (0.4.83–0.4.84), see CHANGELOG.md.

  • DSH 0.2.2-rc.2 dropped SubagentRuntime.list(); the five sites that read the provider name from it got undefined and every activation failed with E_RUNTIME_UNAVAILABLE. A new resolver trusts configuration first, then list() on older hosts, then verifies candidates through getProvider() (spawn is the dsh-base default), and all five call sites use it.
  • New subagentProviderName config for hosts that name their provider differently.
  • Recovery: boot reconciliation now also revives members that failed on runtime unavailability, and POST /ai-team/api/members/retry ({"all":true} for every failure) rebuilds them on demand, budgeted like the rest.
  • 299 tests pass / 1 skipped; clean-env web E2E shows activation reaching running and a failed member revived by the endpoint.

文渊阁 0.4.83

Choose a tag to compare

@suifei suifei released this 13 Nov 09:37
ffa1319

文渊阁 0.4.83

Rolling release (0.4.82–0.4.83), see CHANGELOG.md.

  • A turn whose tool-call arguments were truncated (MALFORMED_RESPONSE) is now retried once instead of leaving the member stuck: the same session is woken with an instruction to re-issue the call as one compact JSON line and to write long content to disk.
  • Retries carry their own budget (three per ten minutes, separate from session rebuilds) and log member.malformed.retry.suppressed.fail when exhausted; cancellations, rate limits and max-tokens are never treated this way.
  • 295 tests pass / 1 skipped.

文渊阁 0.4.82

Choose a tag to compare

@suifei suifei released this 13 Nov 09:11
96820eb

文渊阁 0.4.82

Rolling release (0.4.81–0.4.82), see CHANGELOG.md.

  • An empty reasoning selector now explains itself: dsh-llm-pi-ai derives a route's levels from the model entry's reasoningEfforts, so a custom model id has none until the provider declares them. The hint names that setting in both locales.
  • ok:false from /model-efforts is treated as an error instead of "this model has no levels".
  • Removed two dead lines left over from an earlier refactor.
  • 294 tests pass / 1 skipped.

文渊阁 0.4.81

Choose a tag to compare

@suifei suifei released this 13 Nov 08:35
08dc37b

文渊阁 0.4.81

Rolling release (0.4.80–0.4.81), see CHANGELOG.md.

  • Members can be configured with a reasoning level (issue #4): new GET /ai-team/api/model-efforts resolves a route's real levels through llm.resolveModelInfo, and the member profile, add-member and people-pool dialogs all offer it next to provider/model.
  • model/selection now records reasoningEffort — a resumed session used to fall back to the model default (max at creation, high after the plugin's own selection append).
  • Changing only the level does not rebuild the session.
  • 294 tests pass / 1 skipped; clean-env web E2E shows max on both the initial and the post-restart resume headers.

文渊阁 0.4.79

Choose a tag to compare

@suifei suifei released this 13 Nov 06:20
c9a170c

文渊阁 0.4.79

Rolling release (0.4.78–0.4.79), see CHANGELOG.md.

  • Provider probe now distinguishes "host has no list()" (unknown → proceed, real errors surface) from "no provider registered" (empty → 503): fixes constant 503 on member activation with desktop DSH 0.2.2-rc.2, where SubagentRuntime.list() was removed (issue #1).
  • Silent wake skips are now visible: deduped wake.no-provider / subagents.introspect-missing diagnostics.
  • Shipped ai-team-core skill: permanent-activation principle (任何任务立即开工) from 0.4.78.
  • 291 tests pass / 1 skipped; clean-env web E2E on rc.1 shows no regression.