From a955888acfaf7505b723bf432be04e85e83d034d Mon Sep 17 00:00:00 2001 From: chihlasm Date: Sat, 21 Mar 2026 15:12:07 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20clean=20up=20root=20directory=20?= =?UTF-8?q?=E2=80=94=20archive=20completed=20docs,=20add=20marketing=20ass?= =?UTF-8?q?ets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move 9 completed/historical docs from root to docs/archive/: - ARCHITECTURE.md, BACKLOG.md, CLAUDE-SETUP.md, MICHAEL-NOTES.md - IMPLEMENTATION-SUMMARY-ISSUE-34.md, PHASE-2.5-PERSONAL-BRANCHING.md - REBRAND-IMPLEMENTATION-GUIDE.md, TS-EXAMPLES.md, WORKSPACE-REMOVAL-PLAN.md Move QUICK-START.md to docs/ Add previously untracked files: - DEV-ENV.md (devserver01 setup guide) - docs/marketing/ (one-pager HTML + PDF) - docs/ResolutionFlow_Pivot_Architecture.docx Update CLAUDE.md rebrand guide reference path. Deleted temp files: .temp_fixed.py, .temp_fixed2.py, ai_provider_*.py, ai_provider.patch, test_write.txt Co-Authored-By: Claude Opus 4.6 (1M context) --- CLAUDE.md | 2 +- DEV-ENV.md | 350 +++++++++++++ QUICK-START.md => docs/QUICK-START.md | 0 docs/ResolutionFlow_Pivot_Architecture.docx | Bin 0 -> 28287 bytes .../archive/ARCHITECTURE.md | 0 BACKLOG.md => docs/archive/BACKLOG.md | 0 .../archive/CLAUDE-SETUP.md | 0 .../IMPLEMENTATION-SUMMARY-ISSUE-34.md | 0 .../archive/MICHAEL-NOTES.md | 0 .../archive/PHASE-2.5-PERSONAL-BRANCHING.md | 0 .../archive/REBRAND-IMPLEMENTATION-GUIDE.md | 0 TS-EXAMPLES.md => docs/archive/TS-EXAMPLES.md | 0 .../archive/WORKSPACE-REMOVAL-PLAN.md | 0 .../resolutionflow-one-pager-print.html | 393 ++++++++++++++ .../resolutionflow-one-pager-print.pdf | Bin 0 -> 30362 bytes docs/marketing/resolutionflow-one-pager.html | 487 ++++++++++++++++++ docs/marketing/resolutionflow-one-pager.pdf | Bin 0 -> 40076 bytes 17 files changed, 1231 insertions(+), 1 deletion(-) create mode 100644 DEV-ENV.md rename QUICK-START.md => docs/QUICK-START.md (100%) create mode 100644 docs/ResolutionFlow_Pivot_Architecture.docx rename ARCHITECTURE.md => docs/archive/ARCHITECTURE.md (100%) rename BACKLOG.md => docs/archive/BACKLOG.md (100%) rename CLAUDE-SETUP.md => docs/archive/CLAUDE-SETUP.md (100%) rename IMPLEMENTATION-SUMMARY-ISSUE-34.md => docs/archive/IMPLEMENTATION-SUMMARY-ISSUE-34.md (100%) rename MICHAEL-NOTES.md => docs/archive/MICHAEL-NOTES.md (100%) rename PHASE-2.5-PERSONAL-BRANCHING.md => docs/archive/PHASE-2.5-PERSONAL-BRANCHING.md (100%) rename REBRAND-IMPLEMENTATION-GUIDE.md => docs/archive/REBRAND-IMPLEMENTATION-GUIDE.md (100%) rename TS-EXAMPLES.md => docs/archive/TS-EXAMPLES.md (100%) rename WORKSPACE-REMOVAL-PLAN.md => docs/archive/WORKSPACE-REMOVAL-PLAN.md (100%) create mode 100644 docs/marketing/resolutionflow-one-pager-print.html create mode 100644 docs/marketing/resolutionflow-one-pager-print.pdf create mode 100644 docs/marketing/resolutionflow-one-pager.html create mode 100644 docs/marketing/resolutionflow-one-pager.pdf diff --git a/CLAUDE.md b/CLAUDE.md index 2abba3d4..d4343d40 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -27,7 +27,7 @@ - **Layout:** App shell with persistent sidebar + top bar + main content (CSS Grid). Two fixed atmosphere orbs (cyan top-right, purple bottom-left) behind the shell for ambient glow. See [UI-DESIGN-SYSTEM.md](UI-DESIGN-SYSTEM.md) - **Navigation:** Sidebar nav with type sub-items (All Flows → Troubleshooting / Projects / Maintenance). Pinned flows section for quick access. NO workspace switcher. See [UI-DESIGN-SYSTEM.md](UI-DESIGN-SYSTEM.md) - **Terminology:** User-facing label is "Flows" (not "Trees"). Procedural flows are called "Projects" in the UI. Maintenance flows are called "Maintenance" in the UI. `tree_type` column values unchanged in DB. -- **Rebrand guide:** [REBRAND-IMPLEMENTATION-GUIDE.md](REBRAND-IMPLEMENTATION-GUIDE.md) +- **Rebrand guide:** [REBRAND-IMPLEMENTATION-GUIDE.md](docs/archive/REBRAND-IMPLEMENTATION-GUIDE.md) **Component styling rules:** diff --git a/DEV-ENV.md b/DEV-ENV.md new file mode 100644 index 00000000..7a65f77c --- /dev/null +++ b/DEV-ENV.md @@ -0,0 +1,350 @@ +# DevServer01 Environment Setup & Operations Guide + +## Server Overview + +- **Hostname:** devserver01 +- **IP Address:** 192.168.0.9 +- **OS:** Ubuntu 25.10 (Questing Quokka) +- **CPU:** AMD Ryzen 3 PRO 3200GE w/ Radeon Vega Graphics +- **RAM:** ~5.2GB (some reserved by Vega iGPU) +- **Disk:** 57GB LVM volume (`/dev/mapper/ubuntu--vg-ubuntu--lv`), ~47GB free +- **Hardware:** Lenovo ThinkCentre Micro Tower + +## Docker Setup + +Docker was installed via the official convenience script: + +```bash +curl -fsSL https://get.docker.com | sh +sudo usermod -aG docker michael +``` + +Docker Compose is included with this installation. + +## Code-Server + +### Overview + +Code-server (codercom/code-server) runs in a Docker container, providing a browser-accessible VS Code instance at `https://192.168.0.9:8080`. It uses a custom Dockerfile to include additional tools like `gh` (GitHub CLI). + +### Custom Dockerfile + +Location: `~/docker/Dockerfile.code-server` + +```dockerfile +FROM codercom/code-server:latest + +USER root +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null && \ + apt update && apt install -y gh && \ + rm -rf /var/lib/apt/lists/* +USER coder +``` + +### Docker Compose File + +Location: `~/docker/docker-compose.yml` + +```yaml +services: + code-server: + build: + context: . + dockerfile: Dockerfile.code-server + container_name: code-server + environment: + - PASSWORD= + volumes: + - ./code-server/config/data:/home/coder/.local/share/code-server + - ./code-server/config/extensions:/home/coder/.local/share/code-server/extensions + - ./code-server/config/.config/code-server:/home/coder/.config/code-server + - ./projects:/projects + - ./code-server/certs:/certs + - /home/michael/.claude:/home/coder/.claude + ports: + - 8080:8443 + command: --bind-addr 0.0.0.0:8443 --cert /certs/cert.pem --cert-key /certs/key.pem /projects + user: "1000:1000" + restart: unless-stopped +``` + +### Key Details + +- **Container user:** `coder` (UID 1000) +- **Home directory inside container:** `/home/coder` +- **Projects mount:** Host `~/docker/projects` → Container `/projects` +- **Claude Code config mount:** Host `/home/michael/.claude` → Container `/home/coder/.claude` +- **HTTPS:** Self-signed certs via a custom Homelab CA +- **Internal port:** 8443 (code-server listens here) +- **External port:** 8080 (mapped to 8443 internally) +- **Access URL:** `https://192.168.0.9:8080` + +### SSL Certificates + +Location: `~/docker/code-server/certs/` + +A custom Certificate Authority (CA) was created for the homelab: + +- `ca.key` — CA private key +- `ca.crt` — CA certificate (imported into browsers to trust all homelab certs) +- `key.pem` — code-server private key +- `cert.pem` — code-server certificate (signed by CA) +- `server.cnf` — OpenSSL config with SANs for devserver01 + +The CA cert (`ca.crt`) has been imported into Firefox on client machines under Settings → Privacy & Security → Certificates → View Certificates → Authorities → Import → "Trust this CA to identify websites." + +### Volume Mapping Reference + +| Host Path | Container Path | Purpose | +|---|---|---| +| `~/docker/code-server/config/data` | `/home/coder/.local/share/code-server` | VS Code user data, settings | +| `~/docker/code-server/config/extensions` | `/home/coder/.local/share/code-server/extensions` | VS Code extensions | +| `~/docker/code-server/config/.config/code-server` | `/home/coder/.config/code-server` | code-server config | +| `~/docker/projects` | `/projects` | All project repos | +| `~/docker/code-server/certs` | `/certs` | SSL certificates | +| `/home/michael/.claude` | `/home/coder/.claude` | Claude Code config, plugins, skills, history | + +## Patherly / ResolutionFlow Dev Environment + +### Docker Compose (Dev) + +Location: `~/docker/projects/patherly/docker-compose.dev.yml` + +This runs the full Patherly/ResolutionFlow stack: + +- **PostgreSQL** (pgvector/pgvector:pg16) on port 5432 +- **Backend** (FastAPI/Uvicorn) on port 8000 +- **Frontend** (Vite/React) on port 5173 + +### Environment Files + +- `~/docker/projects/patherly/.env` — Backend secrets (SECRET_KEY, API keys, etc.) +- `~/docker/projects/patherly/frontend/.env` — Frontend config (VITE_API_URL) + +### Critical Configuration for Remote Access + +Since the dev environment is accessed from other machines on the LAN (not localhost), these settings are required: + +**Frontend `.env`:** +``` +VITE_API_URL=http://192.168.0.9:8000 +``` + +**Backend CORS_ORIGINS in `docker-compose.dev.yml`:** +```yaml +- CORS_ORIGINS=["http://localhost:3000","http://localhost:5173","http://127.0.0.1:3000","http://127.0.0.1:5173","http://192.168.0.9:5173","http://192.168.0.9:3000"] +``` + +The `192.168.0.9` entries are required because browsers make requests from the client machine, where `localhost` refers to the client — not devserver01. + +### Starting the Dev Environment + +```bash +cd ~/docker/projects/patherly +docker compose -f docker-compose.dev.yml up -d +``` + +### Running Migrations (Fresh Database) + +```bash +docker compose -f docker-compose.dev.yml run --rm backend alembic upgrade head +``` + +### Seeding Test Users + +```bash +docker exec resolutionflow_backend python -m scripts.seed_test_users +``` + +### Rebuilding After Frontend .env Changes + +Vite bakes environment variables at build time, so changes to `VITE_API_URL` require a rebuild: + +```bash +docker compose -f docker-compose.dev.yml down +docker compose -f docker-compose.dev.yml up -d --build +``` + +Backend environment changes (like CORS_ORIGINS) only need a restart, not a rebuild. + +### Access URLs + +- **Frontend:** `http://192.168.0.9:5173` +- **Backend API:** `http://192.168.0.9:8000` +- **API Docs:** `http://192.168.0.9:8000/docs` + +## Known Issues & Fixes + +### iptables DROP Rules Blocking Docker Traffic + +Docker routes container traffic through the FORWARD chain. Rogue DROP rules in the DOCKER chain can block all container networking. + +**Symptoms:** Container shows as running, port is listening via `ss`, but `curl` returns "Connection reset by peer" or "Connection refused" from other machines. + +**Diagnosis:** +```bash +sudo iptables -L DOCKER -n --line-numbers +``` + +Look for blanket DROP rules: +``` +2 DROP all -- 0.0.0.0/0 0.0.0.0/0 +3 DROP all -- 0.0.0.0/0 0.0.0.0/0 +``` + +**Fix:** +```bash +# Remove DROP rules (remove highest numbered first) +sudo iptables -D DOCKER 3 +sudo iptables -D DOCKER 2 +``` + +If the FORWARD chain has `policy DROP` and Docker containers can't communicate: +```bash +sudo systemctl restart docker +``` + +Docker rebuilds its iptables chains on restart. These rules don't persist across reboots by default — if they come back, something else is creating them. + +### Code-Server Port Mismatch + +The codercom/code-server image listens on port **8443** internally, not 8080. The compose file must map `8080:8443`: + +```yaml +ports: + - 8080:8443 +``` + +The code-server config file (`/home/coder/.config/code-server/config.yaml`) must bind to `0.0.0.0`, not `127.0.0.1`: + +```yaml +bind-addr: 0.0.0.0:8443 +``` + +If it says `127.0.0.1`, it will only accept connections from inside the container. + +### Permission Issues Inside Container + +The container runs as user `coder` (UID 1000). Host files mounted into the container must be owned by UID 1000: + +```bash +# Fix project permissions +sudo chown -R 1000:1000 ~/docker/projects + +# Fix code-server config permissions +sudo chown -R 1000:1000 ~/docker/code-server/config/ + +# Fix Claude Code config permissions +sudo chown -R 1000:1000 ~/.claude/ +``` + +### GitHub CLI (gh) Auth + +gh stores its config at `/home/coder/.config/gh/`. If it fails with permission denied: + +```bash +docker exec -u root code-server mkdir -p /home/coder/.config/gh +docker exec -u root code-server chown -R 1000:1000 /home/coder/.config +``` + +## Useful Commands + +### Check all running containers +```bash +docker ps +``` + +### View logs for a specific container +```bash +docker logs --tail 30 +``` + +### Restart code-server +```bash +cd ~/docker +docker compose up -d +``` + +### Rebuild code-server (after Dockerfile changes) +```bash +cd ~/docker +docker compose down +docker compose up -d --build +``` + +### Restart dev environment +```bash +cd ~/docker/projects/patherly +docker compose -f docker-compose.dev.yml down +docker compose -f docker-compose.dev.yml up -d +``` + +### SSH into devserver01 +```bash +ssh michael@192.168.0.9 +``` + +### Check what's listening on ports +```bash +sudo ss -tlnp | grep +``` + +### Check firewall / iptables +```bash +sudo ufw status +sudo iptables -L -n --line-numbers +sudo iptables -L DOCKER -n --line-numbers +``` + +### Execute commands inside containers +```bash +# As default user +docker exec code-server + +# As root +docker exec -u root code-server + +# Interactive shell +docker exec -it code-server bash +``` + +## Network Info + +- **Server IP:** 192.168.0.9 +- **Docker bridge network:** 172.17.0.0/16 and 172.18.0.0/16 +- **Host user:** michael (UID 1000) +- **Container user:** coder (UID 1000) — same UID allows seamless file sharing via volume mounts + +## Code-Server Browser Tips + +- **Command Palette:** `F1` (not Ctrl+Shift+P, which opens Firefox private window) +- **Context Menu (right-click):** `Alt + Right Click` +- **Terminal:** `` Ctrl+` `` +- **Rename file:** `F2` +- **Go to definition:** `F12` +- **Find references:** `Shift+F12` + +## Adding New Tools to Code-Server + +To permanently add tools (survive container restarts), add them to `~/docker/Dockerfile.code-server`: + +```dockerfile +USER root +RUN apt update && apt install -y && rm -rf /var/lib/apt/lists/* +USER coder +``` + +Then rebuild: +```bash +cd ~/docker +docker compose down +docker compose up -d --build +``` + +For temporary installs (gone after restart): +```bash +docker exec -u root code-server apt update +docker exec -u root code-server apt install -y +``` \ No newline at end of file diff --git a/QUICK-START.md b/docs/QUICK-START.md similarity index 100% rename from QUICK-START.md rename to docs/QUICK-START.md diff --git a/docs/ResolutionFlow_Pivot_Architecture.docx b/docs/ResolutionFlow_Pivot_Architecture.docx new file mode 100644 index 0000000000000000000000000000000000000000..bbd3e4ebd54f4a96e370945d4ab406a2495f848a GIT binary patch literal 28287 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 literal 0 HcmV?d00001 diff --git a/ARCHITECTURE.md b/docs/archive/ARCHITECTURE.md similarity index 100% rename from ARCHITECTURE.md rename to docs/archive/ARCHITECTURE.md diff --git a/BACKLOG.md b/docs/archive/BACKLOG.md similarity index 100% rename from BACKLOG.md rename to docs/archive/BACKLOG.md diff --git a/CLAUDE-SETUP.md b/docs/archive/CLAUDE-SETUP.md similarity index 100% rename from CLAUDE-SETUP.md rename to docs/archive/CLAUDE-SETUP.md diff --git a/IMPLEMENTATION-SUMMARY-ISSUE-34.md b/docs/archive/IMPLEMENTATION-SUMMARY-ISSUE-34.md similarity index 100% rename from IMPLEMENTATION-SUMMARY-ISSUE-34.md rename to docs/archive/IMPLEMENTATION-SUMMARY-ISSUE-34.md diff --git a/MICHAEL-NOTES.md b/docs/archive/MICHAEL-NOTES.md similarity index 100% rename from MICHAEL-NOTES.md rename to docs/archive/MICHAEL-NOTES.md diff --git a/PHASE-2.5-PERSONAL-BRANCHING.md b/docs/archive/PHASE-2.5-PERSONAL-BRANCHING.md similarity index 100% rename from PHASE-2.5-PERSONAL-BRANCHING.md rename to docs/archive/PHASE-2.5-PERSONAL-BRANCHING.md diff --git a/REBRAND-IMPLEMENTATION-GUIDE.md b/docs/archive/REBRAND-IMPLEMENTATION-GUIDE.md similarity index 100% rename from REBRAND-IMPLEMENTATION-GUIDE.md rename to docs/archive/REBRAND-IMPLEMENTATION-GUIDE.md diff --git a/TS-EXAMPLES.md b/docs/archive/TS-EXAMPLES.md similarity index 100% rename from TS-EXAMPLES.md rename to docs/archive/TS-EXAMPLES.md diff --git a/WORKSPACE-REMOVAL-PLAN.md b/docs/archive/WORKSPACE-REMOVAL-PLAN.md similarity index 100% rename from WORKSPACE-REMOVAL-PLAN.md rename to docs/archive/WORKSPACE-REMOVAL-PLAN.md diff --git a/docs/marketing/resolutionflow-one-pager-print.html b/docs/marketing/resolutionflow-one-pager-print.html new file mode 100644 index 00000000..c46bbd31 --- /dev/null +++ b/docs/marketing/resolutionflow-one-pager-print.html @@ -0,0 +1,393 @@ + + + + +ResolutionFlow — Flyer + + + +
+ + +
+
+ + + + + + + + + + + + + + + +
ResolutionFlow
+
+

