### PR Guard Configuration Example (.pharaoh.yml) Source: https://pharaoh.so/llms-full.txt This YAML snippet demonstrates a comprehensive configuration for PR Guard, enabling or disabling various checks and setting specific thresholds for breaking changes, regression risk, test coverage, blast radius, complexity, and module boundaries. It also includes examples of allowlisting orphaned functions and defining custom entry points. ```yaml pr_guard: # ── Per-check enable/disable (all default to true) ── checks: reachability: true # flag unreachable exports regression_risk: true # score modified functions by risk test_coverage: true # check test file coverage blast_radius: true # count downstream callers complexity: true # track complexity changes module_boundaries: true # detect new cross-module deps duplication: true # find duplicate logic vision: true # check spec alignment breaking_changes: true # detect signature changes # ── Breaking change detection ── # Pharaoh compares exported function signatures before and after the PR. # A "breaking change" is any modification to an exported function's # parameter list, return type, or generic constraints that would cause # callers to fail at compile time or runtime. breaking_changes: warn_with_callers: true # warn when a changed signature has any callers block_with_callers: 5 # block PR if signature changed on function with 5+ callers # ── Regression risk thresholds ── regression_risk: block_on: "critical" # "critical" | "high" | "medium" | "none" # ── Test coverage thresholds ── test_coverage: warn_untested: true # warn when modified source has no test file warn_unit_only: false # warn when only unit tests exist (no integration) block_untested: false # block PR when modified source has no tests # ── Blast radius thresholds ── blast_radius: warn_above: 10 # warn if function has > 10 production callers block_above: 50 # block if function has > 50 production callers # ── Complexity budgets ── complexity: warn_function_delta: 5 # warn if function complexity increased by > 5 warn_total_delta: 20 # warn if total PR complexity delta > 20 block_function_above: 30 # block if any function exceeds complexity 30 # ── Module boundary rules ── module_boundaries: warn_new_deps: true # warn on new cross-module dependencies block_new_deps: false # block on new cross-module dependencies allowed_new_deps: # allowlist for expected new deps - "src/new -> src/utils" # ── Vision alignment ── vision: block_on_must: false # block on MUST violations in specs warn_on_should: true # warn on SHOULD violations # ── Reachability allowlists ── allowed_orphans: - "src/types:*" # all exports in src/types files (type-only) - "src/utils/helpers.ts" # all exports in this file - "src/**:testHelper" # testHelper function in any file # ── Override test file detection ── not_test: - "src/__mocks__/**" # treat these as production files, not tests # ── Custom entry point globs ── entry_points: - "src/lambdas/**/*.ts" # Lambda handlers - "src/workers/**/*.ts" # Worker entry points ``` -------------------------------- ### POST /environment-setup Source: https://pharaoh.so/llms-full.txt Installs Pharaoh's curated plugin bundle, including LSP, security scanning, and code review tools tailored to your codebase languages. ```APIDOC ## POST /environment-setup ### Description Install Pharaoh's curated plugin bundle — LSP, security scanning, code review, tailored to your codebase languages. ### Method POST ### Endpoint /environment-setup ### Parameters #### Request Body - **repo_id** (string) - Required - The identifier of the repository for which to set up the environment. - **languages** (array) - Optional - A list of programming languages to prioritize for plugin installation. ### Request Example ```json { "repo_id": "gh/myorg/myrepo", "languages": ["python", "javascript"] } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the environment setup is in progress or complete. - **installed_plugins** (array) - A list of plugins that have been installed. #### Response Example ```json { "message": "Environment setup initiated for gh/myorg/myrepo.", "installed_plugins": ["lsp-python", "security-scanner-v1", "code-review-ai"] } ``` ``` -------------------------------- ### GET /get_codebase_map Source: https://pharaoh.so/llms-full.txt Retrieves the structural overview of a repository, including dependencies and hot files. ```APIDOC ## GET /get_codebase_map ### Description Returns the full architectural structure of the repository including module relationships, hot files, and API endpoints. ### Method GET ### Endpoint /get_codebase_map ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **include_metrics** (boolean) - Optional - Include LOC, complexity, and change frequency ### Request Example GET /get_codebase_map?repo=my-project&include_metrics=true ### Response #### Success Response (200) - **modules** (array) - List of modules with file counts and LOC - **endpoints** (array) - List of HTTP endpoints and handlers #### Response Example { "modules": [{"name": "api", "loc": 5000}], "hot_files": ["src/core.js"] } ``` -------------------------------- ### GET /pharaoh-docs Source: https://pharaoh.so/llms-full.txt Query Pharaoh's own documentation. Returns relevant doc sections as markdown with links to pharaoh.so/docs. ```APIDOC ## GET /pharaoh-docs ### Description Query Pharaoh's own documentation. Returns relevant doc sections as markdown with links to pharaoh.so/docs. Powered by an in-memory keyword index of the docs/gitbook/ folder. ### Method GET ### Endpoint /pharaoh-docs ### Parameters #### Query Parameters - **query** (string) - Required - The search query for documentation. ### Response #### Success Response (200) - **results** (array) - A list of relevant documentation sections. - **title** (string) - The title of the documentation section. - **content** (string) - The markdown content of the documentation section. - **url** (string) - The URL to the full documentation page. #### Response Example ```json { "results": [ { "title": "Getting Started with Pharaoh", "content": "# Getting Started\n\nPharaoh helps you understand your codebase... [more content]", "url": "https://pharaoh.so/docs/getting-started" }, { "title": "Understanding Regression Risk", "content": "## Regression Risk\n\nThe regression risk score helps identify functions prone to breaking... [more content]", "url": "https://pharaoh.so/docs/regression-risk" } ] } ``` ``` -------------------------------- ### GET /account Source: https://pharaoh.so/llms-full.txt Manage subscription details, toggle PR Guard, and trigger graph refreshes for your repositories. ```APIDOC ## GET /account ### Description Manage subscription, toggle PR Guard, trigger graph refreshes for your repos. ### Method GET ### Endpoint /account ### Response #### Success Response (200) - **subscription_status** (string) - The current status of the subscription (e.g., 'active', 'trialing', 'canceled'). - **pr_guard_enabled** (boolean) - Indicates if PR Guard is currently enabled. - **repos** (array) - List of repositories associated with the account. - **repo_id** (string) - The identifier of the repository. - **last_graph_refresh** (string) - Timestamp of the last graph refresh. #### Response Example ```json { "subscription_status": "active", "pr_guard_enabled": true, "repos": [ { "repo_id": "gh/myorg/myrepo", "last_graph_refresh": "2023-10-27T10:00:00Z" } ] } ``` ## PUT /account/pr-guard ### Description Toggle the PR Guard feature for the account. ### Method PUT ### Endpoint /account/pr-guard ### Parameters #### Request Body - **enabled** (boolean) - Required - Set to `true` to enable PR Guard, `false` to disable. ### Request Example ```json { "enabled": false } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. - **pr_guard_enabled** (boolean) - The updated status of PR Guard. #### Response Example ```json { "message": "PR Guard status updated successfully.", "pr_guard_enabled": false } ``` ## POST /account/refresh-graph ### Description Trigger a graph refresh for a specific repository. ### Method POST ### Endpoint /account/refresh-graph ### Parameters #### Request Body - **repo_id** (string) - Required - The identifier of the repository to refresh. ### Request Example ```json { "repo_id": "gh/myorg/myrepo" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the graph refresh has been triggered. #### Response Example ```json { "message": "Graph refresh triggered for gh/myorg/myrepo." } ``` ``` -------------------------------- ### GET /get_module_context Source: https://pharaoh.so/llms-full.txt Fetches a detailed profile of a specific module to assist in development and impact analysis. ```APIDOC ## GET /get_module_context ### Description Returns a complete profile of a module including signatures, dependencies, DB access, and cron jobs. ### Method GET ### Endpoint /get_module_context ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **module** (string) - Required - Module name ### Request Example GET /get_module_context?repo=my-project&module=auth ### Response #### Success Response (200) - **profile** (object) - Detailed module metadata and dependencies #### Response Example { "module": "auth", "endpoints": ["/login", "/logout"], "dependencies": ["db", "logger"] } ``` -------------------------------- ### POST /upload Source: https://pharaoh.so/llms-full.txt Obtain a presigned URL for uploading parsed codebase data. This is used when mapping a local repository without installing the GitHub App. ```APIDOC ## POST /upload ### Description Get a presigned URL to upload parsed codebase data. Use this when the user wants to map a local repo without installing the GitHub App. Workflow: run pharaoh-parser's inspect.js locally, call this tool to get a one-time upload URL, then PUT the JSON. All Pharaoh tools work immediately on the uploaded repo. ### Method POST ### Endpoint /upload ### Parameters #### Request Body - **repo_name** (string) - Required - The name of the repository to be uploaded. - **file_name** (string) - Required - The name of the file to be uploaded (e.g., 'codebase.json'). ### Request Example ```json { "repo_name": "my-local-repo", "file_name": "codebase.json" } ``` ### Response #### Success Response (200) - **upload_url** (string) - A presigned URL for uploading the codebase data. - **upload_id** (string) - An identifier for the upload. #### Response Example ```json { "upload_url": "https://pharaoh-uploads.s3.amazonaws.com/...?AWSAccessKeyId=...", "upload_id": "upload-12345" } ``` ``` -------------------------------- ### Get Design System Information Source: https://pharaoh.so/llms-full.txt Retrieves information about the design system, including components, design tokens, and anti-patterns. This is useful before creating new UI components to leverage existing ones and ensure consistency. ```APIDOC ## GET /design-system ### Description Discover the design system BEFORE creating any UI component. Returns components with props and usage count, design tokens with values, and anti-patterns where raw HTML is used instead of existing components. ### Method GET ### Endpoint /design-system ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **category** (string) - Optional - Which aspect to return — components, tokens, anti_patterns, or all (default: all) - **min_usage** (integer) - Optional - Minimum usage count to include a component (default: 1) ### Request Example ```json { "repo": "my-repo", "category": "components", "min_usage": 5 } ``` ### Response #### Success Response (200) - **components** (array) - List of UI components with their props and usage count. - **tokens** (object) - Design tokens with their values. - **anti_patterns** (array) - Instances where raw HTML is used instead of existing components. #### Response Example ```json { "components": [ { "name": "Button", "props": { "variant": "primary", "size": "medium" }, "usage_count": 150 } ], "tokens": { "colors": { "primary": "#007bff" }, "spacing": { "medium": "16px" } }, "anti_patterns": [ { "file": "src/components/OldButton.js", "line": 25, "description": "Used raw button element instead of the Button component." } ] } ``` ``` -------------------------------- ### GET /get_unused_code Source: https://pharaoh.so/llms-full.txt Identifies unreachable code that is safe to delete. ```APIDOC ## GET /get_unused_code ### Description Finds functions unreachable from any production entry point using graph reachability and text-reference backup. ### Method GET ### Endpoint /get_unused_code ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **module** (string) - Optional - Filter to a specific module ### Request Example GET /get_unused_code?repo=my-project ### Response #### Success Response (200) - **dead_code** (array) - List of functions categorized by status (Dead, Likely Dead) #### Response Example { "dead_code": [{"function": "old_helper", "status": "Dead"}] } ``` -------------------------------- ### GET /search_functions Source: https://pharaoh.so/llms-full.txt Searches for function definitions across the entire codebase. ```APIDOC ## GET /search_functions ### Description Searches for functions by name or partial match to prevent duplicate implementation. ### Method GET ### Endpoint /search_functions ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **query** (string) - Required - Function name or partial match - **module** (string) - Optional - Filter by module - **exported_only** (boolean) - Optional - Filter for exported functions - **limit** (integer) - Optional - Max results (default: 20) ### Request Example GET /search_functions?repo=my-project&query=validate ### Response #### Success Response (200) - **results** (array) - List of matching functions with metadata #### Response Example { "results": [{"name": "validateUser", "file": "src/auth.js"}] } ``` -------------------------------- ### GET /get_vision_gaps Source: https://pharaoh.so/llms-full.txt Identifies discrepancies between project specifications and actual implementation. ```APIDOC ## GET /get_vision_gaps ### Description Finds specifications without matching code and complex code without matching specs to keep PRDs and implementation in sync. ### Method GET ### Endpoint /get_vision_gaps ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **module** (string) - Optional - Filter to a specific module ### Request Example GET /get_vision_gaps?repo=my-project&module=auth ### Response #### Success Response (200) - **gaps** (array) - List of identified vision gaps #### Response Example { "gaps": [{"type": "missing_code", "spec": "user_profile_v2"}] } ``` -------------------------------- ### Initialize Pharaoh MCP in Headless Environments Source: https://pharaoh.so/llms-full.txt Command to initialize the Pharaoh MCP server in environments without a browser, such as SSH or containers. It triggers a device authentication flow where the user enters a code on a separate device to authorize GitHub access. ```bash npx @pharaoh-so/mcp ``` -------------------------------- ### Configure MCP Server for AI Tools (JSON) Source: https://pharaoh.so/llms-full.txt This JSON configuration snippet defines how to integrate Pharaoh's MCP transport into an AI tool's configuration. It specifies the command to execute ('npx') and its arguments ('@pharaoh-so/mcp') for establishing a connection via stdio. ```json { "mcpServers": { "pharaoh": { "command": "npx", "args": ["@pharaoh-so/mcp"] } } } ``` -------------------------------- ### GET /get_regression_risk Source: https://pharaoh.so/llms-full.txt Assesses the risk of changes to production based on complexity and churn. ```APIDOC ## GET /get_regression_risk ### Description Scores functions by likelihood of breaking production based on cyclomatic complexity, call-graph exposure, and churn. ### Method GET ### Endpoint /get_regression_risk ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **module** (string) - Optional - Filter to a specific module - **function** (string) - Optional - Specific function to score ### Request Example GET /get_regression_risk?repo=my-project&function=process_payment ### Response #### Success Response (200) - **risk_score** (number) - Calculated risk score #### Response Example { "risk_score": 8.5, "factors": ["high_churn", "high_complexity"] } ``` -------------------------------- ### Add Pharaoh MCP via Command Line (OpenClaw) Source: https://pharaoh.so/llms-full.txt This command-line instruction is used to add Pharaoh's MCP server to OpenClaw. It specifies the URL for the Server-Sent Events (SSE) endpoint of the Pharaoh MCP service, enabling communication between OpenClaw and Pharaoh. ```bash /mcp add pharaoh https://mcp.pharaoh.so/sse ``` -------------------------------- ### GET /get_test_coverage Source: https://pharaoh.so/llms-full.txt Provides a summary of test coverage across modules and functions. ```APIDOC ## GET /get_test_coverage ### Description Per-module coverage summary showing which files have tests and which high-complexity functions lack them. ### Method GET ### Endpoint /get_test_coverage ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **module** (string) - Optional - Filter to a specific module ### Request Example GET /get_test_coverage?repo=my-project ### Response #### Success Response (200) - **coverage_data** (object) - Summary of test coverage distribution #### Response Example { "overall_coverage": 0.85, "untested_high_complexity": ["complex_calc"] } ``` -------------------------------- ### Define Global CSS Variables and Reset Source: https://pharaoh.so/ Sets up the core design tokens including color palettes, typography, and box-sizing resets to ensure consistent cross-browser rendering. ```css :root { --gold: #d4a843; --gold-bright: #f0c855; --bg: #111110; --text: #9a9284; --text-bright: #e8dcc8; } * { margin: 0; padding: 0; box-sizing: border-box; } ``` -------------------------------- ### POST /device Source: https://pharaoh.so/llms-full.txt Initiates the OAuth 2.0 Device Authorization Grant flow for headless environments or agents without browser access. ```APIDOC ## POST /device ### Description Initiates the device flow to authenticate headless agents. Returns a verification URL and user code for manual approval. ### Method POST ### Endpoint https://mcp.pharaoh.so/device ### Parameters #### Request Body - **client_id** (string) - Required - The unique identifier for the client application. ### Request Example { "client_id": "YOUR_CLIENT_ID" } ### Response #### Success Response (200) - **device_code** (string) - The code to be used for polling. - **user_code** (string) - The code the user enters in the browser. - **verification_uri** (string) - The URL the user visits to approve the request. #### Response Example { "device_code": "abc-123", "user_code": "XYZ-987", "verification_uri": "https://pharaoh.so/activate" } ``` -------------------------------- ### GET /get_consolidation_opportunities Source: https://pharaoh.so/llms-full.txt Finds duplicate or overlapping logic within a repository to assist in refactoring. ```APIDOC ## GET /get_consolidation_opportunities ### Description Finds duplicate code, parallel consumers of data, and competing DB access patterns. ### Method GET ### Endpoint /get_consolidation_opportunities ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **module** (string) - Optional - Filter to a specific module ### Request Example GET /get_consolidation_opportunities?repo=my-project ### Response #### Success Response (200) - **opportunities** (array) - List of duplicate code blocks and consolidation targets #### Response Example { "opportunities": [{"type": "duplicate_function", "locations": ["file1.js", "file2.js"]}] } ``` -------------------------------- ### Configure MCP Server for AI Tools Source: https://pharaoh.so/llms-full.txt Configuration snippets for integrating the Pharaoh MCP server into Claude Desktop and Claude Code environments. These JSON files define the server URL used by the AI client to establish the connection. ```json { "mcpServers": { "pharaoh": { "url": "https://mcp.pharaoh.so/sse" } } } ``` -------------------------------- ### GET /get_cross_repo_audit Source: https://pharaoh.so/llms-full.txt Compares two repositories to detect drift in shared dependencies and structural overlap. ```APIDOC ## GET /get_cross_repo_audit ### Description Compares two repositories for code duplication, structural overlap, diverged shared modules, and shared environment variables. ### Method GET ### Endpoint /get_cross_repo_audit ### Parameters #### Query Parameters - **repo** (string) - Required - First repository name - **target_repo** (string) - Required - Second repository name to compare against ### Request Example GET /get_cross_repo_audit?repo=repo-a&target_repo=repo-b ### Response #### Success Response (200) - **drift_report** (object) - Analysis of code duplication and structural overlap #### Response Example { "drift_detected": true, "overlap_score": 0.45 } ``` -------------------------------- ### POST /map_open_source_repo Source: https://pharaoh.so/llms-full.txt Map a public GitHub repository into the Pharaoh shared graph for global query access. ```APIDOC ## POST /map_open_source_repo ### Description Map any public GitHub repository into Pharaoh's shared graph. Mapping typically takes 1-3 minutes. ### Method POST ### Endpoint /map_open_source_repo ### Parameters #### Request Body - **repo** (string) - Required - GitHub slug or full URL ### Request Example { "repo": "vercel/next.js" } ### Response #### Success Response (200) - **status** (string) - Status of the mapping process. ``` -------------------------------- ### GET /admin/org-status Source: https://pharaoh.so/llms-full.txt Retrieve administrative status for an organization, including repository management overview and general status. ```APIDOC ## GET /admin/org-status ### Description Administrative operations for org management. Manage repos, view org status, and perform admin tasks. ### Method GET ### Endpoint /admin/org-status ### Parameters #### Query Parameters - **org_id** (string) - Required - The identifier of the organization. ### Response #### Success Response (200) - **org_name** (string) - The name of the organization. - **total_repos** (integer) - The total number of repositories managed by the organization. - **active_users** (integer) - The number of active users in the organization. - **status** (string) - Overall status of the organization's Pharaoh integration (e.g., 'healthy', 'degraded'). #### Response Example ```json { "org_name": "MyAwesomeOrg", "total_repos": 50, "active_users": 120, "status": "healthy" } ``` ``` -------------------------------- ### Implement Responsive Navigation Component Source: https://pharaoh.so/ Handles the layout for the navigation bar, including desktop flexbox alignment and a mobile-specific burger menu that toggles visibility based on screen width. ```css .nav { display: flex; justify-content: space-between; align-items: center; padding: 24px 32px; } @media (max-width: 640px) { .nav-right { display: none; } .nav-burger { display: block; } } ``` -------------------------------- ### POST /map-open-source Source: https://pharaoh.so/llms-full.txt Maps a public GitHub repository into Pharaoh's shared open-source graph, making it queryable by all users with all analysis tools. ```APIDOC ## POST /map-open-source ### Description Map any public GitHub repository into Pharaoh's shared open-source graph. Once mapped, the repo is queryable by all users with all analysis tools (codebase map, blast radius, module context, etc.). Mapping typically takes 1-3 minutes. ### Method POST ### Endpoint /map-open-source ### Parameters #### Request Body - **github_url** (string) - Required - The URL of the public GitHub repository to map. ### Request Example ```json { "github_url": "https://github.com/example/public-repo" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the mapping process has started. - **repo_id** (string) - The unique identifier for the mapped repository. #### Response Example ```json { "message": "Repository mapping initiated successfully.", "repo_id": "gh/example/public-repo" } ``` ``` -------------------------------- ### Get Vision Documentation Source: https://pharaoh.so/llms-full.txt Retrieves documented intent such as CLAUDE.md files, PRDs, and roadmaps to understand the 'why' behind the code. ```APIDOC ## GET /vision ### Description Get the documented intent — CLAUDE.md files, PRDs, roadmaps — to understand WHY code exists. Returns all vision documents grouped by type (claude_md, prd, skill, roadmap), with each spec's title, section ID, and implementation status showing which functions implement each spec. ### Method GET ### Endpoint /vision ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **module** (string) - Optional - Filter to specs related to this module - **doc_type** (string) - Optional - Filter by type (claude_md, prd, skill, roadmap, all) (default: all) ### Request Example ```json { "repo": "my-repo", "module": "user_management", "doc_type": "prd" } ``` ### Response #### Success Response (200) - **documents** (object) - Vision documents grouped by type. #### Response Example ```json { "documents": { "prd": [ { "title": "User Profile Enhancement", "section_id": "prd-123", "implementation_status": "partially_implemented", "implementing_functions": ["updateUserProfile", "getUserProfile"] } ], "claude_md": [ { "title": "Authentication Flow", "section_id": "claude-abc", "implementation_status": "implemented", "implementing_functions": ["login", "logout", "register"] } ] } } ``` ``` -------------------------------- ### Configure Pharaoh MCP Server URL Source: https://pharaoh.so/llms-full.txt The base URL required to connect compatible AI tools to the Pharaoh MCP server. Users must input this into their respective tool's MCP settings and complete the GitHub OAuth flow. ```text https://mcp.pharaoh.so/sse ``` -------------------------------- ### Programmatic Dependency Enforcement Algorithm Source: https://pharaoh.so/llms-full.txt A pseudo-code workflow for identifying and flagging forbidden cross-module dependencies using AI agent tools. ```text 1. Call get_codebase_map → extract all module names 2. Define forbidden pairs: [["data", "ui"], ["data", "api"]] 3. For each pair: call query_dependencies(from=forbidden_source, to=forbidden_target) 4. If any returns a dependency path → flag violation with exact file paths 5. Run as a pre-commit hook or scheduled health check ``` -------------------------------- ### Get Blast Radius Information Source: https://pharaoh.so/llms-full.txt Assesses the impact of refactoring, renaming, or deleting a function, file, or module by identifying all affected callers and dependencies. ```APIDOC ## GET /blast-radius ### Description Check what breaks BEFORE refactoring, renaming, or deleting a function, file, or module. Returns risk assessment (LOW/MEDIUM/HIGH), all affected callers grouped by module with file paths, impacted HTTP endpoints, impacted cron jobs, and affected DB operations. Traces up to 5 hops deep through the call graph. ### Method GET ### Endpoint /blast-radius ### Parameters #### Query Parameters - **repo** (string) - Required - Repository name - **entity** (string) - Required - Function name, file path, or module name - **entity_type** (string) - Required - "function", "file", or "module" - **depth** (integer) - Optional - How many hops to trace (default: 3, max: 5) ### Request Example ```json { "repo": "my-repo", "entity": "userService.js", "entity_type": "file", "depth": 4 } ``` ### Response #### Success Response (200) - **risk_assessment** (string) - The assessed risk level (LOW, MEDIUM, HIGH). - **affected_callers** (object) - Callers grouped by module, including file paths. - **impacted_endpoints** (array) - List of affected HTTP endpoints. - **impacted_cron_jobs** (array) - List of affected cron jobs. - **affected_db_operations** (array) - List of affected database operations. #### Response Example ```json { "risk_assessment": "MEDIUM", "affected_callers": { "auth_module": [ "src/auth/handler.js:55", "src/auth/service.js:102" ], "user_profile_module": [ "src/profile/api.js:30" ] }, "impacted_endpoints": [ "/api/users/{id}", "/api/profile" ], "impacted_cron_jobs": [ "daily_user_cleanup" ], "affected_db_operations": [ "UPDATE users SET ..." ] } ``` ```