# Engineering upgrades ## v2.0.0 Shared skills have moved to landscape/skills/. Upstream files and licenses are preserved there. This is a major release because generated/skills/ is removed. Update AGENTS.md and review companions to reference landscape's skills and retain the project's generated/CODING_STANDARDS.md and backend-review companion. Regeneration removes the obsolete skills automatically; never edit generated copies. New consumers default to the shared mini-pc runner. Existing consumers must change all workflow runs-on labels and RUNNER_LABEL to mini-pc, add RUNNER_NAME=mini-pc and RUNNER_SCOPE=user, and update ci/runner templates to use the shared identity. These project-owned files are not regenerated automatically. Register the workstation once at user scope using configure-runner, then install-runner; configure-gitea now configures only application Actions, registry secrets and platform. Use check-runner for each new repository before its first push. No production deployment or migration of application deployment credentials is required. Java launcher contracts now use varargs and document behavior and failures. Console messages use Java 25 IO.println. JDK 25 remains required. ## v1.0.0 Initial release. For Agile Dancers, paths to shared Java launchers, formatting, standards, coverage and skills move to generated/. Add engineering.properties, engineering.lock.json, scripts/engineering.py and the regenerate-engineering Maven profile. Keep standards waivers and deployment configuration local. Rename the runner's project-owned service template to ci/runner/runner.service. Add the bootstrap check to each workflow and include generated/ and engineering.properties in Docker source build inputs. Provide deploy/health.sh for application readiness. Existing release-state JSON and existing Docker Compose project/volume names are preserved. Review legacy-release readiness compatibility before rollback; no production deployment is part of this migration.