Commit graph

3 commits

Author SHA1 Message Date
5c5d8df0fd 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
acddc7137c 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
b73b3e4b73 feat: initial text-akoma-normalize v0.1.0 (text.akoma_normalize@0.1.0)
First F∆I capability module that normalises heterogeneous legal
document sources to a structured representation aligned with
Akoma Ntoso 1.0 (OASIS LegalDocML).

v0.1.0 ships one adapter:

  - gesetze-im-internet (BMJ) XML — the BMJ XML schema with
    jurabk / enbez / titel / textdaten elements. Lossy but
    deterministic: SHA-256 of source + SHA-256 of canonicalised
    payload land in the output so the Hub audit log can verify
    that downstream evaluations were computed against the same
    bytes the auditor sees.

Reserved for next versions, without an interface break:

  - 0.2: landesrecht-berlin HTML adapter
  - 0.3: EUR-Lex FORMEX-4 adapter
  - 0.4+: emit akoma_xml (full Akoma Ntoso roundtrip)

ELI synthesis in 0.1 is a deterministic eli/bund/<jurabk>/<para>
fallback because Germany lacks an upstream Bund-level ELI
registrar. Replace once BMJ publishes ELI URIs upstream.

Pure in-WASM (quick-xml + sha2), zero filesystem, zero network —
the empty permissions list in module.yaml makes that explicit
and is enforced by the Hub.

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