The lint moves out to uhhm/iris

question_lint, needs_replay, the needs module and the local-checkout
loaders now live in uhhm/iris, which depends on this crate as a
library pinned to a release tag. The tarball ships the matching iris
binary (IRIS_RELEASE in publish.yml) in place of question_lint, so a
site that pins nothing extra keeps a lint at current/iris. Portal
loses about 1,100 lines and keeps only what runs at request time.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-22 17:29:26 +02:00
co-authored by Claude Fable 5.1
parent 623399f25d
commit 1ebd800fda
10 changed files with 28 additions and 1454 deletions
-13
View File
@@ -4,19 +4,6 @@
use super::*;
/// Fetches `needs.yaml` from the content repo root - the business's
/// needs spec `question_lint` checks the pages against (see
/// `crate::needs`). Optional: a fetch failure means the repo declares
/// none. The runtime never reads it.
#[cfg(feature = "ssr")]
pub async fn load_needs_from_gitea(repo_url: &str, branch: &str) -> anyhow::Result<Option<String>> {
let (owner, repo) = parse_owner_repo(repo_url)?;
let api_base = gitea_api_base(repo_url)?;
Ok(fetch_gitea_file(&api_base, &owner, &repo, branch, "needs.yaml")
.await
.ok())
}
/// Fetches and parses `site.yaml` from the content repo root. A fetch
/// failure (typically 404 - the file is optional) yields the default
/// config; a file that exists but doesn't parse or validate is a real