Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ Sight provides intelligent code review capabilities by analyzing diffs with AI.

Sight is a Hawk support engine. Keep the dependency edge one-way:

- use `hawk-core-contracts` for any cross-repo shared contracts
- use `hawk-core-contracts` for any cross-repo shared contracts (severity/finding vocabulary)
- do not import `hawk/internal/*`
- do not import removed legacy path `hawk/shared/types`; use `hawk-core-contracts/types`
- do not import other engines (`eyrie`, `yaad`, `tok`, `trace`, `inspect`) — engines are peers, not dependencies

## Features

Expand Down
82 changes: 0 additions & 82 deletions go.work.sum

This file was deleted.

25 changes: 22 additions & 3 deletions scripts/check-ecosystem-boundaries.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,37 @@ set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"

FORBIDDEN_HAWK='github\.com/GrayCodeAI/hawk/(internal/|shared/types)'
FORBIDDEN_ENGINES='github\.com/GrayCodeAI/(eyrie|yaad|tok|trace|inspect)(/|")'

exit_code=0

if command -v rg >/dev/null 2>&1; then
violations="$(rg -n 'github\.com/GrayCodeAI/hawk/(internal/|shared/types)' --glob '*.go' . || true)"
violations="$(rg -n "$FORBIDDEN_HAWK" --glob '*.go' . || true)"
engine_violations="$(rg -n "$FORBIDDEN_ENGINES" --glob '*.go' . || true)"
else
violations="$(grep -rn --include='*.go' -E 'github\.com/GrayCodeAI/hawk/(internal/|shared/types)' . || true)"
violations="$(grep -rn --include='*.go' -E "$FORBIDDEN_HAWK" . || true)"
engine_violations="$(grep -rn --include='*.go' -E "$FORBIDDEN_ENGINES" . || true)"
fi

if [[ -n "${violations}" ]]; then
echo "forbidden Hawk imports found:"
echo "${violations}"
echo
echo "support repos must use hawk-core-contracts or local contracts, not hawk/internal or removed hawk/shared/types"
exit 1
exit_code=1
fi

if [[ -n "${engine_violations}" ]]; then
echo "forbidden cross-engine imports found:"
echo "${engine_violations}"
echo
echo "support engines must not import other engines directly — they are peers, not dependencies"
exit_code=1
fi

if [[ $exit_code -ne 0 ]]; then
exit $exit_code
fi

echo "ecosystem boundary guard passed"
Loading