Skip to content

Release v0.8.0#167

Merged
conradbzura merged 15 commits intomasterfrom
release
Apr 7, 2026
Merged

Release v0.8.0#167
conradbzura merged 15 commits intomasterfrom
release

Conversation

@wool-labs
Copy link
Copy Markdown
Contributor

@wool-labs wool-labs Bot commented Apr 6, 2026

Auto-generated by the cut release workflow.

wool-labs Bot and others added 15 commits April 1, 2026 15:45
Add BackpressureLike protocol and BackpressureContext dataclass that
let users configure a per-worker hook to reject incoming tasks. The
hook receives a snapshot of active task count and the incoming task,
returning True to reject (triggering gRPC RESOURCE_EXHAUSTED) or
False to accept. The load balancer already treats RESOURCE_EXHAUSTED
as transient and skips to the next worker.

The hook is threaded through LocalWorker -> WorkerProcess ->
WorkerService, serialized via cloudpickle across the spawn boundary
to support lambdas and closures.
Each SDLC skill now checks for a knowledge graph at
.understand-anything/knowledge-graph.json and invokes
/understand-chat as a sub-step during context gathering.
The graph query logic stays in /understand-chat — no
duplication across skills. Skills degrade gracefully when
no graph exists.
Cover BackpressureContext (instantiation, frozen immutability, equality,
Hypothesis property test), BackpressureLike protocol (sync, async,
callable class, negative case), WorkerService dispatch with
backpressure (sync/async accept and reject, context field validation,
active task counting), and LocalWorker construction with the hook.
Update public API completeness test for the new exports.
LocalWorker, WorkerProcess, and WorkerService were missing docstring
entries for parameters introduced by the backpressure feature.
WorkerProcess was also missing uid, tags, and extra params that
predated this PR. Removes a stale :param tasks: entry from
WorkerService._cancel which takes no arguments.
Extends the pairwise covering array and Hypothesis strategy with a
BackpressureMode dimension (NONE, SYNC, ASYNC) to verify that
backpressure hooks survive cloudpickle serialization through real
subprocesses. Adds rejection composition tests validating the
end-to-end RESOURCE_EXHAUSTED path and load balancer fallback to an
accepting worker.
Each SDLC pipeline skill now executes inside a dedicated subagent
rather than inline in the parent conversation context. Dispatcher
files in llms/dispatchers/ spawn a general-purpose subagent that
reads the corresponding skill definition from llms/skills/ and
executes its workflow, returning a structured summary to the parent.
This keeps the parent context clean for multi-step pipeline sessions.
Add a detect-changes job that checks out the repo and invokes the
existing get-touched-files composite action to determine whether
source code, tests, build config, protos, or CI files were modified.
The lint, unit-tests, and integration-tests jobs now depend on this
gate and only run when has_code_changes is true, avoiding wasted CI
minutes on documentation-only or skill-definition-only PRs.
@conradbzura conradbzura merged commit 5f0d9e1 into master Apr 7, 2026
14 checks passed
@wool-labs wool-labs Bot deleted the release branch April 7, 2026 00:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant