Skip to content

Commit 0226afe

Browse files
Zaid Salemclaude
authored andcommitted
docs(p6): consolidated Zaid-gated action checklist (path to first revenue)
Phase 6. Single ordered list of everything a model can't do: deploy Phase 1 (+ ! commands + NTFY_TOPIC), legal/billing hard gates (licensed-operator, Paddle KYC, revoke test key), grants (OTF submit, DPG, OSC, Meedan), Tier 2 pipeline refreshes (westbank re-fetch, stale categories), Gaza spec approval + inputs, checkpoint resident-confirm, and the 10-email outreach with the new sell sheets. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 309e26f commit 0226afe

1 file changed

Lines changed: 114 additions & 0 deletions

File tree

docs/ZAID-ACTIONS.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Zaid-gated actions — the path to first revenue
2+
3+
Everything a model **cannot** do for you, consolidated from the ACLED-packaging
4+
run (2026-07-20). Ordered by leverage. Companion to [`P5-PLAN.md`](./P5-PLAN.md),
5+
[`MONETIZATION.md`](./MONETIZATION.md), [`PACKAGES.md`](./PACKAGES.md). The
6+
engineering (tiers, funnel, packages, audit) is done and committed on `main`,
7+
unpushed — see "Deploy" below.
8+
9+
---
10+
11+
## 0. Deploy Phase 1 (make the tiers real) — NOW, ~10 min
12+
13+
Local `main` has 6 commits ready (rate limiting, access-request funnel, packages,
14+
grant refresh, Tier 2 encoding fix, Gaza spec). Run these (verify between each):
15+
16+
```
17+
! cd ~/Zlab/palestine-data-backend && git push origin main
18+
! ssh zaid@100.99.243.75 "bash /opt/stacks/palestine/deploy.sh"
19+
! curl -sS https://wb-alerts.zaidlab.xyz/health && echo
20+
! curl -sS -D- -o/dev/null https://wb-alerts.zaidlab.xyz/alerts/latest | grep -i x-ratelimit
21+
```
22+
23+
**Set the ntfy topic** so access requests hit your phone (the endpoint stores the
24+
request either way, but skips the push until this is set). On the databank
25+
container's env (`/opt/stacks/palestine/docker-compose.override.yml`, the
26+
`api`/`palestine-data-api` service), add:
27+
28+
```
29+
- NTFY_TOPIC=<your-ntfy-topic>
30+
# optional if self-hosted: - NTFY_URL=https://ntfy.yourhost
31+
```
32+
then `docker compose up -d --force-recreate api`.
33+
34+
**Verify the funnel end-to-end:**
35+
```
36+
! curl -sS -X POST https://api.zaidlab.xyz/api/v1/access-request -H 'Content-Type: application/json' -d '{"email":"you@example.com","org":"self-test","tier":"organization","use_case":"deploy smoke test"}'
37+
```
38+
Expect `{"ok":true,...,"notified":true}` and an ntfy push. Then open
39+
`https://api.zaidlab.xyz/pricing.html` and submit the form once.
40+
41+
**Watch after deploy:** confirm the public live map (live.zaidlab.xyz) still loads
42+
— rate limiting is per-visitor (X-Forwarded-For), so it should; if the map 429s,
43+
cloudflared isn't passing XFF and the anonymous ceiling needs raising in
44+
`services/westbank-alerts/app/tiers.py`.
45+
46+
---
47+
48+
## 1. Legal + billing rails — HARD GATES before the first invoice
49+
50+
1. **Licensed-operator registration (مشتغل مرخص)** — REQUIRED before invoicing
51+
(Decision Log 2026-07-06). Status unconfirmed; this is the true blocker on
52+
revenue, not engineering. Confirm/complete.
53+
2. **Paddle KYC test** — open a Paddle account with West Bank details; PASS/FAIL
54+
is the data point (self-serve card payments depend on it).
55+
3. **Request Finance** — open an account (crypto-invoicing hedge).
56+
4. **Bank of Palestine / Arab Bank** — confirm inbound-USD-SWIFT cost + compliance
57+
questions for service income.
58+
5. **Revoke the test key** before the first real customer:
59+
`docker exec palestine-data-api node scripts/manage-keys.js` — revoke
60+
`pdb_live_5044…d846` (ngo tier, in prod keys.db).
61+
62+
## 2. Grants — highest EV, parallel to sales
63+
64+
1. **Submit the OTF concept note**`docs/grants/OTF-concept-note.md` is refreshed
65+
with the current numbers (295k records, published accuracy, enforced tiers).
66+
Fill the one ⟨FILL⟩ (OSC status), then submit at apply.opentech.fund.
67+
2. **Register as a Digital Public Good** (digitalpublicgoods.net).
68+
3. **Open Source Collective fiscal hosting** — apply; ask support explicitly about
69+
payout to a Palestinian bank before relying on it.
70+
4. **Meedan IMRF** — send the paste-ready email in `docs/grants/GRANTS-PACK.md`.
71+
72+
## 3. Data pipeline refreshes (Tier 2 audit remediation)
73+
74+
From `analysis/databank-audit-2026-07-20/FINDINGS.md`:
75+
76+
1. **Flush the westbank mojibake** (fix is committed): re-run the West Bank
77+
shapefile fetch → re-populate → deploy, so served Arabic is clean.
78+
`npm run fetch:westbank` (or the pipeline equivalent) then the unified rebuild.
79+
2. **Refresh stale categories:** `settlements` (931d), `aid_access` (549d),
80+
`pcbs` (564d) most; `health`/`food` moderate.
81+
3. Optional: decide the annual-bucket date convention (D3) so future-dated
82+
annual rows stop inflating `date_range.latest`.
83+
84+
## 4. Gaza live — approve the spec + provide inputs
85+
86+
`docs/superpowers/specs/2026-07-20-gaza-live-design.md` is ready for review. To
87+
unblock the build round, provide (§9):
88+
89+
1. **Gaza Telegram channel list** to whitelist (needs your Telegram account).
90+
2. Confirm **OCHA / WHO / UNRWA** facility/shelter/zone datasets are fetchable +
91+
their licenses.
92+
3. Pick the **evacuation-order source(s)** to trust.
93+
4. Confirm the v1 scope (casualties + facility-status + evacuation; defer
94+
aid-convoy/displacement to v2).
95+
96+
## 5. Checkpoint accuracy (in progress) — resident confirmation
97+
98+
Task #33. Batch 1 (top 15 checkpoints by report frequency) was presented and
99+
awaits your coordinate corrections. Then: apply as `geo_precision: checkpoint`,
100+
re-seed, continue batches; merge the 4 duplicate pairs; fix the
101+
`كراميلو الطيبه` coord (~70km off — should be Jericho المعرجات, not Jenin lat).
102+
103+
## 6. Outreach — the funnel bottleneck ("Zaid sending, not systems")
104+
105+
Once §0–1 are done, send **10 targeted emails** (not mass) using the sell sheets
106+
in `docs/sell-sheets/`:
107+
108+
- **Newsroom** (`newsroom.md`) → a data-journalism desk covering Palestine.
109+
- **University lab** (`university-lab.md`) → a conflict-quantification / MENA lab.
110+
- **Risk-intel** (`risk-intel.md`) → a regional risk shop (lead with the live
111+
webhook demo — 245 checkpoints is the thing they can't buy elsewhere).
112+
113+
First 3 customers: founding-org $99/mo locked 12 months for a named testimonial.
114+
Log each: `pitch | pdb <org>`.

0 commit comments

Comments
 (0)