Language
FAQ
FAQ
Is Grapheme only for this repository?
No. Grapheme is a language and CLI/runtime model. This repository is one implementation and source distribution.
Start with hero-workflow.md if you want the shortest path to understanding Grapheme as a product.
Why do many examples show cargo run?
Because much of the existing documentation was written from a contributor/workspace perspective. Product usage should prefer installed grapheme CLI commands.
Do I need to compile the full codebase to use Grapheme?
Not always. If you install the CLI binary, you can run workflows without day-to-day repository development tasks.
Is Grapheme a general-purpose language?
Grapheme is specialized for governed automation workflows and capability-driven orchestration.
Where should I go for internals and contributor setup?
Use docs under docs/internal/ for compiler/runtime internals, release workflows, and deep implementation detail.
How do I pass entrypoint parameters?
Declare $param lists on query / mutation / iterator / subscription, then bind at the CLI:
grapheme run examples/params-call-bind.gr --args-json '{"label":"grapheme"}'
In the SDK, use with_entrypoint_args. See docs/internal/language/params-and-tags-v1.md.
What are tags and using?
A tag declares ambient bindings; a block using activates them for nested code only. Example: examples/tag-using-scope.gr.
What is Stage B?
Stage B is the AOT workflow-container path: MIR walks inside a Wasm-safe container, and host-only capabilities are fulfilled across rounds. grapheme build defaults to stage_b. Build the container asset with ./scripts/build-aot-container.sh. Details: docs/internal/cli.md and docs/internal/release/release-0.7.0.md.
What if policy blocks my workflow?
That is expected behavior for side-effecting capabilities. Configure allow-list environment variables for the capability you intend to use.
How do I share runtime feedback safely?
Use telemetry export from the CLI to generate redacted report files.