{
  "backends": [
    "interpreter"
  ],
  "builtins": [
    "borrow",
    "borrow_mut",
    "end_borrow",
    "move_borrow",
    "resource_close",
    "ref_read",
    "borrow_slot",
    "borrow_slot_mut",
    "ref_borrow_mut",
    "ref_replace",
    "ref_borrow",
    "ref_write",
    "apply",
    "parallel_map",
    "task_map",
    "decimal_parse",
    "decimal_to_string",
    "decimal_from_int",
    "decimal_to_int",
    "decimal_abs",
    "decimal_round",
    "decimal_div_round",
    "float_parse",
    "float_to_string",
    "float_from_int",
    "float_to_int",
    "float_abs",
    "float_floor",
    "float_ceil",
    "float_round",
    "float_sqrt",
    "len",
    "list_push",
    "list_set",
    "list_remove",
    "string_len",
    "string_trim",
    "int_to_string",
    "fail",
    "store_read",
    "store_write",
    "ok",
    "err",
    "is_ok",
    "result_value",
    "error_message",
    "unwrap_or",
    "string_contains",
    "string_lower",
    "some",
    "none",
    "is_some",
    "option_value",
    "option_or",
    "list_get",
    "list_take",
    "map_take",
    "set_new",
    "set_from_list",
    "set_add",
    "set_remove",
    "set_has",
    "set_len",
    "set_values",
    "set_union",
    "set_intersection",
    "set_difference",
    "set_is_subset",
    "map_new",
    "map_put",
    "map_get",
    "map_has",
    "map_remove",
    "map_len",
    "map_keys",
    "bytes_from_utf8",
    "bytes_to_utf8",
    "bytes_from_list",
    "bytes_to_list",
    "bytes_len",
    "bytes_get",
    "bytes_slice",
    "bytes_concat"
  ],
  "capability_effects": {
    "callbacks": true,
    "declaration_limit": 8,
    "default_granted": false,
    "host_adapter": "explicit-trusted-signature-binding",
    "host_call_limit": 128,
    "host_grant_limit": 32,
    "host_json_work_limit": 65536,
    "host_operations": true,
    "name_bytes": 64,
    "transitive": true
  },
  "cli": {
    "application_namespace": "app",
    "combined_binary": "fonuma",
    "compatibility_binary": "fonuma-app",
    "legacy_stdin_commands": [
      "check",
      "verify",
      "inspect"
    ],
    "path_subprocess_dispatch": false
  },
  "code_generation": {
    "adapter_registry": true,
    "block_limit": 8192,
    "browser_abi": false,
    "build_targets": [
      "native",
      "wasm32-wasip1"
    ],
    "code_bytes": 16777216,
    "command": "emit-rust",
    "execution": "ahead-of-time-control-flow",
    "expression_limit": 16384,
    "generated_library": true,
    "library_source_binding": true,
    "local_path_dependencies": true,
    "prebuilt_installer": false,
    "startup_admission": "source-compile"
  },
  "documentation": "docs/GENERAL_CORE_COMPLETION.md",
  "effects": [
    "pure",
    "storage",
    "named-capabilities"
  ],
  "execution_control": {
    "cli_deadline_option": false,
    "cooperative_cancellation": true,
    "host_context": true,
    "monotonic_deadline": true,
    "preemptive_host_interrupt": false,
    "structured_concurrency": true
  },
  "function_values": {
    "call": "apply",
    "capture": "explicit-immutable-snapshot",
    "closures": true,
    "data_containers": false,
    "generic_references": false,
    "json": false,
    "references": true
  },
  "generics": {
    "constraint_names": [
      "Key"
    ],
    "constraints": true,
    "executable_function_limit": 128,
    "functions": true,
    "inference": "result-context-then-left-to-right-arguments",
    "type_parameters_limit": 8,
    "user_generic_types": true,
    "user_traits": false
  },
  "implementation": "0.2.0-dev.30",
  "limits": {
    "bytes_length": 65536,
    "closure_capture_depth": 32,
    "closure_captures": 32,
    "decimal_scale": 9,
    "decimal_text_bytes": 64,
    "default_steps": 100000,
    "default_work_units": 16000000,
    "float_text_bytes": 512,
    "list_items": 10000,
    "map_entries": 10000,
    "set_entries": 10000,
    "string_bytes": 65536,
    "type_depth": 32,
    "type_expansion_cache": 4096,
    "type_substitution_nodes": 4096
  },
  "map_key_types": [
    "Int",
    "Bool",
    "String"
  ],
  "modules": {
    "default_visibility": "legacy-all-public",
    "explicit_exports": true,
    "opaque_types": false,
    "reexports": false
  },
  "not_implemented": [
    "standalone-native-distribution",
    "browser-wasm-abi",
    "registry-sdk-installation"
  ],
  "ok": true,
  "ordinary_references": {
    "constructors": [
      "Ref",
      "RefMut"
    ],
    "diagnostic": "FON-E-APP-REFERENCE-PENDING",
    "execution_scope": "checked-local-and-source-function-references",
    "lifetime_checking": true,
    "runtime_enabled": true,
    "source_preparation": {
      "affine_dynamic_aggregate_replacement_scope": "whole-owned-root-or-fixed-field-subtree",
      "affine_dynamic_aggregate_value_replacement": true,
      "aggregate_partial_relocation": true,
      "aggregate_partial_relocation_scope": "fixed-owned-subtrees-with-branch-liveness",
      "borrowed_sum_payload_scope": "option-result-enum-storage-with-parent-guards",
      "borrowed_sum_payload_views": true,
      "callback_capture": "ordinary-data-copy",
      "callback_local_references": true,
      "collection_projection": "reference-leaves-and-ordinary-payload",
      "collection_return_origins": "per-reference-type-conservative-union",
      "conditional_aggregate_replacement": true,
      "data_callbacks": true,
      "deep_mutable_slot_scope": "reference-chains-fixed-and-dynamic-aggregate-regions",
      "deep_mutable_slots": true,
      "exchanged_composite_view_scope": "exclusive-payload-transfer-and-all-exit-call-separations",
      "exchanged_exclusive_composite_views": true,
      "exclusive_aggregate_views": false,
      "exclusive_composite_dynamic_container_scope": "fixed-record-views-and-exclusive-slot-chains",
      "exclusive_composite_dynamic_container_values": true,
      "exclusive_composite_owned_aggregate_scope": "record-option-result-enum-list-map-recursive",
      "exclusive_composite_owned_aggregate_values": true,
      "exclusive_composite_slot_payloads": true,
      "exclusive_composite_slot_scope": "exclusive-reference-chains-to-reference-aggregates",
      "exclusive_dynamic_aggregate_view_scope": "whole-owned-aggregate-with-shared-projection-and-ordinary-mutation",
      "exclusive_dynamic_aggregate_views": true,
      "exclusive_fixed_record_view_scope": "fixed-record-local-parameter-return-field-storage",
      "exclusive_fixed_record_views": true,
      "exclusive_nested_composite_record_scope": "acyclic-fixed-record-reference-fields",
      "exclusive_nested_composite_record_views": true,
      "exclusive_reference_slots": true,
      "fixed_record_value_replacement": true,
      "fixed_record_value_replacement_scope": "acyclic-fixed-records-preserving-storage",
      "indexed_composite_payload_mutation": true,
      "indexed_composite_payload_scope": "list-map-selected-aggregate-with-partial-group-origins",
      "indexed_reference_slot_mutation": true,
      "indexed_reference_slot_scope": "list-map-projections-with-conservative-group-origins",
      "local_lifetime_checking": true,
      "mixed_aggregate_data_borrows": true,
      "mixed_sdk_reference_aggregates": true,
      "mutable_slot_aggregate_parameter_scope": "fixed-and-dynamic-aggregate-payloads",
      "mutable_slot_aggregate_parameters": true,
      "mutable_slot_borrow": "borrow_slot_mut",
      "mutable_slot_call_effects": "source-fixed-point-entry-origins",
      "mutable_slot_contents": "ref_borrow_mut",
      "mutable_slot_dynamic_parameters": true,
      "mutable_slot_index_disjointness": "conservative-collection-type-region",
      "mutable_slot_indexed_storage": true,
      "mutable_slot_optional_dynamic_parameters": true,
      "mutable_slot_optional_parameters": true,
      "mutable_slot_record_fields": true,
      "mutable_slot_result_parameters": true,
      "mutable_slot_scope": "named-record-or-indexed-reference-to-reference-free-or-shared-affine-data",
      "mutable_slot_shared_affine_payload": true,
      "mutable_slot_variant_parameters": true,
      "nested_slot_call_effects": "entry-graph-and-separate-view-target-fixed-point",
      "nested_slot_dynamic_parameters": true,
      "nested_slot_local_collection_projection": true,
      "nested_slot_optional_parameters": true,
      "nested_slot_overlap_proof": "typed-enum-selector-or-checked-affine-partition",
      "nested_slot_overlapping_argument_alternatives": true,
      "nested_slot_result_parameters": true,
      "nested_slot_variant_parameters": true,
      "ordinary_map_projection": true,
      "owned_indexed_composite_borrow_scope": "list-map-selection-with-parent-guards-and-conservative-group-origins",
      "owned_indexed_composite_borrows": true,
      "projection_protection": "whole-root-with-checked-aggregate-subtrees",
      "record_data_projection": "ordinary-field-root",
      "record_return_origins": "per-field-source-parameter-fixed-point",
      "recursive_composite_record_scope": "folded-exclusive-nominal-cycles-with-checked-entry-regions",
      "recursive_composite_record_views": true,
      "recursive_reference_aggregates": true,
      "recursive_reference_shape": "canonical-sum-cut-type-guards",
      "recursive_view_return_scope": "source-derived-entry-and-reachable-descendant-origins",
      "recursive_view_returns": true,
      "reference_aggregates": false,
      "reference_callback_signatures": false,
      "reference_captures": false,
      "reference_collections": true,
      "reference_records": true,
      "reference_reference_referents": true,
      "reference_returning_calls": true,
      "reference_sums": true,
      "referent_projection_scope": "ordinary-data-and-shared-reference-aggregates",
      "referent_projections": true,
      "residual_collection_extraction": true,
      "return_analysis_budget": 1000000,
      "return_origins": "source-parameter-fixed-point",
      "sdk_aggregate_data_borrows": true,
      "sdk_coexistence": "separate-bindings-and-aggregate-fields",
      "sdk_resource_checker": "required",
      "shared_aggregate_views": true,
      "shared_composite_slot_payloads": true,
      "shared_reference_slots": true,
      "shared_slots_exclusive_fixed_record_payloads": true,
      "slot_borrow": "borrow_slot",
      "slot_contents": "ref_borrow",
      "slot_replace": "ref_replace",
      "status": "partial",
      "sum_return_origins": "per-alternative-field-source-fixed-point",
      "type_checking": true
    },
    "syntax": true,
    "unsupported_diagnostic": "FON-E-APP-REFERENCE-PENDING",
    "wire": false
  },
  "packages": {
    "active_path_switch": false,
    "exact_versions": true,
    "in_place_update": false,
    "install_scripts": false,
    "materialization_target": "new-directory",
    "module_limit": 32,
    "native_adapter_grants_automatic": false,
    "native_adapter_install": false,
    "native_adapter_limit": 16,
    "native_adapter_linkage": "trusted-static-rust",
    "native_adapter_operation_limit": 128,
    "native_adapter_preflight": "all-declared-host-operations",
    "native_adapter_registry": true,
    "offline_lock": true,
    "offline_materialization": true,
    "package_limit": 16,
    "permission_review": true,
    "publisher_authentication": true,
    "publisher_authentication_downgrade": false,
    "publisher_policy_grants_runtime_authority": false,
    "publisher_policy_option": "--trust",
    "publisher_signature": "Ed25519-strict",
    "registry_download": false,
    "registry_plan": true,
    "registry_plan_validation": "authenticated-package-metadata-only",
    "reviewed_successor_install": true,
    "runtime_grants_from_update": false,
    "sha256": true,
    "update_apply_command": "apply-update",
    "update_hash_required": true,
    "update_plan": true,
    "update_plan_command": "update-plan"
  },
  "parallel_map": {
    "budget": "equal-per-item-remaining-quota",
    "effectful_tasks": false,
    "item_limit": 64,
    "join_before_return": true,
    "nested_scopes": true,
    "pure_callbacks": true,
    "spawn_attempt_limit": 64,
    "task_depth": 8,
    "wasm": "sequential",
    "worker_slots": 3,
    "worker_stack_bytes": 8388608
  },
  "pattern_matching": {
    "exhaustive": true,
    "guards": false,
    "nested_patterns": false,
    "user_enums": true
  },
  "profile": "application-0.2",
  "recursive_data": {
    "cyclic_references": false,
    "explicit_declarations": true,
    "finite_constructors": true,
    "regular_type_arguments": true,
    "value_depth": 32
  },
  "resources": {
    "acquisition_limit": 128,
    "aggregate_loans": true,
    "aggregate_resources": true,
    "borrowed_record_return_origins": "field-path-parameter-union",
    "borrowed_return_cleanup": "retained-local-ancestors",
    "borrowed_return_origins": "source-inferred-loan-parameters",
    "borrowed_return_values": true,
    "cleanup_effect": "resources",
    "collection_borrow_granularity": "first-indexed-container",
    "collection_element_borrows": true,
    "collection_take": {
      "data_collections": true,
      "keeps_collection": true,
      "list": "list_take",
      "map": "map_take",
      "receiver": "named-mutable-place",
      "removes_element": true
    },
    "collection_types": [
      "List",
      "Map"
    ],
    "dynamic_resource_containers": true,
    "explicit_lexical_scope": true,
    "explicit_loan_move": true,
    "field_borrows": true,
    "host_scope": true,
    "inferred_return_lifetimes": true,
    "language_resource_type": true,
    "lexical_lifetimes": true,
    "loan_acquisition_limit": 4096,
    "loan_containers": [
      "record"
    ],
    "loan_reassignment": true,
    "loan_record_reassignment": true,
    "nested_generic_owning_records": true,
    "owning_records": true,
    "partial_field_moves": true,
    "private_ancestor_cleanup": "last-child",
    "reborrow_parent_suspension": true,
    "reborrowing": true,
    "record_return_origins": "conservative-union",
    "recursive_resource_types": true,
    "resource_enum_payloads": true,
    "resource_option_payloads": true,
    "resource_result_payloads": true,
    "reverse_cleanup": true,
    "scope_statement": "scope { ... }",
    "sum_payload_origins": "conservative-union",
    "typed_rust_handles": true
  },
  "schema": "fonuma.core-capabilities/0.1",
  "set_element_types": [
    "Int",
    "Bool",
    "String"
  ],
  "task_map": {
    "adapter": "ApplicationHost::fork_task",
    "budgets": [
      "steps",
      "work",
      "host_calls",
      "resource_acquisitions",
      "loan_acquisitions"
    ],
    "callback_effects": "explicit-subset",
    "child_storage": false,
    "cross_task_resources": false,
    "error_order": "control-then-lowest-input-index",
    "external_effect_rollback": false,
    "item_limit": 64,
    "join_before_return": true,
    "quota": "equal-per-item-remaining-after-preparation",
    "required_effect": "tasks",
    "spawn_attempt_limit": 64,
    "task_depth": 8,
    "wasm": "sequential",
    "worker_slots": 3
  },
  "tooling": {
    "diagnose": {
      "byte_offsets": true,
      "fixes": false,
      "project": true,
      "project_first_error": true,
      "project_lock_validation": false,
      "single_source": true,
      "unicode_scalar_positions": true,
      "utf16_positions": true
    },
    "format": {
      "comments_preserved": true,
      "single_module": true,
      "syntax_only": true,
      "writes_source": false
    },
    "lsp": {
      "diagnostics": true,
      "document_limit": 32,
      "document_symbols": true,
      "filesystem_reload": false,
      "formatting": true,
      "local_navigation": true,
      "navigation": true,
      "navigation_requires_valid_project": true,
      "navigation_scope": [
        "functions",
        "nominal_types",
        "enum_variants",
        "type_parameters",
        "import_aliases",
        "local_variables",
        "function_parameters",
        "closure_captures",
        "match_bindings",
        "record_fields"
      ],
      "position_encoding": "utf-16",
      "project_cli_option": "--project",
      "project_first_error": true,
      "project_initialization_option": "fonumaProject",
      "project_lock_validation": false,
      "project_snapshots": true,
      "project_startup_lock_option": "--locked",
      "sync": "full",
      "total_source_bytes": 1048576,
      "transport": "stdio",
      "workspace_loading": true
    },
    "symbols": {
      "declarations": true,
      "direct_imports": true,
      "limit": 1024,
      "references": false,
      "single_source": true,
      "syntax_only": true
    }
  },
  "types": [
    "Int",
    "Float",
    "Decimal",
    "Bool",
    "String",
    "Bytes",
    "Unit",
    "List<T>",
    "Set<K>",
    "Option<T>",
    "Map<K,V>",
    "Result<T>",
    "record",
    "enum",
    "Fn",
    "Resource<T>",
    "Borrow<T>",
    "BorrowMut<T>"
  ],
  "web_feature": false,
  "wire": {
    "bytes": "{hex:lowercase even-length hex string}",
    "decimal": "{decimal:exact fixed-scale text}; scale 9, signed i128 coefficient",
    "float": "{float:finite decimal text}; signed zero normalized",
    "int": "canonical decimal string",
    "map": "array of [key,value] entries, unique keys, sorted output",
    "option": "{some:false} | {some:true,value:T}",
    "set": "array of unique scalar values, sorted output"
  }
}
