All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- MCP endpoint (
POST /mcp) with OIDC Bearer token authentication for AI assistants and automation tools - ApiClient machine identity for client_credentials token flow with permission-based authorization
- MCP tool system:
TeamMetricsToolexposes team health metrics via Model Context Protocol - ApiClient policy namespace (
ApiClient::TeamPolicy) for scoped team access - OpenCode configuration example and well-known OAuth endpoints for automated client discovery
- Historical chart popup for Maturity Index — click the metric card on team/unit dashboards to view maturity index values for past quarters as a bar chart (0.0–3.0 scale)
- Coverage Index historical chart popup — click the metric card to view coverage index trends across past quarters
- Correct Stimulus action syntax in DialogComponent
- Show rating change indicator compared to previous quarter on skill ratings page
- Dynamic level description update when rating changes in edit form
- Soft archive for team technologies instead of hard delete to preserve historical ratings
- Upgrade Rails 8.1.1 → 8.1.3 and Devise 4.9.4 → 5.0.3
- Unused Redis service from docker-compose (project uses Solid Queue with PostgreSQL)
- Extract component SQL into domain-oriented query objects (RedZones, TeamMemberMetrics, SkillMatrix)
- Remove ExpertConstants initializer, use SkillRating constants instead
- Reuse TeamSkillMatrixQuery in TeamTechnologiesController
- Make key person risks N+1 test data deterministic
- Yabeda metrics with Prometheus exporter
- Skip copying ratings for users no longer on the team during quarter activation
- Add diagnostic output to Docker entrypoint script
- Docker: move ENTRYPOINT into CMD to allow external entrypoint overrides
- Docker: change working directory from
/railsto/app
- Makefile targets for running production Docker image (
run-prod,shell-prod,logs-prod)
- Public Docker image published to Docker Hub
- Metrics components now show all rating statuses for the current quarter (draft, submitted, approved, rejected); only approved ratings are shown for past quarters
- Extracted
visible_for_quarter/visible_for_quartersscopes and status constants intoSkillRatingmodel to centralize filtering logic
First release of Starmap — a corporate web application for managing technical team competencies, employee development, and reducing bus-factor risks.
- Competency management with 0-3 rating scale
- Retrospective quarterly evaluation cycles (draft → active → closed → archived)
- Self-assessment → Team Lead approval workflow
- Previous quarter ratings copied as starting point on activation
- Role-based access control (Engineer, Team Lead, Unit Lead, Admin)
- Analytics dashboards: Coverage Index, Maturity Index, Red Zones, Key Person Risk
- Development planning via Action Plans
- Ruby on Rails 8.1, Hotwire (Turbo + Stimulus), ViewComponent
- PostgreSQL, Solid Queue, Solid Cache
- Pundit authorization, Devise authentication
- RSpec + Vitest test suites