Stop Reinventing Fixes.
Build a Knowledge Engine.

+

Guided troubleshooting flows, AI-assisted resolution, and auto-generated ticket documentation for MSP teams.

+
Built for Managed Service Providers
+
+ + +
+ + +
+

Your best engineers' knowledge shouldn't live only in their heads.

+

Every time a senior tech leaves, tribal knowledge goes with them. Junior engineers waste hours reinventing solutions that already exist. Ticket notes are inconsistent. Resolution times are unpredictable.

+
+ + +
+
+
//
+
+

Guided Troubleshooting Flows

+

Turn your best engineers' proven processes into reusable decision trees that anyone on the team can follow.

+
+
+
+
AI
+
+

AI Copilot (FlowPilot)

+

An AI assistant rides alongside every session, suggesting next steps and adapting to the situation in real time.

+
+
+
+
</>
+
+

Automatic Documentation

+

Every session generates professional ticket notes and pushes them directly to your PSA. No more writing notes by hand.

+
+
+
+
>>
+
+

Knowledge That Compounds

+

AI analyzes completed sessions and proposes new Flows automatically. Your knowledge base grows with every ticket resolved.

+
+
+
+ + +
+

How It Works

+
+
+
1
+

Build a Flow

+

Capture your team's troubleshooting processes as decision trees

