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

repo="${1:-}"
if [[ -z "$repo" || ! -d "$repo/.git" ]]; then
  echo "usage: bash $0 /path/to/canonical-overdeck-repo" >&2
  exit 2
fi

cd "$repo"
root="$(git rev-parse --show-toplevel)"
rev="$(git rev-parse HEAD)"
branch="$(git branch --show-current || true)"
remote="$(git remote get-url origin 2>/dev/null || true)"

printf '# Overdeck I0/I1 harvest source evidence\n\n'
printf 'repository_root: %s\n' "$root"
printf 'origin: %s\n' "${remote:-unknown}"
printf 'branch: %s\n' "${branch:-detached}"
printf 'revision: %s\n' "$rev"
printf 'dirty: %s\n\n' "$(test -n "$(git status --porcelain)" && echo yes || echo no)"

printf '## Candidate paths by I0/I1 capability keywords\n\n'
patterns='worktree|workspace|publish|merge|github|k3s|kubernetes|factory|fabro|account|model|router|auth|audit|realtime|health|runner|ci|checkpoint|recover|cleanup|offload|agent'

git ls-files \
  | grep -Ei "$patterns" \
  | sed 's/^/- /' \
  | head -n 800 || true

cat <<'EOF'

## Required next step

This list is discovery evidence, not a migration disposition. For each relevant
candidate, inspect the exact source at the revision above and record:

- capability / current purpose
- known operational evidence and hidden failure handling
- coupling/debt to remove
- target AWP seam
- disposition: reuse-as-is | adapt | wrap | port-behavior |
  replace-with-platform | replace-with-foss | reference-only | outside-awp | retire
- verification evidence

Do not use a guessed path or a historical chat reference in place of this
current-source inspection.
EOF