feat: Add runtime version visibility via API and UI (#300)#395
Merged
tbrandenburg merged 5 commits intomainfrom Apr 28, 2026
Merged
feat: Add runtime version visibility via API and UI (#300)#395tbrandenburg merged 5 commits intomainfrom
tbrandenburg merged 5 commits intomainfrom
Conversation
added 2 commits
April 28, 2026 07:35
The application had no mechanism to expose the running version to users or operators. This adds a dedicated /api/version endpoint, includes version in /api/health, and displays the version in the sidebar below the MADE header. Changes: - Add importlib.metadata-based _VERSION constant to app.py - Add GET /api/version endpoint returning version + env metadata - Update GET /api/health to include version field - Add TestVersionEndpoint test class (2 tests) - Update health test to assert version field presence - Add useEffect/useState to Sidebar to fetch and display version - Add .sidebar-version CSS (small, centered, muted) Fixes #300
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Owner
Author
🔍 Automated Code ReviewSummaryClean, minimal implementation that exactly addresses the root cause. All 4 files changed are scoped to the feature — no unrelated code touched. Findings✅ Strengths
|
- Fix E402 (module-level import not at top) in app.py by moving _VERSION assignment after all imports - Fix ruff format changes in claude_agent_cli.py, cron_service.py, pi_agent_cli.py (auto-fixed by ruff --fix) - Add scripts/hooks/pre-push calling make qa-quick; installed by make install - Add make install-hooks target; wire into make install - Update AGENTS.md with pre-push hook documentation and make install guidance - Update .gitignore to track dev/state/*.json (task ledger) - Add dev/state/task-ledger.json as task tracking artefact
…cting with assertions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The application had no mechanism to expose the running version to users or operators. This adds a dedicated
/api/versionendpoint, includesversionin/api/health, and displays the version in the sidebar below the MADE header.Root Cause
Version string
0.1.0existed only inpyproject.tomlandpackage.json— never served via HTTP or shown in the UI.Changes
packages/pybackend/app.pyimportlib.metadata-based_VERSIONconstant; addedGET /api/versionendpoint; updatedGET /api/healthto includeversionfieldpackages/pybackend/tests/unit/test_api.pyTestVersionEndpoint(2 tests); updated health test to assertversionfieldpackages/frontend/src/components/Sidebar.tsxuseEffect/useStateto fetch/api/versionand render version below MADE headerpackages/frontend/src/styles/sidebar.css.sidebar-versionstyles (small font, centered, muted color)Testing
/api/versionreturnsversion,commit_sha,build_date,environment/api/healthincludesversionfieldv0.1.0below MADE header (small, center-aligned)Validation
Issue
Fixes #300
📋 Implementation Details
Implementation followed artifact:
.claude/PRPs/issues/issue-300.mdDeviations from plan:
None
Automated implementation from investigation artifact