+
+
+
+
2
+

Run a Session

+

Engineers follow the Flow with AI copilot guidance

+
+
+
+
3
+

Auto-Document

+

Session notes are generated and pushed to your PSA

+
+
+
+
4
+

Learn & Improve

+

AI proposes new Flows from sessions automatically

+
+
+
+ + +
+ Works with: + ConnectWise PSA + + Autotask + + Halo PSA + + Slack + + Teams + + Email +
+ + + + +
+
+ + diff --git a/docs/marketing/resolutionflow-one-pager-print.pdf b/docs/marketing/resolutionflow-one-pager-print.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ab5c80b497fb79520fc53df34bcaef1d1e707f1d GIT binary patch literal 30362 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 literal 0 HcmV?d00001 diff --git a/docs/marketing/resolutionflow-one-pager.html b/docs/marketing/resolutionflow-one-pager.html new file mode 100644 index 00000000..33f4ddd2 --- /dev/null +++ b/docs/marketing/resolutionflow-one-pager.html @@ -0,0 +1,487 @@ + + + + + +ResolutionFlow — One Pager + + + +
+ + +
+
+ + + + + + + + + + + + + + + + +
ResolutionFlow
+
+
resolutionflow.com
+
+ + +
+

Stop Reinventing Fixes.
Build a Knowledge Engine.

