{"id":1,"jsonrpc":"2.0","result":{"capabilities":{"prompts":{},"resources":{},"tools":{}},"instructions":"You are a Whetstone coding assistant. Whetstone is a constructive editor and MCP server\nfor cross-language code generation, AST manipulation, semantic annotation, transpilation,\ndebug campaigns, and LoRA training data generation.\n\nAll 347 registered tools are fully implemented. Schemas are served live by the MCP server.\n\n---\n\n## CANONICAL WORKFLOWS\n\n### Spec → Code (Language-First)\n  architect_intake → generate_taskitems → queue_ready → [validate_taskitem] → implement → get_metrics\n\n### Spec → Code (AST-First)\n  create_skeleton → add_skeleton_node → schema_to_cpp / generate_code → get_metrics\n\n### Cross-language class transpilation (Sprint 162 fix)\n  run_pipeline(source_code, source_language, target_language)\n  All 8 languages now emit class bodies. Previously empty namespace — now fixed.\n\n### Context-constrained SLM dispatch\n  assemble_context(files, max_tokens) → pass slice + taskitem to SLM\n\n### Debug campaign\n  start_debug_campaign → step_debug_campaign → get_debug_checklist → [mark_debug_checklist_item]\n  → debug_until_green → stop_debug_campaign → export_debug_campaign_bundle\n\n### A/B metric recording\n  start_recording(session_id, task_description) → [work] → get_metrics(session_id, baseline?)\n\n---\n\n## TOOL REFERENCE (by capability group)\n\n### 1. Planning / Intake\n  architect_intake          Markdown spec → normalizedRequirements[]. Sprint 161 fix:\n                            now extracts bullet-point requirements and field lists,\n                            not only constraint sentences.\n  generate_taskitems        normalizedRequirements[] → AnnotatedTaskitems[]\n  queue_ready               Validate taskitem set → confirmed queue or blockers[]\n  validate_taskitem         Score taskitem self-containment (0–100)\n  assemble_context          Token-budget-trimmed context slices for {path,symbol,line_hint} list\n  derive_requirements       Infer requirements from existing code or docs\n  verify_requirements       Check implementation satisfies a requirements set\n\n### 2. Code Generation\n  generate_code             Single-function generation. Stubs multi-method classes — use\n                            run_pipeline or schema_to_cpp for class-level work.\n  schema_to_cpp             JSON Schema → typed C++ header + nlohmann serializers + CMake snippet\n  generate_dispatch_table   Job entries → C++ makeDispatchTable() header\n  generate_project          Name + description → CMakeLists.txt + main.cpp stub + module paths\n  generate_inference_job    Entropy observation → HiveMind inference job payload\n  generate_examples         Usage examples for a symbol or tool\n  generate_cpp_from_ir      Core IR → idiomatic C++ with RAII ownership mapping\n  generate_setup_script     Environment setup script for a target platform\n  generate_patch_candidates Candidate patches for a known failure\n  generate_debug_hints      Hints to unblock a stalled debug campaign\n\n### 3. Cross-Language Pipeline\n  run_pipeline              Parse source (any language) → emit target language.\n                            Returns AST + generated code. Class bodies now emitted in all\n                            8 languages: Python, Rust, Go, Java, JS, TS, Elisp, C++.\n  transpile_systems_family  C, Go, Java ↔ C++\n  transpile_dynamic_family  Python, JS, TS, Ruby, Lua\n  transpile_managed_family  Kotlin, C#, F#, VB.NET\n  transpile_ast_native_family  Lisp, Scheme, Elisp, Smalltalk\n  transpile_logic_actor_family  Prolog, Erlang, Elixir\n  transpile_query_family    SQL dialects\n  transpile_low_level_family  C interop, WASM, x86/ARM assembly\n  analyze_rust_semantics    Extract ownership/trait/async IR from Rust source\n  ingest_legacy_to_ir       Legacy code → semantic IR with ambiguity surfacing\n  query_transpile_graph     Query the transpilation support graph\n  get_transpile_support_matrix  Full language-pair support matrix\n  get_language_contract     Semantic contract for a source/target language pair\n  get_language_matrix       Language tier and capability matrix\n  list_language_capabilities  Capabilities by language and feature flag\n  list_hybrid_language_profiles  Hybrid (multi-language) profiles\n  set_hybrid_language_profile   Configure a hybrid profile\n  get_hybrid_language_readiness  Readiness for hybrid execution\n  get_hybrid_qualification_status  Qualification status for a hybrid pair\n  get_hybrid_rollout_status  Rollout status for a hybrid language\n  set_hybrid_rollout_stage  Set rollout stage for a hybrid language\n  replay_hybrid_session     Replay a recorded hybrid execution\n  save_hybrid_checkpoint    Save hybrid session checkpoint\n  restore_hybrid_checkpoint Restore hybrid session from checkpoint\n  run_hybrid_determinism_suite  Run determinism test suite for a hybrid pair\n  run_hybrid_ga_gate        Run GA (general availability) gate for hybrid\n  run_hybrid_performance_bench  Performance benchmark for a hybrid pair\n\n### 4. AST / Skeleton\n  create_skeleton           Create a named AST skeleton for a language\n  add_skeleton_node         Add class/function node with annotations (priority, automatability,\n                            contextWidth, blockedBy[])\n  get_ast                   Current AST as JSON\n  get_ast_diff              Diff two AST snapshots\n  get_ast_subtree           Extract subtree by node ID or symbol\n  get_scope                 Scope chain at a location\n  get_call_hierarchy        Call graph for a symbol\n  get_lowering_hints        Lowering/optimization hints for a node\n  get_language_rollout_tier Language rollout tier assignment\n  set_language_rollout_tier Set rollout tier for a language\n\n### 5. Text ↔ AST Sync\n  sync_text_to_ast          Sync text buffer edits into the AST\n  apply_text_ast_merge      Apply a merged text+AST edit\n  preview_text_ast_merge    Preview merge result before applying\n  detect_text_ast_conflicts Detect conflicts between text and AST state\n  regenerate_text_from_ast  Regenerate source text from AST state\n\n### 6. Mutations\n  mutate                    Single AST mutation: setProperty | updateNode | deleteNode | insertNode\n  batch_mutate              Multiple mutations in one call\n  batch_query               Multiple AST queries in one call\n  rename_symbol             Rename symbol across all references\n  undo                      Undo last mutation\n  redo                      Redo last undone mutation\n  begin_constructive_transaction   Start a multi-step atomic transaction\n  resume_constructive_transaction  Resume a paused transaction\n  rollback_constructive_transaction  Rollback all changes in a transaction\n  run_constructive_step     Execute one step in a constructive loop\n  run_constructive_loop     Run full constructive loop to completion\n  run_cpp_constructive_step C++-specific constructive step\n  run_cpp_constructive_loop C++-specific constructive loop\n  run_constructive_replay_suite    Replay and compare constructive sessions\n  compare_constructive_replays     Diff two constructive replay outputs\n  get_constructive_status   Current constructive loop status\n  get_cpp_constructive_status  C++ constructive loop status\n  get_constructive_rollout_status  Rollout status for constructive mode\n  get_determinism_gate_status  Gate status for determinism certification\n  run_constructive_ga_gate  GA gate for constructive mode\n\n### 7. Annotations (SemAnno)\n  suggest_annotations       Infer memory/ownership annotations (call first)\n  apply_annotation          Apply highest-confidence annotation\n  infer_annotations         Batch-infer annotations across a file\n  set_semantic_annotation   Set explicit SemAnno annotation on a node\n  remove_semantic_annotation  Remove an annotation\n  get_semantic_annotations  List all annotations in current module\n  get_unannotated_nodes     Find nodes missing annotation coverage\n  list_annotated_files      Files with annotation coverage\n\n### 8. Semantic Hash / Determinism\n  get_semantic_hash_lock    Get the locked semantic hash for a buffer/symbol\n  set_semantic_hash_lock    Lock a semantic hash (freeze implementation contract)\n  get_semantic_hash_table   Get the full hash table for a scope\n  list_semantic_hash_tables List all hash tables in workspace\n  save_semantic_hash_table  Persist hash table to disk\n\n### 9. Patch / Fix\n  apply_patch_packet        Apply a structured patch packet\n  dry_run_patch             Dry-run a patch without committing\n  validate_patch_candidate  Validate a candidate patch for safety/correctness\n  validate_patch_proposal   Validate a proposed patch policy\n  label_patch_risk          Risk-label a patch for review routing\n  rollback_last_patch       Rollback the most recently applied patch\n  preview_regenerated_diff  Preview what regeneration would change\n  propose_patch_for_failure Auto-propose a patch for a captured failure\n\n### 10. File Operations\n  open_file                 Open a file into a buffer\n  close_file                Close a buffer\n  set_active_buffer         Set the active buffer (required before get_ast)\n  list_buffers              List all open buffers\n  file_read                 Read file contents\n  file_write                Write file contents\n  file_create               Create a new file\n  file_diff                 Diff two files\n  save_buffer               Save active buffer\n  save_all_buffers          Save all open buffers\n  load_annotated_ast        Load a saved annotated AST\n  save_annotated_ast        Persist annotated AST to disk\n\n### 11. Diagnostics / Build / Test\n  get_diagnostics           Diagnostics for active buffer\n  get_diagnostics_delta     New diagnostics since last call\n  get_project_diagnostics   Diagnostics across the whole project\n  get_quick_fixes           Suggested fixes for a diagnostic\n  apply_quick_fix           Apply a quick fix by ID\n  normalize_diagnostics     Normalize diagnostic formats across toolchains\n  assemble_fix_context      Assemble context slice focused on a diagnostic\n  parse_build_output        Parse raw build output into structured diagnostics\n  parse_test_output         Parse test runner output into structured results\n  suggest_build_fix         Suggest a fix for a build failure\n  suggest_test_fix          Suggest a fix for a test failure\n  validate_environment      Verify build environment is correctly configured\n  regression_guard          Check a change doesn't regress known-good tests\n\n### 12. Debug Campaign\n  start_debug_campaign      Begin a structured debug campaign for a failure\n  step_debug_campaign       Advance the campaign one step\n  stop_debug_campaign       Stop and summarize the campaign\n  resume_debug_campaign     Resume a paused campaign\n  get_debug_campaign_status Current campaign status and progress\n  get_debug_checklist       Ordered checklist of debug steps\n  mark_debug_checklist_item Mark a checklist item done/skipped\n  get_debug_trace           Full trace of debug steps taken\n  record_debug_trace        Record a debug trace entry\n  get_debug_evidence_index  Index of all captured evidence\n  get_debug_metrics         Campaign performance metrics\n  get_debug_recipe          Recommended recipe for a failure type\n  get_debug_hints           Active hints for the current campaign\n  get_debug_constraints     Active constraints (do-not-touch list)\n  get_slm_debug_readiness   SLM readiness for debug task dispatch\n  estimate_debug_budget     Token/time budget estimate for a debug run\n  run_bisect_debug          Binary search debug across a commit range\n  validate_debug_action     Validate a proposed debug action is safe\n  debug_until_green         Run debug loop until all tests pass\n  classify_debug_stop_reason  Classify why a debug campaign stopped\n  get_recovery_advice       Recovery advice for a classified stop reason\n  get_recovery_readiness    Readiness to attempt recovery\n  record_attempt            Record a fix attempt and its outcome\n\n### 13. Distributed Failure / Triage\n  capture_distributed_failure  Capture a failure from a distributed node\n  capture_failure_packet    Capture a structured failure packet\n  list_distributed_failures List all captured distributed failures\n  cluster_distributed_failures  Cluster failures by root cause\n  cluster_failures          Cluster failures within a single campaign\n  get_distributed_failure_bundle  Bundle of all related distributed failures\n  get_distributed_triage_queue  Priority queue for distributed triage\n  rank_failure_triage_actions  Rank possible triage actions\n  score_failure_triage      Score a triage action for expected impact\n  list_handoff_divergences  List divergences between handoff packets\n  verify_handoff_integrity  Verify a handoff packet is intact\n  build_debug_handoff       Build a handoff packet for a paused campaign\n  capture_handoff_packet    Capture handoff state for transfer\n  export_debug_campaign_bundle  Export full campaign for offline analysis\n  export_repro_jsonl        Export a reproduction case as JSONL\n  save_repro_packet         Save a reproduction packet\n  replay_repro_packet       Replay a saved repro packet\n  reduce_repro_command      Minimize a repro command to its essential form\n  save_campaign_checkpoint  Save campaign state checkpoint\n  list_campaign_checkpoints List all campaign checkpoints\n\n### 14. Task / Workflow Management\n  create_workflow           Create a named multi-step workflow\n  save_workflow             Persist workflow state\n  get_workflow_state        Current workflow progress\n  get_ready_tasks           Tasks with no unresolved blockers\n  get_blockers              Blockers for a task\n  get_work_item             Get a task by ID\n  assign_task               Assign task to an agent/worker\n  execute_task              Execute a task and record output\n  complete_task             Mark task complete\n  reject_task               Reject a task with reason\n  route_task                Route a task to appropriate handler\n  route_all_ready           Route all ready tasks at once\n  approve_item              Approve a review item\n  reject_item               Reject a review item\n  submit_result             Submit a result for a completed task\n  get_routing_explanation   Why a task was routed to a given handler\n  optimize_review_queue     Reorder review queue by priority/load\n  get_review_load_status    Current load on the review queue\n  get_route_integrity       Integrity check on routing rules\n\n### 15. Orchestration / Iteration\n  orchestrate_step          Advance orchestration one step\n  orchestrate_advance       Advance to a named checkpoint\n  orchestrate_run_deterministic  Run a deterministic (no-LLM) execution path\n  start_iteration_session   Begin a build-test-fix iteration session\n  submit_iteration_job      Submit a job to an active iteration session\n  poll_iteration_job        Poll status of an iteration job\n  run_build_iteration       Run one build iteration\n  run_test_iteration        Run one test iteration\n  start_feedback_loop       Begin an automated feedback loop\n  step_feedback_loop        Advance the feedback loop one step\n  run_feedback_loop         Run the full feedback loop to completion\n\n### 16. Verification / Certification\n  verify_executable_equivalence   Differential verification between source and target\n  run_porting_gates         Security, sanitizer, and performance validation\n  run_certification_cycle   Full regression + blast-radius check\n  get_certification_status  Current certification state\n  get_failure_trends        Failure taxonomy and trend analysis\n  get_top_adapter_gaps      Highest-impact adapter gaps to fix next\n  get_adapter_hints         Learned adapter hints (non-authoritative)\n  set_hint_policy           Configure hint source policy\n  run_pair_benchmark        Benchmark a source/target language pair\n  get_pair_scorecard        Benchmark scorecard for a language pair\n  apply_verified_pattern    Apply a verified transpilation pattern\n  list_verified_patterns    List all verified patterns in the registry\n  get_reference_conformance_report  Conformance report vs. reference implementation\n  check_semantic_drift      Detect semantic drift post-refactoring\n  generate_reprojection_plan  Plan to re-sync after semantic drift\n  validate_language_operation  Validate an operation is supported for a language\n  verify_architecture_consistency  Check that architecture constraints are met\n\n### 17. Domain Semantics\n  get_api_semantics         Web/API routing and contract semantics\n  verify_api_compatibility  Verify API contract compatibility\n  verify_api_abi_compat     ABI-level API compatibility verification\n  extract_api_abi_contract  Extract ABI contract from a library\n  analyze_data_pipeline_semantics  Data pipeline lineage and transform intent\n  verify_data_pipeline_migration   Data pipeline migration verification\n  get_realtime_constraints  Embedded/real-time timing constraints\n  verify_embedded_port      Verify an embedded port is safe\n  verify_financial_migration  Financial precision and compliance verification\n  get_compliance_evidence   Compliance evidence for a ported system\n  verify_simulation_port    Simulation/game port verification\n  get_determinism_risks     Determinism risk report for a simulation port\n  verify_scientific_migration  Scientific/HPC migration verification\n  get_numerical_risk_report HPC numerical stability risk report\n  get_runtime_assumptions   Runtime semantic assumptions for a language\n  set_runtime_profile       Set runtime profile for a target environment\n  check_runtime_freshness   Check if runtime assumptions are still current\n  get_runtime_fingerprint   Fingerprint of current runtime semantics\n  get_safety_profile_requirements  Safety requirements for a safety-critical port\n  verify_safety_profile_compliance  Verify safety profile is met\n  generate_safety_case      Generate formal safety case with assurance arguments\n  get_residual_risks        Residual risk register after safety case\n  attach_multimodal_evidence  Attach image/video evidence to a safety case\n\n### 18. Migration Planning\n  plan_migration_path       End-to-end migration plan for a language pair\n  plan_polyglot_migration   Multi-language migration plan\n  start_guided_migration    Begin a guided migration session\n  track_migration_progress  Track progress through a migration plan\n  list_migration_templates  Available migration plan templates\n  get_related_migration_patterns  Related patterns for a migration context\n  plan_transpilation_run    Cost-aware porting plan with budget policies\n  estimate_porting_cost     Token/time cost estimate for a porting run\n  plan_rollout_stage        Staged rollout plan for a ported system\n  execute_rollout_or_rollback  Execute a rollout stage or rollback\n  enqueue_pair_upgrade      Queue a language-pair adapter upgrade\n  get_upgrade_queue         Current upgrade queue and priorities\n  get_porting_contract      Semantic contract for a porting decision\n  review_porting_decision   Human-in-the-loop review of a porting decision\n  get_polyglot_cutover_readiness  Readiness for polyglot cutover\n  set_language_rollout_tier Assign a rollout tier to a language\n\n### 19. Workspace / Environment\n  onboard_workspace         First-time workspace setup and indexing\n  index_workspace           Re-index after file changes\n  set_workspace             Switch active workspace\n  workspace_list            List available workspaces\n  search_project            Full-text + semantic project search\n  get_project_model         Project dependency graph and module layout\n  project_language          Get/set primary language for the project\n  get_environment           Current environment configuration\n  set_environment           Set environment key-value pairs\n  snapshot_environment      Snapshot current environment state\n  diff_environments         Diff two environment snapshots\n  get_authoring_mode        Current authoring mode (Text / Structured)\n  set_authoring_mode        Switch authoring mode\n  get_mode_capabilities     Capabilities available in current mode\n  configure_hivemind        Configure HiveMind integration settings\n  get_session_state         Get full current session state\n\n### 20. Review Queue\n  get_review_queue          Items awaiting review\n  get_review_context        Context for a review item\n  get_review_policy         Current review policy\n  set_review_policy         Set review policy (auto-approve thresholds)\n\n### 21. Events / Progress\n  get_event_stream          Subscribe to live tool-call events\n  get_recent_events         Recent events as a list\n  get_progress              Session progress summary\n\n### 22. Metrics / Recording / Training Data\n  start_recording           Begin per-session tool-call recording\n                            Args: session_id, task_description\n  get_metrics               Finalize session; optional baseline comparison\n                            Args: session_id, baseline?, quality_rating?\n  export_training_data      Export recorded sessions as LoRA training data\n  capture_mcp_execution_trace  Capture a full MCP tool-call trace\n  compare_mcp_replays       Compare two MCP replay sessions\n  export_mcp_replay_pack    Export replay pack for offline analysis\n  export_tool_contracts     Export tool contracts as JSON schemas\n  export_tool_manifest      Export full tool manifest (names + schemas)\n  validate_tool_contracts   Validate tool contracts against live server\n  validate_tool_permissions  Validate tool permission policies\n\n### 23. Plugins / Toolchain Ecosystem\n  list_plugins              List installed plugins\n  install_or_disable_plugin Install or disable a plugin by ID\n  marketplace_search        Search the plugin marketplace\n  compare_tool_surfaces     Compare tool surfaces between two builds\n  check_tool_compatibility  Check tool compatibility for a config\n  get_tool_deprecations     Tools scheduled for deprecation\n  get_tool_permissions      Permission requirements for a tool set\n  plan_tool_migrations      Migration plan for deprecated tools\n  list_toolchain_providers  Available toolchain providers\n  probe_toolchain_provider  Probe a toolchain provider for health/caps\n  list_mcp_runtimes         Available MCP runtimes\n  select_mcp_runtime        Select an MCP runtime for a session\n  probe_mcp_runtime_health  Health check for an MCP runtime\n  probe_tool_reachability   Check tool reachability from this runtime\n  get_mcp_closure_status    MCP tool closure (completeness) status\n  get_mcp_remediation_plan  Remediation plan for MCP closure gaps\n  run_mcp_closure_gate      Run MCP closure gate check\n\n### 24. Standards / Conformance / Federation\n  get_spec_versions         Available specification versions\n  run_spec_conformance      Run conformance test suite against a spec version\n  get_semantic_diff         Semantic-level diff between two implementations\n  explain_transpilation_decision  Explainability trace for a transpiler decision\n  register_external_verifier  Register an external verification source\n  get_federated_verification_report  Combined report from federated verifiers\n  get_artifact_trust_report Trust report for a generated artifact\n\n### 25. Governance / Roadmap\n  get_governance_state      Current governance model state\n  publish_roadmap_epoch     Publish next roadmap epoch\n  publish_next_epoch_plan   Publish plan for the next epoch\n  publish_next_block_plan   Publish plan for the next sprint block\n  get_epoch_block_status    Status of current epoch block\n  get_epoch_workstreams     Active workstreams for this epoch\n  get_century_status        Long-horizon (100-sprint) status\n  plan_budget_allocation    Budget allocation plan across workstreams\n  propose_policy_tuning     Propose a policy change with rationale\n  validate_policy_tuning    Validate a proposed policy change\n  set_zero_trust_policy     Set zero-trust access policy for a scope\n  set_workstream_capacity   Set agent capacity allocation for a workstream\n  get_program_kpis          Program-level KPI report\n  run_meta_evaluation       Meta-evaluation: systemic regression detection\n  get_portfolio_economics   Economic model for the full project portfolio\n  get_debt_inventory        Inventory of known technical debt\n  plan_debt_burndown        Debt burndown plan with priority ordering\n\n### 26. Onboarding / Learning / Ops\n  start_onboarding_path     Begin a role-based onboarding path\n  get_learning_progress     Progress through an onboarding path\n  get_region_policy_profile Region-specific policy profile\n  generate_localized_migration_report  Localized migration report\n  list_best_practice_packs  Available best-practice packs\n  apply_best_practice_pack  Apply a best-practice pack\n  get_transpilation_slo_status  SLO compliance status for transpilation ops\n  trigger_porting_incident_drill  Run an incident response drill\n  get_lts_support_matrix    Long-term support matrix by language pair\n  plan_deprecation_or_upgrade  Deprecation or upgrade plan for a component\n  set_tenant_policy         Set multi-tenant isolation policy\n  get_tenant_support_matrix Support matrix for a tenant configuration\n  get_pair_stability_forecast  Stability forecast for a language pair\n  plan_preventive_maintenance  Preventive maintenance plan\n  plan_swarm_maintenance    Maintenance plan for a drone/agent swarm\n  run_continuity_drill      Continuity/failover drill for swarm\n  run_interop_testbed       Interop test between toolchain components\n  get_swarm_maintenance_status  Swarm maintenance state\n  get_sync_diagnostics      Sync diagnostics for distributed state\n  get_sync_identity_report  Identity consistency report across nodes\n\n### 27. Execution Attestation / Audit\n  get_execution_attestation  Attestation record for an execution\n  get_authoring_mode         (also in Workspace group)\n\n---\n\n## GUIDELINES\n\n- Always call start_recording before a multi-tool session when metrics matter.\n- For structs: schema_to_cpp produces the highest-quality output in one call.\n- For class-level transpilation: use run_pipeline (not generate_code — it stubs classes).\n- architect_intake now extracts bullet-point requirement lists (Sprint 161).\n  If it returns < 3 requirements for a detailed spec, suspect the spec format.\n- After any bulk mutation: call get_diagnostics to catch regressions.\n- For SLM dispatch: assemble_context first to enforce token budget.\n- Semantic hash locks (set_semantic_hash_lock) freeze an implementation contract\n  and prevent regeneration from drifting it — use before handing off to SLMs.\n- Headers must stay ≤ 600 lines (enforced by file_limits_test in build-native).\n","protocolVersion":"2024-11-05","serverInfo":{"name":"whetstone-mcp","version":"0.1.0"}}}
{"id":2,"jsonrpc":"2.0","result":{"content":[{"text":"{\n  \"ast\": {\n    \"children\": {\n      \"annotations\": [\n        {\n          \"children\": {},\n          \"concept\": \"ReclaimAnnotation\",\n          \"id\": \"inferred_mod_0\",\n          \"properties\": {}\n        }\n      ],\n      \"classes\": [\n        {\n          \"children\": {\n            \"fields\": [\n              {\n                \"children\": {\n                  \"type\": [\n                    {\n                      \"children\": {},\n                      \"concept\": \"PrimitiveType\",\n                      \"id\": \"type_26\",\n                      \"properties\": {\n                        \"kind\": \"string\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"Variable\",\n                \"id\": \"field_25\",\n                \"properties\": {\n                  \"name\": \"job_id\"\n                }\n              },\n              {\n                \"children\": {\n                  \"type\": [\n                    {\n                      \"children\": {},\n                      \"concept\": \"PrimitiveType\",\n                      \"id\": \"type_28\",\n                      \"properties\": {\n                        \"kind\": \"int\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"Variable\",\n                \"id\": \"field_27\",\n                \"properties\": {\n                  \"name\": \"priority\"\n                }\n              },\n              {\n                \"children\": {\n                  \"type\": [\n                    {\n                      \"children\": {},\n                      \"concept\": \"PrimitiveType\",\n                      \"id\": \"type_30\",\n                      \"properties\": {\n                        \"kind\": \"string\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"Variable\",\n                \"id\": \"field_29\",\n                \"properties\": {\n                  \"name\": \"payload\"\n                }\n              }\n            ],\n            \"methods\": [\n              {\n                \"children\": {\n                  \"body\": [\n                    {\n                      \"children\": {\n                        \"expression\": [\n                          {\n                            \"children\": {\n                              \"target\": [\n                                {\n                                  \"children\": {\n                                    \"target\": [\n                                      {\n                                        \"children\": {},\n                                        \"concept\": \"VariableReference\",\n                                        \"id\": \"var_13\",\n                                        \"properties\": {\n                                          \"variableName\": \"self\"\n                                        },\n                                        \"span\": {\n                                          \"end\": {\n                                            \"col\": 12,\n                                            \"line\": 2\n                                          },\n                                          \"start\": {\n                                            \"col\": 8,\n                                            \"line\": 2\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"concept\": \"MemberAccess\",\n                                  \"id\": \"member_12\",\n                                  \"properties\": {\n                                    \"memberName\": \"job_id\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 19,\n                                      \"line\": 2\n                                    },\n                                    \"start\": {\n                                      \"col\": 8,\n                                      \"line\": 2\n                                    }\n                                  }\n                                }\n                              ],\n                              \"value\": [\n                                {\n                                  \"children\": {},\n                                  \"concept\": \"VariableReference\",\n                                  \"id\": \"var_14\",\n                                  \"properties\": {\n                                    \"variableName\": \"job_id\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 28,\n                                      \"line\": 2\n                                    },\n                                    \"start\": {\n                                      \"col\": 22,\n                                      \"line\": 2\n                                    }\n                                  }\n                                }\n                              ]\n                            },\n                            \"concept\": \"Assignment\",\n                            \"id\": \"assign_11\",\n                            \"properties\": {},\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 28,\n                                \"line\": 2\n                              },\n                              \"start\": {\n                                \"col\": 8,\n                                \"line\": 2\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"ExpressionStatement\",\n                      \"id\": \"exprstmt_10\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 28,\n                          \"line\": 2\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 2\n                        }\n                      }\n                    },\n                    {\n                      \"children\": {\n                        \"expression\": [\n                          {\n                            \"children\": {\n                              \"target\": [\n                                {\n                                  \"children\": {\n                                    \"target\": [\n                                      {\n                                        \"children\": {},\n                                        \"concept\": \"VariableReference\",\n                                        \"id\": \"var_18\",\n                                        \"properties\": {\n                                          \"variableName\": \"self\"\n                                        },\n                                        \"span\": {\n                                          \"end\": {\n                                            \"col\": 12,\n                                            \"line\": 3\n                                          },\n                                          \"start\": {\n                                            \"col\": 8,\n                                            \"line\": 3\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"concept\": \"MemberAccess\",\n                                  \"id\": \"member_17\",\n                                  \"properties\": {\n                                    \"memberName\": \"priority\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 21,\n                                      \"line\": 3\n                                    },\n                                    \"start\": {\n                                      \"col\": 8,\n                                      \"line\": 3\n                                    }\n                                  }\n                                }\n                              ],\n                              \"value\": [\n                                {\n                                  \"children\": {},\n                                  \"concept\": \"VariableReference\",\n                                  \"id\": \"var_19\",\n                                  \"properties\": {\n                                    \"variableName\": \"priority\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 32,\n                                      \"line\": 3\n                                    },\n                                    \"start\": {\n                                      \"col\": 24,\n                                      \"line\": 3\n                                    }\n                                  }\n                                }\n                              ]\n                            },\n                            \"concept\": \"Assignment\",\n                            \"id\": \"assign_16\",\n                            \"properties\": {},\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 32,\n                                \"line\": 3\n                              },\n                              \"start\": {\n                                \"col\": 8,\n                                \"line\": 3\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"ExpressionStatement\",\n                      \"id\": \"exprstmt_15\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 32,\n                          \"line\": 3\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 3\n                        }\n                      }\n                    },\n                    {\n                      \"children\": {\n                        \"expression\": [\n                          {\n                            \"children\": {\n                              \"target\": [\n                                {\n                                  \"children\": {\n                                    \"target\": [\n                                      {\n                                        \"children\": {},\n                                        \"concept\": \"VariableReference\",\n                                        \"id\": \"var_23\",\n                                        \"properties\": {\n                                          \"variableName\": \"self\"\n                                        },\n                                        \"span\": {\n                                          \"end\": {\n                                            \"col\": 12,\n                                            \"line\": 4\n                                          },\n                                          \"start\": {\n                                            \"col\": 8,\n                                            \"line\": 4\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"concept\": \"MemberAccess\",\n                                  \"id\": \"member_22\",\n                                  \"properties\": {\n                                    \"memberName\": \"payload\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 20,\n                                      \"line\": 4\n                                    },\n                                    \"start\": {\n                                      \"col\": 8,\n                                      \"line\": 4\n                                    }\n                                  }\n                                }\n                              ],\n                              \"value\": [\n                                {\n                                  \"children\": {},\n                                  \"concept\": \"VariableReference\",\n                                  \"id\": \"var_24\",\n                                  \"properties\": {\n                                    \"variableName\": \"payload\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 30,\n                                      \"line\": 4\n                                    },\n                                    \"start\": {\n                                      \"col\": 23,\n                                      \"line\": 4\n                                    }\n                                  }\n                                }\n                              ]\n                            },\n                            \"concept\": \"Assignment\",\n                            \"id\": \"assign_21\",\n                            \"properties\": {},\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 30,\n                                \"line\": 4\n                              },\n                              \"start\": {\n                                \"col\": 8,\n                                \"line\": 4\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"ExpressionStatement\",\n                      \"id\": \"exprstmt_20\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 30,\n                          \"line\": 4\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 4\n                        }\n                      }\n                    }\n                  ],\n                  \"parameters\": [\n                    {\n                      \"children\": {\n                        \"type\": [\n                          {\n                            \"children\": {},\n                            \"concept\": \"PrimitiveType\",\n                            \"id\": \"type_5\",\n                            \"properties\": {\n                              \"kind\": \"string\"\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"Parameter\",\n                      \"id\": \"param_4\",\n                      \"properties\": {\n                        \"name\": \"job_id\"\n                      }\n                    },\n                    {\n                      \"children\": {\n                        \"type\": [\n                          {\n                            \"children\": {},\n                            \"concept\": \"PrimitiveType\",\n                            \"id\": \"type_7\",\n                            \"properties\": {\n                              \"kind\": \"int\"\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"Parameter\",\n                      \"id\": \"param_6\",\n                      \"properties\": {\n                        \"name\": \"priority\"\n                      }\n                    },\n                    {\n                      \"children\": {\n                        \"type\": [\n                          {\n                            \"children\": {},\n                            \"concept\": \"PrimitiveType\",\n                            \"id\": \"type_9\",\n                            \"properties\": {\n                              \"kind\": \"string\"\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"Parameter\",\n                      \"id\": \"param_8\",\n                      \"properties\": {\n                        \"name\": \"payload\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"MethodDeclaration\",\n                \"id\": \"meth_2\",\n                \"properties\": {\n                  \"className\": \"WorkItem\",\n                  \"isOverride\": false,\n                  \"isStatic\": false,\n                  \"isVirtual\": false,\n                  \"name\": \"__init__\",\n                  \"visibility\": \"public\"\n                },\n                \"span\": {\n                  \"end\": {\n                    \"col\": 30,\n                    \"line\": 4\n                  },\n                  \"start\": {\n                    \"col\": 4,\n                    \"line\": 1\n                  }\n                }\n              }\n            ]\n          },\n          \"concept\": \"ClassDeclaration\",\n          \"id\": \"cls_1\",\n          \"properties\": {\n            \"isAbstract\": false,\n            \"name\": \"WorkItem\"\n          },\n          \"span\": {\n            \"end\": {\n              \"col\": 30,\n              \"line\": 4\n            },\n            \"start\": {\n              \"col\": 0,\n              \"line\": 0\n            }\n          }\n        },\n        {\n          \"children\": {\n            \"fields\": [\n              {\n                \"children\": {\n                  \"type\": [\n                    {\n                      \"children\": {},\n                      \"concept\": \"ListType\",\n                      \"id\": \"type_40\",\n                      \"properties\": {}\n                    }\n                  ]\n                },\n                \"concept\": \"Variable\",\n                \"id\": \"field_39\",\n                \"properties\": {\n                  \"name\": \"items\"\n                }\n              }\n            ],\n            \"methods\": [\n              {\n                \"children\": {\n                  \"body\": [\n                    {\n                      \"children\": {\n                        \"expression\": [\n                          {\n                            \"children\": {\n                              \"target\": [\n                                {\n                                  \"children\": {\n                                    \"target\": [\n                                      {\n                                        \"children\": {},\n                                        \"concept\": \"VariableReference\",\n                                        \"id\": \"var_37\",\n                                        \"properties\": {\n                                          \"variableName\": \"self\"\n                                        },\n                                        \"span\": {\n                                          \"end\": {\n                                            \"col\": 12,\n                                            \"line\": 8\n                                          },\n                                          \"start\": {\n                                            \"col\": 8,\n                                            \"line\": 8\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"concept\": \"MemberAccess\",\n                                  \"id\": \"member_36\",\n                                  \"properties\": {\n                                    \"memberName\": \"items\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 18,\n                                      \"line\": 8\n                                    },\n                                    \"start\": {\n                                      \"col\": 8,\n                                      \"line\": 8\n                                    }\n                                  }\n                                }\n                              ],\n                              \"value\": [\n                                {\n                                  \"children\": {},\n                                  \"concept\": \"ListLiteral\",\n                                  \"id\": \"list_38\",\n                                  \"properties\": {},\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 23,\n                                      \"line\": 8\n                                    },\n                                    \"start\": {\n                                      \"col\": 21,\n                                      \"line\": 8\n                                    }\n                                  }\n                                }\n                              ]\n                            },\n                            \"concept\": \"Assignment\",\n                            \"id\": \"assign_35\",\n                            \"properties\": {},\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 23,\n                                \"line\": 8\n                              },\n                              \"start\": {\n                                \"col\": 8,\n                                \"line\": 8\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"ExpressionStatement\",\n                      \"id\": \"exprstmt_34\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 23,\n                          \"line\": 8\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 8\n                        }\n                      }\n                    }\n                  ],\n                  \"parameters\": []\n                },\n                \"concept\": \"MethodDeclaration\",\n                \"id\": \"meth_32\",\n                \"properties\": {\n                  \"className\": \"PriorityQueue\",\n                  \"isOverride\": false,\n                  \"isStatic\": false,\n                  \"isVirtual\": false,\n                  \"name\": \"__init__\",\n                  \"visibility\": \"public\"\n                },\n                \"span\": {\n                  \"end\": {\n                    \"col\": 23,\n                    \"line\": 8\n                  },\n                  \"start\": {\n                    \"col\": 4,\n                    \"line\": 7\n                  }\n                }\n              },\n              {\n                \"children\": {\n                  \"body\": [\n                    {\n                      \"children\": {\n                        \"expression\": [\n                          {\n                            \"children\": {\n                              \"arguments\": [\n                                {\n                                  \"children\": {},\n                                  \"concept\": \"VariableReference\",\n                                  \"id\": \"var_47\",\n                                  \"properties\": {\n                                    \"variableName\": \"item\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 30,\n                                      \"line\": 11\n                                    },\n                                    \"start\": {\n                                      \"col\": 26,\n                                      \"line\": 11\n                                    }\n                                  }\n                                }\n                              ]\n                            },\n                            \"concept\": \"FunctionCall\",\n                            \"id\": \"call_46\",\n                            \"properties\": {\n                              \"functionName\": \"self.items.append\"\n                            },\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 31,\n                                \"line\": 11\n                              },\n                              \"start\": {\n                                \"col\": 8,\n                                \"line\": 11\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"ExpressionStatement\",\n                      \"id\": \"exprstmt_45\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 31,\n                          \"line\": 11\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 11\n                        }\n                      }\n                    }\n                  ],\n                  \"parameters\": [\n                    {\n                      \"children\": {\n                        \"type\": [\n                          {\n                            \"children\": {},\n                            \"concept\": \"CustomType\",\n                            \"id\": \"type_44\",\n                            \"properties\": {\n                              \"typeName\": \"WorkItem\"\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"Parameter\",\n                      \"id\": \"param_43\",\n                      \"properties\": {\n                        \"name\": \"item\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"MethodDeclaration\",\n                \"id\": \"meth_41\",\n                \"properties\": {\n                  \"className\": \"PriorityQueue\",\n                  \"isOverride\": false,\n                  \"isStatic\": false,\n                  \"isVirtual\": false,\n                  \"name\": \"enqueue\",\n                  \"visibility\": \"public\"\n                },\n                \"span\": {\n                  \"end\": {\n                    \"col\": 31,\n                    \"line\": 11\n                  },\n                  \"start\": {\n                    \"col\": 4,\n                    \"line\": 10\n                  }\n                }\n              },\n              {\n                \"children\": {\n                  \"body\": [\n                    {\n                      \"children\": {\n                        \"value\": [\n                          {\n                            \"children\": {\n                              \"arguments\": [\n                                {\n                                  \"children\": {},\n                                  \"concept\": \"IntegerLiteral\",\n                                  \"id\": \"int_53\",\n                                  \"properties\": {\n                                    \"value\": 0\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 31,\n                                      \"line\": 14\n                                    },\n                                    \"start\": {\n                                      \"col\": 30,\n                                      \"line\": 14\n                                    }\n                                  }\n                                }\n                              ]\n                            },\n                            \"concept\": \"FunctionCall\",\n                            \"id\": \"call_52\",\n                            \"properties\": {\n                              \"functionName\": \"self.items.pop\"\n                            },\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 32,\n                                \"line\": 14\n                              },\n                              \"start\": {\n                                \"col\": 15,\n                                \"line\": 14\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"Return\",\n                      \"id\": \"ret_51\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 32,\n                          \"line\": 14\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 14\n                        }\n                      }\n                    }\n                  ],\n                  \"parameters\": [],\n                  \"returnType\": [\n                    {\n                      \"children\": {},\n                      \"concept\": \"CustomType\",\n                      \"id\": \"type_50\",\n                      \"properties\": {\n                        \"typeName\": \"WorkItem\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"MethodDeclaration\",\n                \"id\": \"meth_48\",\n                \"properties\": {\n                  \"className\": \"PriorityQueue\",\n                  \"isOverride\": false,\n                  \"isStatic\": false,\n                  \"isVirtual\": false,\n                  \"name\": \"dequeue\",\n                  \"visibility\": \"public\"\n                },\n                \"span\": {\n                  \"end\": {\n                    \"col\": 32,\n                    \"line\": 14\n                  },\n                  \"start\": {\n                    \"col\": 4,\n                    \"line\": 13\n                  }\n                }\n              },\n              {\n                \"children\": {\n                  \"body\": [\n                    {\n                      \"children\": {\n                        \"value\": [\n                          {\n                            \"children\": {},\n                            \"concept\": \"VariableReference\",\n                            \"id\": \"var_58\",\n                            \"properties\": {\n                              \"variableName\": \"self.items[0]\"\n                            },\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 28,\n                                \"line\": 17\n                              },\n                              \"start\": {\n                                \"col\": 15,\n                                \"line\": 17\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"Return\",\n                      \"id\": \"ret_57\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 28,\n                          \"line\": 17\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 17\n                        }\n                      }\n                    }\n                  ],\n                  \"parameters\": [],\n                  \"returnType\": [\n                    {\n                      \"children\": {},\n                      \"concept\": \"CustomType\",\n                      \"id\": \"type_56\",\n                      \"properties\": {\n                        \"typeName\": \"WorkItem\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"MethodDeclaration\",\n                \"id\": \"meth_54\",\n                \"properties\": {\n                  \"className\": \"PriorityQueue\",\n                  \"isOverride\": false,\n                  \"isStatic\": false,\n                  \"isVirtual\": false,\n                  \"name\": \"peek\",\n                  \"visibility\": \"public\"\n                },\n                \"span\": {\n                  \"end\": {\n                    \"col\": 28,\n                    \"line\": 17\n                  },\n                  \"start\": {\n                    \"col\": 4,\n                    \"line\": 16\n                  }\n                }\n              },\n              {\n                \"children\": {\n                  \"body\": [\n                    {\n                      \"children\": {\n                        \"value\": [\n                          {\n                            \"children\": {\n                              \"arguments\": [\n                                {\n                                  \"children\": {\n                                    \"target\": [\n                                      {\n                                        \"children\": {},\n                                        \"concept\": \"VariableReference\",\n                                        \"id\": \"var_65\",\n                                        \"properties\": {\n                                          \"variableName\": \"self\"\n                                        },\n                                        \"span\": {\n                                          \"end\": {\n                                            \"col\": 23,\n                                            \"line\": 20\n                                          },\n                                          \"start\": {\n                                            \"col\": 19,\n                                            \"line\": 20\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"concept\": \"MemberAccess\",\n                                  \"id\": \"member_64\",\n                                  \"properties\": {\n                                    \"memberName\": \"items\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 29,\n                                      \"line\": 20\n                                    },\n                                    \"start\": {\n                                      \"col\": 19,\n                                      \"line\": 20\n                                    }\n                                  }\n                                }\n                              ]\n                            },\n                            \"concept\": \"FunctionCall\",\n                            \"id\": \"call_63\",\n                            \"properties\": {\n                              \"functionName\": \"len\"\n                            },\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 30,\n                                \"line\": 20\n                              },\n                              \"start\": {\n                                \"col\": 15,\n                                \"line\": 20\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"Return\",\n                      \"id\": \"ret_62\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 30,\n                          \"line\": 20\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 20\n                        }\n                      }\n                    }\n                  ],\n                  \"parameters\": [],\n                  \"returnType\": [\n                    {\n                      \"children\": {},\n                      \"concept\": \"PrimitiveType\",\n                      \"id\": \"type_61\",\n                      \"properties\": {\n                        \"kind\": \"int\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"MethodDeclaration\",\n                \"id\": \"meth_59\",\n                \"properties\": {\n                  \"className\": \"PriorityQueue\",\n                  \"isOverride\": false,\n                  \"isStatic\": false,\n                  \"isVirtual\": false,\n                  \"name\": \"size\",\n                  \"visibility\": \"public\"\n                },\n                \"span\": {\n                  \"end\": {\n                    \"col\": 30,\n                    \"line\": 20\n                  },\n                  \"start\": {\n                    \"col\": 4,\n                    \"line\": 19\n                  }\n                }\n              },\n              {\n                \"children\": {\n                  \"body\": [\n                    {\n                      \"children\": {\n                        \"value\": [\n                          {\n                            \"children\": {\n                              \"left\": [\n                                {\n                                  \"children\": {\n                                    \"arguments\": [\n                                      {\n                                        \"children\": {\n                                          \"target\": [\n                                            {\n                                              \"children\": {},\n                                              \"concept\": \"VariableReference\",\n                                              \"id\": \"var_73\",\n                                              \"properties\": {\n                                                \"variableName\": \"self\"\n                                              },\n                                              \"span\": {\n                                                \"end\": {\n                                                  \"col\": 23,\n                                                  \"line\": 23\n                                                },\n                                                \"start\": {\n                                                  \"col\": 19,\n                                                  \"line\": 23\n                                                }\n                                              }\n                                            }\n                                          ]\n                                        },\n                                        \"concept\": \"MemberAccess\",\n                                        \"id\": \"member_72\",\n                                        \"properties\": {\n                                          \"memberName\": \"items\"\n                                        },\n                                        \"span\": {\n                                          \"end\": {\n                                            \"col\": 29,\n                                            \"line\": 23\n                                          },\n                                          \"start\": {\n                                            \"col\": 19,\n                                            \"line\": 23\n                                          }\n                                        }\n                                      }\n                                    ]\n                                  },\n                                  \"concept\": \"FunctionCall\",\n                                  \"id\": \"call_71\",\n                                  \"properties\": {\n                                    \"functionName\": \"len\"\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 30,\n                                      \"line\": 23\n                                    },\n                                    \"start\": {\n                                      \"col\": 15,\n                                      \"line\": 23\n                                    }\n                                  }\n                                }\n                              ],\n                              \"right\": [\n                                {\n                                  \"children\": {},\n                                  \"concept\": \"IntegerLiteral\",\n                                  \"id\": \"int_74\",\n                                  \"properties\": {\n                                    \"value\": 0\n                                  },\n                                  \"span\": {\n                                    \"end\": {\n                                      \"col\": 35,\n                                      \"line\": 23\n                                    },\n                                    \"start\": {\n                                      \"col\": 34,\n                                      \"line\": 23\n                                    }\n                                  }\n                                }\n                              ]\n                            },\n                            \"concept\": \"BinaryOperation\",\n                            \"id\": \"binop_70\",\n                            \"properties\": {\n                              \"op\": \"==\"\n                            },\n                            \"span\": {\n                              \"end\": {\n                                \"col\": 35,\n                                \"line\": 23\n                              },\n                              \"start\": {\n                                \"col\": 15,\n                                \"line\": 23\n                              }\n                            }\n                          }\n                        ]\n                      },\n                      \"concept\": \"Return\",\n                      \"id\": \"ret_69\",\n                      \"properties\": {},\n                      \"span\": {\n                        \"end\": {\n                          \"col\": 35,\n                          \"line\": 23\n                        },\n                        \"start\": {\n                          \"col\": 8,\n                          \"line\": 23\n                        }\n                      }\n                    }\n                  ],\n                  \"parameters\": [],\n                  \"returnType\": [\n                    {\n                      \"children\": {},\n                      \"concept\": \"PrimitiveType\",\n                      \"id\": \"type_68\",\n                      \"properties\": {\n                        \"kind\": \"bool\"\n                      }\n                    }\n                  ]\n                },\n                \"concept\": \"MethodDeclaration\",\n                \"id\": \"meth_66\",\n                \"properties\": {\n                  \"className\": \"PriorityQueue\",\n                  \"isOverride\": false,\n                  \"isStatic\": false,\n                  \"isVirtual\": false,\n                  \"name\": \"empty\",\n                  \"visibility\": \"public\"\n                },\n                \"span\": {\n                  \"end\": {\n                    \"col\": 35,\n                    \"line\": 23\n                  },\n                  \"start\": {\n                    \"col\": 4,\n                    \"line\": 22\n                  }\n                }\n              }\n            ]\n          },\n          \"concept\": \"ClassDeclaration\",\n          \"id\": \"cls_31\",\n          \"properties\": {\n            \"isAbstract\": false,\n            \"name\": \"PriorityQueue\"\n          },\n          \"span\": {\n            \"end\": {\n              \"col\": 35,\n              \"line\": 23\n            },\n            \"start\": {\n              \"col\": 0,\n              \"line\": 6\n            }\n          }\n        }\n      ]\n    },\n    \"concept\": \"Module\",\n    \"id\": \"mod_0\",\n    \"properties\": {\n      \"name\": \"parsed_python_module\",\n      \"targetLanguage\": \"python\"\n    },\n    \"span\": {\n      \"end\": {\n        \"col\": 35,\n        \"line\": 23\n      },\n      \"start\": {\n        \"col\": 0,\n        \"line\": 0\n      }\n    }\n  },\n  \"dceCount\": 0,\n  \"foldCount\": 0,\n  \"gates\": {\n    \"compile\": {\n      \"passed\": true,\n      \"reason\": \"ok\"\n    },\n    \"failure_reasons\": [],\n    \"overall_ready\": true,\n    \"placeholder\": {\n      \"passed\": true,\n      \"reason\": \"ok\"\n    },\n    \"tests\": {\n      \"passed\": true,\n      \"reason\": \"ok\"\n    }\n  },\n  \"generatedCode\": \"#pragma once\\n#include <string>\\n\\nnamespace parsed_python_module {\\n\\nclass WorkItem {\\npublic:\\n    std::string job_id;\\n    int priority;\\n    std::string payload;\\n\\n    WorkItem(std::string job_id, int priority, std::string payload);\\n};\\nclass PriorityQueue {\\npublic:\\n    std::vector<std::string> items;\\n\\n    PriorityQueue();\\n    void enqueue(WorkItem item);\\n    WorkItem dequeue();\\n    WorkItem peek();\\n    int size();\\n    bool empty();\\n};\\n\\n}  // namespace parsed_python_module\\n\",\n  \"parseDiagnostics\": [],\n  \"quality\": {\n    \"compilable_estimate\": true,\n    \"fallback_used\": false,\n    \"placeholder_count\": 0,\n    \"todo_count\": 0,\n    \"warnings\": []\n  },\n  \"success\": true,\n  \"suggestions\": [\n    {\n      \"annotationType\": \"ReclaimAnnotation\",\n      \"confidence\": 0.95,\n      \"nodeId\": \"mod_0\",\n      \"reason\": \"python uses tracing garbage collection\",\n      \"strategy\": \"Tracing\"\n    }\n  ],\n  \"validationDiagnostics\": [],\n  \"violations\": []\n}","type":"text"}],"isError":false}}
