From a387335c8e4271d30e073ae5d9626ccb1ee53325 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Fri, 7 Aug 2026 16:00:34 -0500 Subject: Correct stale hub discovery claims in SCOPE.txt hub.sr.ht gained a public projects discovery query, now shipped as project discovery (#12). Strike the 'no public discovery API' entry and fix the mailingListSubscribe rationale (hub discovery lists projects, not lists). --- SCOPE.txt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/SCOPE.txt b/SCOPE.txt index 6a4f180..6698d6e 100644 --- a/SCOPE.txt +++ b/SCOPE.txt @@ -4,7 +4,11 @@ file) - Push notifications for builds and tickets (requires a backend relay server) - ref: https://git.sr.ht/~ccleberg/hutch-notify -- Explore / search (hub.sr.ht) (no public discovery API) +- ~~Explore / search (hub.sr.ht) (no public discovery API)~~ — **stale**. + hub.sr.ht added a public `projects` query ("List all public projects"), and + Hutch ships it as project discovery (#12, `DiscoverProjectsView`). Left struck + through as more evidence for the ingestion task in ROADMAP.txt: this entry ruled + out a feature the API had come to support. - ~~Pronouns on profile (not in GraphQL schema)~~ — **stale**. sr.ht added pronouns (see the Q1 2026 "What's cooking"), and Hutch already queries them in `AppState` and shows them in `UserProfileView`. Left here struck through as @@ -28,8 +32,9 @@ work. Nothing a client can do fixes this; revisit only if sr.ht changes the resolver. - Subscribe to a mailing list (`mailingListSubscribe` exists, but `MailingList` - has no `subscription` field and sr.ht has no discovery API, so there is no way - to find a list you are not already subscribed to — see hub.sr.ht above) + has no `subscription` field, and hub.sr.ht's new discovery lists *projects*, + not mailing lists, so there is still no way to find a list you are not already + subscribed to) - Submitting patches (a `git send-email` flow, not a GraphQL mutation; Hutch reviews patchsets but cannot send them) -- cgit v1.2.3 From a74223fef8f77b0dc37520a99e61e3d7edf2d9b1 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Fri, 7 Aug 2026 16:07:19 -0500 Subject: Exclude root .txt docs from the test workflow Add *.txt to the Tests workflow paths-ignore so a ROADMAP/SCOPE/SECURITY edit no longer burns a macOS runner. Single-star (root only), matching the existing *.md rule; a doc edit alongside code still runs the suite. --- .github/workflows/test.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c002514..7f4d4cb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,10 +3,12 @@ name: Tests # builds.sr.ht is the canonical CI for this project, but it has no macOS images # and will not add them, so xcodebuild cannot run there. This job exists to run # the test plan on the GitHub mirror; see builds/swift-ci.yml for the rest. -# Prose only: the root docs and Docs/. Both patterns are single-star, so they -# match those two levels and nothing deeper — a .md that ever lands inside a -# source directory still runs the suite. A skip rule that is too broad is how a -# real change slips through ungated. +# Prose only: the root docs (*.md, *.txt — ROADMAP/SCOPE/SECURITY and friends) +# and Docs/. Every pattern is single-star, so they match those levels and +# nothing deeper — a .md or .txt that ever lands inside a source directory still +# runs the suite. A skip rule that is too broad is how a real change slips +# through ungated. paths-ignore skips the run only when *all* changed files +# match, so a doc edit alongside code still tests. # # pull_request only, by design. GitHub runs the suite against the merge result # (PR merged into main), so a green PR already validates exactly what lands on @@ -23,7 +25,7 @@ name: Tests # docs-only PR waiting forever. on: pull_request: - paths-ignore: ['*.md', 'Docs/*.md'] + paths-ignore: ['*.md', '*.txt', 'Docs/*.md'] workflow_dispatch: # Without this, GITHUB_TOKEN inherits the repository default, which is -- cgit v1.2.3 From bc083c2a923b8a0a24f39cc8eabd065464f5922d Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Fri, 7 Aug 2026 16:08:35 -0500 Subject: Also exclude README.nfo and LICENSE from the test workflow --- .github/workflows/test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7f4d4cb..62592d8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,12 +3,12 @@ name: Tests # builds.sr.ht is the canonical CI for this project, but it has no macOS images # and will not add them, so xcodebuild cannot run there. This job exists to run # the test plan on the GitHub mirror; see builds/swift-ci.yml for the rest. -# Prose only: the root docs (*.md, *.txt — ROADMAP/SCOPE/SECURITY and friends) -# and Docs/. Every pattern is single-star, so they match those levels and -# nothing deeper — a .md or .txt that ever lands inside a source directory still -# runs the suite. A skip rule that is too broad is how a real change slips -# through ungated. paths-ignore skips the run only when *all* changed files -# match, so a doc edit alongside code still tests. +# Prose only: the root docs (*.md, *.txt, README.nfo, LICENSE) and Docs/*.md. +# The globs are single-star, so they match the repo root and Docs/ and nothing +# deeper — a .md or .txt that ever lands inside a source directory still runs +# the suite. A skip rule that is too broad is how a real change slips through +# ungated. paths-ignore skips the run only when *all* changed files match, so a +# doc edit alongside code still tests. # # pull_request only, by design. GitHub runs the suite against the merge result # (PR merged into main), so a green PR already validates exactly what lands on @@ -25,7 +25,7 @@ name: Tests # docs-only PR waiting forever. on: pull_request: - paths-ignore: ['*.md', '*.txt', 'Docs/*.md'] + paths-ignore: ['*.md', '*.txt', 'README.nfo', 'LICENSE', 'Docs/*.md'] workflow_dispatch: # Without this, GITHUB_TOKEN inherits the repository default, which is -- cgit v1.2.3