MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / cbm_tiered_profile_path

Function cbm_tiered_profile_path

src/cli/cli.c:7828–7860  ·  view source on GitHub ↗

Derive tier siblings only from the exact shipped Verify basename. This keeps * vendor-specific suffixes such as .agent.md, .toml, and .json intact. */

Source from the content-addressed store, hash-verified

7826/* Derive tier siblings only from the exact shipped Verify basename. This keeps
7827 * vendor-specific suffixes such as .agent.md, .toml, and .json intact. */
7828static int cbm_tiered_profile_path(const char *verify_path, cbm_graph_tier_t tier, char *output,
7829 size_t output_size) {
7830 static const char verify_basename[] = "codebase-memory";
7831 if (!verify_path || !verify_path[0] || !output || output_size == 0U) {
7832 return CLI_ERR;
7833 }
7834 const char *basename = strrchr(verify_path, '/');
7835 const char *backslash = strrchr(verify_path, '\\');
7836 if (backslash && (!basename || backslash > basename)) {
7837 basename = backslash;
7838 }
7839 basename = basename ? basename + 1U : verify_path;
7840 size_t verify_len = strlen(verify_basename);
7841 if (strncmp(basename, verify_basename, verify_len) != 0 || basename[verify_len] != '.') {
7842 return CLI_ERR;
7843 }
7844 const char *slug = cbm_graph_tier_slug(tier);
7845 if (!slug) {
7846 return CLI_ERR;
7847 }
7848 const char *suffix = basename + verify_len;
7849 size_t directory_len = (size_t)(basename - verify_path);
7850 size_t slug_len = strlen(slug);
7851 size_t suffix_len = strlen(suffix);
7852 if (directory_len >= output_size || slug_len > output_size - directory_len - 1U ||
7853 suffix_len > output_size - directory_len - slug_len - 1U) {
7854 return CLI_ERR;
7855 }
7856 memcpy(output, verify_path, directory_len);
7857 memcpy(output + directory_len, slug, slug_len);
7858 memcpy(output + directory_len + slug_len, suffix, suffix_len + 1U);
7859 return CLI_OK;
7860}
7861
7862static cbm_graph_access_t cbm_tiered_profile_access(cbm_graph_profile_dialect_t dialect) {
7863 return cbm_graph_dialect_direct_capable(dialect) ? CBM_GRAPH_ACCESS_DIRECT

Calls 1

cbm_graph_tier_slugFunction · 0.85

Tested by

no test coverage detected