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>
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>
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>
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>