Skip to content

Latest commit

 

History

History
220 lines (169 loc) · 11.4 KB

File metadata and controls

220 lines (169 loc) · 11.4 KB

TODO — DataSignals funnel v4.0

Openstaande stappen die een key of een handmatige dashboardactie vereisen. Alles hieronder blokkeert de machine niet: elke pipeline draait en logt, en valt zonder key terug op outbox + Telegram of een placeholder.

Klaar om te mergen (11 juli): claude/wp-g-reasoning (redeneerlaag + trackrecord) en claude/wp-h-ratelimit (edge-cache voor /api/*) staan klaar, beide met groene build/consistentiecheck en een schone diff. Merge in die volgorde (zie de merge-instructies die bij deze oplevering horen). De twee cron-regels van § 0b staan al idempotent in de crontab; ze leveren de dagverse stand zodra wp-g op main staat en landing-live heeft gedeployd.

Ontbrekende keys (sectie 1)

Key Status Waarvoor Waar zetten
APIFY_TOKEN ✅ aanwezig (~/.apify/auth.json) actordata, schedules —
LEMONSQUEEZY_API_KEY ✅ aanwezig (8 juli, secrets.env) orders/watermerk, abonneelijst-backup, MRR in healthmail —
RESEND_API_KEY ❌ ontbreekt mailreeks, digest, alerts, healthmail config/secrets.env (regel RESEND_API_KEY=...)
X_API_KEY n.v.t. X_AUTOPOST=off, queue wordt handmatig geplaatst —

config/secrets.env bestaat (met ALERT_EMAIL); de mailkeys komen daar als extra regels bij. Tot de mailkeys er zijn gaan alle mails naar emails/outbox/ plus een Telegram-melding, zodat niets stilletjes verdwijnt.

0a. Werkpakket G (redeneerlaag) — merge + twee cron-regels

Branch claude/wp-g-reasoning staat klaar (build groen, consistentiecheck groen, geen prijswijzigingen, geen bouwgereedschap-verwijzingen). Wacht op jouw merge naar main (Tier 2). Ná de merge: twee cron-regels toevoegen voor de dagelijkse verse herberekening — exacte regels in MENSENWERK.md § 0b. Zonder die regels bouwt de pagina wel mee bij elke deploy, maar ververst hij niet dagelijks vanzelf.

0. Mailbox support@datasignalslab.com bevestigen

support@datasignalslab.com is overal het publieke contact- en alertadres (config/pricing.json, SEC User-Agents, actor-contactvelden). Controleer in het Hostnet-paneel (MX staat al bij Hostnet) dat die mailbox of doorstuurregel echt bestaat en doorstuurt naar het persoonlijke adres. Bestaat hij nog niet: aanmaken als doorstuuradres, 2 minuten werk. Pas daarna het adres eventueel zichtbaar op de site zetten (footer/FAQ) — nu staat er bewust nog geen mailadres op de site.

1. Pro-checkout — ✅ KLAAR (6 juli)

De Pro-checkouts (maand + jaar) staan live in config/pricing.json; de consistentiecheck bewaakt de links. Nog wel in het LS-dashboard doen:

  1. Controleer dat de Lemon Squeezy productteksten GEEN geld-terug-belofte bevatten (RONDE_2 punt 2: de 14-dagen-garantie is overal ingetrokken; refunds lopen feitelijk en zonder termijnbelofte via Lemon Squeezy).
  2. Werk de 13F-productteksten bij naar 18 fondsen: kopieer de nieuwe tekst uit products/LEMONSQUEEZY_LISTING_13f_report.md (de LS-API is read-only voor producten, dus dit kan alleen in het dashboard).

1b. Proefaankoop (ketentest met echt geld, sectie 18)

Het smoke-test-script (scripts/smoke_chain.py, wekelijks via cron) bewaakt de keten zonder betaling. Eén echte proefaankoop blijft mensenwerk:

  1. Koop met een echte kaart het Congress-snapshot ($19) via de site.
  2. Controleer: levering per mail met de /r/-link, en of de link werkt.
  3. Koop DataSignals Pro (maand, $29) en controleer de Pro-URL (/pro/-link).
  4. Controleer dat je als Pro-koper de eerstvolgende dagelijkse alertmail en op de 1e de maandmail ontvangt (zodra Resend actief is).
  5. Vraag voor de Pro-aankoop een refund aan via support@datasignalslab.com en verwerk hem in het LS-dashboard (Orders → Refund) — dan is de afhandelroute eenmaal end-to-end bewezen.

1c. Google Search Console en Bing Webmaster koppelen (sectie 11)

De site is er klaar voor: metatag-injectie via config/search_console.json, verificatiebestanden via config/verification/, sitemap en robots kloppen. De accounts zelf zijn mensenwerk (15 minuten):

  1. https://search.google.com/search-console → Add property → Domain: datasignalslab.com. Google toont een TXT-record (google-site-verification=...): zet dat bij Hostnet als TXT op de hoofdnaam (@). Of kies URL-prefix en zet het token in config/search_console.json bij google_site_verification en bouw + deploy.
  2. Na verificatie: Sitemaps → https://datasignalslab.com/sitemap.xml indienen.
  3. https://www.bing.com/webmasters → Add site (kan importeren uit Search Console, dan ben je meteen klaar). Anders: token in config/search_console.json bij bing_msvalidate_01, bouw + deploy.
  4. Controleer na een week in Search Console → Pages of de rapportpagina's en blogartikelen geïndexeerd raken.

2. Resend koppelen (mailreeks, digest, alerts, healthmail)

DNS-stappenplan met de exacte records staat in todo/DNS_HOSTNET.md. Volg daarna emails/README.md:

  1. Account op resend.com, domein datasignalslab.com verifiëren (SPF + DKIM DNS-records die Resend toont).
  2. Key in config/secrets.env als RESEND_API_KEY=....
  3. Audiences aanmaken (Free en Pro) en de ID's invullen op de plaats van TODO_FREE_LIST en TODO_PRO_LIST in scripts/emails_build.py.
  4. Vervang TODO_POSTADRES in scripts/emails_build.py door een echt postadres (wettelijk verplicht in commerciële mail).

3. Lemon Squeezy API-key — ✅ KLAAR (8 juli)

Key staat in config/secrets.env. Geverifieerd op 8 juli: API bereikbaar (store 415965), ketentest groen (6 checkout-UUID's in de API, Pro-share-link live gecheckt), abonneelijst-backup gedraaid (maintenance/backup/2026-07.tar.gz), healthmail toont abonnees + MRR.

3b. Watermerk gekoppeld — ✅ engine + koppeling live (8 juli)

scripts/watermark_orders.py draait elk uur (cron :25): leest betaalde orders read-only uit de LS-API, genereert per order een gewatermerkte kopie (koper + ordernummer, drie lagen) op een onraadbaar /r/o/-pad en mailt de koper de persoonlijke link. Zonder Resend-key landt die mail in emails/outbox/; de generieke LS-leverlink blijft intussen gewoon werken.

Nog een menselijke afrondstap ZODRA Resend live is: zet in het LS-dashboard in de levertekst van de betaalde producten een regel bij: "A personal copy, licensed to you, arrives by email within the hour." Dan is de gewatermerkte kopie de hoofdroute in plaats van de bijlage.

4. GoatCounter activeren (meetbaarheid, sectie 16)

  1. Gratis account op goatcounter.com, sitecode kiezen (bijv. datasignals).
  2. Code invullen in config/analytics.json bij goatcounter_code.
  3. python3 build_static.py en deployen. De site meet dan paginaweergaven plus de events preview_submit, checkout_click_snapshot en checkout_click_pro; de healthmail linkt naar het dashboard.

4b. Actor-READMEs en Smithery-listing publiceren (fair-use ladder + kernzin)

De bron-READMEs van alle 14 actors dragen nu de fair-use-ladder (Pro = 2000 MCP-calls/maand) EN de kernzin uit config/pricing.json (value_prop, RONDE_FINAL punt 2). De Apify Store toont de oude tekst tot de eerstvolgende push: cd ~/apify && bash push_all.sh (of per actor apify push). Werk daarna ook de Smithery-listingtekst bij (dashboard): zelfde limieten, en zet de kernzin er letterlijk in als eerste regel van de beschrijving:

The only signal source in this niche with a daily verifiable track record, confluence across every data stream, and direct agent access over MCP.

4d. Agent-registers en -directories (RONDE_FINAL punt 5.5)

Inventarisatie 8 juli 2026. Al geregeld (geen actie):

  • ✅ Official MCP Registry: com.datasignalslab/datasignals-lab-mcp
  • ✅ Smithery: listing live (alleen de host-fix uit punt 5 hieronder)
  • ✅ Apify Store: 13 actors + MCP-server
  • ✅ PulseMCP: automatisch geindexeerd vanuit het officiele register (geverifieerd 8 juli: listing "DataSignals Lab", ~36 bezoekers/week)

Nog te doen (vereist eenmalig inloggen, ~10 min/stuk):

  1. awesome-mcp-servers (GitHub-PR). API-fork werd geblokkeerd ("cannot fork at this time"), dus eenmalig via de browser: log in als datasignalslab, fork punkpeye/awesome-mcp-servers, open README.md, voeg in de sectie "Finance & Fintech" direct na de regel van dan1d/cobroya deze regel toe en open een PR met titel "Add datasignalslab/datasignals-mcp (Finance & Fintech)":

    - [datasignalslab/datasignals-mcp](https://github.com/datasignalslab/datasignals-mcp) 🐍 ☁️ - Scored signals from official US public data: SEC insider clusters, Form 144 selling, 13D/G activist stakes, 13F consensus, 8-K events, Form D raises, congress trades, FDA approvals, trial catalysts, government contracts and crypto momentum. 17 tools, every result links to the official filing. Remote at `https://datasignalslab--datasignals-mcp.apify.actor/mcp`.
    
  2. Glama.ai: ga naar glama.ai/mcp/servers, log in met de datasignalslab-GitHub, claim/voeg de repo datasignalslab/datasignals-mcp toe. Glama indexeert publieke GitHub-MCP-repos grotendeels zelf.

  3. mcp.so: knop "Submit", inloggen met GitHub, repo-URL plakken.

  4. Cline MCP marketplace: issue openen op cline/mcp-marketplace met repo-URL + logo (assets/datasignalslab-profile.svg) + korte beschrijving.

  5. Docker MCP Catalog / mcpmarket.com: lage prioriteit, vereisen extra accounts; alleen doen als 1-4 klaar zijn.

4e. x402-vlag controleren (bericht Apify 8 juli)

Alle 13 actors voldoen al aan de x402-eisen (pay-per-event + limited permissions, geverifieerd 8 juli via de API); er is niets te migreren. Op 8 juli stonden 2 van de 13 op allowsAgenticUsers=true (app-store-review, fda). Rond 15 juli checken of de rest is bijgetrokken:

curl -s "https://api.apify.com/v2/store?username=datasignalslab&allowsAgenticUsers=true&limit=20"

Nog steeds 2? Dan een korte supportvraag aan Apify waarom de overige 11 (zelfde prijsmodel, zelfde permissions) niet geflagd zijn. De MCP-server zelf draait standby en valt buiten x402 ("Standby support is coming later"), maar die is toch gratis.

4c. X-bio bijwerken (kernzin, RONDE_FINAL punt 2.4)

Werk de X-bio van het account bij zodat hij de kernzin draagt. Suggestie (binnen 160 tekens):

Official filings, turned into scored signals. Daily verifiable track record, cross-stream confluence, MCP access for AI agents. datasignalslab.com

Feitelijk, geen hashtags nodig; de site-link doet het werk.

5. Smithery: verbindings-URL bevat nog de oude accountnaam

Het registry-record van datasignalslab/datasignals-lab toont als verbindings-URL nog datasignals-lab--keith-ruitenbach.run.tools (proxy-host uit de oorspronkelijke account-namespace). De listing-URL zelf is al naamvrij. CLI-republish en API-PATCH kunnen dit veld niet wijzigen (geprobeerd op 6 juli; de scanner blokkeert op onze ?token=-auth, de PATCH-API accepteert alleen metadata-velden). Twee routes, in het Smithery-dashboard:

  1. Server → Settings: als daar een veld "Endpoint/Connection URL" staat, zet het op https://datasignalslab--datasignals-mcp.apify.actor/mcp en sla op.
  2. Staat dat veld er niet: vraag Smithery-support de deployment-host te hernoemen naar de datasignalslab-namespace. Verwijder op de releases-pagina ook de twee hangende releases van 6 juli.

6. Pro MCP-keys (kan wachten tot de eerste Pro-abonnee)

De MCP-server draait op Apify; de gratis limiet staat in config/pricing.json. Persoonlijke Pro-keys uitgeven kan via Apify (Store → actor → toegang) zodra een abonnee erom vraagt; tot die tijd is de Pro-omgeving op /pro/<token>/ de levering.