v0.2.1
A patch release: three waves of internal hardening since 0.2.0, no wire or behaviour
change anywhere — every golden fixture stays byte-identical.
Closed the vendor-config gaps C2 found
Executing chock's C2 wave against the 0.2.0 wheel surfaced three real gaps in the
vendor data. Two are now recorded with full evidence: tools.shell for
vscode_copilot and codex_cli (each vendor's own documented tool-name vocabulary),
and repo_root_token, an opt-in field for a vendor's project-directory placeholder,
populated only where a primary source documents one. The third — Copilot's native
hooks envelope, a second vendor-documented config surface distinct from the shape this
adapter emits — has no honest home in the current schema without new constructs, so
it's recorded as design feedback rather than forced into data that would overclaim.
Externalized the last stranded prose and templates
Following the externalize, don't hardcode standard: the bare-ALLOW audit, packaging
limits, and per-vendor content-rule reasons move from Python string literals into
schema-validated JSON tables. The bundle header, runtime, and vendor-binding source
move to .py.tmpl template files with __TOKEN__ placeholders, so each one is valid
Python as committed and lints as such — no more logic hiding inside multi-line strings.
Adopted a Sonar/Checkstyle/FindBugs-class lint bar
Turned on ruff's complexity, naming, boolean-trap, exception-hygiene, dead-code, and
CLI-print-discipline rule families across src/, plus a new literal-duplication guard.
Every finding fixed category-by-category in bisectable commits — pure refactor, no
behavioural change. tests/, tools/, examples/, and two docs/ asset scripts are
scoped out for a follow-up wave, each with a TODO(lint-adoption) reason rather than a
blanket exemption.
Verification
Full test suite green throughout (1448 passed), golden fixture replay, bundle
equivalence, and the 12-agent subprocess replay all pass unchanged.
Full changelog: https://github.com/open-coder-ai/agentseam/blob/main/CHANGELOG.md#021---2026-09-02