Skip to content

Labels - #5

Merged
gkennos merged 3 commits into
mainfrom
labels
Aug 2, 2026
Merged

Labels#5
gkennos merged 3 commits into
mainfrom
labels

Conversation

@gkennos

@gkennos gkennos commented Aug 2, 2026

Copy link
Copy Markdown
Member

Summary

removing hardcoded labels where they appear in the app, plus some typing updates

Checklist

  • Applied exactly one label (breaking, feature, fix, dependencies, or chore)
  • Tests pass locally (uv run pytest -q)
  • Lint passes (uv run ruff check .)

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a configurable WorkbenchLabels contract and threads it through OperatorAppSpec into the shared Workbench widget, so operator-facing “chrome” text (panel titles, summary text, default key/value column headers) can be customized instead of being hardcoded. It also adds a typing marker (py.typed), updates docs, and expands smoke tests to cover the new behavior and stricter widget enforcement for pages.

Changes:

  • Add WorkbenchLabels to contracts and export it, then add OperatorAppSpec.workbench_labels and pass it into Workbench.
  • Replace several hardcoded workbench strings with WorkbenchLabels values and adjust context-table column handling.
  • Add smoke tests and documentation describing how to override workbench chrome labels; add py.typed marker.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/test_app_smoke.py Adds coverage for rejecting non-Widget pages and for overriding workbench chrome labels/columns.
src/groundskeeping/widgets/workbench.py Accepts WorkbenchLabels, uses it for panel titles/summary and default key/value columns.
src/groundskeeping/py.typed Marks the package as typed (PEP 561).
src/groundskeeping/contracts/views.py Introduces the WorkbenchLabels dataclass.
src/groundskeeping/contracts/init.py Re-exports WorkbenchLabels from the contracts package.
src/groundskeeping/app.py Adds workbench_labels to OperatorAppSpec and wires it into Workbench; centralizes widget validation.
README.md Documents workbench_labels usage at a high level.
docs/pages.md Adds guidance on when to use workbench_labels vs page-owned titles.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/groundskeeping/widgets/workbench.py Outdated
Comment thread src/groundskeeping/widgets/workbench.py Outdated
Comment thread src/groundskeeping/widgets/workbench.py
@gkennos
gkennos merged commit 1b983c3 into main Aug 2, 2026
2 checks passed
@gkennos
gkennos deleted the labels branch August 2, 2026 10:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants