component-qa
A Rust + WASI-P2 Greentic component scaffolded via greentic-component new.
Canonical world target: greentic:component/component@0.6.0.
Legacy compatibility notes: docs/vision/legacy.md in the greentic-component repo.
Requirements
- Rust 1.91+
wasm32-wasip2target (rustup target add wasm32-wasip2)cargo-component(cargo install cargo-component --locked)
Getting Started
The generated component.manifest.json references the release artifact at
target/wasm32-wasip2/release/component_qa.wasm.
Update the manifest hash by running greentic-component hash component.manifest.json.
Validate the artifact by running
greentic-component doctor target/wasm32-wasip2/release/component_qa.wasm --manifest component.manifest.json.
i18n Workflow
tools/i18n.shreadsassets/i18n/locales.jsonand generates locale JSON files fromassets/i18n/en.json.build.rsembeds allassets/i18n/*.jsonlocale dictionaries into the WASM as a CBOR bundle.
QA Ops Local Test
qa-spec: emit/expect setup-mode DTO semantics (setup|update|remove); input acceptsdefault|setup|install|update|upgrade|remove.apply-answers: invoke with{ "mode": "setup", "answers": {...}, "current_config": {...} }(installaccepted as alias).i18n-keys: invoke with{}to list keys referenced by QA/setup paths.
Next Steps
- Implement domain-specific logic inside
src/lib.rs. - Extend
src/qa.rsandassets/i18n/en.jsonwith your real setup flow fields. - Wire additional capabilities or telemetry requirements into
component.manifest.json.