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
33 changes: 0 additions & 33 deletions .goneat/hooks/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -71,39 +71,6 @@ if [ -z "$GONEAT_BIN" ]; then
fi
fi

# Guardian enforcement for protected git commit operations
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")
GUARDIAN_SCOPE="git"
GUARDIAN_OPERATION="commit"

GUARDIAN_ARGS=("$GONEAT_BIN" guardian check "$GUARDIAN_SCOPE" "$GUARDIAN_OPERATION")
if [ -n "$CURRENT_BRANCH" ]; then
GUARDIAN_ARGS+=("--branch" "$CURRENT_BRANCH")
fi

# Note: pre-commit hook runs before commit message is available
# Just pass generic commit indicator since message doesn't exist yet
GUARDIAN_ARGS+=("--" "-m" "<pending commit message>")

if ! "${GUARDIAN_ARGS[@]}"; then
echo ""
echo "❌ Operation blocked by guardian"
echo "🔐 Approval required for: ${GUARDIAN_SCOPE} ${GUARDIAN_OPERATION}"
if [ -n "$CURRENT_BRANCH" ]; then
echo " • Branch: $CURRENT_BRANCH"
fi
echo " • Risk level: high"
echo " • Method: browser"
echo " • Approval expires in: 10m0s"
echo ""
echo "Wrap your git commit with guardian approval to continue:"
echo " $GONEAT_BIN guardian approve $GUARDIAN_SCOPE $GUARDIAN_OPERATION -- git commit"
echo " # add your usual commit arguments after git commit"
exit 1
fi

echo "✅ Guardian approval satisfied"

# Use goneat's orchestrated assessment (manifest-driven)
"$GONEAT_BIN" assess --hook pre-commit --hook-manifest "$REPO_ROOT/.goneat/hooks.yaml" --package-mode

Expand Down
53 changes: 0 additions & 53 deletions .goneat/hooks/pre-push
Original file line number Diff line number Diff line change
Expand Up @@ -69,59 +69,6 @@ if [ -z "$GONEAT_BIN" ]; then
fi
fi

# Guardian enforcement for protected git push operations
REMOTE_NAME="${1:-}"
REMOTE_URL="${2:-}"
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")
GUARDIAN_SCOPE="git"
GUARDIAN_OPERATION="push"

GUARDIAN_ARGS=("$GONEAT_BIN" guardian check "$GUARDIAN_SCOPE" "$GUARDIAN_OPERATION")
if [ -n "$CURRENT_BRANCH" ]; then
GUARDIAN_ARGS+=("--branch" "$CURRENT_BRANCH")
fi
if [ -n "$REMOTE_NAME" ]; then
GUARDIAN_ARGS+=("--remote" "$REMOTE_NAME")
elif [ -n "$REMOTE_URL" ]; then
GUARDIAN_ARGS+=("--remote" "$REMOTE_URL")
fi

# Pass push context for display
if [ -n "$REMOTE_NAME" ] && [ -n "$CURRENT_BRANCH" ]; then
GUARDIAN_ARGS+=("--" "$REMOTE_NAME" "$CURRENT_BRANCH")
else
GUARDIAN_ARGS+=("--" "<remote>" "<branch>")
fi

if ! "${GUARDIAN_ARGS[@]}"; then
echo ""
echo "❌ Operation blocked by guardian"
echo "🔐 Approval required for: ${GUARDIAN_SCOPE} ${GUARDIAN_OPERATION}"
if [ -n "$CURRENT_BRANCH" ]; then
echo " • Branch: $CURRENT_BRANCH"
fi
if [ -n "$REMOTE_NAME" ]; then
echo " • Remote: $REMOTE_NAME"
elif [ -n "$REMOTE_URL" ]; then
echo " • Remote URL: $REMOTE_URL"
fi
echo " • Risk level: critical"
echo " • Method: browser"
echo " • Approval expires in: 15m0s"
echo "📝 A reason is required when approving this operation."
echo ""
echo "Wrap your git push with guardian approval to proceed:"
if [ -n "$REMOTE_NAME" ] && [ -n "$CURRENT_BRANCH" ]; then
echo " $GONEAT_BIN guardian approve $GUARDIAN_SCOPE $GUARDIAN_OPERATION -- git push \"$REMOTE_NAME\" \"$CURRENT_BRANCH\""
else
echo " $GONEAT_BIN guardian approve $GUARDIAN_SCOPE $GUARDIAN_OPERATION -- git push <remote> <branch>"
fi
echo "Once approved, the push runs automatically under guardian supervision."
exit 1
fi

echo "✅ Guardian approval satisfied"

# Verify crucible sources are clean before pushing
if [ -f "$REPO_ROOT/scripts/verify-crucible-clean.sh" ]; then
if ! "$REPO_ROOT/scripts/verify-crucible-clean.sh"; then
Expand Down