+

ResolutionFlow gives MSP engineers guided troubleshooting flows, AI-assisted resolution, and auto-generated ticket documentation — so your team resolves faster and never loses tribal knowledge.

+
+ + +
+
+

The Problem

+
    +
  • Senior techs solve the same issues from memory — juniors start from scratch every time
  • +
  • Ticket notes are inconsistent, incomplete, or missing entirely
  • +
  • Tribal knowledge walks out the door when people leave
  • +
  • No standard process means unpredictable resolution times
  • +
+
+
+

The ResolutionFlow Solution

+
    +
  • Decision-tree Flows capture your best engineers' proven troubleshooting paths
  • +
  • AI copilot guides techs step-by-step and suggests next actions in real time
  • +
  • Session documentation is auto-generated and pushed straight to your PSA
  • +
  • Knowledge Flywheel turns every session into a potential new Flow
  • +
+
+
+ + + +
+
+
//
+

Guided Flows

+

Build troubleshooting, project, and maintenance flows. Engineers follow proven paths instead of guessing.

+
+
+
AI
+

FlowPilot AI

+

AI copilot rides alongside the engineer — suggests options, explains context, and adapts to the situation.

+
+
+
</>
+

Auto Documentation

+

Every session generates professional ticket notes. Export as Markdown, HTML, PDF, or push directly to your PSA.

