Skip to main content

v1.3.0

Auto-configure MCP in Claude DesktopPR #101, closes #100 Reduces onboarding friction from ~5 minutes of manual JSON editing to a single command. Critical for non-developer users (managers, founders) who are part of the target market.
  • New command: cogniscape setup mcp — reads the customer key from ~/.cogniscape/config.json and injects the cogniscape-reader MCP server entry into Claude Desktop’s config at ~/Library/Application Support/Claude/claude_desktop_config.json
  • Supports cogniscape setup mcp --uninstall for clean removal — only removes the Cogniscape entry, leaving all other MCP servers untouched
  • Customer key is URL-encoded via url.Values to handle special characters safely
  • Idempotent — running the command again updates the entry with the current key
Edge cases handled:
ScenarioBehavior
Claude Desktop config does not existCreates the file and parent directories
Cogniscape entry already presentUpdates in place with the current customer key
Other MCP servers configuredPreserved — only the cogniscape-reader entry is touched
Invalid or corrupted JSON configBacks up the original file to .cogniscape-backup, warns on stderr, and starts fresh
Customer key not configuredReturns an error directing the user to run cogniscape init first
Backup write fails (e.g. disk full)Warning message reflects the failure instead of claiming success
macOS only in this release. Linux and Windows paths will be added in a future version.

v1.2.1

API domain migration — closes #59 Replaced all references to the legacy server.cogniscape.app domain with the production api.cogniscape.app endpoint. This affected the hardcoded defaultAPIURL constant in the CLI and all deployment configs.
  • Updated defaultAPIURL from https://server.cogniscape.app to https://api.cogniscape.app
  • All CLI commands (send-episode, writer, config) now target the new domain
  • No user action required — the CLI resolves the API URL automatically

v1.2.0

Project name trackingPR #57 Session summaries now include the project name, enabling per-project filtering and grouping in the knowledge graph. The project name is derived from the working directory at the time the session ends.
  • session-summary events include a project_name field extracted via filepath.Base(cwd)
  • Propagated through the full stack: Go CLI → Python event model → database migration → Cogniscape MCP tool response
  • Guards added for edge cases where cwd is empty, /, or .

v1.1.0

Session duration and per-model token trackingPR #56, PR #51 Two features that together enable ROI cost estimation: knowing how long a session lasted and how many tokens each model consumed. Session duration (#56):
  • Extracts first and last timestamps from the Claude Code transcript JSONL
  • Computes duration_seconds and includes it in session-summary events
  • Returns 0 gracefully when timestamps are unavailable
Per-model token tracking (#51):
  • extractSessionTokens now parses message.model from transcript entries and returns a []ModelTokens breakdown instead of a single aggregate
  • Each entry tracks: input_tokens, output_tokens, cache_read_input_tokens, cache_creation_input_tokens
  • Snapshot updates (isSnapshotUpdate: true) are excluded to avoid double-counting
  • Entries without a model field are bucketed under unknown-model
  • Database schema changed: token_usage unique constraint is now (session_id, model) to support multiple model rows per session
  • New model_pricing table seeded with Anthropic pricing for cost estimation
  • Cogniscape MCP’s get_token_usage tool now returns estimated costs; new get_developer_roi tool shows daily cost trends per developer

v1.0.0

Initial releasePR #81 The first stable release of the Cogniscape CLI after rebranding from DevVis. Provides the full pipeline from Claude Code hooks to knowledge graph ingestion. Onboarding commands:
  • cogniscape init <customer-key> — saves the customer key to machine-level config at ~/.cogniscape/config.json and installs Claude Code hooks automatically
  • cogniscape update-key <new-key> — updates the customer key without re-running init
  • cogniscape setup-hooks — installs or repairs Claude Code hooks in ~/.claude/settings.json, preserving third-party hooks. Creates a backup before modifying
  • cogniscape uninstall — removes all Cogniscape hooks from settings and deletes the binary
Hook adapter:
  • cogniscape send-episode --event <name> — translates Claude Code hook payloads into normalized development events and posts them to the Cogniscape API
  • Supported events: session-start, plan-approved, task-created, task-completed, session-summary
  • Enriches events with developer identity (from git config user.name), repository name (from git root), and stable event IDs (SHA-256 hash of payload)
  • Never fails loudly — all errors are logged to ~/.cogniscape/hooks.log and the process exits with code 0 to avoid blocking Claude Code
  • Task metadata caching: task-created stores subject/description in ~/.cogniscape/task-cache/ so task-completed can include a meaningful title and result. Cache is purged on session end
Writer commands:
  • cogniscape writer add-episode — write explicit episodes to the knowledge graph (text or JSON body, with support for --body-file and stdin)
  • cogniscape writer add-facts — create relationship triplets (source → relationship → target)
  • cogniscape writer add-entity — create entities by writing synthetic descriptive episodes
Configuration:
  • cogniscape config show — display full resolved configuration
  • cogniscape config get api-url — show the configured API URL
  • cogniscape version — print the CLI version
  • Customer key resolution order: --customer-key flag → COGNISCAPE_CUSTOMER_KEY env var → config file
  • Hook log rotation: keeps the last 1,000 lines, only rewrites when file exceeds 80 KB