Skip to content

feat(profile): add practice-area development profile - #1448

Closed
ValentinGruener wants to merge 5 commits into
mainfrom
feat/practice-area-detail-view
Closed

feat(profile): add practice-area development profile#1448
ValentinGruener wants to merge 5 commits into
mainfrom
feat/practice-area-detail-view

Conversation

@ValentinGruener

@ValentinGruener ValentinGruener commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Description

Adds the practice-area development profile: developers can see where they stand in each practice area of their workspace, and open an area to understand how that standing came about.

  • Server API — a workspace-scoped endpoint deriving the calling developer's standing per area (status, guidance, day-to-day development, feedback provenance), plus area, severity, artifact-kind filtering and severity sorting on the existing observation list. Derivation reuses the existing reflection path (latest run per artifact, quarantine floor, team-hidden repositories excluded) instead of adding a third copy of those rules.
  • Profile cards — one card per active area: status badge, a trend hint whose derivation is explained on hover, the guidance sentence, and the pull requests, issues and Slack conversations the assessment rests on.
  • Detail page — an assessment-flow diagram showing which practices feed the area and where the developer stands on each, plus a related-activity feed of what Hephaestus observed across every connected integration. Selecting a practice explains why it matters, what good looks like and how it has been developing, and focuses the feed on it. Feed entries carry their source integration, filter by source and severity, sort by date or severity, and expand in place to show the delivered guidance, the reasoning, the evidence, and a link to the reviewed artifact.

The feed deliberately shows raw history including superseded runs — it is an activity monitor, while the status above stays latest-run and quarantine filtered; an info affordance in the section header explains that difference.

Review hint: the three parts are three separate commits (API → cards → detail page), so the diff can be read commit by commit.

How to test

Servermvn verify -P'!quick' covers PracticeAreaStatusIntegrationTest and ObservationControllerIntegrationTest: status derivation, NO_DATA shape, quarantine floor, cross-workspace isolation, the new filters and severity sorting.

Webapppnpm run test:webapp; Storybook (pnpm --filter webapp run storybook) has every state under Components/Profile/PracticeAreaStatusCard and Components/Profile/PracticeAreaDetailPage. The detail page's Overview story is interactive: select practice nodes, filter, sort, expand entries; ManyPractices shows the diagram at ten practices.

In the app — open your own profile in a workspace with practices enabled and completed reviews, then open a card via "See details". The section only renders on the own profile, because the endpoint derives the caller's standing.

Checklist

  • Changeset summaries read as user-facing notes (one per user-visible change)
  • No operator action required; additive, read-only endpoints
  • OpenAPI spec and generated client regenerated and committed

Screenshots

Storybook covers every state; see the two component sections named above.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5f857c81-6406-410d-83eb-a646040b7ecb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added feature New feature or enhancement webapp React app: UI components, routes, state management labels Aug 10, 2026
@github-actions github-actions Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Aug 10, 2026
@ValentinGruener ValentinGruener changed the title feat(profile): add practice area detail view feat(profile): add practice-area development profile Aug 10, 2026
@ValentinGruener
ValentinGruener changed the base branch from feat/practice-area-status-cards to main August 10, 2026 04:44
@github-actions github-actions Bot added the application-server Spring Boot server: APIs, business logic, database label Aug 10, 2026
Valentin Grüner and others added 2 commits August 10, 2026 07:09
…etail view

The weight badge paired text-background with a translucent muted-foreground,
which fails contrast; the expanded feed entry used h4 labels directly under
the section's h2, skipping a heading level.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub delivers webhooks to the app's single configured URL, so a preview
never receives the events that start a practice review — a full-stack change
cannot be exercised there. Passing the flag through makes the existing dev
trigger reachable per deploy; it stays off unless the variable is set.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ValentinGruener

Copy link
Copy Markdown
Contributor Author

Superseded by stack #1488 — #1486 (server API, spec and generated client) and #1487 (profile surfaces).

The repository adopted stacked pull requests in #1452 after this PR was consolidated, so the reason for carrying all three parts in one PR no longer holds. The work has also been rebased onto current main, which this PR had drifted 20 commits behind, and ported onto the observation vocabulary that #1444 introduced.

@github-project-automation github-project-automation Bot moved this to Backlog in Hephaestus Sep 1, 2026
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Hephaestus Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

application-server Spring Boot server: APIs, business logic, database ci GitHub Actions, workflows, build pipeline changes feature New feature or enhancement infrastructure Docker, containers, and deployment infrastructure size:XXL This PR changes 1000+ lines, ignoring generated files. webapp React app: UI components, routes, state management

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants