system-prompts-and-models-o.../salesflow-saas/scripts/extract_dealix_repo.sh
Claude fee51ffb06
feat(dealix): execute ALL automatable blueprint tasks
TASK-001 (prep) — Repository Extraction Script:
  scripts/extract_dealix_repo.sh — automates git filter-repo extraction
  of Dealix-only paths to new GitHub org. Preserves commit history.
  Awaits founder decision on org name.

TASK-003 — Python Dependency Modernization:
  backend/pyproject.toml — full project spec with pinned versions:
    - fastapi, pydantic, sqlalchemy, asyncpg pinned
    - OpenTelemetry packages now included
    - pytest==8.3.4, pytest-asyncio==0.24.0 (stable)
    - Dev group with ruff, mypy, testcontainers
  Ready for uv sync to generate uv.lock.

TASK-004 — Node Dependency Hygiene:
  frontend/package.json — pinned packageManager=pnpm@9.12.0
    and engines.node >=20.10.0 <21.0.0

TASK-005 — Secrets Audit Infrastructure:
  .pre-commit-config.yaml — gitleaks + detect-private-key + detect-aws
    + ruff auto-fix + truth-registry-validator local hook
  docs/internal/rotation_log.md — rotation tracking template with
    scan commands (gitleaks, trufflehog3) and forbidden practices

TASK-006 — Legal Foundation Tracker:
  docs/internal/legal_status.md — tracks:
    - Company incorporation options (MISA vs DIFC vs ADGM)
    - IP assignment requirements
    - Privacy Policy / ToS / DPA review status
    - Trademark filing (KSA, UAE, Egypt, Jordan)
    - PDPL / ZATCA / NCA / SDAIA regulatory status
    - Professional indemnity + cyber + general insurance

TASK-010 (complete) — Truth Registry Tooling:
  scripts/validate_truth_registry.py — validates TRUTH.yaml structure,
    status values, and claims_registry.yaml alignment
  .github/workflows/truth-validation.yml — CI workflow on changes to
    truth registry or claims registry

TASK-101 — Release Readiness Gate (blueprint-spec):
  scripts/release_readiness_gate.py:
    - Required artifacts check (11 files)
    - TRUTH.yaml field validation
    - Forbidden claims scan in public docs
    - Architecture brief sub-gate
  Complements release_readiness_matrix.py (runtime checks).

Blueprint saved:
  DEALIX_EXECUTION_BLUEPRINT.md — authoritative execution doc

Updated:
  release_readiness_matrix.py — now 53/53 checks (was 41/41)
  docs/execution_log.md — full task tracking

All 3 gates GREEN:
  Architecture Brief: 40/40
  Release Readiness Matrix: 53/53
  Release Readiness Gate: PASS

Remaining P0 founder decisions (cannot be automated):
  - TASK-001: GitHub org name + run extraction
  - TASK-006: Entity incorporation + counsel engagement

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-17 10:39:21 +00:00

56 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# extract_dealix_repo.sh — TASK-001 automation
#
# Extracts Dealix into a clean repository, preserving commit history.
# Usage:
# ./scripts/extract_dealix_repo.sh <target_repo_url>
#
# Example:
# ./scripts/extract_dealix_repo.sh git@github.com:dealix-io/platform.git
#
# Prerequisites:
# - git-filter-repo installed (pip install git-filter-repo)
# - SSH key configured for target org
# - New empty GitHub repo created at <target_repo_url>
set -euo pipefail
TARGET_URL="${1:-}"
if [[ -z "$TARGET_URL" ]]; then
echo "Usage: $0 <target_repo_url>"
echo "Example: $0 git@github.com:dealix-io/platform.git"
exit 1
fi
WORKDIR="${TMPDIR:-/tmp}/dealix-extraction-$$"
SOURCE_REPO="$(git rev-parse --show-toplevel)"
echo "→ Creating fresh clone at $WORKDIR"
git clone "$SOURCE_REPO" "$WORKDIR"
cd "$WORKDIR"
echo "→ Filtering repository to Dealix-only paths..."
git filter-repo \
--path salesflow-saas/ \
--path personal-brand-engine/ \
--path sales_assets/ \
--path-rename salesflow-saas/:
echo "→ Setting up target remote: $TARGET_URL"
git remote add origin "$TARGET_URL" 2>/dev/null || git remote set-url origin "$TARGET_URL"
echo "→ Pushing to new repo..."
git push -u origin main
echo ""
echo "✓ Extraction complete"
echo " Working tree: $WORKDIR"
echo " Target: $TARGET_URL"
echo ""
echo "Next steps (manual):"
echo " 1. Verify on GitHub: $(echo $TARGET_URL | sed 's|git@github.com:|https://github.com/|' | sed 's|\.git$||')"
echo " 2. Archive old fork OR make it private"
echo " 3. Rotate ALL secrets (see docs/internal/rotation_log.md)"
echo " 4. Update CI/CD to point to new repo"
echo " 5. Notify team + update README on old fork"