+
+
+
>>
+

Knowledge Flywheel

+

AI analyzes completed sessions and proposes new Flows automatically. Your knowledge base grows with every ticket.

+
+
+
<>
+

PSA Integration

+

Link sessions to tickets, pull client context, push notes — all without leaving ResolutionFlow.

+
+
+
*
+

Team & RBAC

+

Multi-tenant teams with role-based access. Admins, engineers, and viewers — each sees what they need.

+
+
+ + +
+ +
+
+
1
+
Build a Flow
+

Create decision trees from your team's best troubleshooting processes

+
+
+
2
+
Run a Session
+

Engineer follows the Flow with AI copilot guidance on every step

+
+
+
3
+
Auto-Document
+

Session notes generated and pushed to your PSA ticket automatically

+
+
+
4
+
Learn & Improve
+

AI proposes new Flows from sessions — your knowledge compounds

+
+
+
+ + +
+
+

Integrations & Compatibility

+
+ ConnectWise PSA + Autotask (Coming Soon) + Halo PSA (Coming Soon) + Slack + Teams + Email + PDF / Markdown Export +
+
+
+

See It In Action

+

Book a 15-minute demo and see how ResolutionFlow transforms your team's troubleshooting.

+ +
Free trial available - No credit card required
+
+
+ +
+ + diff --git a/docs/marketing/resolutionflow-one-pager.pdf b/docs/marketing/resolutionflow-one-pager.pdf new file mode 100644 index 0000000000000000000000000000000000000000..97b0548c3e8ecade3a6b16633e009b14df2c522d GIT binary patch literal 40076 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 bi%SxVN-By{)3}U*7pa