posit-dev / posit-dev/connect-extensions

Polish content-health-monitor

Open
#432 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.