• StarPunk v1.1.1-rc.2 "Polish" - Hotfix Release Candidate
    Some checks failed
    Build Container / build (push) Failing after 13s

    phil released this 2025-11-26 05:25:51 +01:00 | 61 commits to main since this release

    Critical hotfix for v1.1.1-rc.1 resolving production 500 error on
    /admin/dashboard endpoint.

    • Template/data structure mismatch causing Jinja2 UndefinedError
    • Template expects: metrics.database.count
    • Monitoring provides: metrics.by_type.database.count
    • Field name mismatch: avg_duration_ms vs avg

    Route Adapter Pattern - transformer function in presentation layer:

    • Maps nested structure to flat structure
    • Transforms field names to match template expectations
    • Provides safe defaults for missing/empty data
    • Handles all operation types (database, http, render)

    Root Cause: Phase 3 metrics dashboard implementation had data
    contract mismatch between monitoring module and template expectations.

    Fix: transform_metrics_for_template() function in admin.py adapts
    monitoring data structure to template requirements at presentation layer.

    Testing: All 32 admin route tests passing, transformer validated.

    • Zero breaking changes
    • Full backward compatibility
    • All tests passing
    • Architect approved

    The adapter layer is a tactical fix. Future versions should implement
    proper data contracts between modules (planned for v1.2.0).

    • Consolidated hotfix design in docs/design/
    • Architectural review in docs/architecture/
    • Implementation report in docs/reports/
    • Removed misclassified ADRs (not architectural decisions)

    🤖 Generated with Claude Code

    Downloads