Test / test (push) Successful in 27s
A content repo may now state what the business needs the site to do,
apart from how the pages word it. question_lint checks each need
against the pages and aggregates.yaml:
- a path of submissions gets the answer into `lands_in`, within
`max_steps` and a required-field budget (`max_fields`);
- `handled_by` holds a desk over that bucket;
- every `done_when` state is reachable through the moves that desk
(or a self_transition) offers, and no record strands on the way;
- a disabled alternative is named as the reason when it is one;
- `planned: true` reports the gap as a warning instead of failing.
Personas - visitors in their own words - become typed `choice` tasks
(the page's question, its alternatives as the options) written as
JSONL by `--needs-tasks` (`--skim`: headings only). Any external
answering engine returns `{id, choice, confidence}` lines, graded by
`--needs-score [--min-accuracy]`: a misroute is a wording defect. The
engine stays outside this crate on purpose so classifiers and LLMs
can be compared on the same tasks. The runtime never reads the file.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
31 lines
508 B
Rust
31 lines
508 B
Rust
pub mod answers;
|
|
pub mod app;
|
|
pub mod auth;
|
|
pub mod chain;
|
|
pub mod content;
|
|
pub mod events;
|
|
pub mod i18n;
|
|
pub mod resource;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod aggregates;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod announce;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod needs;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod server;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod upload;
|
|
|
|
#[cfg(feature = "hydrate")]
|
|
#[wasm_bindgen::prelude::wasm_bindgen]
|
|
pub fn hydrate() {
|
|
console_error_panic_hook::set_once();
|
|
leptos::mount::hydrate_body(app::App);
|
|
}
|