Skip to content

v0.4.0

Choose a tag to compare

@mathwro mathwro released this 01 Oct 12:16

What's Changed

  • Modularize DotAi into purpose-specific application modules while retaining the executable dotai.py entry point and Python 3.10+ standard-library runtime (#18).
  • Expand behavior coverage for command execution, platform selection, package reconciliation, OMP marketplaces/plugins/extensions, status, and doctor. Add Python 3.10/3.14 CI across Ubuntu, Windows, and macOS, with separate Linux branch-coverage reports (#19, #20, #21).
  • Keep Windows PATH refresh bounded across repeated commands, and honor FORCE_COLOR=0 even on a terminal (#19, #20).
  • Reject malformed or unreadable MCP targets without tracebacks, writes, or backups. Isolate invalid provider files and protect alias selection, stdio working directories, and required header/environment references (#22).
  • Preserve configuration and reconciliation history on failed writes/replacements, clean incomplete owned artifacts, and cover recovery after partially applied OMP routing. Managed routing values now require the correct JSON type as well as value (#23).
  • Correct skill retirement and wildcard narrowing when original frontmatter names differ from installed directory names. Retire only source-proven configured-agent copies, preserve independent Pi/universal copies, and refuse shared or ambiguous installations rather than deleting another agent's files (#24).
  • Add focused default web-interface skills (emil-design-eng and web-design-guidelines) and a vetted project-local skills guide without automatically installing project-specific bundles (#25).

Upgrading and adoption

  • Pull the repository to update DotAi. Existing user-owned stack.json files remain untouched.
  • Preview new recommended skills with ./dotai.py sync --recommended-skills --dry-run, then review and apply with ./dotai.py sync --recommended-skills. Use --enforce only when you intend to adopt matching repository recommendations and retire their removed skills. Restart OMP after skill changes.
  • Skill retirement matches installed directory identities; nonempty explicit --check-skill values stay exact. Shared links or unproven canonical associations require manual resolution. DotAi retains the shared Skills CLI lock so other agents' provenance is not deleted. A failed retirement restores manifest/ownership, not directories already removed. See the retirement contract.
  • OMP routing remains optional and post-authentication. If a setting command fails, rerun ./dotai.py configure omp-routing to apply the missing settings while preserving unmanaged configuration. See configuration safety.
  • Project-local skills remain opt-in; follow the vetted project skills guide from the target project.

Verification

  • All 220 behavioral tests passed on Python 3.10.21 and 3.14.4 under WSL, with two explicitly native-Windows-only skips.
  • The tracked baseline manifest validated on both versions. The executable ./dotai.py version and Python entry point report 0.4.0.
  • The safe-retirement changes were exercised through the real DotAi entry point and real Skills CLI 1.7.0, including original-name/directory identity differences, independent Pi/universal preservation, wildcard narrowing, repeated syncs, and shared-link refusal.
  • The exact release commit 597438f passed Python 3.10 and 3.14 suites and baseline validation on Ubuntu, Windows, and macOS, plus the Linux branch-coverage job. Release commit CI.

Full Changelog: v0.3.6...v0.4.0