posit-dev / posit-dev/connect-extensions
Polish content-health-monitor
Nobody has claimed this yet.
- Dominant language
- R
- Stars
- 10
- Forks
- 8
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 1
Description
We can fold in the functionality of prototype-content-with-issues-table in connect-staging-extensions (surfaces content whose latest deployment/job has failed), before then deleting prototype-content-with-issues-table. content-health-monitor becomes a single scheduled content-health report covering both content/URL uptime and failed deployments/jobs. We could optionally also roll a third prong into the new-and-improved content-health-monitor: surfacing orphaned content (content owned by deactivated/departed users or that's been unused/unviewed for a long time).
Baselines:
- Rewrite README for the multi-prong report: what it does, who it's for, setup/config, how to use
- Rewrite description: concise, states functionality + value
- Make the report self-demonstrating: surface its own mechanism (e.g. "checked N items as {you} on {date}")
- Add why-comments to the source
App-specific:
- Port the prototype's failed-job logic from R to Python/posit-sdk
- Add the failed-deployments/jobs prong
- (Optional) add an orphaned-content prong (deactivated owners / long-unused)
- Handle scale: memoize owner-email lookups, avoid full-list scans, paginate
- Extend tests to cover the new prongs; add CI
- Refactor test_integration.py to exercise the real .qmd
- Remove dead deps; delete prototype-content-with-issues-table
- Bump version, CHANGELOG, checksums
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing content-health-monitor and prototype-content-with-issues-table, including their README files and the .qmd used by test_integration.py. Compare the prototype's R failed-job logic with the Python/posit-sdk implementation, then map the requested report prongs, tests, CI, dependencies, version, CHANGELOG, and checksums. Done requires the combined report, updated documentation and tests, and removal of the prototype.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, r
- Domain
- backend, ci-cd, content, documentation, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100