Skip to content

Clean up and organize documentation files - #2

Draft
ElenaRevicheva wants to merge 1 commit into
mainfrom
cursor/clean-up-and-organize-documentation-files-claude-4.5-sonnet-thinking-c43b
Draft

Clean up and organize documentation files#2
ElenaRevicheva wants to merge 1 commit into
mainfrom
cursor/clean-up-and-organize-documentation-files-claude-4.5-sonnet-thinking-c43b

Conversation

@ElenaRevicheva

Copy link
Copy Markdown
Owner

Delete multiple .md files as requested by the user.


Open in Cursor Open in Web

Co-authored-by: elena.revicheva2016 <elena.revicheva2016@gmail.com>
@cursor

cursor Bot commented Nov 24, 2025

Copy link
Copy Markdown
Contributor

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

ElenaRevicheva referenced this pull request May 14, 2026
…r GEO

Root cause: 10-topic rotation recycled keywords every 10 days → same title →
same slug → Dev.to 422 "Canonical URL has already been taken" → publish silently
failed, old April post stayed visible in blog index.

Fixes:
- HASHNODE_TOPIC_BRIEFS: expanded from 10 → 20 topics (full month without repeat)
  Added: HubSpot CRM automation, fractional CTO, LangGraph, pgvector RAG, B2B
  lead gen, BrightData enrichment, content pipeline, Telegram agent, AI hiring,
  startup infra cost
- slugAlreadyPublished(): checks blog-posts-cache.json before Dev.to POST;
  appends YYYY-MM-DD to title on collision, writes unique slug to cache
- ARTICLE_SYSTEM: requires ## Frequently Asked Questions section (3-5 Q&A pairs)
- validateArticle: gates on FAQ section presence + minimum 3 Q&A pairs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request May 20, 2026
Voice handler created Trello cards but never called saveKnowledge(), so
Lambda sprint briefing had no context from voice messages.

- telegram-bot.ts: add saveKnowledge(voice_note) call in both Trello
  return paths (processMultiAction + createTrelloCardFromTranscript)
- cto-aipa.ts: extend /sprint-knowledge endpoint to also fetch
  voice_note category (limit 10) alongside diary + tasks
ElenaRevicheva referenced this pull request May 20, 2026
Living reference of [STREAM-AGENT] dealname prefixes (Step 1 of HubSpot
dashboard cleanup, deployed May 20 2026). Lists 5 active prefixes, 6 reserved
for future writers, and code examples for pushHiringDealToHubSpot /
pushLeadToHubSpot / direct POST /api/crm-event callers.

Pairs with Claude memory project_hubspot_dashboard.md (richer context + smoke
test command + xAI key location).
ElenaRevicheva referenced this pull request May 25, 2026
…ening)

- SKILL.md: Interview story #4 (Reposition a 7-month-old agent without
  breaking its brand) + new May 25 evening proof point + operational
  reference (commit 294efee in dragontrade-agent).
