{
"card_count": 3,
"cards": [
{
"id": "browse/catalog",
"kind": "browse-root",
"owner": "workspace",
"summary": "root browse catalog"
},
{
"id": "cookbook/sim-shape",
"kind": "cookbook-recipe",
"owner": "sim-shape",
"summary": "Runnable shape matching examples."
},
{
"id": "registry/catalog",
"kind": "browse-registry",
"owner": "workspace",
"summary": "registry catalog browse card"
}
],
"citizen_count": 0,
"citizens": [],
"generator": "xtask repo-contract v1",
"group_count": 1,
"group_order": [
"workspace"
],
"groups": {
"workspace": [
"sim-shape",
"sim-shape-recipe-exact-bool-shape",
"sim-shape-recipe-shape-grammar-contract",
"xtask"
]
},
"non_citizen_exemption_count": 1,
"non_citizen_exemptions": [
{
"crate": "sim-shape",
"descriptor": "shape/live-hook",
"file": "src/hooks/types.rs",
"kind": "function",
"line": 117,
"reason": "may wrap custom live hook code; built-in pure hook descriptors use shape/*Hook citizens"
}
],
"package_count": 4,
"packages": [
{
"crate_name": "sim_shape",
"dependencies": [],
"description": "Shape algebra, comparison, and match-hook helpers.",
"features": [],
"group": "workspace",
"manifest": "Cargo.toml",
"name": "sim-shape",
"publish": "true",
"root": "",
"rustdoc_summary": "Shape algebra, comparison, and match-hook helpers.",
"target_kinds": [
"lib"
],
"targets": [
{
"crate_types": [
"lib"
],
"kind": [
"lib"
],
"name": "sim_shape",
"src": "src/lib.rs"
}
]
},
{
"crate_name": "sim-shape-recipe-exact-bool-shape",
"dependencies": [
{
"kind": "normal",
"optional": false,
"package": "sim-shape",
"rename": null,
"target": null
}
],
"description": "Runnable exact boolean shape cookbook recipe.",
"features": [],
"group": "workspace",
"manifest": "recipes/01-basics/exact-bool-shape/Cargo.toml",
"name": "sim-shape-recipe-exact-bool-shape",
"publish": "false",
"root": "recipes/01-basics/exact-bool-shape",
"rustdoc_summary": "Runnable exact boolean shape cookbook recipe.",
"target_kinds": [
"bin"
],
"targets": [
{
"crate_types": [
"bin"
],
"kind": [
"bin"
],
"name": "sim-shape-recipe-exact-bool-shape",
"src": "recipes/01-basics/exact-bool-shape/src/main.rs"
}
]
},
{
"crate_name": "sim-shape-recipe-shape-grammar-contract",
"dependencies": [],
"description": "Runnable Shape grammar contract cookbook recipe.",
"features": [],
"group": "workspace",
"manifest": "recipes/01-basics/shape-grammar-contract/Cargo.toml",
"name": "sim-shape-recipe-shape-grammar-contract",
"publish": "false",
"root": "recipes/01-basics/shape-grammar-contract",
"rustdoc_summary": "Runnable Shape grammar contract cookbook recipe.",
"target_kinds": [
"bin"
],
"targets": [
{
"crate_types": [
"bin"
],
"kind": [
"bin"
],
"name": "sim-shape-recipe-shape-grammar-contract",
"src": "recipes/01-basics/shape-grammar-contract/src/main.rs"
}
]
},
{
"crate_name": "xtask",
"dependencies": [],
"description": "SIM workspace package for xtask.",
"features": [],
"group": "workspace",
"manifest": "xtask/Cargo.toml",
"name": "xtask",
"publish": "false",
"root": "xtask",
"rustdoc_summary": "SIM workspace package for xtask.",
"target_kinds": [
"bin"
],
"targets": [
{
"crate_types": [
"bin"
],
"kind": [
"bin"
],
"name": "xtask",
"src": "xtask/src/main.rs"
}
]
}
],
"provenance": {
"api_docs": "target/doc/",
"generated_by": "cargo run -p xtask -- simdoc",
"generation_timestamp": "2026-07-12T17:21:11+02:00",
"generator": "xtask repo-contract v1",
"git_commit": "7dc87c3e98f4796a463f3b370bb0f398c54f31d8",
"repo": "sim-shape",
"schema": "sim.provenance.v1",
"source_commit": "7dc87c3e98f4796a463f3b370bb0f398c54f31d8",
"source_remote": "https://github.com/sim-nest/sim-shape",
"validation_commands": [
"cargo fmt --all --check",
"cargo test",
"cargo clippy --all-targets -- -D warnings",
"cargo doc --no-deps",
"cargo run -p xtask -- simdoc --check",
"cargo run -p xtask -- check-file-sizes",
"cargo run -p xtask -- repo-contract --check --repo .",
"cargo run -p xtask -- validation-matrix --check --repo .",
"cargo run -p xtask -- crate-catalog --check --repo ."
],
"workspace_hash": "0738ec0a8c777571",
"workspace_hash_algorithm": "fnv1a64",
"workspace_hash_input_count": 61,
"workspace_hash_inputs": [
"Cargo.toml",
"features.toml",
"recipes/01-basics/exact-bool-shape/Cargo.toml",
"recipes/01-basics/exact-bool-shape/recipe.toml",
"recipes/01-basics/shape-grammar-contract/Cargo.toml",
"recipes/01-basics/shape-grammar-contract/recipe.toml",
"recipes/book.toml",
"src/algebra/boolean.rs",
"src/algebra/collection.rs",
"src/algebra/tests.rs",
"src/algebra.rs",
"src/base.rs",
"src/citizen/class.rs",
"src/citizen/codec.rs",
"src/citizen/construct.rs",
"src/citizen/inventory.rs",
"src/citizen/recursive_codec.rs",
"src/citizen.rs",
"src/citizen_tests.rs",
"src/compare/normal.rs",
"src/compare/relation.rs",
"src/compare/tests.rs",
"src/compare/venn.rs",
"src/compare.rs",
"src/diagnostics.rs",
"src/duplicate_key_tests.rs",
"src/duplicate_keys.rs",
"src/functions/demand.rs",
"src/functions/select.rs",
"src/functions/shape_object.rs",
"src/functions/tests.rs",
"src/functions.rs",
"src/grammar/graph.rs",
"src/grammar.rs",
"src/hooks/hooked.rs",
"src/hooks/tests.rs",
"src/hooks/types.rs",
"src/hooks.rs",
"src/lib.rs",
"src/options.rs",
"src/parse.rs",
"src/parse_tests.rs",
"src/primitives/atomic.rs",
"src/primitives/combinators/capture.rs",
"src/primitives/combinators/effectful.rs",
"src/primitives/combinators/list.rs",
"src/primitives/combinators/one_of.rs",
"src/primitives/combinators/parser.rs",
"src/primitives/combinators.rs",
"src/primitives/object.rs",
"src/primitives/tests.rs",
"src/primitives.rs",
"src/query.rs",
"src/recursion.rs",
"src/recursive.rs",
"src/tests/core.rs",
"src/tests/dispatch.rs",
"src/tests/list.rs",
"src/tests/object.rs",
"src/tests.rs",
"xtask/Cargo.toml"
]
},
"recipe_book_count": 1,
"recipes": [
{
"book": "sim-shape",
"book_toml": "recipes/book.toml",
"card_id": "cookbook/sim-shape",
"group": "workspace",
"package": "sim-shape",
"recipe_count": 2,
"recipes": [
{
"card_id": "sim-shape/01-basics/exact-bool-shape",
"codec": "rust",
"id": "exact-bool-shape",
"package": "sim-shape",
"recipe_toml": "recipes/01-basics/exact-bool-shape/recipe.toml",
"title": "Parsed and exact boolean shape"
},
{
"card_id": "sim-shape/01-basics/shape-grammar-contract",
"codec": "rust",
"id": "shape-grammar-contract",
"package": "sim-shape",
"recipe_toml": "recipes/01-basics/shape-grammar-contract/recipe.toml",
"title": "Shape grammar contract"
}
],
"summary": "Runnable shape matching examples.",
"title": "Shape recipes"
}
]
}