Commit graph

5 commits

Author SHA1 Message Date
d08ff177d3 ci: point checkout + SDK insteadOf at git.flemming.ai
All checks were successful
CI / Linux x86_64 (Forgejo) (push) Successful in 1m45s
Follows the URL strategy documented in fai/chain CHANGELOG
(.ws → .ai cutover, transparent via 301-redirect). Matches the
Cargo.toml git dep host. Aligns this repo with the six sibling
lawheatmap modules that flipped earlier today.

Signed-off-by: flemming-it <sf@flemming.it>
2026-06-18 12:50:48 +02:00
1a364d290b ci: add Forgejo CI workflow (mirror text-extract)
Some checks failed
CI / Linux x86_64 (Forgejo) (push) Failing after 1s
The six gates the rest of chain-modules already runs against:
fmt-check, clippy with -D warnings, host build, host test,
release wasm32-wasip2 build, plus the manual external-URL
checkout and chain-module-sdk insteadOf URL rewrite (via
secrets.MODULE_SDK_PAT) so cargo can reach the org-private SDK
git dep through Forgejo's REQUIRE_SIGNIN_VIEW.

Same template as text-extract's .forgejo/workflows/ci.yml; the
only swap is the module-name string in the checkout step.

Signed-off-by: flemming-it <sf@flemming.it>
2026-06-18 12:13:11 +02:00
629d3e9608 fix(clippy): bring source under -D warnings ahead of CI
Prep for the Forgejo CI gate. Adjustments per module are small
and local:

  - test modules get inner `#![allow(clippy::unwrap_used,
    expect_used, panic)]` so the existing assert.expect()
    test idiom keeps working without rewriting every fixture
  - the dead_code field that downstream consumers may still
    want serialised gets an explicit #[allow(dead_code)]
  - manual char/range comparisons fold to the idiomatic forms
    (`['…']`, `(2..=5).contains(&n)`)
  - one snake_case rename in text-readability-score

Also re-bakes module.wasm so the committed artefact matches
the post-fmt source byte-for-byte.

No behaviour change, no test change. cargo fmt --all -- --check
and cargo clippy --all-targets -- -D warnings now both pass.

Signed-off-by: flemming-it <sf@flemming.it>
2026-06-18 12:13:11 +02:00
e1134ae730 chore(release): finalize v0.1.0 — LICENSE, NOTICE, WASM artefact
Adds the three release-prep artefacts so the repo is ready for
the chain store: Apache-2.0 LICENSE (boilerplate), NOTICE with
per-module copyright + third-party + methodological lineage
attribution, and the compiled wasm32-wasip2 release bundle
(module.wasm) that the Hub will install verbatim once published.

Cargo.lock is now also tracked so reproducible builds line up
with the WASM hash that ships.

Signed-off-by: flemming-it <sf@flemming.it>
2026-06-18 11:38:40 +02:00
3630d8f4d1 feat: initial stats-cohort-size v0.1.0 (stats.cohort_size@0.1.0)
Resolve the size of an addressee cohort (e.g. "Berliner KMU",
"Gastronomie deutschlandweit").

v0.1.0 ships a five-entry built-in lookup for the F∆I Law-Heatmap
pilot corpus:

  berlin-kmu, de-kmu, gastro-de, handwerk-be, bauwirtschaft-be

Each entry carries (count, year, source, tier). Tier follows the
Studie §6.7 Regel-der-niedrigsten-Stufe: T1 when from DESTATIS
Unternehmensregister, T2 when from a Verband source.

Reuse-lens: any quantitative analysis that needs cohort sizing —
market research, audience targeting, public-health tracking.

Pure in-WASM, zero filesystem, zero network.

Reserved for next versions:

  - 0.2: DESTATIS GENESIS-API adapter — requires
         net: ["genesis.destatis.de"] permission. Interface stays
         the same; the static lookup becomes the fallback when
         the API is unreachable.
  - 0.3: WZ-Code-resolved sub-cohorts (e.g. "berlin-kmu-wz56").

Signed-off-by: flemming-it <sf@flemming.it>
2026-06-18 11:25:19 +02:00