- WIRING_CONDUCTOR_WEEK1.md: close xAI key wiring (was "available, not
  wired") + close Algom cycle repositioning. Surface NEW red: dragontrade-
  main thread-posting 403 duplicate-content loop (pre-existing, not from
  this patch).
- ORACLE_ALL_PRODUCTS_RESILIENCE.md: append XAI status update marking
  option (1) Grok-routing wired in dragontrade-agent; document log
  verification anchors; note POST_INTERVAL_MIN/MAX env-vs-code-default
  alignment for future ops. Options (2) CTO AIPA Grok + (3) team X API
  remain pending separate sessions.

Posting identity unchanged across the change: bot still ships as
@reviceva personal X dev account; rhino-sneezing-lemon team credits drain
only on the educational slot via the xAI key, never the X posting path.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
ElenaRevicheva added a commit that referenced this pull request May 25, 2026
SKILL.md, WIRING_CONDUCTOR_WEEK1.md, ORACLE_ALL_PRODUCTS_RESILIENCE.md
all get late-evening sections covering:

- Sustained engagement loop proof: 2 cycles back-to-back at 14:50:03
  and 15:30:03 UTC on @reviceva, 4 unique users engaged
  (@Crypto__fi, @solanamultibuy, @gi_dutraa, @CNBIGBUYS), 48h dedup state
  working (cycle #2 correctly skipped the cycle #1 users). PM2 restart
  count steady at 1251 across 46+ min uptime — morning crashloop fix
  holds.

- Hashnode->DailyBlog rename (commit 1565895): full mapping table of
  renamed env vars + functions + constants + HTTP routes. Backward
  compat preserved (env vars: process.env.NEW ?? process.env.OLD; HTTP
  routes: /hashnode/* aliases 307-redirect to /blog/*). Out of scope:
  src/blog-es-bundle.ts still uses Hashnode public GraphQL as vestigial
  source for legacy Spanish translation cache — not the publish target.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request May 25, 2026
…h + silent-skip noise

OPERATOR FEEDBACK: "i need cto aipa sending me reasonable messages on telegram
about triage, marketing, outreach, leads, inbound, outbound, UTM etc - but these
messages should be fulfilled with actual, real, proved data and be understandable
for me - they should play true impact on my being hired and getting clients /
monetization process. please make it work for me, not empty gun anymore and noise"

ROOT CAUSE: the 4 daily Telegram messages (Prospect ingestion, Phase 4 outreach,
AIdeazz inbound, Lead Brief) all read from Oracle tables that are now empty or
all-archived because real lead activity flows into HubSpot since May 24 (response_
detector + crm-event wiring). The messages were technically correct but useless.

SOLUTION: apply the morning briefing's "realIssues[] — only fire when there's
something actionable" pattern to all 4 messages, AND query HubSpot for actionable
deals (qualifiedtobuy + contractsent client stages + recruiter_responded /
interview_scheduled / offer_received hiring stages).

CHANGES:

A. src/hubspot-client.ts: new getActionableHubSpotDeals() — queries deals in
   stages that represent "needs my attention right now" across both client and
   hiring pipelines. Sorted by last-modified desc so freshest signals surface.
   Used by Lead Brief; reusable by future enrichments.

B. src/prospect-ingest.ts: SUPPRESS Telegram when 0 new companies. Pure silence
   beats "0 new" noise.

C. src/marketing-weekly-digest.ts: SUPPRESS Telegram when 0 inquiries. Lead
   activity flows into HubSpot now, not business_leads.

D. src/lead-triage.ts buildDailyBrief: now returns string | null. Queries HubSpot
   actionable deals; returns null on truly quiet days (0 Oracle signals + 0
   HubSpot actionable). Otherwise renders a brief that leads with HubSpot deals
   needing action TODAY — with stage hints (🔥 act today, 💬 they replied,
   🎯 recruiter, 📅 interview, 🏆 offer) and days-since-modified.

E. src/cto-aipa.ts triage cron: respects null brief — Telegram SUPPRESSED on
   quiet days.

F. src/outreach.ts runDailyOutreachCycle: only sends Phase 4 summary when
   something actionable happened (sent > 0, autoMarkedInvalid > 0, real errors,
   or verify/draft activity). Skip on quiet cycles.

G. src/telegram-bot.ts /triage_urgent: handles null brief with a concrete
   "0 actionable signals right now" reply (vs silent failure on manual command).

PROOF (live test against HubSpot):
buildDailyBrief() now produces output like:
  📥 Lead Brief — Mon, May 25
  🎯 HubSpot deals needing action (10):
    🔥 [HIRING-VJH-SERP-LEAD] Remote GTM Automation Lead Pipeline & Revenue Ops @ Cresta — 2d
    🔥 [HIRING-VJH-SERP-LEAD] Founding Engineer – AI & Compute @ decircle — 2d
    🔥 [HIRING-VJH-SERP-LEAD] Manager, AI Agents and Platform @ Jerry.ai — 2d
    🔥 [CLIENT-CTO-INGEST] eBay — 4d
    🔥 [CLIENT-CTO-INGEST] Skool — 4d
    ...
Real hiring leads + real client prospects, all actionable.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request May 25, 2026
…s folder

Submission kit is internal prep material (descriptions, video script, slide
outline, submission checklist) — belongs with other accelerator apps
(a16z, 500 LATAM) in the private aideazz-private-docs repo, not in this
public code repo.

Now lives at:
aideazz-private-docs/docs/01-career-applications/Accelerator-Applications/BrightData-WebDataUnlocked-2026/BRIGHTDATA-WEB-DATA-UNLOCKED-SUBMISSION.md

The hackathon code (research-agent, BrightData SERP/Browser/MCP integration,
menu wiring) stays in this public repo as the actual submission artifact.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request May 31, 2026
The 'empty tables' problem on auto-ingested deals (e.g. [CLIENT-CTO-INGEST] Laith0003): writers only wrote a bare company name and dropped the website the scraper already had; upsertCompany never back-filled existing records; GitHub indie devs on personal Gmail were promoted to the 'I Act TODAY' view.

- hubspot-client: upsertCompany now FILLS BLANKS on existing companies (domain/website/description); pushLeadToHubSpot derives company domain (explicit > website > non-free-webmail email), writes website + a one-line company description, sets dealtype=newbusiness, and cleans the 'X @ X' duplicate contact name. New helpers: isFreeEmailDomain, domainFromUrl, companyDomainFromEmail, cleanDisplayName.
- fresh-leads-ingest: pass scraped website through to HubSpot (was dropped).
- lead-triage: QUALITY GATE — a fresh prospect only reaches an 'act now' stage when it has a real company-email signal; personal-Gmail prospects stay at Prospected.
- scripts/backfill-hubspot-ingest.cjs: idempotent enrichment of existing [CLIENT-CTO-INGEST] records (fill blanks only; does not move stages).

All additive + backwards-compatible. Build clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request May 31, 2026
…eals out of action view

Audit found 402 deals, 0 with a dollar amount, 91 in action stages but only ~8
contactable. carve-revenue-pipeline.cjs classifies deals by contactability (real
non-free/non-placeholder contact email OR real company domain — excludes news/media/
placeholder domains) and demotes non-contactable action-stage deals to Prospected.
Read-only by default; --apply writes a reversible carve-log.json. Live run demoted
83 deals → 'I Act TODAY' 52→7.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request May 31, 2026
…rospects

Root cause of '402 deals, $0': runSerpProspects saved every Google result's
page TITLE as a company/deal — so Reddit threads, news headlines and job-seeker
posts became CRM deals. The only filter was wrong-role/big-co.

Fix:
- Add LLM buying-intent classifier (Haiku via Groq fallback): only results where
  a real person/company is ACTIVELY SEEKING a CTO / technical co-founder / AI build
  pass; articles, discussions, news, freelancers-for-hire and job-seekers are dropped.
- Deal name = human intent label ('Non-technical founder seeking CTO for X'), not
  the raw headline.
- Cheap regex NOISE pre-filter (news domains + article/discussion/job-seeker title
  shapes) runs first to save tokens.
- 3 new ICP-targeted queries (non-technical founders, 'looking for someone to build',
  SMB AI-automation).
- runSerpProspects now supports { dryRun } (classify+log, push nothing) and returns
  stats. SERP_MIN_CONFIDENCE env (default 0.6).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request Jul 1, 2026
/visualize omni NNN, default chain Luma → Replicate → Omni → Runway.
Persists shots for Director's Cut via /films/shots/:pageId.mp4. Same
GEMINI_API_KEY as Atlas; GOOGLE_VIDEO_OMNI_ONLY skips Veo fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
ElenaRevicheva referenced this pull request Jul 2, 2026
Bulk canon corpus and style anchors now cover #1-#098; visualize uses shared poem fetch with metadata, JSON, and local draft fallbacks; /create gets smart knowledge routing and anti-stale loops; video chain adds sensual keyframe encoding and full provider fallbacks.

Co-authored-by: Cursor <cursoragent@cursor.com>
ElenaRevicheva referenced this pull request Jul 2, 2026
Step-by-step pipeline doc for compiling Telegram clips into a published
AI Film Studio film, with all known gotchas: clip->poem mapping via PM2
logs + md5, English-verbatim stanza rules, Pixabay via Bright Data,
no-fade-in intro card (gallery poster), loudness/parity verification,
data/atuona durability warning. atuona-film3.mjs = The Secret Exhibition
(02.07.2026) reference script.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ElenaRevicheva added a commit that referenced this pull request Jul 11, 2026
- ORACLE_ALL_PRODUCTS_RESILIENCE: new section — runs in Make cloud (NOT
  on Oracle), scenario/flow/failure modes (credits 400, textResponse
  mapping, raw-bundle pattern, plan limits)
- MARKETING_ENGINE roadmap: July 11 update — concierge live + case study
  published in 3 rooms, fable5-case-study UTM attribution
- SELLING_KIT: Offer B Proof #2 — the published Dev.to case study as
  Make/no-code work sample
- CASE_STUDY_DRAFT: marked PUBLISHED with live links

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request Jul 13, 2026
… LinkedIn launch, day-1 proposals

- UPWORK_PROFILE_FINAL.md: paste-ready link-free profile (live since Jul 12)
- FIVERR_GIGS_PACK.md: full 3-gig wizard content; gig 1 (WhatsApp AI chatbot) published Jul 13
- LINKEDIN_LAUNCH.md: services-page copy + EN/ES launch posts
- proposals/PROPOSALS_2026-07-12.md: first daily Upwork batch (5 + 2 stubs), tracked as [CLIENT-UPWORK] deals in HubSpot
- assets/: gig cover images 1280x769

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ElenaRevicheva referenced this pull request Jul 16, 2026
Confirmed live: the reply to a real lead (Malina Choke) landed in Gmail spam. Auth is clean
(SPF/DKIM aligned, DMARC p=none, SES bounce MX), so the cause is sender trust, not signing.

HTML-only mail is one of the few structural spam signals we actually control: humans' clients
emit text+html, bulk senders often skip the text part. The draft is already plain prose, so it
IS the text part — nothing duplicated, nothing to drift.

Does not fix reputation on its own (new domain + near-zero volume is the dominant factor, and
that only heals with real mail people open and reply to).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ElenaRevicheva added a commit that referenced this pull request Jul 16, 2026
…ckfilled to contractsent

Same-day fix + backfill (VibeJobHunterAIPA_AIMCF 3bf8894): the live orchestrator
cycle duplicated save/alert logic without the HubSpot push or sender-blocklist
filter that already existed in a dead sibling function. Wired forward + ran a
one-off backfill of the 189 historical rows (49 real after filtering bot
noise), verified live via HubSpot API. Retires "0 contractsent ever" in the
funnel truth. Gap #2 (outreach message text not attached to deals) confirmed
by code read, still open.
ElenaRevicheva referenced this pull request Jul 16, 2026
…p + Influencer port bug fixed

Log-verified pass across all source prefixes (14-day HubSpot pull + real
Oracle logs). Two real bugs found and fixed: (1) OUTREACH_SECRET missing from
EspaLuzWhatsApp/EspaLuzFamilybot .env silently dropped every trial-start push
since inception -- 28 real users backfilled; (2) EspaLuz_Influencer's daily
CRM signal pointed at the wrong port, 404ing for 14+ days straight. Also
flagged (not fixed): CLIENT-CTO-INQUIRY deals never leave the "ignore" stage
even after a reply is sent; espaluz-webhook.service crash-looping (likely
dead, superseded by espaluz-payments-webhook.service).
ElenaRevicheva referenced this pull request Jul 17, 2026
Hiring: Apply URL + cover letter + manual-apply checklist on deal Notes.
Client/SERP/inquiry: outreach draft + clickable source/site/LinkedIn.
EspaLuz WA deep link + upsell draft; Atlas landing + LinkedIn draft.
Concierge pending drafts mirror to HubSpot deal Notes. SERP domain/sourceUrl pass-through fixed.

Co-authored-by: Cursor <cursoragent@cursor.com>
ElenaRevicheva added a commit that referenced this pull request Jul 20, 2026
…pack + mark shortlist #2

Nomad was staged in HubSpot without the plain-text MENSAJE block; add draft, paste-ready note pack, and require full message in every deal note.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants