#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
KNOW="$ROOT/knowledge"
Q="${1:-}"

if [[ -z "$Q" ]]; then
  echo "Usage: $0 \"query\""
  exit 1
fi

# Preferred backend: qmd collections (priority ordered)
if command -v qmd >/dev/null 2>&1; then
  COLS=("oc-knowledge" "oc-memory-long" "oc-memory-daily")
  for c in "${COLS[@]}"; do
    if qmd collection list | grep -q "^$c ("; then
      echo "# qmd:$c"
      qmd search "$Q" -c "$c" -n 10 --files || true
      echo
    fi
  done
  exit 0
fi

# Fallback backend: grep over markdown directories
search_dir() {
  local d="$1"
  if [[ -d "$KNOW/$d" ]]; then
    grep -Rni --include="*.md" -- "$Q" "$KNOW/$d" || true
  fi
}

{
  search_dir rules
  search_dir projects
  search_dir entities
  search_dir daily
  search_dir playbooks
  search_dir archive
} | head -n 80
