| 165 | } |
| 166 | |
| 167 | static const char *profile_description(cbm_graph_tier_t tier, cbm_graph_access_t access) { |
| 168 | static const char *const direct[CBM_GRAPH_TIER_COUNT] = { |
| 169 | "Fast positive, provisional graph lookup with check_index_coverage and source read/grep " |
| 170 | "fallback.", |
| 171 | "Default task-directed graph verification with check_index_coverage and source read/grep " |
| 172 | "fallback.", |
| 173 | "Bounded-scope graph audit with check_index_coverage and source read/grep fallback.", |
| 174 | }; |
| 175 | static const char *const handoff[CBM_GRAPH_TIER_COUNT] = { |
| 176 | "Fast read-only handoff; parent agent must supply coverage evidence; child must not call " |
| 177 | "or claim access to MCP.", |
| 178 | "Verified read-only handoff; parent agent must supply coverage evidence; child must not " |
| 179 | "call or claim access to MCP.", |
| 180 | "Audit read-only handoff; parent agent must supply coverage evidence; child must not call " |
| 181 | "or claim access to MCP.", |
| 182 | }; |
| 183 | return access == CBM_GRAPH_ACCESS_DIRECT ? direct[tier] : handoff[tier]; |
| 184 | } |
| 185 | |
| 186 | char *cbm_render_graph_prompt(cbm_graph_tier_t tier, cbm_graph_access_t access) { |
| 187 | if (!tier_valid(tier) || !access_valid(access)) { |
no outgoing calls
no test coverage detected