Compare commits

...

7 Commits

Author SHA1 Message Date
d175d5ba5a chore: working-tree state — anaf snapshots, cron state, KB notes, tools
Pre-existing uncommitted changes swept in with the STT work:
anaf-monitor snapshots/versions, cron job + newsletter state, 9 youtube KB
notes, tools/ocr_bon.py, and tools/tts.py.

Note: the tts.py change breaks 2 truncation tests in test_voice_normalize.py
(sanitize word-count) — flagged for a separate follow-up.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-27 18:16:31 +00:00
ce273d14db feat(voice): improve Romanian STT — hallucination gate + finetuned model
Gemma 4 cloud audio was infeasible (31b-cloud has no audio; E4B broken
upstream, no deploy host), so improve faster-whisper instead.

- Pin temperature=0.0 to disable the fallback ladder that re-decoded unclear
  audio up to 6x (source of the 16-24s latency outliers); reject hallucinated
  segments via avg_logprob/compression_ratio in the new pure _filter_segments.
- Adopt mikr/whisper-small-ro-cv11 (CT2 int8) via configurable voice.stt_model:
  spike showed WER 24%->10%, numbers fixed at source, +0.33s p50 (in budget).
- Add tools/voice_stt_mine.py (log mining) + tools/voice_stt_spike.py (model
  eval with diacritic scoring) + tests for the gate and miner.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-27 18:16:16 +00:00
ec23d188ec feat: youtube handler analizeaza cu Claude; nota Grantham completă
- dashboard/handlers/youtube.py: după descărcare transcriere, cheamă
  `claude -p` cu un prompt structurat care generează TL;DR + puncte cheie
  + citate + idei acționabile + secțiuni tematice în proze. Fallback la
  transcriptul brut dacă Claude eșuează.
- nota Grantham: format complet — TL;DR, puncte cheie, citate,
  idei acționabile, secțiuni tematice în proze curgătoare.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 18:03:29 +00:00
392d1a5be2 fix: nota Grantham rescrisă în proze curgătoare cu conținut real
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 18:00:09 +00:00
c8be07b1f6 Merge branch 'feat/kb-navigation-index' into voice/stt-quality
# Conflicts:
#	memory/kb/index.json
2026-06-27 17:57:22 +00:00
97e34be863 fix: nota Grantham include transcriptul complet (60k chars)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 17:55:38 +00:00
5c9748ffb4 feat(memory): hybrid retrieval — navigation index.md + RAG hardening
Expose a navigation layer to the agent and harden RAG, after analyzing the
OKF note and testing on the real KB.

- memory_search.search(): dedupe best-chunk-per-file (a relevant note can no
  longer be buried by another file's chunks) + keyword fallback tagged
  degraded:True when Ollama is unreachable (no more hard crash).
- update_notes_index.py: emit per-folder index.md + root router; prune empty
  folders; fix latent subcategory->project bug.
- Exclude generated index.md from RAG rglob (reindex/incremental) + indexer
  scans + heartbeat freshness check (prevents self-pollution / reindex thrash).
- CLAUDE.md: reframe memory as hybrid (navigation first, RAG for fuzzy recall).
- Delete stale orphan kb/youtube/index.json; correct the OKF source note.
- Tests: dedup, keyword fallback, index.md exclusion. Plan + review in docs/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 17:52:27 +00:00
51 changed files with 3268 additions and 299 deletions

1
.gitignore vendored
View File

@@ -29,3 +29,4 @@ memory.bak/
approved-tasks.json
dashboard/status.json
tools/anaf-monitor/monitor.log
models/

View File

@@ -135,7 +135,11 @@ source .venv/bin/activate && pip install -r requirements.txt
**Ralph** (`tools/ralph/`): Sistem autonom de execuție. `ralph.sh` este un bash loop care cheamă `claude` CLI (subscription, nu API) per user story din `prd.json`. Generarea PRD se face cu `tools/ralph_prd_generator.py` (model Opus). Workspace-ul proiectelor e la `~/workspace/`.
**Memory** (`src/memory_search.py`): Embeddings Ollama all-minilm (384 dim) + cosine similarity SQLite. Trăiește la `memory/` în acest repo — single source of truth. *Notă istorică:* era symlink la repo-ul legacy Clawdbot; consolidat în echo-core în migrația OpenClaw (2026-04).
**Memory** (`memory/` în acest repo — sursa unică de adevăr). Retrieval **hibrid**, două căi:
1. **Navigare (întâi, pentru lookup pe subiect/parafrază):** citește `memory/kb/index.md` (router cu folderele), alege folderul relevant, apoi citește `memory/kb/<folder>/index.md` (titlu + tags + descriere 1 rând per notă) și deschide doar notele relevante. Ieftin și funcționează chiar dacă Ollama e picat. Generat de `tools/update_notes_index.py` (regenerat din heartbeat).
2. **RAG semantic (pentru recall fuzzy):** `src/memory_search.py` — embeddings Ollama all-minilm (384 dim) + cosine pe SQLite. `search()` deduplică pe best-chunk-per-fișier și, dacă Ollama remote (`config.json → ollama.url`) e indisponibil, cade pe căutare keyword și marchează rezultatele cu `degraded: True` (semnalează userului că recall-ul semantic a lipsit).
*Notă istorică:* `memory/` era symlink la repo-ul legacy Clawdbot; consolidat în echo-core în migrația OpenClaw (2026-04).
**Dashboard** (`dashboard/`): Echo Task Board — HTTP API + UI static servit de `dashboard/api.py` pe portul 8088, de obicei în spatele unui reverse proxy la `/echo/`. Logica endpoint-urilor împărțită în mixin-uri `dashboard/handlers/*.py`; path-urile centralizate în `dashboard/constants.py`. Template systemd user unit la `dashboard/echo-taskboard.service`. `workspace.html` este hub-ul unificat de proiecte (fostul ralph.html + workspace.html); `/echo/ralph.html` → 302 redirect la `/echo/workspace.html`. Autentificare prin cookie httpOnly `dashboard=<token>`; `DASHBOARD_TOKEN` setat în `dashboard/.env`.

View File

@@ -110,7 +110,8 @@
],
"user_name": "Marius",
"default_voice": "F1",
"auto_leave_minutes": 5
"auto_leave_minutes": 5,
"stt_model": "/home/moltbot/echo-core/models/whisper-small-ro-cv11-int8"
},
"paths": {
"personality": "personality/",

View File

@@ -1,16 +1,4 @@
[
{
"name": "discord-test",
"cron": "0 18 2 4 *",
"channel": "echo-core",
"model": "haiku",
"prompt": "Răspunde doar cu textul: Test Discord cron job — funcționează!",
"allowed_tools": [],
"enabled": false,
"last_run": "2026-04-02T18:09:42.851876+00:00",
"last_status": "ok",
"next_run": null
},
{
"name": "anaf-monitor",
"kind": "shell",
@@ -23,9 +11,9 @@
"report_on": "changes",
"timeout": 120,
"enabled": true,
"last_run": "2026-06-06T16:00:00.002312+00:00",
"last_run": "2026-06-27T16:00:00.001505+00:00",
"last_status": "ok",
"next_run": "2026-06-09T10:00:00+00:00"
"next_run": "2026-06-30T10:00:00+00:00"
},
{
"name": "security-audit-daily",
@@ -38,10 +26,10 @@
],
"report_on": "changes",
"timeout": 180,
"enabled": true,
"last_run": "2026-06-09T03:00:00.002688+00:00",
"enabled": false,
"last_run": "2026-06-21T03:00:00.004155+00:00",
"last_status": "error",
"next_run": "2026-06-10T03:00:00+00:00"
"next_run": "2026-06-22T03:00:00+00:00"
},
{
"name": "kb-index-refresh",
@@ -55,9 +43,9 @@
"report_on": "never",
"timeout": 120,
"enabled": true,
"last_run": "2026-06-09T03:30:00.002397+00:00",
"last_run": "2026-06-27T03:30:00.002414+00:00",
"last_status": "ok",
"next_run": "2026-06-10T03:30:00+00:00"
"next_run": "2026-06-28T03:30:00+00:00"
},
{
"name": "archive-tasks-daily",
@@ -71,9 +59,9 @@
"report_on": "changes",
"timeout": 60,
"enabled": true,
"last_run": "2026-06-09T03:00:00.002281+00:00",
"last_run": "2026-06-27T03:00:00.001794+00:00",
"last_status": "ok",
"next_run": "2026-06-10T03:00:00+00:00"
"next_run": "2026-06-28T03:00:00+00:00"
},
{
"name": "backup-config",
@@ -87,9 +75,9 @@
"report_on": "never",
"timeout": 120,
"enabled": true,
"last_run": "2026-06-09T02:00:00.002899+00:00",
"last_run": "2026-06-27T02:00:00.001781+00:00",
"last_status": "ok",
"next_run": "2026-06-10T02:00:00+00:00"
"next_run": "2026-06-28T02:00:00+00:00"
},
{
"name": "insights-extract",
@@ -248,31 +236,31 @@
"next_run": null
},
{
"name": "heartbeat-2h",
"cron": "0 6-18/2 * * *",
"name": "heartbeat-4h",
"cron": "0 6-18/4 * * *",
"channel": "echo-work",
"model": "sonnet",
"prompt": "Heartbeat check. Rulează src/heartbeat.py printr-un scurt raport de status.\nDacă nu e nimic de raportat (email=0, calendar nu are evenimente <2h, kb ok), răspunde doar cu HEARTBEAT_OK și oprește-te — nu trimite mesaj.\nDacă e ceva: raport scurt pe Discord #echo-work.",
"allowed_tools": [],
"enabled": true,
"last_run": "2026-06-09T08:00:00.001362+00:00",
"last_run": "2026-06-27T18:00:00.001107+00:00",
"last_status": "ok",
"next_run": "2026-06-09T10:00:00+00:00"
"next_run": "2026-06-28T06:00:00+00:00"
},
{
"name": "night-execute",
"cron": "0 23 * * *",
"channel": "echo-work",
"model": "opus",
"enabled": true,
"enabled": false,
"prompt": "NIGHT-EXECUTE - Implementare autonoma proiecte aprobate\n\n## PASUL 1: Citeste proiectele aprobate\n\nCiteste /home/moltbot/echo-core/approved-tasks.json\nSelecteaza proiectele cu status='approved'\nDaca nu sunt proiecte aprobate: raporteaza pe Discord si opreste-te.\n\n## PASUL 2: Pentru fiecare proiect aprobat\n\nPentru un proiect cu schema extinsa (campuri optionale {repo, branch, base_branch}):\n - {name} = slug-ul proiectului (cheia 'name' din JSON)\n - {repo} = numele repo-ului Gitea (default = {name} daca nu e setat)\n - {branch} = feature branch nou (None inseamna 'lucreaza pe HEAD-ul default al repo-ului')\n - {base_branch} = branch-ul de la care porneste {branch} (default 'main')\n\n1. Verifica daca workspace-ul exista: /home/moltbot/workspace/{name}\n - Daca NU exista:\n TOKEN=$(grep GITEA_TOKEN /home/moltbot/echo-core/dashboard/.env | cut -d= -f2)\n git clone https://moltbot:${TOKEN}@gitea.romfast.ro/romfast/{repo}.git /home/moltbot/workspace/{name}\n # NOTA: cloneaza {repo}, nu {name}, ca sa suporte features pe repo-uri existente\n # (ex: slug='roa2web-bonuri', repo='roa2web')\n cd /home/moltbot/workspace/{name}\n # Daca {branch} e setat: creeaza branch nou de la {base_branch}\n if [ -n \"{branch}\" ]; then\n git fetch origin {base_branch:-main}\n git checkout {base_branch:-main}\n git checkout -b {branch} 2>/dev/null || git checkout {branch}\n fi\n - Daca EXISTA workspace-ul si {branch} e setat: asigura-te ca esti pe {branch}:\n cd /home/moltbot/workspace/{name}\n git checkout {branch} 2>/dev/null || git checkout -b {branch} {base_branch:-main}\n\n2. Verifica daca prd.json exista: /home/moltbot/workspace/{name}/scripts/ralph/prd.json\n - Daca nu: ruleaza generatorul PRD:\n source .venv/bin/activate\n python3 tools/ralph_prd_generator.py \"{name}\" \"{description}\" /home/moltbot/workspace\n\n3. Lanseaza Ralph loop:\n cd /home/moltbot/workspace/{name}\n chmod +x scripts/ralph/ralph.sh\n mkdir -p scripts/ralph/logs\n nohup ./scripts/ralph/ralph.sh 15 > scripts/ralph/logs/ralph-$(date +%Y%m%d).log 2>&1 &\n echo $! > scripts/ralph/.ralph.pid\n\n4. Actualizeaza approved-tasks.json:\n - status: 'running'\n - started_at: timestamp curent\n - pid: PID din .ralph.pid\n\n## PASUL 3: Raport Discord\n\nTrimite pe echo-work:\n- Cate proiecte au pornit\n- PID-urile lor\n- Pentru cele cu {branch} setat, mentioneaza branch-ul activ\n- 'morning-report va raporta progresul la 08:30'\n\n## REGULI IMPORTANTE\n\n- Nu modifica niciodata src/router.py, src/claude_session.py sau alte fisiere core echo-core prin Ralph\n- echo-core self-improvement NUMAI pe branch ralph/echo-improve, nu pe master\n- Daca ralph.sh esueaza: log in approved-tasks.json (status: failed, error: mesaj)\n- Daca git clone esueaza (repo inexistent): log status='failed' cu mesajul, NU continua cu PRD/ralph\n- Delay 5 secunde intre proiecte pentru a evita rate limiting\n",
"allowed_tools": [
"Bash",
"Read",
"Write"
],
"last_run": "2026-06-08T23:00:00.001531+00:00",
"last_status": "ok",
"next_run": "2026-06-09T23:00:00+00:00"
"last_run": "2026-06-20T23:00:00.001763+00:00",
"last_status": "error",
"next_run": "2026-06-21T23:00:00+00:00"
}
]

View File

@@ -1,5 +1,5 @@
{
"last_sent": 21,
"last_sent": 24,
"year": 2026,
"last_sent_at": "2026-06-04T19:53:04.648928+00:00"
"last_sent_at": "2026-06-25T17:01:48.783259+00:00"
}

View File

@@ -80,6 +80,49 @@ def _extract_relevant_description(description):
return '\n'.join(result_lines)
ANALYSIS_PROMPT = """\
Ai primit transcriptul unui video YouTube și descrierea lui. Scrie o notiță KB în română, format Markdown.
Structura notei (în ordine):
1. ## TL;DR — un paragraf de 3-5 rânduri care surprinde esența
2. ## Puncte cheie — 6-10 puncte concise (pot fi bullets, dar scurte și dense)
3. ## Quote-uri memorabile — 4-6 citate directe din transcript, în limba originală, între ghilimele
4. ## Idei acționabile — 4-8 lucruri concrete pe care cititorul le poate face
5. Secțiuni tematice cu ## heading — câte teme apar natural, în proze curgătoare (NU bullets), fiecare cu conținut real din transcript: cifre, exemple, mecanisme, argumente
Nu scrie metadate (titlu, url, tags, dată) — vor fi adăugate separat.
Nu scrie fraze introductive despre tine sau despre video. Începe direct cu ## TL;DR.
Scrie în română. Citatele rămân în engleză dacă sursa e engleză.
"""
def _analyze_with_claude(title, description, transcript):
"""Call claude -p to generate rich analysis of the video."""
claude_bin = os.path.expanduser('~/.local/bin/claude')
if not os.path.exists(claude_bin):
claude_bin = 'claude'
desc_section = ""
if description:
desc_section = f"DESCRIERE VIDEO:\n{description[:3000]}\n\n"
prompt = (
f"{ANALYSIS_PROMPT}\n\n"
f"TITLU: {title}\n\n"
f"{desc_section}"
f"TRANSCRIPT (primele 40000 caractere):\n{transcript[:40000]}"
)
result = subprocess.run(
[claude_bin, '-p', prompt],
capture_output=True, text=True, timeout=300,
)
if result.returncode == 0 and result.stdout.strip():
return result.stdout.strip()
log.warning("Claude analysis failed: %s", result.stderr[:300])
return None
def _process_youtube(url):
"""Download subtitles, save note."""
yt_dlp = os.path.expanduser('~/.local/bin/yt-dlp')
@@ -123,14 +166,32 @@ def _process_youtube(url):
slug = re.sub(r'[^\w\s-]', '', title.lower())[:50].strip().replace(' ', '-')
filename = f"{date_str}_{slug}.md"
# Build optional description block
# Description block
desc_block = ""
if _is_description_about_video(description):
relevant_desc = _extract_relevant_description(description)
if relevant_desc:
desc_block = f"\n## Descriere / Index\n\n{relevant_desc}\n\n---\n"
note_content = f"""# {title}
# Claude analysis: TL;DR + puncte cheie + citate + teme în proze
print("Running Claude analysis...")
analysis = _analyze_with_claude(title, description, transcript)
if analysis:
note_content = f"""# {title}
**Video:** {url}
**Duration:** {duration // 60}:{duration % 60:02d}
**Saved:** {date_str}
**Tags:** #youtube
---
{desc_block}
{analysis}
"""
else:
# Fallback: save raw transcript if Claude fails
note_content = f"""# {title}
**Video:** {url}
**Duration:** {duration // 60}:{duration % 60:02d}
@@ -142,10 +203,6 @@ def _process_youtube(url):
## Transcript
{transcript[:15000]}
---
*Notă: Sumarizarea va fi adăugată de Echo.*
"""
constants.NOTES_DIR.mkdir(parents=True, exist_ok=True)

113
docs/okf-navigation-plan.md Normal file
View File

@@ -0,0 +1,113 @@
# Plan: Navigation layer pentru memoria agentului (OKF-inspired)
Sursă: analiza notei `memory/kb/youtube/2026-06-27_google-open-knowledge-format.md`
+ test empiric pe KB-ul real (151 note youtube, 581 note total).
## Context / problemă
Agentul Echo caută în memorie DOAR prin RAG (`src/memory_search.py`: Ollama
`all-minilm` 384-dim + cosine scan în SQLite). CLAUDE.md îl declară "single
source of truth". Test empiric: RAG ratează nota relevantă când query-ul e
parafrazat conceptual (ex. "cum organizez un KB pt agenți să folosească mai
puțini tokens" → nota OKF nu apare în top-8). `memory/kb/index.json` există
(581 note, regenerat azi) dar e consumat DOAR de dashboard-ul web (căi
`notes-data/`), nu de agent, și are 84k tokens. Există un orfan stale
`kb/youtube/index.json` (8/151 note, 5 luni vechime).
## Obiectiv
Dă agentului un strat de navigare ieftin și robust care completează RAG-ul
(nu îl înlocuiește), prinde parafrazele pe care embeddings le ratează, și
merge ca fallback când Ollama remote pică.
## Recomandări (scope propus)
### R1 — Șterge orfanul `kb/youtube/index.json`
Stale din 30 ian (8/151 note). Capcana "index învechit > lipsă index".
Efort: trivial.
### R2 — Generează `index.md` slim per-folder, auto
Extinde `tools/update_notes_index.py` să emită, pe lângă `index.json`, un
`index.md` per subfolder kb/ (title + descriere 1 rând + tags). Pilot dovedit:
youtube/ index.md = 11k tokens vs 259k (citit tot, 24×) vs 84k (index global,
7.7×). Capcană: scriptul scanează `*.md` recursiv → trebuie să excludă
explicit `index.md` ca să nu-l trateze ca notă (poluează index.json).
Regenerat din heartbeat.py la fiecare notă nouă.
### R3 — Expune navigarea agentului (hibrid cu RAG)
La `memory_search`, încarcă întâi index.md slim al folderului-țintă pe lângă
top-k din RAG, și combină. Prinde și parafraza, și keyword-ul. Instrucțiune în
CLAUDE.md cum să folosească indexul.
### R4 — Tratează Ollama remote ca SPOF
RAG depinde de host remote (`10.0.20.161:11434`). Dacă pică, `search()` aruncă
ConnectionError → memoria agentului dispare. index.md per-folder = fallback
fără Ollama. Adaugă degradare grațioasă în memory_search.search().
### R5 — NU face conversie big-bang la YAML front matter
Doar 6/586 note au YAML; update_notes_index.py extrage deja metadata din
convenția `**Tags:**`/`**Data:**`. Standardizează doar de-acum în template-ul
de notă nouă.
### R6 — Corectează nota OKF
Marchează "Google a lansat OKF" ca neverificat (o sursă YouTube; se confundă
cu Open Knowledge Foundation). Actualizează "Relevanță": nu lipsesc indexuri,
lipsește un index navigabil EXPUS agentului.
## NU în scope
- Vizualizare HTML graph a KB-ului (deprioritizat, efort mare/valoare mică).
- Înlocuirea RAG cu navigare pură (hibrid, nu substituție).
- Migrare ANN/vector-ext pentru viteza RAG (separat).
---
<!-- /autoplan review report -->
# GSTACK REVIEW REPORT (/autoplan)
Voices: Claude subagent only — **codex missing** on this host (all phases `[subagent-only]`).
Phases run: CEO, Eng, DX. Design **skipped** (no UI scope — HTML viz is out of scope).
## Cross-phase themes (flagged independently in 2-3 phases = high confidence)
| Theme | Phases | Severity |
|---|---|---|
| **T1 — R3 routing is undefined.** "Load the target folder's index.md" requires already knowing the folder — that IS the navigation problem. The 11k figure holds only for youtube alone; loading all 13 folders ≈ 43-84k, erasing the win. | CEO, Eng, DX | CRITICAL |
| **T2 — Wrong consumer.** The autonomous agent (Claude CLI in heartbeat.py) has filesystem access and never calls `search()`. Wiring R3 into `memory_search.search()` only changes the human `/search` command, not the agent. | Eng, DX | HIGH |
| **T3 — Staleness trap recreated.** R1 deletes a stale index (proof these rot). R2 creates 13+ new generated artifacts triggered only on *new note*, not edits → silent drift. | CEO, Eng, DX | HIGH |
| **T4 — Self-pollution into RAG.** `memory_search.reindex()/incremental_index()` do `rglob("*.md")` with no exclusion → index.md gets embedded and returned as fake "notes" in top-k. (Plan only flagged the index.json pollution, missed the RAG DB one.) | Eng | HIGH |
| **T5 — Token win vs strawman baseline.** Comparison is against "read all 259k" (nobody does that). Real baseline = RAG top-k (~1-3k tokens). Against that, index.md is *more* tokens, justified only by recall. | CEO | HIGH |
| **T6 — Cheaper alternatives unexamined.** `init_config` already supports `ollama.model`/`embedding_dim` → swapping all-minilm(384) for nomic/bge + reindex is a one-line change. Plus likely chunk-dedup recall bug, plus SQLite FTS5 hybrid (no new infra). All target "RAG misses paraphrases" directly. | CEO | CRITICAL |
| **T7 — R4 is the one sound, decoupled item.** `search()` raises ConnectionError on Ollama outage with no fallback (real SPOF). Ship independently. BUT it's a breaking contract change (existing tests assert it raises). | CEO, Eng, DX | keep |
## CEO consensus (subagent-only)
- Right problem? **DISAGREE w/ plan** — likely weak embedding model + chunk-dedup bug, not missing navigation.
- Premises stated? **No** — one query is not enough evidence; token win is vanity baseline.
- 6-month regret: 3 parallel stale metadata copies (SQLite, index.json, index.md).
- Alternatives explored? **No** — BM25/FTS5 hybrid, reranker, better embedder never compared.
- Prior art: OKF unverified/possibly nonexistent; bespoke format = zero portability gain.
## Eng consensus (subagent-only)
- Architecture: R3 unbuildable as written (no folder signal into `search()`). R2-in-update_notes_index acceptable reuse but keep separated from `notes-data/` rewriting.
- Edge cases: T4 self-pollution; heartbeat mtime thrash; `projects/` (236 notes, nested) breaks flat per-folder assumption.
- Tests: R4 breaks `search()` contract — existing tests assert raise; need rewrite + new coverage for R2/R3/T4.
## DX consensus (subagent-only)
- Discoverability: CLAUDE.md:138 calls RAG "single source of truth" — a soft new instruction loses to it; agent keeps defaulting to RAG.
- Human workflow: edit-without-new-file → silent index.md drift.
- Degradation signal (R4): must return `mode="degraded_navigation_only"` + tell user, never silent.
- Latent bug to fix first: `update_notes_index.py:244` references `n['subcategory']`, a key never set (extractor sets `project`).
## Decision Audit Trail
| # | Phase | Decision | Class | Principle | Rationale |
|---|---|---|---|---|---|
| 1 | Eng | Add `index.md` exclusion to BOTH update_notes_index scan AND memory_search rglob (reindex/incremental) | Mechanical | P1 completeness | T4 is silent corruption; non-negotiable IF R2 ships |
| 2 | Eng | R4 split from R2/R3, shipped standalone | Mechanical | P6 action | Highest value/lowest risk, no dependency |
| 3 | DX | R4 returns structured degraded mode + user signal, not silent | Mechanical | P1 | Silent shallow results worse than error |
| 4 | CEO/DX | R3 (hybrid into search()) deferred until routing + consumer resolved (T1/T2) | Taste | P5 explicit | Unbuildable as written |
| 5 | CEO | Add "fix RAG first" track (model test + chunk-dedup + FTS5) before bespoke index | USER CHALLENGE | P3/P4 | Cheaper, reuses infra, targets same symptom — but user's call |
| 6 | all | R1 (delete orphan) + R6 (fix note) ship anytime | Mechanical | P6 | Trivial, independent |
## REVISED scope (post-review)
- **Ship now (safe, independent):** R1 delete orphan, R6 fix note, R4 graceful degradation (with explicit signal + test rewrite), fix latent bug update_notes_index.py:244, chunk-dedup in search().
- **Test before building (cheap, reversible):** swap embedding model (nomic-embed-text/bge-m3) + reindex; re-run the failing paraphrase query; prototype SQLite FTS5 hybrid.
- **Build only if the above doesn't fix recall:** R2 index.md (with T3/T4 lifecycle + exclusion fixes, per-category granularity for projects/), R3 hybrid (after routing + consumer T1/T2 designed).

View File

@@ -0,0 +1,6 @@
# Index — articole/
> 1 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Eat the Frog — Brian Tracy (Rezumat)](eat-the-frog-brian-tracy.md)** `@work @growth`
**Lectură recomandată:** Carte completă pentru cele 21 de metode + exerciții practice

106
memory/kb/coaching/index.md Normal file
View File

@@ -0,0 +1,106 @@
# Index — coaching/
> 51 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Gândul de dimineață - 2026-01-31](2026-01-31-dimineata.md)** `@health #tony-robbins #fiziologie #pattern-interrupt`
PROVOCARE: Ridică-te, fă 5 respirații adânci (4-6), întinde-te, mergi 2 minute. Resetare de stare prin corp.
- **[Gândul de seară - 2026-01-31](2026-01-31-seara.md)** `@health #tony-robbins #recunostinta #priming`
Am întrebat dacă a încercat pattern interrupt-ul (ridicat, 5 respirații, întins, mers 2 min) și ce a observat.
- **[Gândul de dimineață - 2026-02-01](2026-02-01-dimineata.md)** `@health #james-clear #simon-sinek #jocuri-infinite #sustenabilitate`
Duminică dimineață - moment bun pentru întrebări mai largi despre viață și sustenabilitate. Mesajul se aplică direct la sănătate (durerea ce
- **[Gândul de seară - 2026-02-01](2026-02-01-seara.md)** `@growth @health #jocuri-infinite #seara`
*Trimis: Sâmbătă, 1 februarie 2026, 23:17*
- **[Gândul de dimineață - 2026-02-02](2026-02-02-dimineata.md)** `@growth @health #zoltan-veres #motivatie #eforturi #luni`
Luni dimineață - început de săptămână. Momentul perfect să previi pendulul entuziasmului care se sparge pe efort neasumat. Tema conectată la
- **[Gândul de seară - 2026-02-02](2026-02-02-seara.md)** `@growth @health #asumare #efort #luni`
- Provocare bazată pe [Zoltan Vereș - Motivația Intrinsecă](files.html#memory/kb/youtube/2026-02-02_zoltan-veres-motivatie-intrinseca-comple
- **[Gândul de dimineață - 2026-02-03](2026-02-03-dimineata.md)** `@growth @health #zoltan-veres #umbre #autocunoastere #marti`
Marti - zi de lucru. Umbrele sunt relevante pentru Marius: credința "nu sunt destul de deștept ca antreprenor" este exact o umbră. Exercițiu
- **[Gândul de seară - 2026-02-03](2026-02-03-seara.md)** `@growth @health #umbre #zoltan-veres #acceptare #marti`
Marti seară. Marius nu a bifat provocarea despre umbrele - e o temă profundă și poate incomodă. Am ales să fiu empatic și să las spațiu pent
- **[Coaching Dimineață - 3 Februarie 2026](2026-02-03_morning.md)** `@health`
*[⭕ Echo]*
- **[Gândul de dimineață - 2026-02-04](2026-02-04-dimineata.md)** `@growth @health #nlp #vizualizare #motivatie #miercuri`
Miercuri - mijlocul săptămânii. Tehnica de vizualizare e potrivită pentru deblocarea inacțiunii lui Marius cu clienții noi. Mâine (joi) are
- **[Coaching Seară - 5 februarie 2026](2026-02-05-seara.md)** `@health`
*Noapte bună, Marius. Lasă ziua să se așeze. Mâine vine cu propriile ei daruri.* 🌙
- **[Gândul de dimineață - 2026-02-06](2026-02-06-dimineata.md)** `@growth @health #autocunoastere #pattern #aliniere #vineri`
Vineri - începe weekend-ul ocupat cu cursul NLP (M4: 7-8 feb). Perfect pentru auto-observare intensivă - în context de învățare (NLP) va fi
- **[Gândul de seară - 2026-02-06](2026-02-06-seara.md)** `@growth @health #autocunoastere #pattern #aliniere #vineri`
Nu forțez răspuns - întrebările sunt plantate pentru reflecție personală.
- **[Gândul de dimineață - 2026-02-07](2026-02-07-dimineata.md)** `@growth @health #nlp #bucledeschise #identitate #sambata`
Sâmbătă - începe modulul M4 NLP (7-8 februarie). Perfect pentru coaching despre claritate mentală ÎNAINTE de învățare intensivă. Conceptul d
- **[Gândul de Seară - 7 februarie 2026](2026-02-07-seara.md)** `@health`
**Follow-up:** Invitație să privească bucla când e pregătit, fără presiune
- **[Gândul de dimineață - 2026-02-08](2026-02-08-dimineata.md)** `@growth @health #nlp #aplicare #transformare #duminica`
Duminică - a doua zi NLP M4 (7-8 februarie). Ieri a fost despre claritate mentală ÎNAINTE de învățare (bucle deschise). Astăzi e despre INTE
- **[Gândul de Seară - Duminică, 9 Februarie 2026](2026-02-09-seara.md)** `@health`
**Link provocare:** https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/coaching/2026-02-09-seara.md
- **[Coaching Dimineața - 11 Februarie 2026](2026-02-11-dimineata.md)** `@health`
— Echo
- **[Coaching Seara - 11 Februarie 2026](2026-02-11-seara.md)** `@health`
— Echo
- **[Coaching Dimineața - 12 Februarie 2026](2026-02-12-dimineata.md)** `@health`
— Echo
- **[Coaching Dimineața - 13 Februarie 2026](2026-02-13-dimineata.md)** `@health`
*Sursă: [Note video](https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/youtube/2026-02-12_monica-ion-povestea-lui-marc-ep8.md)*
- **[Coaching Seara - 13 Februarie 2026](2026-02-13-seara.md)** `@health`
*Inspirat din: Monica Ion Ep.8 (Linkage) + Ep.9 (Anxietatea, ciclul susuri-josuri)*
- **[Coaching Dimineața - 14 Februarie 2026](2026-02-14-dimineata.md)** `@health`
**Sursă:** [Monica Ion - Povestea lui Marc Ep.9: Anxietatea, frica de control și pierdere](https://moltbot.tailf7372d.ts.net/echo/files.html
- **[Coaching Seara - 14 Februarie 2026](2026-02-14-seara.md)** `@health`
**Provocare:** ✅ Bifată (08:27 UTC)
- **[Coaching Dimineața - 15 Februarie 2026](2026-02-15-dimineata.md)** `@health`
*Tags: @work @growth*
- **[Coaching Seara - 15 Februarie 2026](2026-02-15-seara.md)** `@health`
**Provocare:** ❌ Nebifată (duminică)
- **[Coaching Dimineața - 16 Februarie 2026](2026-02-16-dimineata.md)** `@health`
*Tags: @work @growth*
- **[Gândul de Seară - 19 Februarie 2026](2026-02-19-seara.md)** `@health`
*Tags: self, reflectie, provocare, pattern, mentorship, angajat*
- **[Gândul de Dimineață - 20 Februarie 2026](2026-02-20-dimineata.md)** `@growth @work @health #mindset #antreprenoriat #incredere`
**Tags:** @growth @work #mindset #antreprenoriat #incredere
- **[Gândul de Seară - 20 Februarie 2026](2026-02-20-seara.md)** `@health`
- Monica Ion - Identitate și schimbare
- **[Gândul de Dimineață - 21 Februarie 2026](2026-02-21-dimineata.md)** `@growth @health #mindset #identitate #rezistenta #putere`
**Tags:** @growth @self #mindset #identitate #rezistenta #putere
- **[Gândul de Seară - 21 Februarie 2026](2026-02-21-seara.md)** `@health`
*Creat: 21 februarie 2026, 19:00 UTC*
- **[Gândul de Dimineață - 22 Februarie 2026](2026-02-22-dimineata.md)** `@growth @health #mindset #fiziologie #actiune #deblocare #tonyrobbins`
**Tags:** @growth @self #mindset #fiziologie #actiune #deblocare #tonyrobbins
- **[Gândul de Seară - 22 Februarie 2026](2026-02-22-seara.md)** `@health`
- [Provocare Azi - Corp-First](https://moltbot.tailf7372d.ts.net/echo/files.html#memory/provocare-azi.md)
- **[Gândul de Dimineață - 23 Februarie 2026](2026-02-23-dimineata.md)** `@work @growth @health #business #tip #aliniere #artavs #monicaion #decizie`
**Tags:** @work @growth @self #business #tip #aliniere #artavs lifestyle #monicaion #decizie
- **[Gândul de Seară — 23 februarie 2026](2026-02-23-seara.md)** `@growth @health`
**Echo** 🌀
- **[Gândul de Dimineață - 24 Februarie 2026](2026-02-24-dimineata.md)** `@growth @work @health #conviction #half-heartedness #zaps #abundență #brendanburchard #mindset`
**Tags:** @growth @work #conviction #half-heartedness #zaps #abundență #brendanburchard #mindset
- **[Coaching Seară - 24 Februarie 2026](2026-02-24-seara.md)** `@health`
— Echo
- **[Gândul de dimineață - 25 februarie 2026](2026-02-25-dimineata.md)** `@health`
- [Insights 25 februarie - Aliniere](https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/insights/2026-02-25.md)
- **[Negativity Bias & Positive Reframing](2026-04-25-negativity-bias-reframing.md)** `@growth @health`
4. Repetiție = rewiring neural (1021 zile de practică consistentă)
- **[Stresul ca semnal — Detașarea de Rezultate (Bhagavad Gita)](2026-04-25-stress-pain-detachment-results.md)** `@growth @health`
- Munca bine făcută ≠ garanția rezultatului. Poți controla calitatea procesului, nu reacția lumii.
- **[GROK Online — Instructiuni complete (romana)](2026-05-05_grok-online-instructiuni.md)** `@health`
*Nota: GROK este bazat pe principiile Comunicarii Nonviolente (NVC) a lui Marshall Rosenberg. Vocabularul de sentimente si nevoi este specif
- **[Călătoria Eroului (Hero's Journey) - Ghid Personal](calatoria-eroului.md)** `@growth @health`
**Călătoria începe când treci pragul. Pragul se trece când acționezi.**
- **[Întrebări Puternice - Dr. Gabor Maté (Trauma & Healing)](gabor-mate-intrebari-puternice.md)** `@growth @health`
- Folosește "child perspective flip" când minimizezi propria experiență
- **[Modele de Gândire - Dr. Gabor Maté (Trauma & Healing)](gabor-mate-trauma-modele-gandire.md)** `@health @growth`
- Reflectează: ce needs nu au fost met în copilărie? Ce adaptations ai dezvoltat?
- **[Harta Mentală: SINE, EGO, PERSONALITATE, MASCĂ, UMBRĂ + Încredere, Stimă, Respect de Sine](harta-mentala-sine-ego-umbra-persona.md)** `@growth @health #jung #autocunoastere #sine #ego #umbra #persona #stima`
*Combină notițe proprii + cercetare suplimentară din psihologia analitică jungiană și psihologia contemporană*
- **[Harta Mentala: UMBRA (Shadow)](harta-mentala-umbra.md)** `@growth @health #umbre #jung #autocunoastere`
*Combina notite proprii + cercetare suplimentara despre psihologia analitica jungiana*
- **[Melodii pentru Transe Ghidate](melodii-transe-ghidate.md)** `@health`
| Yann Tiersen | Comptine d'un autre été (Extended 1h) | https://www.youtube.com/watch?v=nJQV1jCM0gk |
- **[Playlist Transe Ghidate & Meditații](playlist-transe-meditatii.md)** `@growth @health`
*Instrumentale clasice și cinematic — Einaudi, Vangelis, Hisaishi, Tiersen, Secret Garden.*
- **[Premisele NLP și Provocările Mele](premise-nlp.md)** `@growth @health`
**Link:** [Premise NLP](https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/coaching/premise-nlp.md)
- **[Principii de Viață - Convingeri de Implementat](principii-viata.md)** `@growth @health`
**Link:** [Principii de Viață](https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/coaching/principii-viata.md)

View File

@@ -0,0 +1,6 @@
# Index — conversations/
> 1 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[2026-01-30 - Conversație completă dimineață](2026-01-30-conversatie-completa.md)**
6. **Nevoie:** Accountability - check-in-uri regulate ca să nu amâne.

48
memory/kb/emails/index.md Normal file
View File

@@ -0,0 +1,48 @@
# Index — emails/
> 22 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Fwd: 3-2-1: On ignorance vs. genius, the history of every day, and](2026-02-01_fwd-3-2-1-on-ignorance-vs-genius-the-history-of-ev.md)**
Newsletter 3-2-1 de la James Clear (29 ian 2026) cu tema: simplificare, fundamentale, și jocuri infinite. **3 Idei:** 1. **Ignoranță vs geni
- **[Fwd: 3-2-1: Keeping your body loose and head clear, how to find](2026-02-06_fwd-3-2-1-keeping-your-body-loose-and-head-clear-h.md)**
James Clear's 3-2-1 newsletter shares three personal development ideas: (1) Approach problems with calm flexibility rather than tension—"bod
- **[Fwd: Ziua 1 Legea Dualității ☯️](2026-02-06_fwd-ziua-1-legea-dualității.md)**
Email de la Monica Ion despre Legea Dualității — prima din seria celor 7 Legi Universale. Mesajul central: contrariile nu sunt dușmani, ci c
- **[Re: Raport Dimineata 6 februarie 2026](2026-02-06_re-raport-dimineata-6-februarie-2026.md)**
Răspuns de la Marius la raportul de dimineață din 6 feb: aprobă TOATE propunerile (A1-A4), le vrea executate ACUM, nu programate luni. Repro
- **[Re: Raport Seara 11 Februarie 2026](2026-02-11_raport-seara-response.md)**
**Răspuns:** Marius a aprobat **DOAR A1** (Exercise Snacks - Setup Cron Jobs). **Context:** Echo a trimis raport seară cu: - Status: 8 artic
- **[Fwd: Ziua 4 Legea Sincronicității ♻️](2026-02-24_fwd-ziua-4-legea-sincronicității.md)**
Newsletter Monica Ion — Ziua 4 din seria 7 Legi Universale: **Legea Sincronicității**. Orice moment conține simultan sprijin și provocare, p
- **[Fwd: Ziua 5 Legea Escalării Eristice 🌌](2026-02-24_fwd-ziua-5-legea-escalării-eristice.md)**
Newsletter Monica Ion — Ziua 5: **Legea Escalării Eristice** — cu cât controlezi mai tare, cu atât provoci mai mult haos. Legea vine de la z
- **[Fwd: Ziua 6 Legea Ordinii 🏛️](2026-02-24_fwd-ziua-6-legea-ordinii.md)**
Newsletter Monica Ion — Ziua 6: **Legea Ordinii** — structurile cu ordin mai înalt atrag și influențează natural pe cele cu ordin mai scăzut
- **[Fwd: Noutăți despre Adunarea Generală 2026 Primăvară](2026-04-10_fwd-noutăți-despre-adunarea-generală-2026-primăvar.md)**
Email de la ONCR (Cercetașii României) cu detalii pentru Adunarea Generală 2026, 25-26 aprilie, București (Școala Gimnazială Ferdinand I, Bd
- **[Fwd: Salutari de la Nocrich](2026-04-10_fwd-salutari-de-la-nocrich.md)**
Nocrich Scout Centre organizes its annual Work Party (May 8-10, 2026) for adults 18+. This is a community service event combining volunteeri
- **[Fwd: Rezoluție pentru o Mișcare a Tinerilor și o organizație care să poată să o susțină](2026-04-15_fwd-rezoluție-pentru-o-mișcare-a-tinerilor-și-o-or.md)**
ONCR leadership (Andrei Avram) proposes a resolution to clarify three foundational questions before pursuing further initiatives: (1) Should
- **[Fwd: Aspecte cu privire la punctele de pe OZ a AG ONCR din aprilie 2026](2026-04-16_fwd-aspecte-cu-privire-la-punctele-de-pe-oz-a-ag-o.md)**
Orizont Brașov Local Centre opposes several agenda points for the National Assembly: youth movement resolution (they argue it reinterprets V
- **[Fwd: Punct de vedere de la Reprezentanții Tinerilor pe tema Rezoluției “ Mișcare a tinerilor”](2026-04-17_fwd-punct-de-vedere-de-la-reprezentanții-tinerilor.md)**
Youth Representatives frame the debate about "Youth Movement resolution" as a lesson in communication and critical thinking. They explain th
- **[Fwd: Înregistrare Q&A - Adunarea Generală 2026 Primăvară](2026-04-20_fwd-înregistrare-qa-adunarea-generală-2026-primăva.md)**
Înregistrare Q&A pentru subiectele pe OZ Adunarea Generală 2026 Primăvară; acces Zoom (link + passcode t!eu=5&J) publicat pentru delegați, i
- **[Fwd: Amendament la Rezoluția „Mișcare a tinerilor” CL Vest Cluj-Napoca](2026-04-21_fwd-amendament-la-rezoluția-mișcare-a-tinerilor-cl.md)**
Amendament clarificator pentru Rezoluția "Mișcare a Tinerilor" de la CL Vest Cluj-Napoca cu 12 centre locale co-semnare; clarează rolul tine
- **[Fwd: Validare Amendament Rezoluție @Vest Cluj-Napoca + Invitație dezbatere 22 apr, ora 19](2026-04-21_fwd-validare-amendament-rezoluție-vest-cluj-napoca.md)**
Validare oficială amendament de către Comisia de Amendamente; amendamentul clarează text fără a schimba intenția Consiliu Director; sesiune
- **[Fwd: 3-2-1: On acting like a winner, thinking for yourself, and how](2026-04-22_fwd-3-2-1-on-acting-like-a-winner-thinking-for-you.md)**
3 idei (fă lucrul corect bine, cere-ți sub semnul întrebării credul emoșiilor, nu-ți grăbi), 2 citate (Buffett: nu trebuie să-ți recuperezi
- **[Fwd: Raport Structuri Naționale / Echipa Națională și Consiliul Director](2026-04-22_fwd-raport-structuri-naționale-echipa-națională-și.md)**
Raport anual Consiliu Director (Andrei Avram) pe structuri naționale și echipe, sumarizând activitate voluntari și angajați din ultimul an;
- **[Fwd: Newsletter 16 din 2026](2026-04-30_fwd-newsletter-16-din-2026.md)**
Newsletter săptămânal Cercetași România (nr. 16/2026). Conținut: recap Adunarea Generală primăvară 2026 + album foto comun Google Photos. Ev
- **[Newsletter 17 din 2026](2026-05-07_fwd-newsletter-17-din-2026.md)**
Newsletter Cercetașii României, ediția 17/2026 (7 mai). Teme principale: Ziua Europei (9 mai), deadline formulare 3,5% (20 mai transmitere,
- **[A new monthly Agent SDK credit for your plan](2026-05-16_fwd-a-new-monthly-agent-sdk-credit-for-your-plan.md)**
Anthropic anunta un credit lunar de $100 pentru abonamentii Max 5x, dedicat exclusiv utilizarii Agent SDK si `claude -p` (CLI non-interactiv
- **[Invitație - Creative Paths to Peace](2026-05-19_fwd-invitație-creative-paths-to-peace.md)**
Invitație la evenimentul "Creative Paths to Peace" organizat de Centrul Local "Aetos" Drobeta-Turnu Severin. Eveniment pentru tineri 18-35 a

View File

@@ -0,0 +1,12 @@
# Index — exercitii/
> 4 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Diagnostic Platou Financiar - Chestionar](diagnostic-platou-financiar.md)**
**Sursă:** Friday Spark #183 - 8 Blocaje Financiare Invizibile
- **[Exercițiu: Legea Transformării - Când Pierzi, Caută Forma Nouă](legea-transformarii.md)** `@growth #transformare #pierdere #compensare`
**Actualizat:** 2026-02-06
- **[Diagnostic Platou Financiar - Identifică Blocajele Psihologice](platou-financiar-diagnostic.md)** `@work @growth #diagnostic #blocare`
**Actualizat:** 2026-02-06
- **[Exercițiu: Reframe Credințe Limitatoare (NLP)](reframe-credinte-limitatoare.md)** `@work @growth #nlp #credinte #reframe`
**Next step:** Când apare gândul "nu sunt destul de bun", deschide fișierul și citește Reframe #1

View File

@@ -0,0 +1,24 @@
# Index — facebook/
> 10 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Love Yourself Even If They Don't](2026-04-29_julien-blanc-love-yourself.md)** `#self-love #self-esteem #social-approval #mindset`
Julien Blanc face un exercițiu pe stradă: îl întreabă pe un trecător care e artistul lui preferat. Răspunsul: Glenn Gould. Nimeni din grup n
- **[TODO MOVIMENTO — Cântec cercetași brazilian](2026-05-05_5-1k-views-1-8k-reactions-todo-movimento-bate-o-pe.md)**
Cântec de mișcare cumulativ pentru cercetași brazilieni. La fiecare strofă adaugi un nou segment al corpului și mimezi toate cele anterioare
- **[150K views · 3K reactions | Whats your favorite “shit sandwich”… and are you finally ready to admit it? | Mark Manson](2026-05-14_150k-views-3k-reactions-what-s-your-favorite-shit-.md)**
<!-- Completează un rezumat de 2-3 rânduri -->
- **[Familiar Pain vs Unfamiliar Freedom — Upspiral.life](2026-05-14_familiar-pain-vs-unfamiliar-freedom.md)** `@growth`
Creierul nu vrea obiectivele tale — vrea supraviețuirea. "Familiar" echivalează cu "sigur", chiar dacă familiarul e dureros. Când vrei să te
- **[Cum să-ți scrii declarația de scop — Mark Manson](2026-05-14_mark-manson-purpose-statement.md)** `@growth`
Cercetarea în narrative psychology arată că scrierea unei declarații personale de scop reglează comportamentul în timp și îl face mai semnif
- **[Invisible Approval Addiction & The Spotlight Effect](2026-05-18_36k-views-3-8k-reactions-follow-me-and-comment-tra.md)**
Creierul tău e cablat să-i pese de opinia altora — e instinct de supraviețuire, nu slăbiciune. Problema e că îl exagerezi: **Spotlight Effec
- **[500K views · 4.8K reactions](2026-05-26_500k-views-4-8k-reactions.md)**
<!-- Completează un rezumat de 2-3 rânduri -->
- **[513K views · 4.9K reactions](2026-05-26_513k-views-4-9k-reactions.md)**
<!-- Completează un rezumat de 2-3 rânduri -->
- **[3 Brain Tricks That Instantly Lift Your Mood](2026-06-07_3-brain-tricks-lift-mood.md)**
Creierul tău poate schimba starea în 15 secunde fără să-ți schimbi viața. Trei trucuri: (1) **Face feedback** — relaxează fața ușor 15 sec,
- **[7 Micro Habits That Rewire Your Happiness](2026-06-07_7-micro-habits-rewire-happiness.md)**
7 micro-obiceiuri bazate pe psihologie pentru a reprograma creierul spre fericire: zâmbetul de 3 secunde (declanșează dopamină/serotonină),

16
memory/kb/health/index.md Normal file
View File

@@ -0,0 +1,16 @@
# Index — health/
> 6 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Checklist Post cu Apă](checklist-post-apa.md)** `@health #post #water-fasting #detox`
*Notă: Acest checklist e pentru referință. Consultă un specialist înainte de posturi lungi.*
- **[Exercise Snacks Protocol - Marius](exercise-snacks-protocol.md)**
- <https://health.clevelandclinic.org/exercise-snacks>
- **[Protocol Post 3 Zile - Versiune Veggie (România)](protocol-post-3-zile-veggie.md)** `@health`
- **Next review:** După primul fast completat
- **[Protocol Post 3 Zile - Implementare Practică](protocol-post-3-zile.md)** `@health`
- **Next review:** După primul fast completat
- **[Protocol Post 7 Zile - Versiune Veggie (România)](protocol-post-7-zile-veggie.md)** `@health`
- **Next review:** După primul fast completat
- **[Protocol Post 7 Zile - Implementare Practică (Acasă)](protocol-post-7-zile.md)** `@health`
- **Next review:** După primul fast completat

View File

@@ -5,6 +5,8 @@
"title": "Billionaire's WARNING: I'm SELLING. The Crash Is Already Here! — Jeremy Grantham",
"date": "2026-06-27",
"tags": [
"youtube",
"to-summarize",
"investitii",
"bubble",
"AI",
@@ -19,8 +21,8 @@
"category": "youtube",
"project": null,
"subdir": null,
"video": "",
"tldr": "Jeremy Grantham (60 ani experienta, a gestionat 165 miliarde $) avertizeaza ca ne aflam in cea mai mare bula investitionala din istoria americana — AI. Sfatul sau: vinde actiunile US tech acum, nu ast..."
"video": "https://www.youtube.com/watch?v=32u5T6lO8qk",
"tldr": "*Notă: Sumarizarea va fi adăugată de Echo.*"
},
{
"file": "notes-data/youtube/2026-06-27_google-open-knowledge-format.md",
@@ -36,7 +38,7 @@
"project": null,
"subdir": null,
"video": "",
"tldr": "Google a lansat **Open Knowledge Format (OKF)** — un standard pentru organizarea knowledge base-urilor astfel încât agenții AI să navigheze mai eficient. Se bazează pe pattern-ul LLM Wiki al lui Andre..."
"tldr": "Un video prezintă **Open Knowledge Format (OKF)** — un format *propus* pentru organizarea knowledge base-urilor astfel încât agenții AI să navigheze mai eficient. (Vezi Status: nu e confirmat ca relea..."
},
{
"file": "notes-data/youtube/2026-06-25_google-agentic-engineering-masterclass.md",
@@ -9577,8 +9579,8 @@
"title": "Proiect: Vending Master - Integrare Website → ROA",
"date": "2026-01-30",
"tags": [
"integrare",
"vending-master"
"vending-master",
"integrare"
],
"domains": [
"work"

23
memory/kb/index.md Normal file
View File

@@ -0,0 +1,23 @@
# Index — knowledge base (memory/kb)
> Router. Alege folderul relevant, apoi citește `<folder>/index.md`.
- **[articole/](articole/index.md)** — 1 note
- **[coaching/](coaching/index.md)** — 51 note
- **[conversations/](conversations/index.md)** — 1 note
- **[emails/](emails/index.md)** — 22 note
- **[exercitii/](exercitii/index.md)** — 4 note
- **[facebook/](facebook/index.md)** — 10 note
- **[health/](health/index.md)** — 6 note
- **[insights/](insights/index.md)** — 46 note
- **[projects/](projects/index.md)** — 234 note
- **[reflectii/](reflectii/index.md)** — 3 note
- **[retete/](retete/index.md)** — 1 note
- **[tools/](tools/index.md)** — 7 note
- **[youtube/](youtube/index.md)** — 151 note
## Note la rădăcină
- **[Proces Extragere Insights](PROCES-INSIGHTS.md)**
- **[Backlog](backlog.md)**
- **[Tehnici Pauză - Bancă de resurse](tehnici-pauza.md)**

View File

@@ -0,0 +1,96 @@
# Index — insights/
> 46 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Insights 2026-01-31](2026-01-31.md)** `@growth @health @work @sprijin @scout #insights #propuneri`
*Scanare: 9 note YouTube | 2026-01-31*
- **[Insights - 2026-02-02](2026-02-01-night.md)**
*Extras din workshop-ul gratuit Zoltan Vereș (1.5h)*
- **[Insights - 2026-02-01](2026-02-01.md)**
*Surse: Monica Ion Ep.1 & 2, James Clear 3-2-1, Tony Robbins*
- **[Insights - 2026-02-02](2026-02-02.md)**
*Surse: Zoltan Vereș (BTY) + Monica Ion*
- **[Insights - 3 Februarie 2026](2026-02-03.md)**
*Surse: Video-uri tehnice Clawdbot/Claude Code/Lead Generation*
- **[Insights - 4 Februarie 2026](2026-02-04.md)**
*Surse: Meditație NLP vizualizare*
- **[Insights - 5 februarie 2026](2026-02-05.md)**
*Processed: 4 fișiere noi | Detaliu: FEATURE request, Automation jobs, Session init, Infrastructure*
- **[Cele 7 Legi Universale - Monica Ion](2026-02-06-cele-7-legi-universale.md)** `@growth`
Cele 7 Legi Universale sunt principii fundamentale care explică cum funcționează mintea, de ce trăim viața așa cum o trăim și cum putem gene
- **[Analiză Sistem Lead Generation - ROMFAST](2026-02-06-lead-system-analysis.md)**
*Autor: Echo subagent*
- **[Insights - 6 februarie 2026](2026-02-06.md)**
- **Respectat:** Analiză completă (nu superficială), acțiuni specifice (nu genericuri), integrare în fluxul existent
- **[7 Februarie 2026 - Insights Profunde](2026-02-07.md)**
**Note procesate:** 7 (5 YouTube, 2 Friday Spark, 3 exerciții create)
- **[8 Februarie 2026 - Insights Profunde](2026-02-08.md)**
**Calitate:** Insights profunde, conexiuni directe cu provocări, acțiuni concrete Echo
- **[Insights - Duminică, 9 Februarie 2026](2026-02-09.md)**
4. **Relație angajat:** Ai stabilit vreodată limite clare cu angajatul nou (ex: "îți explic o dată, a doua cauți în doc, a treia întrebi pe
- **[Insights - 10 Februarie 2026](2026-02-10.md)**
**Link complet:** https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/insights/2026-02-10.md
- **[Dr. Tara Swart - Neuroscience, Grief & Comunicare Transcendentă](2026-02-11-dr-tara-swart-grief-spirituality-neuroscience.md)** `@growth @health #neuroscience #grief #spirituality #trauma #near-death-experiences #signs`
Dr. Tara Swart, neurolog și psihiatru, și-a pierdut soțul Robin de leucemie în 2021 și a trecut printr-o călătorie de 4 ani de cercetare ști
- **[Insights - 11 Februarie 2026](2026-02-11.md)**
*Note procesate: 7 (exercise-snacks, openclaw, claude-multi-agent, coaching-dimineata, friday-spark 135/136/137)*
- **[Insights - 12 Februarie 2026](2026-02-12.md)**
**Nu am găsit tehnici noi de pauză pentru actualizare în tehnici-pauza.md**
- **[Insights - 13 Februarie 2026](2026-02-13.md)**
**Next:** Update notes index
- **[Insights - 14 Februarie 2026](2026-02-14.md)**
3. **Dușuri contrast:** Ai încercat vreodată? Dacă nu, ai fi dispus să începi doar cu picioarele? (progresiv, cum recomandă Colun)
- **[Insights - 15 Februarie 2026](2026-02-15.md)**
3. **Pregătire grup:** Ai vrea să faci tu exercițiul cu cele 4 întrebări ale Umbrei înainte de joi? (din fișa grup)
- **[Insights - 16 Februarie 2026](2026-02-16.md)**
4. **Umbră:** Dacă ai ști sigur că ești "destul de deștept" — ce ai face diferit mâine?
- **[Insights - 17 Februarie 2026](2026-02-17.md)**
**Link:** https://positivepsychology.com/shame-resilience-theory/
- **[Insights — 19 februarie 2026](2026-02-19.md)**
4. **Schimb echitabil:** "Care a fost ultima dată când ai simțit că un client te-a plătit EXACT cât merita munca ta — nici mai mult, nici ma
- **[Insights - 20 Februarie 2026](2026-02-20.md)**
**Conexiuni:** 3 pattern-uri majore integrate
- **[Insights - 21 Februarie 2026](2026-02-21.md)** `@growth @work @sprijin`
5. **Dovezi:** Ce mi-e teamă să descopăr despre mine dacă scriu 3 situații când am rezolvat probleme complexe? Ce identitate nouă mă așteapt
- **[Insights - 22 Februarie 2026](2026-02-22.md)** `@growth`
5. **Protocol zilnic:** Ce s-ar schimba dacă înainte de ORICE decizie importantă (email, telefon, negociere) aș face resetare corp (10 pași
- **[Insights - 23 Februarie 2026](2026-02-23.md)** `@work @growth #business-type #conviction #people-pleasing #zaps #pricing #aliniere #abundență #monicaion #brendanburchard`
*Creat: 2026-02-23 17:00 UTC*
- **[Insights - 24 februarie 2026](2026-02-24.md)**
**Acțiuni propuse:** 17 concrete (8 pentru Echo, 9 pentru Marius)
- **[Insights - 25 Februarie 2026](2026-02-25.md)** `@growth @work #half-heartedness #aliniere #valori #people-pleasing #parinti #sincronicitate #ordinea-interioara #dezamagire #bullshit #legile-murphy`
**Tags:** @growth @work #half-heartedness #aliniere #valori #people-pleasing #parinti #sincronicitate #ordinea-interioara #dezamagire #bulls
- **[Insights 2026-02-27](2026-02-27.md)**
*Salvat în: memory/kb/youtube/2026-02-27-hormozi-skills-investing.md*
- **[Insights - 2026-03-01](2026-03-01.md)**
- Pattern de urmărit: Când te blochezi → întreabă "Ce nu văd? Unde e cealaltă față?"
- **[Insights - 2026-03-03](2026-03-03.md)**
- **Calm Animal Brain Walk** (mișcare + grounding pentru anxietate/tristețe)
- **[Insights - 2026-03-06](2026-03-06.md)**
**Model folosit:** Sonnet (procesare conținut)
- **[Insights 2026-03-07](2026-03-07.md)**
**Procesat:** daily-morning-checks (insights-extract)
- **[Insights 2026-03-08](2026-03-08.md)**
**Procesat:** daily-morning-checks (insights-extract)
- **[Insights - 2026-03-12](2026-03-12.md)**
- Insights disponibile în morning/evening reports (dacă Marius cere procesare)
- **[Insights - 14 martie 2026](2026-03-14.md)**
**Sursă:** [youtube/2026-03-13-karpathy-autoresearch.md](../youtube/2026-03-13-karpathy-autoresearch.md#5-agency-we-run-more-tests-than-anyo
- **[Insights - 15 martie 2026](2026-03-15.md)**
**Sursă:** [youtube/2026-03-15-autoresearch-claude-skills.md](../youtube/2026-03-15-autoresearch-claude-skills.md#aplicabilitate-largă)
- **[Insights 2026-03-21](2026-03-21.md)**
**Sursă:** [FS-70 - Blocaj afacere arhetipuri](https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/projects/monica-ion/articole/frid
- **[Insights - 2026-03-30](2026-03-30.md)**
- **Format:** Context + Esență + Acțiune concretă + Sursă
- **[Insights - 2026-04-01](2026-04-01.md)**
**Sursă:** [Claude Mythos video](https://youtu.be/hV5_XSEBZNg) - retrieval & memory architecture section
- **[Second Brain Starter - Cole Medin](2026-04-02-second-brain-starter.md)**
Nu refacem - Echo e funcțional. Link păstrat pentru inspirație incrementală viitoare.
- **[Insights - 2 Aprilie 2026](2026-04-02.md)** `@work @growth`
**Meta-Reminder pentru Echo:** Când Marius întreabă "Cum fac X?", amintește-i de **100 True Fans** și **Outcome-Based Pricing** - nu trebuie
- **[Insights - 2026-04-03](2026-04-03.md)**
- [ ] Evaluate cu agentic_harnesses skill (dacă e disponibil)
- **[Backlog Insights](backlog-arhiva-2026-02-01.md)**
*(gol)*
- **[Sinteză Insights - 2 Februarie 2026](sinteza-2026-02-02.md)**
*Link-uri: toate notele sunt în memory/kb/youtube/*

454
memory/kb/projects/index.md Normal file
View File

@@ -0,0 +1,454 @@
# Index — projects/
> 234 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Feature: PDF Download Button in Files Dashboard](FEATURE-files-pdf-download.md)**
- User is comfortable with multi-session handoff (can track progress across sub-agents)
- **[Flux Joburi Echo](FLUX-JOBURI.md)**
*Actualizat: 2026-02-06*
- **[MODELARE NLP - GHID COMPLET 80/20](NLP/modelare-80-20-ghid-complet.md)** `@work @growth`
**Bază:** Robert Dilts - Modeling with NLP, Logical Levels
- **[MODELARE NLP SUPORT DE CURS](NLP/modelare-nlp-suport-curs.md)**
Modelarea dezvoltă autonomia de învățare, nu dependența de rețete.
- **[Prompt pentru Claude Code - Implementare `extraPaths` în Clawdbot](clawdbot-extrapaths-prompt.md)**
Începe prin a explora codul Clawdbot și a înțelege arhitectura, apoi propune soluția.
- **[Grup de Sprijin - Lideri Cercetași](grup-sprijin/README.md)** `@sprijin #grup-sprijin`
- **[Exercițiu de ancorare a emoțiilor](grup-sprijin/biblioteca/exercitiu-ancorare-emotii.md)** `@sprijin #NLP #ancorare #emotii #corp #grup-sprijin`
4. Testează ancora
- **[De vorbă cu... (emoția)](grup-sprijin/biblioteca/exercitiu-de-vorba-cu-emotia.md)** `@health @sprijin #daniela-graure #emotii #acceptare #iubire #grup-sprijin`
*Sursă: Daniela Graure*
- **[Fișă Întâlnire Grup Sprijin](grup-sprijin/biblioteca/fisa-2026-02-05-ancorare-oglinda.md)** `@sprijin #grup-sprijin`
- **[Fișă Întâlnire Grup Sprijin](grup-sprijin/biblioteca/fisa-2026-02-19-umbra-iarna-din-suflet.md)** `@sprijin #grup-sprijin`
- **[Fișă: Blocare vs Deblocare](grup-sprijin/biblioteca/fisa-blocare-vs-deblocare.md)** `@sprijin #fiziologie #tony-robbins #grup-sprijin`
*Creat:* 2026-01-31
- **[Fișă Întâlnire Grup Sprijin](grup-sprijin/biblioteca/fisa-respiratie-calm-prezenta.md)** `@sprijin #grup-sprijin`
- **[Ce ai făcut azi care ți-a adus bucurie?](grup-sprijin/biblioteca/intrebare-bucurie-azi.md)** `@sprijin #introspectie #bucurie #energie #recunostinta #grup-sprijin`
3. Ce ai făcut ASTĂZI care să îți aducă acea emoție?
- **[Ce îți aducea bucurie când erai mic?](grup-sprijin/biblioteca/intrebare-copil-interior.md)** `@sprijin #introspectie #copilarie #pasiune #bucurie #grup-sprijin`
Adu-ți aminte de copilul care erai (poate mai ești și acum). Ce dorește să facă? Ce simțea? Când ai simțit acele emoții?
- **[Întrebare: Ce moment greu s-a dovedit cadou?](grup-sprijin/biblioteca/intrebare-moment-greu-cadou.md)** `@sprijin #tony-robbins #grup-sprijin`
*Creat:* 2026-01-31
- **[Întrebare: Pentru cine altcineva faci asta?](grup-sprijin/biblioteca/intrebare-pentru-cine-altcineva.md)** `@sprijin #motivatie #sens #grup-sprijin`
*Creat:* 2026-01-31
- **[Meditația cu demnitatea](grup-sprijin/biblioteca/meditatie-demnitate.md)** `@sprijin #demnitate #sine #grup-sprijin`
(De dezvoltat - Marius să adauge textul complet)
- **[Eu sunt mai mare decât gândurile și emoțiile mele](grup-sprijin/biblioteca/meditatie-eu-sunt-mai-mare.md)** `@sprijin #ganduri #emotii #distantare #grup-sprijin`
Idee: Creezi distanță între tine și gânduri/emoții. Tu ești observatorul, nu gândul.
- **[Moment de mindfulness](grup-sprijin/biblioteca/meditatie-mindfulness.md)** `@sprijin #mindfulness #prezent #grup-sprijin`
(De dezvoltat)
- **[Meditație: Vizualizare pentru Motivație](grup-sprijin/biblioteca/meditatie-vizualizare-motivatie.md)** `@sprijin #grup-sprijin`
Exercițiu de vizualizare care leagă o acțiune pentru care vrei motivație de o stare de plăcere intensă din trecut. Folosește tehnica "fissur
- **[Credințe despre bărbați și cerut ajutor](grup-sprijin/biblioteca/reflectie-barbati-energie.md)** `@sprijin #credinte #masculin #ajutor #energie #vulnerabilitate #grup-sprijin`
Întrebare: Unde tragi singur când ai putea cere ajutor?
- **[Beneficiul grupului - siguranță](grup-sprijin/biblioteca/reflectie-beneficiu-grup-siguranta.md)** `@sprijin #grup #siguranta #energie #vulnerabilitate #grup-sprijin`
Într-un grup de sprijin, mă simt în siguranță, nu sunt judecat.
- **[Tot ce văd la tine am și eu în mine](grup-sprijin/biblioteca/reflectie-oglinda.md)** `@sprijin #oglinda #proiectie #emotii #autocunoastere #grup-sprijin`
Ceilalți sunt oglinzi pentru noi.
- **[Prompt: Rezumat Newsletter Cercetași pentru WhatsApp](grup-sprijin/prompt-newsletter-cercetasi.md)** `@sprijin #grup-sprijin`
1. "Verifică dacă a apărut newsletter nou cercetași (>13)"
- **[Rușinea - Notițe pentru Grup Sprijin](grup-sprijin/rusine.md)** `@sprijin #grup-sprijin`
- Ce s-ar întâmpla dacă ai renunța la standard?
- **[Progress Tracking - Articole Monica Ion Blog](monica-ion/articole/PROGRESS.md)**
[Rezumat 2-3 rânduri]
- **[Lista URL-uri Articole Monica Ion Blog](monica-ion/articole/URL-LIST.md)**
- [✓] = Insight-uri extrase
- **[Cele 7 Legi Universale - Monica Ion](monica-ion/articole/cele-7-legi-universale.md)**
Cele 7 Legi Universale sunt principii fundamentale care explică cum funcționează mintea, de ce trăim viața așa cum o trăim și cum putem gene
- **[Friday Spark 64 - Cum să nu te pierzi într-o lume nebună](monica-ion/articole/friday-spark-064.md)** `@health @growth #sanatate-mentala #anxietate #depresie #stres #echilibrare`
Articol COMPLET despre sănătate mentală post-pandemie (1 din 5 americani afectați). Monica Ion explică că **percepția creează mediul chimic
- **[Friday Spark 65 - Soțul meu câștigă mai puțin ca mine...](monica-ion/articole/friday-spark-065.md)** `@sprijin @growth #relații #echilibru #copii #sacrificiu`
Case study: clientă care nu se mai simțea atrasă de soț (s-a transformat fizic, a devenit comod, câștigă mai puțin) și rămânea în relație "p
- **[Friday Spark 66 - Cum a câștigat clientul meu 195.000 euro](monica-ion/articole/friday-spark-066.md)** `@work @growth #bani #blocaje #familie`
Case study: client cu contracte de milioane euro, dar cont la nivel de supraviețuire - pattern repetat. Cauza: onorarea părinților prin repl
- **[Friday Spark 68 - Cum să-ți crești puterea de manifestare](monica-ion/articole/friday-spark-068.md)** `@growth @health #spiritualitate #manifestare #mindset #aliniere`
Cele două planuri ale existenței: fizic (supraviețuire, lipsă, efort) vs spiritual (plenitudine, conexiune cu divinul, cursivitate). Manifes
- **[Friday Spark 69 - Despre Febra Reducerilor](monica-ion/articole/friday-spark-069.md)** `@work @growth #psihologie #bani #marketing #valori`
Mecanismele psihologice din spatele Black Friday și reducerilor: scarcity activează mentalitatea de supraviețuire și sărăcie, cumpărăturile
- **[De ce se blochează o afacere (Friday Spark 70)](monica-ion/articole/friday-spark-070.md)** `@work @growth #business #arhetipuri #transformare #rege`
Business-ul se blochează când proprietarul e prins în arhetip nepotrivit. 4 arhetipuri masculine: (1) Tânăr (experimentare, sub influența pă
- **[Transformarea Tiparelor Mentale Moștenite (Friday Spark 71)](monica-ion/articole/friday-spark-071.md)** `@growth @work #mentalitate #convingeri #naționale #transformare`
8 setări mentale limitatoare ca nație: (1) Trebuie să muncești DIN GREU (nu eficient), (2) Alții sunt de vină (pierdere control), (3) Bani =
- **[Cum reflectă cadourile cumpărate stima de sine (Friday Spark 72)](monica-ion/articole/friday-spark-072.md)** `@work @growth #cadouri #bani #prioritizare #valori`
Cadourile reflect 3 relații: (1) Cu banii (buget, cheltuieli vs economii, abateri de la obiective financiare, justificări), (2) Cu tine (pri
- **[Cum să ai sărbători reușite, fără sacrificii (Friday Spark 73)](monica-ion/articole/friday-spark-073.md)** `@health @growth #sărbători #așteptări #valori #echilibru`
Sărbătorile sunt stresante pentru că ai așteptări neechilibrate față de persoanele dragi (părinți, partener, copii) și pentru că ești mai vu
- **[12 moduri în care ai prosperitate în viața ta (Friday Spark 75)](monica-ion/articole/friday-spark-075.md)** `@growth @work #prosperitate #obiective #recunoștință #valori`
Prosperitatea nu e doar bani — e prezentă în 12+ forme în viața ta chiar acum. Pentru obiective 2024 de succes: (1) Identifică ce obiective
- **[3 pași pentru a conduce un business fără burnout (Friday Spark 76)](monica-ion/articole/friday-spark-076.md)** `@work @health #burnout #valori #delegare #energie`
Burnout-ul vine din acumularea de activități nealiniate cu valorile tale cele mai înalte. Soluția în 3 pași: (1) Identifică valorile SPECIFI
- **[Cum să iei decizii fără teamă (Friday Spark 78)](monica-ion/articole/friday-spark-078.md)** `@growth @work #frică #decizii #transformare #echilibrare`
Frica de a lua decizii radicale vine din dureri neechilibrate din trecut și din percepția distorsionată că vei cauza suferință celorlalți. S
- **[Friday Spark #79: Depășirea Stărilor Emoționale Grele - 6 Soluții](monica-ion/articole/friday-spark-079.md)** `@growth #monicaion #fridayspark #emotii #josemotional #valori #comparatie`
6 cauze ale josurilor emoționale (când obiectiv nu-ți lipsește nimic dar te simți apăsat). Prima cauză: faci ce trebuie, nu ce te împlinește
- **[Friday Spark #82: Ritual de Purificare Hindu - Conexiune cu Sinele](monica-ion/articole/friday-spark-082.md)** `@growth #monicaion #fridayspark #spiritualitate #bali #purificare #ritualuri`
Experiență de purificare într-un templu hindus din Bali. Ștefan judeca ritualurile ca "povești", Monica a mers un nivel mai profund: purific
- **[Friday Spark #84: Când renunți la lucruri greșite, le atragi pe cele corecte](monica-ion/articole/friday-spark-084.md)** `@growth #monicaion #fridayspark #emotii #stariintegrate #introducere`
Introducere în seria despre emoții. Diferența fundamentală între stările integrate (conțin plus ȘI minus) și emoții (polarizate, scurtă dura
- **[Friday Spark #86: Cum scapi de tristețe fără a o transmite generațional](monica-ion/articole/friday-spark-086.md)** `@growth #monicaion #fridayspark #tristete #depresie #transgenerational #emotii`
Tristețea ca emoție învățată transgenerațional (mama, bunica). Diferențiere clară: tristețe (temporară, legată de pierdere), deprimare (pers
- **[Friday Spark #88: Frica și anxietatea - Partea a II-a](monica-ion/articole/friday-spark-088.md)** `@growth #monicaion #fridayspark #frica #anxietate #emotii`
Partea a II-a despre frică: cele 3 reacții (fight/flight/freeze) și când le alege creierul. Fight = percepi că ai resurse mai mari decât ame
- **[Friday Spark #89 - Frica și Anxietatea - Partea a III-a](monica-ion/articole/friday-spark-089.md)** `@growth @health #frică #anxietate #traumă #transformare`
Episodul final despre frică. Legătura cu trauma: frica cronică vine din traume nerezolvate (percepție polarizată "doar minus, fără plus"). S
- **[Friday Spark #90 - Energia de Supraviețuire: Cum să ieși din ea](monica-ion/articole/friday-spark-090.md)** `@work @health #supraviețuire #frică #valori #creier`
Energia de supraviețuire = modul fight-or-flight al creierului (amigdala activată) când percep LIPSĂ și amenințare imediată. Se manifestă pr
- **[Friday Spark #91 - Vina: Cum să scapi de sentimentul de vină](monica-ion/articole/friday-spark-091.md)** `@growth @health #vină #judecată #moralitate #percepție`
Vina = percepția falsă că prin acțiunile tale ai creat ALTORA mai mult negativ decât pozitiv. Evenimentele sunt neutre (Legile Universale),
- **[Friday Spark #92 - Rușinea: Cum oprești spirala auto-acuzării](monica-ion/articole/friday-spark-092.md)** `@growth @health #rușine #judecată-de-sine #merit #autoacuzare`
Rușinea = percepția falsă că prin acțiunile tale ți-ai cauzat ȚIE mai mult negativ decât pozitiv, raportat la standarde internalizate (moral
- **[Friday Spark #93 - Esența Sărbătorii Paștelui](monica-ion/articole/friday-spark-093.md)** `@growth #paște #spiritualitate #judecată #transformare`
Conversație cu Ștefan despre Paște. Esența: **Lăsarea judecăților în urmă** pentru a putea să-ți înalți mintea. Povestea preferată a lui Ște
- **[Friday Spark #94 - Gelozia: Cum să scapi de ea în relații](monica-ion/articole/friday-spark-094.md)** `@growth #gelozie #relații #atașament #insecuritate`
Gelozia = teama de a pierde resurse valoroase pe care percepi că partenerul le dă altora (afecțiune, timp, atenție). 5 caracteristici: (1) t
- **[Friday Spark #95 - People Pleasing: Cum te eliberezi de nevoia de a face pe plac](monica-ion/articole/friday-spark-095.md)** `@growth @health #people-pleasing #boundaries #stima-de-sine #sacrificiu`
People pleasing = să spui DA cu mare ușurință, sacrificând valorile tale pentru a mulțumi pe alții. Cauza profundă: ADMIRAȚIE față de persoa
- **[Friday Spark #97 - Aliniere în Business (Interviu Dragoș Alexa)](monica-ion/articole/friday-spark-097.md)** `@work #business #aliniere #inovație #autenticitate`
Interviu cu Dragoș Alexa despre aliniere în business și inovație. Alinierea înseamnă să construiești business-ul din valorile tale autentice
- **[Friday Spark #98 - Cum să nu fii dezamăgit de oameni și de tine](monica-ion/articole/friday-spark-098.md)** `@work @growth #relații #dezamăgire #așteptări #legile-universale`
Dezamăgirea apare când proiectezi valorile tale asupra celorlalți sau când îți stabilești obiective în afara propriilor valori. Pentru a nu
- **[Friday Spark #99: [404 - Nu există]](monica-ion/articole/friday-spark-099-404.md)** `@growth #monicaion #fridayspark`
**Note:** Tranșa 2 (138-99) completată cu 40 articole, dintre care #99 este indisponibil (404).
- **[Friday Spark #100: Cum privește generația Z Legile Universale (Aniversar)](monica-ion/articole/friday-spark-100.md)** `@growth #monicaion #fridayspark`
Spark aniversar #100! Monica reflectează asupra celor 100 săptămâni de împărtășire. Conversație cu Elena (Gen Z) despre Legea Escalării Eris
- **[Friday Spark #101: 7 Legi Universale și Revelații Personale](monica-ion/articole/friday-spark-101.md)** `@growth #monicaion #fridayspark`
Monica împărtășește 7 revelații profunde folosind Legile Universale (din ultimul an). Principalele: (1) Legea Dualității - delegăm către alț
- **[Friday Spark #102: Tu câtă încredere ai în intuiția ta?](monica-ion/articole/friday-spark-102.md)** `@growth #monicaion #fridayspark`
Monica împărtășește experiență personală în Cipru unde a manifestat gelozie față de modul în care Ștefan era mai aliniat cu o altă doamnă de
- **[Friday Spark #103: Performanță și Alegeri în Business (Interviu Diana Crișan)](monica-ion/articole/friday-spark-103-diana-crisan.md)** `@growth #monicaion #fridayspark`
Diana Crișan (trainer de lideri) împărtășește transformarea de la performanță prin burnout (muncă până la epuizare, validare externă, lupul
- **[Friday Spark #104: Mâncatul emoțional](monica-ion/articole/friday-spark-104.md)** `@growth #monicaion #fridayspark`
Interviu de suflet între Monica, Elena (fiica) și Eva (sora) despre relația emoții-mâncare. Toate trei au programare de familie: mâncare = p
- **[Friday Spark #105: Iubirea care transcende - Cum m-am regăsit](monica-ion/articole/friday-spark-105.md)** `@growth #monicaion #fridayspark`
Monica trece printr-o regresie profundă cu Marisa Peer în Tallinn: revine la naștere (nu voia să vină pe Pământ), concepere (chemată de iubi
- **[Friday Spark #106: Programările familiale și plăcerea fizică](monica-ion/articole/friday-spark-106.md)** `@growth #monicaion #fridayspark`
Monica descoperă că purta vină și rușine față de plăcerea FIZICĂ (atingeri, intimitate, dans, masaj) din cauza programărilor familiale - fam
- **[Friday Spark #107: De la cauzalitate la manifestare](monica-ion/articole/friday-spark-107.md)** `@growth #monicaion #fridayspark`
NU poți cauza în realitatea altcuiva - poți doar RECEPTA informații din câmpul morfogenetic (Rupert Sheldrake). Sentimentele de vină pentru
- **[Friday Spark #108: Ce înseamnă să îți asumi puterea personală](monica-ion/articole/friday-spark-108.md)** `@growth #monicaion #fridayspark`
Asumarea puterii personale NU înseamnă haine scumpe, statut sau imagine exterioară - înseamnă să te aliniezi cu sufletul tău, misiunea ta și
- **[Friday Spark #109: Când banii nu sunt importanți](monica-ion/articole/friday-spark-109.md)** `@growth #monicaion #fridayspark`
Monica Ion explorează relația cu banii prin prisma celor 8 nivele de conștiință (chakre), de la supraviețuire (chakre 1-2) până la serviciu
- **[Friday Spark #110: Cum să te aliniezi cu potențialul tău infinit](monica-ion/articole/friday-spark-110.md)** `@growth #monicaion #fridayspark`
Monica descrie două moduri de operare în firmă: cu trainerii (spațiu de siguranță, nurturing) vs. cu managerii (lipsă de certitudine, durere
- **[Friday Spark #111: Contractele Sacre - Despre suflet, liberul arbitru și modul în care ne construim](monica-ion/articole/friday-spark-111.md)** `@growth #monicaion #fridayspark`
Monica și Ștefan discută despre contractele sacre - conceptul că sufletul alege înainte de naștere experiențele pe care le va avea pe pământ
- **[Friday Spark #112: Adevărata iubire de sine](monica-ion/articole/friday-spark-112.md)** `@growth #monicaion #fridayspark`
Monica și Ștefan dezvăluie că adevăratul self-love NU este să te recompensezi cu shopping, mâncare, sau vacanțe după ce ai făcut lucruri din
- **[Friday Spark #113: Cum dezvolți interesul copilului tău pentru dezvoltare personală - o discuție fără script](monica-ion/articole/friday-spark-113.md)** `@growth #monicaion #fridayspark`
Monica are o conversație autentică, fără script, cu Elena (20 ani, fiica ei) despre cum părinții pot dezvolta interesul adolescenților pentr
- **[Friday Spark #114: Cum să scapi de procrastinare și să accesezi sursa energiei tale infinite](monica-ion/articole/friday-spark-114.md)** `@growth #monicaion #fridayspark`
Monica explică procrastinarea ca fiind rezultatul funcționării creierului în modul "trebuie" (amigdala-supraviețuire) versus modul "inspiraț
- **[Friday Spark #115: Cum să aplici Legile Universale în orice situație](monica-ion/articole/friday-spark-115.md)** `@growth #monicaion #fridayspark`
Monica împărtășește 4 povești reale din întâlniri casual (avion, cină, salon, cafenea) unde aplică Legile Universale pentru a ajuta oameni c
- **[Friday Spark #116: 4 motive pentru care nu ai o relație și 4 soluții practice](monica-ion/articole/friday-spark-116.md)** `@growth #monicaion #fridayspark`
Monica dezvăluie cele 4 motive principale pentru care cineva nu reușește să aibă o relație de cuplu: 1) vrei prea tare, 2) atragi tiparul ne
- **[Friday Spark #117: Cum să îți transformi prezentul și viitorul vindecând trecutul tău și al strămoșilor tăi](monica-ion/articole/friday-spark-117.md)** `@growth #monicaion #fridayspark`
Monica lucrează cu un client care nu poate respira fizic, descoperind că problema vine din haosul din trecutul său personal și strămoșesc. P
- **[Friday Spark #118: Cum am regăsit-o pe mama în jungla din Laos](monica-ion/articole/friday-spark-118.md)** `@growth #monicaion #fridayspark`
Monica descoperă în Laos că relațiile transcend timpul și spațiul fizic. Prin Legea Transformării, reușește să lucreze pe relația cu mama ei
- **[Friday Spark #119: Cum să te regăsești indiferent de locul în care te afli](monica-ion/articole/friday-spark-119.md)** `@growth #monicaion #fridayspark`
Trei experiențe transformaționale din Laos (pe malul Mekongului): (1) Imposibilul devenit posibil - visuri din copilărie manifestate (ai toa
- **[Friday Spark #120: Cum să te eliberezi de frustrare - 5 cauze și soluții](monica-ion/articole/friday-spark-120.md)** `@growth #monicaion #fridayspark`
Frustrarea = realitatea nu corespunde cu planul ideal din mintea ta + percepție de neputință + atașament de varianta ideală. Există 5 cauze
- **[Friday Spark #121: Două greșeli majore care îți pot distruge viața și cum să le eviți](monica-ion/articole/friday-spark-121.md)** `@growth #monicaion #fridayspark`
Social media și alții îți contaminează mintea cu standarde false. Cele 2 greșeli majore: (1) Preiei de la alții standarde despre cum ar treb
- **[Friday Spark #122: Tiparele emoționale din relații - 3 dinamici pe care le repeți](monica-ion/articole/friday-spark-122.md)** `@growth #monicaion #fridayspark`
Există 3 tipare de relaționare emoțională: (1) toxic - scoti ce-i mai rău din celălalt și invers, (2) indiferență/amorțire - nu îți dai voie
- **[Friday Spark #123: Cum scapi de convingerile limitative și iei decizii fără să te mai sabotezi](monica-ion/articole/friday-spark-123.md)** `@growth #monicaion #fridayspark`
Convingerile sunt circuite neuronale repetate, bazate pe generalizări, având ca scop protecția ta. Ele nu sunt bune sau rele în sine - fie t
- **[Friday Spark #124: Cum gestionezi oboseala decizională în business fără să pierzi din energia ta vitală](monica-ion/articole/friday-spark-124.md)** `@growth #monicaion #fridayspark`
Oboseala decizională (decision fatigue) apare când trăiești în zona de "trebuie" în loc să trăiești în inspirație. Mintea ta funcționează în
- **[Friday Spark #125: Cum scapi de o migrenă sâcâitoare în 2 pași](monica-ion/articole/friday-spark-125.md)** `@growth #monicaion #fridayspark`
Poveste personală: migrenă 3 zile care nu trecea. Cauza: conflict între valorile înalte (transformare, programe noi inspiraționale) vs "treb
- **[Friday Spark #126: Cum să ai sărbători de iarnă luminoase fără a renunța la cine ești](monica-ion/articole/friday-spark-126.md)** `@growth #monicaion #fridayspark`
Stresul și anxietatea de sărbători au 5 cauze principale: (1) perfecționismul (învățat de la părinte critic), (2) trăire conform valorilor a
- **[Friday Spark #127: Încheie anul cu claritate: 7 întrebări esențiale](monica-ion/articole/friday-spark-127.md)** `@growth #monicaion #fridayspark`
7 întrebări pentru încheierea anului: (1) Progresele în valorile înalte, (2) Ce nu a ieșit și cum te-a servit (dizolvare durere), (3) La ce
- **[Friday Spark #128: Cum să ai un 2025 cu încredere în sine de neclintit](monica-ion/articole/friday-spark-128.md)** `@growth #monicaion #fridayspark`
Încrederea în sine autentică vine din alinierea cu valorile tale, nu din validare externă. Monica analizează 3 studii recente (2022-2023) de
- **[Friday Spark #129: Cum să îți atingi obiectivele în 2025 fără frustrare și fără furie](monica-ion/articole/friday-spark-129.md)** `@growth #monicaion #fridayspark`
Furia apare când un obiectiv dorit nu se întâmplă și ai atașament față de varianta ideală. Există 2 scenarii: (1) fundal de liniște + trigge
- **[Friday Spark #130: Cum să ai un 2025 productiv](monica-ion/articole/friday-spark-130.md)** `@growth #monicaion #fridayspark`
Productivitatea nu e despre disciplină forțată, ci despre alinierea cu inspirația ta. Creierul funcționează în 2 moduri: în zona de inspiraț
- **[Friday Spark #131: Cum să spui NU la ce nu e aliniat cu tine](monica-ion/articole/friday-spark-131.md)** `@growth #monicaion #fridayspark`
Monica explorează cele două surse ale alegerilor noastre: condiționările din "căsuța în care te-ai născut" (programări automate, circuite ne
- **[Friday Spark #132: De ce repeți aceleași tipare financiare](monica-ion/articole/friday-spark-132.md)** `@growth #monicaion #fridayspark`
Monica oferă 10 răspunsuri concrete pentru transformarea relației cu banii, bazate pe reconfigurarea mindset-ului și dizolvarea condiționări
- **[Friday Spark #133: 11 cauze pentru care îți pierzi identitatea în relație și cum poți să le echilibrezi](monica-ion/articole/friday-spark-133.md)** `@growth #monicaion #fridayspark`
Monica Ion identifică 11 cauze pentru pierderea identității în relație. Cauza de bază COMUNĂ la toate: ADMIRAȚIA (pui partenerul pe piedesta
- **[Friday Spark #134: Cum să îți susții partenerul fără să te pierzi în relație](monica-ion/articole/friday-spark-134.md)** `@growth #monicaion #fridayspark`
Monica Ion prezintă 13 strategii pentru a susține partenerul fără să îți pierzi identitatea. Ideea centrală: susținerea ≠ sacrificiu. Cauza
- **[Friday Spark #135: Cum te sabotează relația cu timpul](monica-ion/articole/friday-spark-135.md)** `@growth #monicaion #fridayspark`
Monica Ion prezintă 9 mituri despre relația cu timpul și gestionarea eficientă. Ideea principală: timpul nu este despre eficiență, ci despre
- **[Friday Spark #136: 5 cauze ale insecurității emoționale și 3 soluții practice pentru a le depăși](monica-ion/articole/friday-spark-136.md)** `@growth #monicaion #fridayspark`
Insecuritățile emoționale sunt sentimente de îndoială, frică și vulnerabilitate care te împiedică să îți asumi potențialul. Monica Ion prezi
- **[Friday Spark #137: 9 greșeli pe care le faci în relație fără să-ți dai seama](monica-ion/articole/friday-spark-137.md)** `@growth #monicaion #fridayspark`
Monica Ion identifică 9 greșeli comune în relațiile de cuplu care apar fără conștientizare și oferă soluții practice bazate pe identificarea
- **[Friday Spark #138: Teama de eșec financiar și cum să scapi de ea pentru totdeauna](monica-ion/articole/friday-spark-138.md)** `@growth #monicaion #fridayspark`
Articol despre gestionarea fricii de eșec financiar. [Conținut limitat extras - necesită verificare manuală pentru detalii complete]
- **[Friday Spark #139 - De ce dezvoltarea personală NU funcționează - și ce trebuie să schimbi](monica-ion/articole/friday-spark-139.md)** `@growth`
Dezvoltarea personală fără fundație solidă NU funcționează. Oricât încerci să avansezi, dacă problemele de bază (apartenență, relație cu păr
- **[Friday Spark #140 - Tu controlezi banii sau ei te controlează pe tine?](monica-ion/articole/friday-spark-140.md)** `@work @growth`
2 setări mentale: 1) Banii te controlează (emoțiile dictează deciziile financiare) 2) Tu controlezi banii (emoțiile prezente dar nu la butoa
- **[Friday Spark #141 - Ecuația Prosperității: Cum ajungi de la ce iubești să faci la bani](monica-ion/articole/friday-spark-141.md)** `@work @growth`
Ecuația prosperității = 4 elemente: 1) Fă ceea ce iubești (altfel corpul/mintea nu te susțin pe termen lung) 2) Transformarea (Legea Transfo
- **[Friday Spark #142 - Procrastinarea în business: 3 stiluri de amânare ce blochează afacerea](monica-ion/articole/friday-spark-142.md)** `@work @growth`
Procrastinarea = amânare cu intenție în ciuda consecințelor. NU e despre lene/organizare, ci despre EMOȚII. 3 stiluri: 1) Perfecționistul (n
- **[Friday Spark #143 - Furia în business: 6 cauze emoționale și soluțiile care te echilibrează](monica-ion/articole/friday-spark-143.md)** `@work @health @growth`
6 cauze ale furiei în business + soluții prin legi universale: 1) Presiune/stres acumulat + dorință control → Întrebări: "Ce dezavantaje dac
- **[Friday Spark #144 - Cum să îți definești propriul succes - fără să te lași prins în criteriile din social media](monica-ion/articole/friday-spark-144.md)** `@growth @work`
Problemă: "Nu știu ce vreau", comparație cu alții, sindrom impostor, îndoială de sine. Rădăcină: felul în care îți definești succesul. 5 cri
- **[Friday Spark #145 - Cum te îmbolnăvește datoria - Ce se întâmplă când spui „Da" altora și „Nu" ție](monica-ion/articole/friday-spark-145.md)** `@health @growth`
Poveste reală: Man (chef în Bali) s-a îmbolnăvit cu virus periculos cu o săptămână înainte de nunta fiicei - singura variantă să scape de în
- **[Friday Spark #146 - Pasiune versus inspirație în creație](monica-ion/articole/friday-spark-146.md)** `@work @growth`
Pasiune = suferință (din îndrăgostire atașată de rezultat SAU din resentiment/evitare). Inspirație = aliniere cu valorile înalte, îmbrățișez
- **[Friday Spark #147 - Cum să nu trăiești pe pilot automat, ci conectat și autentic](monica-ion/articole/friday-spark-147.md)** `@growth @health`
"Regret că am trăit atâția ani pe pilot automat, în parcul de anestezie." Simptome: gol interior, bifezi toate căsuțele dar nu ești fericit,
- **[Friday Spark #148 - Atacurile de panică: Ce faci când te oprește propriul sistem nervos](monica-ion/articole/friday-spark-148.md)** `@health @growth`
Atacurile de panică și blocajele nu sunt semn de slăbiciune sunt semn că ai dus prea multe, prea mult timp, fără să te asculți. Apar la oa
- **[Friday Spark #149 - 6 cauze ale dependenței de suferință și cum să nu mai porți ecoul rănilor tale](monica-ion/articole/friday-spark-149.md)** `@growth @health`
Durerea este inevitabilă (ce ți se întâmplă). Suferința este opțională (povestea pe care ți-o spui). Dependența de suferință = atașament emo
- **[Friday Spark #150 - Căderea din lumină Ce se întâmplă în tine atunci când judeci pe cineva](monica-ion/articole/friday-spark-150.md)** `@growth`
Judecata te deconectează de tine, de misiunea ta și de lumină. Metafora: fiecare persoană e o luminiță în rețea tridimensională. Când judeci
- **[Friday Spark #151 - Evoluția către misiunea ta: Cele 7 niveluri de conștiință](monica-ion/articole/friday-spark-151.md)** `@growth`
Misiunea nu e un obiect pe care îl găsești, e o călătorie interioară prin 7 nivele de conștiință (chakre). Dacă nu vezi misiunea ta, înseamn
- **[Friday Spark #152 - Când cineva pleacă fără să spună de ce - 7 moduri în care se încheie relațiile](monica-ion/articole/friday-spark-152.md)** `@growth @sprijin`
Oamenii pleacă brusc, fără explicații sau prin moarte. Fiecare plecare are un sens și te învață ceva. Nu există despărțire pe care să n-o
- **[Friday Spark #153 - 10 minciuni subtile care te țin pe loc](monica-ion/articole/friday-spark-153.md)** `@growth`
A te minți pe tine înseamnă să nu vezi lipsa de coerență interioară când valorile tale și acțiunile tale nu se pupă. Există minciuni incon
- **[Friday Spark #154 - Minciuni și adevăruri feminine](monica-ion/articole/friday-spark-154.md)** `@growth @health`
16 minciuni pe care și le spun femeile nu din lipsă de sinceritate, ci ca forme de protecție emoțională. Fiecare minciună ascunde o rană,
- **[Friday Spark #155 - Minciuni și adevăruri feminine](monica-ion/articole/friday-spark-155.md)** `@work @health @growth`
Copleșirea și burnout-ul nu sunt doar despre volum de muncă, ci despre tipare emoționale adânci și frici ascunse. Antreprenori extraordinari
- **[Friday Spark #156 - 156 de Spark-uri. 3 ani. O singură lumină.](monica-ion/articole/friday-spark-156.md)** `@growth`
După 3 ani și 156 de episoade Friday Spark, Monica Ion reflectează asupra propriei transformări: de la entuziasm fără viziune clară, la clar
- **[Friday Spark #157 - Ce cale de evoluție ai ales?](monica-ion/articole/friday-spark-157.md)** `@growth @work`
Viața ta businessul, relațiile, parentingul nu sunt doar roluri sau responsabilități, ci școala prin care sufletul tău învață să devină.
- **[Friday Spark #158 - 13 minciuni invizibile ale bărbaților și costul lor nevăzut](monica-ion/articole/friday-spark-158.md)** `@growth @health`
Bărbații nu te mint doar pe tine se mint în primul rând pe ei înșiși. Aceste 13 minciuni invizibile sunt mecanisme de protecție împotriva
- **[Friday Spark #159 - Frumusețe, pierdere și renaștere: Cum navighezi schimbările care te zdruncină](monica-ion/articole/friday-spark-159.md)** `@growth`
Moment în viața femeii 45-50 ani: emoții mai puternice ca niciodată, plângi din senin, nu recunoști femeia din oglindă. Întrebare: "Este înc
- **[Friday Spark #160 - Trei tipare de femei care atrag relații abuzive și cum să le transformi](monica-ion/articole/friday-spark-160.md)** `@growth`
Structuri patriarhale + programare din copilărie ("te-a tras de codițe = îi place de tine") creează vulnerabilitate la abuz. Profilul: stimă
- **[Friday Spark #161 - De la violență la vindecare: povestea unei transformări](monica-ion/articole/friday-spark-161.md)** `@growth`
Povestea unei cliente blocată în reacție de îngheț: anxietate teribilă, insomnii, frustrare. Călătorie în corp → amintire din urmă cu 18 ani
- **[Friday Spark #162 - 3 salturi mentale pe care le fac antreprenorii prosperi](monica-ion/articole/friday-spark-162.md)** `@work @growth`
Business-ul ca relație de dependență = blocat la un nivel ("M-am săturat să mă învârt în cerc, să plece oamenii, să car businessul în spate"
- **[Friday Spark #163 - De ce nu e niciodată destul: anatomia nemulțumirii ascunse](monica-ion/articole/friday-spark-163.md)** `@growth`
Nemulțumirea = nu un moment de frustrare, ci stare repetitivă care colorează în gri viața. "Da, dar..." în loc să onorezi reușita. Rădăcini:
- **[Friday Spark #165 - De la „Știu" la „Trăiesc": Shortcut-ul spre transformarea ta reală](monica-ion/articole/friday-spark-165.md)** `@growth @work`
Diferența dintre ce știi cu mintea și rezultatele obținute: cele 4 moduri de cunoaștere. 1) Informația abstractă (inspirație, dar fără schim
- **[Friday Spark #166 - Cum să trăiești o viață vie și plină de sens: prin conectare și semnificație](monica-ion/articole/friday-spark-166.md)** `@growth`
Starea de "gri interior" (chiar când ai rezultate vizibile) are legătură cu două elemente: conectarea și semnificația. Conectarea = trăire î
- **[Friday Spark #167 - Traumele financiare: De ce frica ta nu dispare, chiar dacă ai suficient](monica-ion/articole/friday-spark-167.md)** `@growth @work`
Traumele financiare = răni emoționale profunde care conduc deciziile legate de bani fără să-ți dai seama. Ca un aisberg: comportamentele sun
- **[Friday Spark #168 - De ce ți se blochează afacerea și ce poți sa faci tu să ieși din blocaj](monica-ion/articole/friday-spark-168.md)** `@work @growth`
Niciun blocaj din afară nu apare fără blocaj în interior. Afacerea se blochează când tu te blochezi: faci lucruri care nu te mai inspiră, di
- **[Friday Spark #169 - Golul dintre două vieți: transformarea bărbatului între 45 și 55 de ani](monica-ion/articole/friday-spark-169.md)** `@growth`
Pasajul bărbatului 45-55 ani: nu e criză, e tranziție de la forță la măiestrie, de la demonstrație la autenticitate. Corpul nu mai răspunde
- **[Friday Spark #170 - Claritatea nu vine din planuri, ci din liniște: Lecțiile mele din Mongolia](monica-ion/articole/friday-spark-170.md)** `@growth`
10 zile în Mongolia fără semnal, pereți, agendă: doar cer, pământ, vânt, foc și tăcere vie. Nu poți controla natura, poți doar să alegi cum
- **[Friday Spark #171 - Prețul ascuns al unei vieți perfecte: Fractalul Coreei de Sud](monica-ion/articole/friday-spark-171.md)** `@growth`
10-12 zile în Seul: fractal al supraviețuirii moderne - curat, eficient, ordonat, dar cu neliniște subtilă dedesubt. Oglinzi vizibile: alcoo
- **[Friday Spark #172 - Priorități reale vs declarate: Cum transformi adevărul în acțiune](monica-ion/articole/friday-spark-172.md)** `@growth @work`
Prioritățile nu sunt ce declari, ci ce faci constant. 12 adevăruri extrase din experiențe reale: autosabotajul poate apărea și când trăiești
- **[Friday Spark #173 - Cum să treci conștient prin criză, fără să îți strici relația sau afacerea](monica-ion/articole/friday-spark-173.md)** `@growth`
Pasajele de viață nu sunt crize, ci etape naturale de maturizare interioară care apar o dată la 10 ani (circa 4 ani durată), începând de la
- **[Friday Spark #174 - Cum să rezolvi cele mai dificile probleme din business folosind Legea Dualității](monica-ion/articole/friday-spark-174.md)** `@work`
13 moduri concrete de aplicare a Legii Dualității în business: de la idei de implementat, obiective, angajați problematici/ideali, concurenț
- **[Friday Spark #175 - Tiparele care îți influențează și relațiile, și banii](monica-ion/articole/friday-spark-175.md)** `@growth @work`
Legea Fractalilor în acțiune: așa cum faci un lucru, așa le faci pe toate. Modul în care relaționezi cu oamenii se reflectă în modul în care
- **[Friday Spark #176 - Când religia nu mai explică ce trăiești](monica-ion/articole/friday-spark-176.md)** `@growth`
Monica și Ștefan (absolvent de Teologie) discută despre cum religia îți dă "abecedarul spiritual" dar nu tot drumul către potențialul tău ma
- **[Friday Spark #177 - Primul meu retreat: Adevărul despre potențialul infinit al oamenilor](monica-ion/articole/friday-spark-177.md)** `@growth @work`
Monica împărtășește experiența retreatului Infinite Inner Wealth din Bali: cum s-a construit transformarea prin lucrul pe chakre (5-6-7-8),
- **[Friday Spark #178 - Cum îți creezi realitatea: Puterea celor 7 Oglinzi Eseniene](monica-ion/articole/friday-spark-178.md)** `@growth @work`
Cele șapte oglinzi eseniene sunt un sistem de orientare în viață care arată cum lumea exterioară reflectă starea ta interioară. Nu sunt un m
- **[Friday Spark #179: Încheie 2025 cu claritate - 21 de întrebări](monica-ion/articole/friday-spark-179.md)**
Exercițiu practic de evaluare pentru anul 2025 în 7 arii ale vieții (21 întrebări totale). Nu e despre "bun" sau "greu", ci despre a înțeleg
- **[Friday Spark #180: Cum îți transformi obiectivele în rezultate](monica-ion/articole/friday-spark-180.md)**
O tehnică practică de aliniere și accelerare pentru obiectivele din 2026. Monica Ion explică diferența crucială între obiective aliniate și
- **[Friday Spark #181: 5 setări mentale pentru un an de succes](monica-ion/articole/friday-spark-181.md)**
Monica Ion prezintă 5 setări mentale esențiale pentru 2026 - un material de referință la care să revii periodic pe parcursul anului. Aceste
- **[Friday Spark #182: Furia feminină reprimată](monica-ion/articole/friday-spark-182.md)**
Monica Ion împărtășește o experiență intensă de vindecare din Bali, declanșată de un dans sacru și o reacție alergică puternică. Explor care
- **[Friday Spark #183: Platoul financiar](monica-ion/articole/friday-spark-183.md)**
Monica Ion explică **8 cauze reale** pentru care oamenii rămân blocați la un anumit nivel financiar, chiar dacă muncesc mai mult. Articolul
- **[Cum să fii liber într-o lume a constrângerilor](monica-ion/articole/friday-spark-51.md)** `@growth @work #libertate #aliniere #percepție #colivie #valori`
**Libertatea și lipsa ei = ambele doar PERCEPȚII.** Mintea ta creează colivia, nu alții, nu sistemul, nu angajații. Cu cât mai mult lucrezi
- **[Cum devii eroul din povestea vieții tale](monica-ion/articole/friday-spark-52.md)** `@growth #calatoria-eroului #harap-alb #higher-mind #lower-mind #iluminare #chakra`
Călătoria eroului (Harap-Alb) = călătoria fiecăruia spre lumină (iluminare). **Higher Mind** (sinele superior) = integrează experiențele în
- **[Unitatea Divină și Materializarea Obiectivelor](monica-ion/articole/friday-spark-55.md)** `@growth @work #entuziasm #bucurie #obiective #echilibrare #manifestare`
**Entuziasm** = vezi PLUS și MINUS în egală măsură, în continuare ești chemat dinăuntru (aliniere voință individuală + divină). **Bucurie**
- **[Cum să trăiești fără compromisuri în relație?](monica-ion/articole/friday-spark-56.md)** `@growth #relatie #cuplu #aliniere #valori #compromis`
3 moduri de relație: (1) **Sacrificiu** = renunți la valorile tale pentru celălalt → creezi resentimente și îndatorare; (2) **Compromis** =
- **[Gut Feeling sau Intuiție?](monica-ion/articole/friday-spark-57.md)** `@growth #intuitie #gut-feeling #echilibru #prezenta`
Monica face distincția între 3 nivele diferite: (1) **Gut feeling** = somatizare din frică, lower mind care percepe amenințare la supraviețu
- **[Erou sau Victimă? Tu ce rol joci?](monica-ion/articole/friday-spark-58.md)** `@growth @work #tipar #victima #erou #motivatie #energie`
Tiparul victimă-erou are două fețe ale aceleiași povești: victima zice "mi se întâmplă lucruri, alții sunt de vină", iar eroul zice "fără mi
- **[Cum să eviți să transmiți rănile tale copiilor](monica-ion/articole/friday-spark-59.md)** `@growth @health #parenting #vina #echilibru #copii`
Sentimentele de vină față de copii (când îi lași la grădiniță, cu bona, când plâng) reflectă rănile tale nerezolvate, nu suferința reală a c
- **[Friday Spark 60 - Eficiența nu e ceea ce crezi](monica-ion/articole/friday-spark-60.md)** `@work @growth #productivity #energy #values #efficiency`
Eficiența clasică (capitalism): maximizezi rezultate cu timpul tău → epuizare, anxietate, boală. Eficiența în natură: cât de adaptabil ești
- **[Friday Spark 61 - Cum să ceri ceva ca să și primești](monica-ion/articole/friday-spark-61.md)** `@growth @work #self-worth #asking #delegation #boundaries`
"Scuze, nu vreau să vă deranjez!" = stimă de sine scăzută + merit scăzut. Reflectă: ce vrei TU nu contează, te micești față de alții. Adevăr
- **[Friday Spark 63 - Cum am lucrat cu propriile frici](monica-ion/articole/friday-spark-63.md)** `@health @growth #fear #trauma #healing #spirituality`
După moartea mamei (asistare la descompunere): frica de moarte + îmbolnăvire. Lucrat cu echilibrare percepții + body work. Vis puternic: tre
- **[Friday Spark 64 - Cum să nu te pierzi într-o lume nebună (Sănătate Mentală)](monica-ion/articole/friday-spark-64.md)** `@health @growth #mental-health #anxiety #depression #fear #trauma`
Post-pandemie: 1 din 5 persoane în SUA cu afecțiune psihică. Dezechilibrul chimic NU e cauza, ci REZULTATUL percepțiilor. Anxietate, depresi
- **[Friday Spark 65 - Soțul meu câștigă mai puțin ca mine...](monica-ion/articole/friday-spark-65.md)** `@growth #relationships #money-mindset #duality`
Clientă nu se mai simte atrasă de soț (burtă, neglijare) și câștigă mult mai mult decât el ("mă simt mai bărbat"). Prin echilibrare (găsire
- **[Friday Spark 66 - Cum a câștigat clientul meu 195.000 euro](monica-ion/articole/friday-spark-66.md)** `@work @growth #money-mindset #trauma-healing`
Client cu business de milioane, dar cont la nivel de supraviețuire - nu are bani pentru salarii. Prin ședință de coaching (identificare tipa
- **[Friday Spark 68 - Cum să-ți crești puterea de manifestare](monica-ion/articole/friday-spark-68.md)** `@growth @health #spirituality #manifestation #mindset`
Există două planuri ale existenței: fizic (supraviețuire, lipsă, efort) și spiritual (plenitudine, unitate cu Universul). Manifestarea din p
- **[Friday Spark 69 - Despre Febra Reducerilor](monica-ion/articole/friday-spark-69.md)** `@work @health #money-mindset #psychology`
Cumpărăturile compulsive de Black Friday nu sunt despre economii, ci despre mecanisme psihologice profunde: scarcity activează supraviețuire
- **[Friday Spark 72 - Cum reflectă cadourile cumpărate stima de sine](monica-ion/articole/friday-spark-72.md)** `@work @sprijin #cadouri #bani #valori #sărbători #relații`
Cadourile cumpărate reflectă 3 lucruri: (1) relația cu banii (buget Decembrie, obiective financiare, povești justificative), (2) relația cu
- **[Friday Spark 73 - Cum să ai sărbători reușite, fără sacrificii](monica-ion/articole/friday-spark-73.md)** `@sprijin #sărbători #valori #așteptări #echilibru`
Sărbătorile sunt dificile pentru că ai cele mai mari așteptări față de cei mai dragi (părinți, partener, copii) și ești cel mai vulnerabil l
- **[12 moduri în care ai prosperitate în viața ta](monica-ion/articole/friday-spark-75.md)** `@growth @work #prosperitate #obiective #valori #recunoștință`
Prosperitatea există DEJA în 12 forme în viața ta - de la oportunități și sănătate, la prezență și delegare. Pentru obiective 2024: stabileș
- **[3 pași pentru a conduce un business fără burnout](monica-ion/articole/friday-spark-76.md)** `@work @health #burnout #valori #delegare #business`
Burnout-ul vine din a face lucruri nealiniate cu valorile tale - cheltui energie fără să te încarci. Soluția în 3 pași: (1) Identifică valor
- **[Cum să iei decizii fără teamă](monica-ion/articole/friday-spark-78.md)** `@growth @work #decizie #frica #transformare`
Frica de decizii radicale vine din dureri neechilibrate din trecut proiectate în viitor. Soluția: echilibrarea evenimentelor trecute prin pr
- **[Depășirea Stărilor Emoționale Grele: 6 Soluții](monica-ion/articole/friday-spark-79.md)** `@growth @health #jos-emotional #traume #misiune #valori #fantezii`
Monica identifică **6 cauze principale ale jos-urilor emoționale** (stări apăsătoare fără depresie clinică, dar fără chef de viață) și oferă
- **[Ritual de Purificare Hindu: Conexiune cu Sinele](monica-ion/articole/friday-spark-82.md)** `@growth #spiritualitate #ritual #purificare #bali #conexiune`
Experiență ritual purificare hindus în Bali: nu despre poveste/ritual superficial, ci despre ESENȚĂ. Purificarea = reprioritizare (las irele
- **[Când renunți la lucruri greșite, le atragi pe cele corecte - Stări integrate vs Emoții](monica-ion/articole/friday-spark-84.md)** `@growth #emotii #stari-integrate #echilibru #reciclare`
Emoțiile sunt REACȚII (durată scurtă, consum mare energie) față de stările INTEGRATE (echilibru, optimum funcțional). Cele 6 stări integrate
- **[Cum scapi de tristețe fără a o transmite generațional](monica-ion/articole/friday-spark-86.md)** `@growth @health #tristete #deprimare #valori #transformare`
Tristețea este atașament față de o variantă ideală (în trecut sau viitor) pe care o percepi pierdută și asupra căreia nu mai ai putere. Tris
- **[Frica și anxietatea - Partea a II-a](monica-ion/articole/friday-spark-88.md)** `@growth @work #frica #anxietate #valori`
Episodul adâncește mecanismele fricii și manifestarea ei în valori înalte vs joase. Cele trei reacții la frică (luptă/fugă/îngheț) apar în f
- **[Friday Spark #95: Cum te eliberezi de nevoia de a face pe placul celorlalți (People Pleasing)](monica-ion/articole/friday-spark-95.md)** `@sprijin @growth #people-pleasing #sociotropie #stima-de-sine #relatii #limite #burnout`
**People pleasing (sociotropie)** = comportament de a-i mulțumi CONSTANT pe ceilalți, ignorând propriile nevoi/sentimente. **Cauză principal
- **[Friday Spark #97: Cum să îți crești business-ul din aliniere cu tine însăți (Interviu Dragoș Alexa)](monica-ion/articole/friday-spark-97.md)** `@work @growth #aliniere #autenticitate #inovatie #business #valori #bani`
**Interviu Monica Ion + Dragoș Alexa (expert inovație)** despre **aliniere în business**. Alinierea = prima unealtă de succes antreprenorial
- **[Friday Spark #98: Cum să nu fii dezamăgit de oamenii la care ții (și de tine însuți)](monica-ion/articole/friday-spark-98.md)** `@growth @sprijin #dezamagire #asteptari #valori #relatii #people-pleasing`
Dezamăgirea apare când proiectăm **valorile noastre asupra altora** sau stabilim **obiective în afara propriilor valori**. Soluția: identifi
- **[Monica Ion - Povestea lui Marc - Episodul #1: Diagnosticul](monica-ion/youtube/2026-02-01_monica-ion-povestea-lui-marc-ep1-diagnosticul.md)** `@growth @work #antreprenoriat #bani #vina #rusine #mindset`
Studiu de caz despre Marc, antreprenor cu firmă de automatizări industriale, care trăiește un **ciclu yo-yo financiar**: când are bani îi ri
- **[Monica Ion - Povestea lui Marc - Episodul #2: Vina](monica-ion/youtube/2026-02-01_monica-ion-povestea-lui-marc-ep2-vina.md)** `@growth #vina #terapie #mindset #antreprenoriat`
Episodul 2 intră în lucrul practic pe **vină**. Marc vine cu o nouă criză (i-a plecat cel mai bun om tehnic), dar Monica refuză "valea plâng
- **[Monica Ion - Povestea lui Marc #3 - Dizolvarea Vinei](monica-ion/youtube/2026-02-01_monica-ion-povestea-marc-ep3-complet.md)** `@growth @sprijin`
*Tehnica poate fi folosită pentru coaching individual sau în grup*
- **[Monica Ion - Povestea lui Marc Episod #6 Pierderea și frica de instabilitate](monica-ion/youtube/2026-02-06-monica-ion-pierderea-frica-instabilitate.md)** `@work @growth #bani #pierdere #transformare`
Episod coaching Monica Ion cu Marc despre lucrul pe pierdere (client mare = 220.000€/an). Procesul folosește **legea transformării** (nimic
- **[Monica Ion - Povestea lui Marc Episodul #5 Datoria față de familie](monica-ion/youtube/2026-02-06_monica-ion-povestea-lui-marc-ep5.md)** `@health @growth #monica-ion #bani #limite #datorii #schimb-echitabil`
Marc face progrese vizibile în stabilirea limitelor ferme și dizolvarea vinei - spune NU fără culpabilitate, menține prețurile, pune limite
- **[Monica Ion - Despre Creșterea Prețurilor și Valoarea Reală](monica-ion/youtube/2026-02-07_monica-ion-despre-cresterea-preturilor-valoare-reala.md)** `@work @growth #pret #valoare #clienti #mental-blocks`
Monica Ion trimite un mesaj între sesiuni către Mark despre **frica de a crește prețurile**. Nu lucrezi pe strategia de creștere, ci pe **ca
- **[Monica Ion - Povestea lui Marc Episodul #5: Datoria față de familie](monica-ion/youtube/2026-02-07_monica-ion-povestea-lui-marc-ep5-datorie-familie.md)** `@work @growth`
Episod despre "bucle deschise" legate de bani și datorii care consumă energie mentală și blochează vederea oportunităților. Monica lucrează
- **[Monica Ion - Povestea lui Marc Episod #6: Pierderea și Frica de Instabilitate](monica-ion/youtube/2026-02-07_monica-ion-povestea-lui-marc-ep6-pierdere-frica-instabilitate.md)** `@work @growth`
Episodul lucrează pe pierderea clientului mare (30% din business, 220.000 € anual) și cum Marc compensează prin Legea Transformării și Sincr
- **[Monica Ion - Povestea lui Marc - Episodul 7: Relația cu angajații și dinamica puterii](monica-ion/youtube/2026-02-09-monica-ion-povestea-lui-marc-ep7-relatie-angajati.md)** `@work @growth #angajati #leadership #transformare #pierdere`
Monica Ion lucrează cu Mark pe relația cu angajații și frica de pierdere. Mark vine agitat cu teama de a pierde un angajat tehnic genial. Mo
- **[Monica Ion - Povestea lui Marc Episodul 8 Mândria și identitatea personală](monica-ion/youtube/2026-02-12_monica-ion-povestea-lui-marc-ep8.md)** `@growth @work #mindset #money #linkage`
În acest episod, Mark vine bine, are economie în firmă și un client mare, aproape semnat. Se vede pe el mândria. Îi spun direct că mândria e
- **[Monica Ion - Povestea lui Marc Ep.10: Convingeri spirituale și realitatea cu Ștefan](monica-ion/youtube/2026-02-19-monica-ion-marc-ep10-convingeri-spirituale-bani.md)** `@growth`
Marc credea că banii și spiritualitatea sunt incompatibile — "pe măsură ce ai mai mulți bani, ceva esențial se pierde". Convingerea venea de
- **[2026-02-19_monica-ion-marc-ep11-mila-limite](monica-ion/youtube/2026-02-19_monica-ion-marc-ep11-mila-limite.md)**
Marc e la stabilitate financiară. Ședința lucrează pe mila față de angajați — momentele în care "lași de la tine" și eviți limite ferme. Pri
- **[Monica Ion - Povestea lui Marc - Episodul 9: Anxietatea, frica de control și pierdere](monica-ion/youtube/monica-ion-povestea-lui-marc-ep9-anxietatea.md)** `@growth @work @sprijin`
Marc revine la ședință devastat: un proiect european (30% din cifra de afaceri) a fost înghețat, clientul nu mai finanțează. Monica lucrează
- **[Proiect: Import Bonuri Fiscale via Telegram/WhatsApp → ROA](roa2web-telegram-import/README.md)** `@work`
Sistem pentru importul bonurilor fiscale de achiziție din Telegram/WhatsApp în contabilitatea ROA. OCR prin Doctr (cost zero, local). Integr
- **[Flux Contabil - Import Bonuri Fiscale Achiziție](roa2web-telegram-import/flux-contabil.md)**
*Flux documentat de Echo • 2026-02-03*
- **[Schema Oracle - ROA (MARIUSM_AUTO)](roa2web-telegram-import/schema-oracle.md)**
*Schema documentată de Echo • 2026-02-03*
- **[Samsung 990 PRO Firmware Update](samsung-990-pro-firmware-update.md)**
- **[Activitate: Hero's Journey](scout/activitate-heros-journey.md)** `@scout #activitate #dezvoltare-personala`
*Creat: 2026-02-01 | Echo Work*
- **[Securizare Clawdbot - Cercetare](securizare-clawdbot.md)** `@work #security #clawdbot`
Clawdbot are deja un sistem robust de securitate. Principalele măsuri: **pairing pentru DM-uri**, **sandbox pentru tools**, **allowlists pen
- **[Acces SSH pentru Echo](ssh-access-echo.md)**
*Actualizat: 2026-01-31*
- **[Mind Map - Concepte Trading pentru Începători](trading-basics/00-MIND-MAP-CONCEPTE-TRADING.md)**
**Pentru:** Marius - ghid complet trading pentru începători
- **[Episodul 38 - Află Formula Din Spatele Strategiilor Mele de Trading și Investiții](trading-basics/01-episodul-38-formula-trading.md)** `@work`
**Data salvare:** 2026-02-10
- **[Puterea Regulilor: Cum Validăm Statistic o Strategie Care Livrează Rezultate Consistente](trading-basics/01-puterea-regulilor-cum-validm-statistic-o-strategie-care-livreaz-rezultate-consis.md)** `@work #trading #strategie #mindset #disciplină`
Strategia mecanică care produce profit pe termen lung nu se bazează pe "feeling" sau intuiție, ci pe reguli clare, testabile statistic și ex
- **[Episodul 39: Psihologia Profitului - Elementul pe Care 99% Dintre Traderi îl Ignoră](trading-basics/02-episodul-39-psihologia-profitului-elementul-pe-care-99-dintre-traderi-l-ignor.md)** `@work #trading #prop-trading #psihologie #risk-management`
Conturile prop (autofinanțate) permit accesul la capital mare (25.000-300.000€) cu doar o fracțiune din banii proprii (200-1.500€), dar succ
- **[Cum Ne Autosabotăm la Nivel de Subconștient - Mark Accetta](trading-basics/04-cum-ne-autosabot-m-la-nivel-de-subcon-tient-mark-accetta.md)** `@work @growth #psihologie #mindset #dezvoltare-personală #autosabotaj`
Cea mai mare închisoare nu este fizică, ci mentală - dialogul intern negativ ne transformă în prizonieri ai propriilor fricii, insecurități
- **[Episodul 37: Ghidul Începătorului pentru Risc vs Câștig - Primul Pas Spre Profit](trading-basics/05-episodul-37-ghidul-ncep-torului-pentru-risc-vs-c-tig-primul-pas-spre-profit.md)** `@work #trading #risk-reward #money-management #strategie`
Risk/reward (raportul risc-recompensă) este conceptul fundamental care, odată stăpânit la nivel de artă, garantează profitabilitate pe terme
- **[Episodul 36: Rezultate Rapide în Trading fără Interpretări Subiective](trading-basics/06-episodul-36-rezultate-rapide-n-trading-f-r-interpret-ri-subiective.md)** `@work #trading #strategie-mecanică #obiectivitate #backtesting`
Strategiile subiective (linii de suport/rezistență desenate manual, interpretări ale trend-ului) nu funcționează pe termen lung pentru că 20
- **[Episodul 35: 5 Capcane Care Îți Denaturează Deciziile în Trading](trading-basics/07-episodul-35-5-capcane-care-iti-denatureaza-deciziile-in-trading.md)** `@work #trading #psihologie #money-management #win-rate #risk-reward`
Prima și cea mai importantă lecție în trading este să accepți pierderile și să respecți planul 100% - mulți traderi încalcă această regulă d
- **[Episodul 34: Scurt, Mediu sau Lung](trading-basics/08-episodul-34-scurt-mediu-sau-lung.md)** `@work @growth #trading #stiluri-trading #psihologie #rani-emotionale`
Stilul tău de trading (scalping/day/swing/investiții) nu este doar o alegere logică, ci o reflectare a rănilor tale emoționale din copilărie
- **[Episodul 33: Cum Faci Ca Piața Să Te Caute?](trading-basics/09-episodul-33-cum-faci-ca-piaa-s-te-caute-.md)** `@work #trading #etape-trader #market-phases #consistenta`
Fiecare trader trece prin 4 etape clare pe drumul către consistență: (1) Neprofitabil - câștiguri mici, pierderi mari, ego vs dorința de înv
- **[Episodul 32: O Oră/Zi - O Strategie - Conturi de Prop Calificate](trading-basics/10-episodul-32-o-ora-zi-o-strategie-conturi-de-prop-calificate.md)** `@work #trading #day-trading #prop-trading #strategie-automată`
Traderii eficienți care califică conturi prop nu stau 10-12 ore/zi pe grafice, ci au strategii semiautomatizate care necesită MAX 1 oră/zi e
- **[Episodul 31: Mindsetul Din Spatele Unei Strategii Care Produce](trading-basics/11-episodul-31-mindsetul-din-spatele-unei-strategii-care-produce.md)** `@work #trading #mindset #strategie-mecanică #disciplină`
Strategia mecanică care produce profit pe termen lung nu se bazează pe "feeling" sau intuiție, ci pe reguli clare, testabile statistic și ex
- **[Episodul 30: Cum Poți Genera Câștiguri Constante](trading-basics/12-episodul-30-cum-po-i-genera-c-tiguri-constante.md)** `@work #trading #prop-trading #câștiguri-constante #money-management`
Conturile prop permit accesul la capital mare (25.000-300.000€) plătind doar o taxă mică (200-1.500€), dar necesită disciplină strictă în mo
- **[Episodul 29: Venituri Pasive de 300% Din Investiții în S&P 500 Prin Strategia ATMI](trading-basics/13-episodul-29-venituri-pasive-de-300-din-investi-ii-n-sp-500-prin-strategia-atmi.md)** `@work #trading #formula-maps #investiții #strategie-mecanică`
Formula MAPS (Model-Acțiune-Plan-Sumă) este "harta tranzacției" care transformă trading-ul din decizii emoționale în proces calculat și măsu
- **[Episodul 28: Trading 100% Obiectiv](trading-basics/14-episodul-28-trading-100-obiectiv.md)** `@work #trading #psihologie #mindset #cont-propriu #așteptări`
Șansele să reușești în trading pe cont propriu sunt aproape zero - majoritatea pierd bani sau stagnează ani întregi din cauza emoțiilor și l
- **[Episodul 27: Ce Tip de Analiză Îți Crește Șansele de Câștig în Primii 3 Ani de Trading](trading-basics/15-episodul-27-ce-tip-de-analiz-i-cre-te-san-ele-de-c-tig-n-primii-3-ani-de-trading.md)** `@work #trading #strategie-mecanică #discreționară #obiectivitate #primii-ani`
Motivul principal pentru care 80-90% dintre începători pierd bani în primii 3 ani este folosirea strategiilor discreționare (linii de trend,
- **[Episodul 26: Ce Te Face Mai Profitabil - Day Trading Intens sau Swing Trading Calculat](trading-basics/16-episodul-26-ce-te-face-mai-profitabil-day-trading-intens-sau-swing-trading-calcu.md)** `@work #trading #day-trading #swing-trading #stiluri`
Alegerea între day trading și swing trading nu este despre care generează mai mult profit, ci despre compatibilitatea cu timpul disponibil,
- **[Secretele Creșterii Sănătoase a Contului de Trading](trading-basics/17-episodul-24-secretele-cresterii-sanatoase-contului.md)** `@work #trading`
Creșterea sănătoasă a contului de trading depinde de 3 variabile matematice: cât pierzi când pierzi, win rate (rata de succes) și risk/rewar
- **[De Ce Eșuezi în Trading - Adevărul Despre Consistență](trading-basics/18-episodul-23-de-ce-esuezi-in-trading-adevarul-despre-consistenta.md)** `@work #trading`
Eșecul în trading vine din percepția greșită asupra pieței (crezi că ai control, că piața trebuie să facă ce vrei tu) și din focusul pe rezu
- **[Ghidul Traderului Consistent - Cele 4 Etape](trading-basics/19-episodul-22-ghidul-traderului-consistent.md)** `@work #trading`
Drumul către consistență în trading parcurge 4 etape inevitabile: (1) Unprofitable - câștiguri mici, pierderi mari, (2) Boom & Bust - câștig
- **[Cum Să Ții Emoțiile în Șah în Trading](trading-basics/20-episodul-21-cum-sa-tii-emotiile-in-sah.md)** `@work #trading`
80% din trading este gestionare emoțională, nu strategii tehnice. Emoțiile urmează un cerc vicios: Reprezentare Mentală → Gânduri → Emoții →
- **[Ce Au în Comun Traderii Profitabili](trading-basics/21-episodul-20-ce-au-in-comun-traderii-profitabili.md)** `@work #trading`
Traderii profitabili au în comun 3 elemente critice: (1) Sistem testat care rezonează cu personalitatea lor, (2) Disciplină+perseverență+mon
- **[Motivul Cheie Fără Care NU Funcționează Strategii](trading-basics/22-episodul-19-motivul-cheie-fara-care-nu-functioneaza-strategii.md)** `@work #trading`
90%+ traderi pierd bani pentru că **uită scopul inițial** (profit) și transformă trading-ul în **divertisment/distracție**. Trading-ul seamă
- **[23-episodul-18-ce-e-important-s-tii-n-primii-2-ani-de-trading-partea-a-treia](trading-basics/23-episodul-18-ce-e-important-s-tii-n-primii-2-ani-de-trading-partea-a-treia.md)**
- **[24-episodul-17-ce-e-important-s-tii-n-primii-2-ani-de-trading-partea-a-doua](trading-basics/24-episodul-17-ce-e-important-s-tii-n-primii-2-ani-de-trading-partea-a-doua.md)**
- **[25-episodul-15-ce-po-i-face-s-reduci-la-maxim-timpul-alocat-tranzac-ion-rii-pe-burs](trading-basics/25-episodul-15-ce-po-i-face-s-reduci-la-maxim-timpul-alocat-tranzac-ion-rii-pe-burs.md)**
- **[26-episodul-14-analiza-tehnic-i-psihologia-maselor-n-trading](trading-basics/26-episodul-14-analiza-tehnic-i-psihologia-maselor-n-trading.md)**
- **[Episodul 13 - Cum arată o zi din viața unui trader](trading-basics/27-episodul-13-cum-arat-o-zi-din-via-a-mea-ca-trader.md)**
**Scanere automate**: Filtrare ~14.000 companii US → 10-30 simboluri pe bază criterii programate (volum, preț față de suport/rezistență, pro
- **[28-episodul-12-cum-se-mi-c-pre-urile-n-pia-a-de-capital](trading-basics/28-episodul-12-cum-se-mi-c-pre-urile-n-pia-a-de-capital.md)**
- **[Episodul 11 - Componentele cheie ca să ai profit predictibil (partea a treia)](trading-basics/29-episodul-11-componentele-cheie-ca-s-ai-profit-predictibil-partea-a-treia.md)**
**Zoom (ZM)**: Exemplu negativ - 600 → 65 în 4 ani → de ce stop loss e CRITIC
- **[30-episodul-10-componentele-cheie-ca-s-ai-profit-predictibil-partea-a-doua](trading-basics/30-episodul-10-componentele-cheie-ca-s-ai-profit-predictibil-partea-a-doua.md)**
- **[Episodul 9 - Componentele cheie ca să ai profit predictibil (partea întâi)](trading-basics/31-episodul-9-componentele-cheie-ca-s-ai-profit-predictibil-partea-nt-i.md)**
**Backtesting**: Testare strategii pe date istorice înainte de bani reali (Excel, platforme programabile)
- **[32-episodul-8-disciplina-n-trading-ce-este-cum-o-ob-ii-de-ce-majoritatea-gafeaz-a-a](trading-basics/32-episodul-8-disciplina-n-trading-ce-este-cum-o-ob-ii-de-ce-majoritatea-gafeaz-a-a.md)**
- **[33-episodul-7-frica-de-a-rata-oportunit-i-ce-este-de-ce-apare-cum-o-putem-diminua](trading-basics/33-episodul-7-frica-de-a-rata-oportunit-i-ce-este-de-ce-apare-cum-o-putem-diminua.md)**
- **[34-episodul-6-emo-iile-n-trading-inamic-sau-aliat-de-ce-majoritatea-traderilor-ncep](trading-basics/34-episodul-6-emo-iile-n-trading-inamic-sau-aliat-de-ce-majoritatea-traderilor-ncep.md)**
- **[EPISODUL 5 - TOP 10 GREȘELI ÎN TRADING - ERORI FRECVENTE CARE DĂUNEAZĂ CONSISTENȚEI](trading-basics/35-episodul-5-top-10-gre-eli-n-trading-erori-frecvente-care-d-uneaz-consisten-ei.md)**
**Fizică Cuantică**: Concept că trecutul, prezentul, viitorul se întâmplă simultan - explică de ce retrăim emoțiile din copilărie ca și când
- **[Episodul 4 - Crezul Traderului Profitabil (Partea a Doua)](trading-basics/36-episodul-4-crezul-traderului-profitabil-partea-a-doua.md)**
**Scanere real-time + Trinity indicator**: Indicator custom "Sfânta Treimă" = 3 indicatori independenți; când toți arată aceeași direcție →
- **[37-episodul-3-crezul-traderului-profitabil-partea-nt-i](trading-basics/37-episodul-3-crezul-traderului-profitabil-partea-nt-i.md)**
- **[EPISODUL 2 - CELE 5 AXIOME ÎN TRADING FĂRĂ DE CARE ESTE IMPOSIBIL SĂ OBȚII PROFIT PREDICTIBIL](trading-basics/38-episodul-2-cele-5-axiome-n-trading-f-r-de-care-este-imposibil-s-ob-ii-profit-pre.md)**
**Educated guess**: "Ghiceală educată" - nu ghicești random, ci bazat pe probabilități statistice și reguli testate.
- **[Episodul 1 - Primii Tăi Pași în Trading Ca Să Ai Un Start Corect](trading-basics/39-episodul-1-primii-t-i-pa-i-n-trading-ca-s-ai-un-start-corect.md)**
**Rezultate tranzacții 2024**: Listă completă ianuarie-august cu randamente lunare (7.9%, 3.21%, 41%, 19%, 22%, 15%, 4.61%) - disponibilă în
- **[Episodul 0 - Cum Am Ajuns Să Am Profituri de 3-5% Lunar Ca Trader](trading-basics/40-episodul-0-cum-am-ajuns-sa-am-profituri-de-3-5-lunar-ca-trader.md)**
**Risk Management Framework**: 1-2% risc per tranzacție din cont total - regulă de aur menționată repetat
- **[🎯 Mind-Map 80/20 Trading pentru Marius](trading-basics/MIND-MAP-MARIUS-80-20.md)**
**Status:** Final - toate fișierele procesate, analiză completă
- **[Episodul 24 - Secretele Creșterii Sănătoase a Contului Tău de Trading](trading-basics/_duplicates/17-episodul-24-secretele-cre-terii-s-n-toase-a-contului-t-u-de-trading.md)**
**Slippage & Spread**: Costuri reale de tranzacționare care trebuie incluse în testarea strategiilor și roboților (diferența între preț aște
- **[18-episodul-23-de-ce-e-uezi-n-trading-adev-rul-despre-consisten-pe-care-nu-vrei-s-l](trading-basics/_duplicates/18-episodul-23-de-ce-e-uezi-n-trading-adev-rul-despre-consisten-pe-care-nu-vrei-s-l.md)**
- **[20-episodul-21-cum-s-ii-eomo-iile-n-sah-n-timp-ce-tranzac-ionezi](trading-basics/_duplicates/20-episodul-21-cum-s-ii-eomo-iile-n-sah-n-timp-ce-tranzac-ionezi.md)**
- **[Episodul 20 - Ce au în comun traderii profitabili](trading-basics/_duplicates/21-episodul-20-ce-au-n-comun-traderii-profitabili.md)**
**Pentru conținut complet structurat (concepte, quote-uri, aplicații practice), consultă Episodul 9.**
- **[22-episodul-19-motivul-cheie-f-r-de-care-nu-func-ioneaz-nicio-strategie-n-trading-](trading-basics/_duplicates/22-episodul-19-motivul-cheie-f-r-de-care-nu-func-ioneaz-nicio-strategie-n-trading-.md)**
- **[Proiect: Vending Master - Integrare Website → ROA](vending-master/README.md)** `@work #vending-master #integrare`
[conversations/2026-01-30-conversatie-completa.md](https://moltbot.tailf7372d.ts.net/echo/files.html#conversations/2026-01-30-conversatie-co

View File

@@ -0,0 +1,10 @@
# Index — reflectii/
> 3 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Audit: Unde prioritizez relațiile peste bani?](2026-02-01_audit-relatii-bani.md)** `@growth #bani #relatii`
*Citește când ai chef de introspecție. Nu e urgent.*
- **[Exercițiu: Dizolvarea vinei](2026-02-01_dizolvare-vina.md)** `@growth #vina`
*Exercițiu puternic. Fă-l când ai timp și spațiu mental.*
- **[Pattern: "Nu merit"](2026-02-01_pattern-nu-merit.md)** `@growth #credinte #merit`
*Exercițiu de Monica Ion. Citește când ești pregătit.*

View File

@@ -0,0 +1,6 @@
# Index — retete/
> 1 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Ciorbă de Burtă Falsă cu Pui și Ciuperci Pleurotus](2026-01-30_ciorba-burta-falsa-cu-pui.md)** `@health #ciorba #reteta #pleurotus #pui`
- Se poate face și de post: fără carne, cu lapte vegetal în loc de smântână

18
memory/kb/tools/index.md Normal file
View File

@@ -0,0 +1,18 @@
# Index — tools/
> 7 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Antfarm - Flux Complet cu Discovery & PRD](antfarm-flux-complet.md)**
> **PRD complet = feature complet.**
- **[Proiecte pe LXC 171 — claude-agent](claude-agent-projects.md)**
- **Infrastructură / Proxmox** → romfastsql
- **[Cron Jobs - Lista completă](cron-jobs.md)**
Vezi: [FLUX-JOBURI.md](../projects/FLUX-JOBURI.md)
- **[Infrastructură (Proxmox + Docker)](infrastructure.md)**
- Orice operație distructivă
- **[Ralph Workflow - Sistem Complet](ralph-workflow.md)**
**Next:** Integrare night-execute
- **[Sales Scripts & Tehnici NLP](sales-scripts.md)** `@work #sales #nlp #scripts #prospecting #cold-calls`
**Actualizat:** La fiecare tehnică nouă descoperită
- **[Session Initialization Rule](session-initialization.md)**
- [x] Echo updates notes at session end

View File

@@ -0,0 +1,58 @@
# How the Top 1% Actually Run Claude Code Now
**URL:** https://youtu.be/2-0lxK2wgJ8
**Data:** 2026-06-09
**Tags:** @work @growth #loops #agents #automation #claude-code
---
## TL;DR
Videoul descrie tranziția de la Stage 2 (juglezi manual mai mulți agenți) la Stage 3 (proiectezi loop-uri autonome care promtează agenții în locul tău). Unitatea de muncă nu mai e prompt-ul individual — e loop-ul întreg. Boris Czerny (Anthropic) și creatorul OpenAI confirmă ambii că acesta e viitorul. Se discută inner loops, outer loops, memory pentru loops și problema entropy/slop acumulat.
---
## Puncte cheie
1. **Paradigm shift central:** Nu mai promtezi agenți direct — proiectezi loop-uri care promtează agenții autonom. "I don't prompt Claude anymore. I have loops that are running."
2. **Cele 3 etape:**
- Stage 1: AI autocomplete (scrii cod, AI completează)
- Stage 2: Juglezi manual mai mulți agenți (unde sunt cei mai mulți acum)
- Stage 3: Proiectezi loop-uri care rulează agenții — leverage urcă un nivel
3. **Inner loop concret** (spec → implementare → code review → fix → verificare → merge PR → monitorizare erori post-merge). Loops mai mici se imbricau deja în workflow-ul manual — acum devin un singur loop automat.
4. **Outer loop** monitorizează surse externe (competitori, arxiv, Sentry) și alimentează inner loop-ul cu noi specs. Human-in-the-loop la aprobare rămâne important.
5. **Memory pentru loops:** Git/commits ca memorie naturală (ce a fost deja fix-uit ieri). Slack sau Airtable ca decision surface — botul postează recomandări, reacția ta cu emoji = instrucțiune pentru următoarea rulare.
6. **Problema entropy/slop:** Loop-urile pot acumula erori rapid ("collapse entropy into a much shorter time"). Soluția: un "oracle extern" obiectiv — teste care trec, erori reale din producție, Stripe revenue, reply rates — care ține loop-ul în check. Adversarial code review ca mecanism anti-entropy.
7. **Meta-loop:** Un loop care monitorizează toate celelalte loop-uri, identifică ce funcționează, ce nu, și propune noi loop-uri (cu aprobare umană).
8. **Relevanță directă pentru Echo/Ralph:** Sistemul Ralph din echo-core este exact Stage 3. Night-execute + ralph.sh + morning-report = un loop complet. Outer loop = evening-report care propune, Marius aprobă, inner loop = ralph.sh per story.
---
## Quote-uri
> "I don't prompt Claude anymore. I have loops that are running. They're the ones that are prompting Claude and kind of figuring out what to do. My job is to write loops."
— Boris Czerny (Anthropic)
> "A unit of work being the loop itself rather than just a prompt."
> "Eventually you stop being the thing that runs. You design the thing that runs and the leverage moves up one more layer."
> "Entropy is slowly increasing over time anyway. And agents, because they can do a lot of work, basically collapse that into a much shorter time."
> "Are these tokens actually economically valuable? Are they making a difference to my bottom line?"
---
## Idei acționabile
- [ ] Revizuiește ralph.sh ca inner loop complet: spec (final-plan.md) → implementare → /review → /qa → merge PR → /loop monitorizare erori
- [ ] Outer loop pentru Echo: un job săptămânal care analizează ce loop-uri rulează, care au impact, și propune loop-uri noi
- [ ] Memory pattern Slack-like: evening-report ca decision surface cu reacții/comenzi simple (/a, /k) — deja implementat, validat de video
- [ ] Oracle anti-entropy: adaugă metrică obiectivă per proiect Ralph (teste passing %, build status) ca exit condition pentru loop

View File

@@ -0,0 +1,110 @@
# Dezvoltator Suplimente: "Producătorii De Vitamine Au Un Truc Ascuns" | Iulia Borcsa | Gândește Diferit
**Sursă:** https://www.youtube.com/watch?v=GYiHEMUCvGI
**Data:** 2026-06-12
**Durată:** ~117 minute
**Tags:** @health @growth
---
## TL;DR
Iulia Borcsa, cercetător și dezvoltator de suplimente în Germania (~10 ani), explică ce nu știe consumatorul mediu despre industria suplimentelor: aditivi ascunși, forme cu biodisponibilitate scăzută, trucuri de marketing pe etichetă și cum să alegi corect fiecare supliment. Concluzia: 80-90% din suplimentele de pe piață conțin aditivi problematici, materia primă vine majoritar din China, brandurile diferite pot fi identice în interior, iar forma contează mai mult decât brandul.
---
## Puncte cheie
### Aditivii — trucul ascuns din industrie
- **80-90% din suplimente** conțin aditivi și excipienți pentru producție, profit și termen de valabilitate
- **Stearat de magneziu (E470B)** — cel mai folosit aditiv, interferează cu absorbția substanței active, slăbește sistemul imunitar pe termen lung; la 10 capsule/zi ajungi la >1g, periculos
- **Celuloză microcristalină** — umplutură de capsulă, poate conține nanoparticule care nu se elimină din corp
- **Dioxid de siliciu** — agent de stabilizare în tablete
- Tabletele și comprimatele au CEI MAI MULȚI aditivi; formele lichide/uleioase au cei mai puțini
- Tabletele efervescente sunt problematice: arome sintetice, coloranți artificiali, corectori de aciditate
### Cum să citești eticheta corect
- **Magneziu bisglicinat 1000mg** pe față ≠ 1000mg magneziu elementar — sunt ~100-110mg magneziu + ~890mg glicină
- Caută mereu **mg substanță activă elementară** și **% din doza zilnică recomandată**
- Verifică termenul de valabilitate — unele produse nu îl au printat
- Suplimentele lichide cu vitamina C și B degradează după deschidere; după 6-12 luni poți primi 30-50% din cantitatea declarată
- Cumpără cât mai aproape de data fabricării
### Formele suplimentelor — de la bună la proastă
1. **Picături** — cea mai bună biodisponibilitate (absorbție începe în cavitatea bucală)
2. **Capsule uleioase** — vitamina D3 dizolvată deja în ulei, absorbție excelentă
3. **Capsule gelatinoase moi** — bune pentru liposolubile
4. **Capsule clasice (pulbere)** — medii, mai puțini aditivi decât tabletele
5. **Tablete comprimate** — cei mai mulți aditivi, evitați când posibil
6. **Efervescente** — colorate, aromate artificial, evitate
### Industria — cum funcționează de fapt
- Oricine poate lansa un supliment fără cunoștințe; producătorul oferă formula cea mai ieftină
- Private label: branduri diferite = aceeași pilulă din aceeași fabrică, prețuri diferite din marketing
- Materia primă vine majoritar din China (nu neapărat rău, dar variabil calitativ)
- România: zero controale aleatorii pe rafturi; alte țări au demonstrat degradarea conținutului
### Ghid per supliment
**Vitamina D3**
- Formă ideală: picături în ulei sau capsule uleioase cu D3+K2
- Nu tablete/capsule uscate — biodisponibilitate mult mai slabă
- K2 obligatoriu alături de D3 (direcționează calciul spre oase, nu artere)
**Magneziu**
- Bisglicinat = formă cu absorbție bună și toleranță digestivă
- Citrat = mai ieftin, ușor laxativ în doze mari
- Oxidul de magneziu — evitat, biodisponibilitate minimă (~4%)
- Verifică mg elementar pe etichetă, nu mg compus total
**Omega 3**
- Forma **trigliceride** (naturală) > forma ester etilici (prelucrată, biodisponibilitate scăzută)
- Catre oxidare rapidă — verifică să conțină antioxidanți (extract de rozmarin)
- Omega 3 oxidat pe termen lung face mai mult rău decât bine
- Preferă ulei proaspăt, nu concentrate ultraprelucrate
**Vitamina B12**
- **Methylcobalamin** sau Adenosylcobalamin > Cyanocobalamin
- Cyanocobalamin = ieftin, sintetizat, necesită conversie în organism (mulți nu o fac eficient)
- Methylcobalamin = forma activă, direct utilizabilă
**Fier**
- Se ia SINGUR, la 2 ore distanță de orice alt supliment și de cafea
- Interferează cu: magneziu, zinc, calciu — se inhibă reciproc
- Vitamina C crește absorbția fierului (se poate combina)
**Zinc**
- Nu se combină cu cupru (se inhibă reciproc la absorbție)
- Bisglicinat sau citrat > oxid de zinc
**Calciu**
- Nu combina cu fier sau zinc simultan
- Calciul poate inhiba absorbția mai multor minerale — luat separat
**Vitamina C**
- Forma liposomală = absorbție superioară față de tablete standard
- Mega-doze în tablete — cea mai mare parte eliminată prin urină
---
## Quote-uri memorabile
> "Dacă suplimentezi cu un omega 3 oxidat, mai ales pe termen lung, îți pot face mai mult rău decât bine."
> "Tu când deschizi flaconul, iei o capsulă, îl închizi, deschizi iar — posibil să mai iei din produs în jur de 50% din cantitatea declarată de producător."
> "Dai un search pe internet și cauți magneziu, găsești 100 de produse. Tu n-o să ieși din carență de vitamina D cu un supliment prost formulat, pentru că vitaminele și mineralele concurează la absorbție. Se pot anula între ele."
> "90% dintre suplimentele de pe piață conțin [aditivi problematici]."
> "Oricine poate lansa un supliment pe piață. Neavând cunoștințele necesare, tu vii la mine, eu sunt producătorul, și îți dau o rețetă care mie în producție îmi este mult mai ieftină."
---
## Idei acționabile
- [ ] La next cumpărătură suplimente: verifică forma (nu oxid, nu ester etilici), mg elementar, aditivi pe etichetă @health
- [ ] Omega 3 actual: verifică dacă e trigliceride sau ester etilici și dacă are antioxidanți (rozmarin) @health
- [ ] Vitamina D3: treci pe picături în ulei dacă ești pe capsule uscate @health
- [ ] B12: verifică dacă e methylcobalamin, nu cyanocobalamin @health
- [ ] Fier (dacă iei): izolat, nu combinat cu altele @health

View File

@@ -0,0 +1,49 @@
# I Tested Letting Claude Trade For A Month and Made $102k
**URL:** https://youtu.be/RetsRS5u-8Q
**Data:** 2026-06-14
**Durată:** 19:06
**Creator:** Brendan (AI trading, background UCLA math/econ + Raymond James investment banking)
---
## TL;DR
Un trader cu background în matematică și finanțe a folosit Claude ca analist și portfolio manager timp de o lună (mai 2026), începând cu $66k și terminând cu ~$169k (+155%). Claude a propus strategia, a găsit ticker-ele, a ales contractele de opțiuni și a monitorizat zilnic portofoliul printr-un sistem deterministic construit tot cu Claude.
---
## Puncte cheie
- **Strategia de bază:** LEAPS (opțiuni call cu expirare >1 an) pe companii mari + shares pe small-cap (opțiunile erau prea scumpe sau iliquide)
- **Două moduri Claude:** non-deterministic (analyst mode — cercetare, recomandări, analiză) + deterministic (cod Python care rulează zilnic automat)
- **Ticker-e alese de Claude:** OCR, NBIS, Service Now, HIMS, MP, Nokia — scorificate pe: catalyst timing, IV environment, corelație cu piața, teză individuală
- **Cost lunar:** ~$1/zi pentru API (rulat o dată pe zi pentru news + analiză) — inițial folosit Claude web (subscription) pentru research, API doar pentru monitorizare
- **Dashboard construit cu Claude:** valorizare live Yahoo Finance, alerts pe ținte/stop-uri, theta decay, macro gate (VIX, market breadth, credit spreads), news zilnic per poziție
- **Sistem în 4 layere:** (1) date + valorizare, (2) analytics portofoliu, (3) context macro + news, (4) alerts + dashboard
- **Cheie succesului:** context detaliat dat lui Claude (account size, risk tolerance, holding period) → output specific, nu generic
---
## Quote-uri
> "The more specific your input, the better your output is. This way, you won't get pretty generic garbage that you would typically see if you ask open-ended questions to Claude."
> "Claude here didn't treat these all equally. It scored them across different dimensions."
> "Every single trade plus adjustment in the portfolio was all made by Claude."
---
## Idei acționabile
- Sistem de monitorizare portofoliu cu 4 layere poate fi adaptat pentru **orice asset**, nu doar opțiuni
- Pattern replicabil: Claude web pentru research inițial (subscription, fără cost API) → cod Python automat pentru monitorizare zilnică
- LEAPS = risc calculat: expirare >45 zile elimină time decay agresiv, upside mare, downside capped față de short-dated options
- Diversificare pe catalyst windows (short/medium/long) și sectoare (healthcare, AI infra, enterprise software, European AI)
---
## Tags
@work @growth #trading #claude #automatizare #options #investing

View File

@@ -0,0 +1,66 @@
# We Spent $5M on Business Gurus, So You Don't Have To
**Sursă:** https://youtu.be/14fe4x5e4bk
**Data:** 2026-06-19
**Durată:** 65 minute
**Tip:** Podcast | @growth @work
---
## TL;DR
Doi antreprenori cu afaceri de 8-9 cifre (Nick Fischer - New Reach, $150M+/an) analizează cele mai valoroase cursuri și guru-uri în care au investit colectiv $5M+. Concluzia principală: primele câteva investiții în fundamentele marketingului și copywriting-ului au generat cel mai mare ROI — nu cursurile scumpe de strategie avansată.
---
## Puncte cheie
### Honorable mentions — copywriting
- **Frank Kern** — Framework simplu și puternic: *"Here's what I got, here's what it'll do for you, here's what to do next."* Un singur post Facebook cu acest format → $171k revenue
- **Jason Fladlien** — Cel mai bun la vânzări one-to-many (webinare), master al obiecțiilor
- **John Benson** — Proces mecanic pentru generarea de "big ideas" de marketing (big idea map)
- **Todd Brown (E5)** — Cel mai bun teacher de direct response marketing: thesis → central marketing argument → subbeliefs → claims → proof → assets de marketing/vânzări
### #5 — Alex Hormozi (gratis)
- Cursul de lead gen pe acquisition.com — framework "more, better, new"
- Ordinea: **Mai mult** (volum) → **Mai bine** (optimizare) → **Nou** (idei noi)
- Greșeala comună: oamenii sar direct la "nou" când nu au testat nici "mai mult"
- Recomandat ca prim pas pentru orice om nou din echipă
### Concept esențial: Dimensionalized Pain Points
Când descrii durerea clientului, nu rămâne la abstract — **ancorează-o senzorial**:
- Ce **vede**? (ex: calendarul gol)
- Ce **aude**? (ex: "nu am buget")
- Ce **simte**? (ex: instabilitate financiară)
Diferența: "Nu ai leads?" (abstract) vs "Arată calendarul tău așa?" (concret, vizual) → al doilea convertește mult mai bine.
### Copy Platform — instrument practic
Un document cu: thesis → subbeliefs → belief ladder → empathy → common enemy → pain points dimensionalizate.
- Produce automat 100+ idei de ads
- Nu mai pornești niciodată de la pagină albă
- AI poate ajuta să completezi golurile
### Grit ca fundament
Nick — 50 de email-uri reci/zi, manual, timp de 1 an, fără răspuns (domeniu blocat din prima zi cu 400 email-uri). Lecția: disciplina procesului e critică, dar trebuie să validezi premisele tehnice de bază.
---
## Quote-uri
> "Here's what I got, here's what it'll do for you, here's what to do next. It's just the most simple direct offer copy of all time." — despre Frank Kern
> "Specific and tangible and concrete language is what converts. 'Does your calendar look like this?' — see how there's a difference there?" — despre dimensionalized pain points
> "You got to do more before you can refine or do better ads, and you got to do better ads before you start thinking of new concepts altogether." — framework Hormozi
> "You will come out of that copy platform process with a hundred ad ideas. It'll just flow." — despre procesul de ideație
---
## Aplicabil pentru Marius
- **Todd Brown E5** — relevant dacă vrei să îmbunătățești comunicarea ROA (thesis clar, argumente, dovezi)
- **"More, better, new"** — înainte să cauți clienți noi, maximizează ce ai deja (clienți existenți, mai multă muncă la preț bun)
- **Dimensionalized pain points** — util pentru orice prezentare sau propunere comercială ROA
- **Copy platform** — chiar și pentru un ERP: ce vede clientul când are probleme? Calendar de raportări ratat, erori Oracle, angajat care nu știe să folosească modulul...

View File

@@ -0,0 +1,60 @@
# Matt Pocock's Agentic Engineering Workflow (just copy him)
**Sursa:** https://youtu.be/nQwJVHCtDDY
**Data:** 2026-06-19
**Durata:** 62:24
**Tags:** @work @growth
---
## TL;DR
Matt Pocock (educator TypeScript, autor skills pentru Claude Code) explica filosofia sa de lucru cu AI: nu modelul conteaza cel mai mult, ci harness-ul (setup-ul, skill-urile, codebase-ul). AI a "mancat" programarea tactica — acum conteaza sa fii bun la programarea strategica. Foloseste AFK agents (Away From Keyboard) via Sand Castle + GitHub Actions, si o abordare de tip coada (queue), nu loop infinit.
---
## Puncte cheie
- **Tactical vs Strategic programming** — AI a preluat complet programarea tactica (scris cod, debug sintaxa). Ceea ce conteaza acum e strategic: arhitectura, interfetele, documentatia, task-urile bine scopate. Nu poti delega strategia catre AI.
- **Harness > Model** — Toata lumea e obsedta de model. Matt argumenteaza 50/50: modelul si harness-ul conteaza la fel. Un codebase bun permite un model mai ieftin sa dea acelasi rezultat. Optimizeaza harness-ul, nu astepta modelul nou.
- **Skill-urile ca procedures, nu abilities** — Preferi proceduri pe care TU le invoci, nu abilitati pe care modelul le alege. Ai control. Nu lasa modelul sa-ti faca gandirea strategica.
- **AFK agents + Sand Castle** — Ruleaza agenti in sandbox-uri (Docker/Podman) via Sand Castle, in GitHub Actions. Paralelizezi fara sa blochezi masina locala. Momentul in care a descoperit AFK = momentul in care outputul sau a explodat.
- **Queue, nu Loop** — Nu ai nevoie de un loop infinit. Ai nevoie de o coada de task-uri. Agent-ul preia un task, il rezolva, gata. Cum functioneaza orice echipa de developeri.
- **Skill /teach** — Skill stateful care creeaza cursuri personalizate pe baza misiunii tale. Foloseste principii pedagogice: zone of proximala development, quizuri, learning record. Matt a invatat Rubik's cube cu el.
- **Skills sunt abilitati ale tau, nu ale AI** — Cunostintele, skill-urile si intelepciunea tale sunt multiplicatorul. AI nu poate trece de nivelul tau de intelegere. Seniori iau boost 10x tocmai de aceea.
- **Codebase bun = model mai ieftin** — Daca arhitectura e clara, un model mai slab face aceeasi treaba. AI nu trebuie sa "bata capul de perete" pentru a naviga un codebase haotic.
- **Self-improving systems** — Daca AI a gasit un bug de securitate, intreaba-te DE CE a aparut. Construieste sisteme (cron jobs, review loops) care previn recurenta. Nu multumi AI-ului — repara procesul.
- **Human-in-the-loop checkpoints** — Impinge checkpointurile cat mai spre dreapta (spre final), dar nu elimina observabilitatea. Vrei sa imbunatatesti si harness-ul, nu doar codul.
---
## Quote-uri
> "AI has basically eaten tactical programming. It's gone. You need to be great at strategic programming in order to get the most out of this infinite fleet of tactical programmers."
> "Your skills are the ceiling on what AI can do."
> "Have a codebase that's easier to make changes in — that's how you optimize for token spend."
> "People are focused on the wrong thing. They're looking at the big shiny new thing when in fact just focus on the stuff that's been working for 30-40 years."
> "If someone keeps stealing your bike, maybe buy a lock."
---
## Idei acționabile
- [ ] Sterge toate skill-urile/MCPuri, observa agentul "gol", apoi adauga inapoi doar ce-ti lipseste cu adevarat @work
- [ ] Gandeste in cozi de task-uri (queue), nu in loop-uri infinite @work
- [ ] La fiecare bug descoperit de AI, intreaba "de ce a aparut?" si construieste un sistem care previne recurenta @work
- [ ] Skill-urile utile: `grill me` (interviuri adversariale inainte de implementare), `teach` (invatare personalizata) @growth
- [ ] AFK agents pentru task-uri bine scopate = paralelizare fara effort @work

View File

@@ -0,0 +1,56 @@
# This Claude Code Setup Changed My Life (Seriously…)
**URL:** https://youtu.be/1sMHcJMxYqo
**Durata:** 13:47
**Data:** 2026-06-21
**Tags:** @growth @work @productivity
---
## TL;DR
Combini Claude Code cu Anki (prin Anki Connect add-on) pentru a automatiza crearea și optimizarea flashcard-urilor. Claude Code citește videoclipuri, lecturi, transcrieri și generează automat carduri Anki — inclusiv diagrame, timestamps și note-type-uri custom. Dincolo de creare, Claude Code poate analiza progresul, re-prioritiza carduri, detecta leeches și închide bucla de învățare.
---
## Puncte cheie
1. **Anki Connect** — add-on open-source care permite altor programe (inclusiv Claude Code) să comunice cu Anki. Instalare: Tools → Add-ons → Get Add-ons → cod Anki Connect.
2. **Creare automată flashcards** din orice sursă:
- URL YouTube (+ transcrieri automate)
- Videoclipuri descărcate local
- Lecturi/cursuri
- Instrucțiunea include: note type custom, diagrame relevante, timestamps, ordonare beginner→advanced
3. **Principiu de bază:** Concentrează-te 100% pe înțelegerea materialului. Lasă Claude Code să facă flashcard-urile. Lasă Anki să facă repetarea.
4. **Optimizare avansată a deck-urilor:**
- **Prioritizare** — re-ordonează carduri pentru exam sau topic urgent (ex: vocabular AI pentru videoclipuri japoneze)
- **Leech surgery** — identifică pattern-uri la carduri eșuate des, rescrie sau simplifică
- **Laddering** — când un card e prea greu, generează carduri intermediare pentru conceptele lipsă
- **Confusable pairs** — detectează carduri mixate între ele, creează card explicit de diferențiere
- **Example diversification** — adaugă exemple variate ca un fapt să se generalizeze, nu să fie context-bound
- **Test loop** — hrănește rezultate de la examen/practice papers înapoi în Claude Code → re-prioritizare și rescriere în stilul examenului
- **Apply check** — conectează Claude Code la tool de recording (ex: Granola MCP) și verifică dacă aplici în viața reală ce înveți din carduri
- **Refactoring** — sparge carduri mari în carduri atomice (minimum information principle)
5. **Workflow zilnic:** Claude Code inspectează Anki zilnic sau la 2 zile → analizează ce carduri eșuezi → propune acțiuni concrete (surgery, laddering, prioritizare)
---
## Quote-uri
> "Your imagination is basically the limit when it comes to using this kind of stuff."
> "Most of your time when consuming content like lectures or videos should be focused on actually understanding the material — leave the recall part to Anki."
> "A fact memorized from one example is context-bound. It may not trigger in other contexts."
---
## Idei acționabile
- [ ] Instalez Anki Connect și testez dacă Claude Code vede Anki-ul local
- [ ] Testez cu un URL YouTube → generare flashcards automat
- [ ] Minimum information principle: sparg carduri mari în carduri atomice

View File

@@ -0,0 +1,69 @@
# 100% REMOTE Boring Businesses (That Almost Never Fail)
**Sursa:** https://youtu.be/EnSJN9zl-yA?si=sX8Cmtt4mEZQafKa
**Data:** 2026-06-23
**Durata:** 15:37
**Tags:** @work @growth @antreprenoriat
---
## TL;DR
Fondatorul unui business de $23M/lună face un ranking al afacerilor remote. Concluzia: cele mai bune nu sunt cele "sexy" (dropshipping, SEO, FBA) ci **expertiza + proces + autoritate** — adică afaceri de compliance/consultanță specializată unde clientul plătește ca să elimine un risc, nu ca să cumpere ore. AI amplifică aceste afaceri în loc să le distrugă.
---
## Ranking (F → S tier)
| Tier | Afacere | De ce |
|------|---------|-------|
| **F** | Dropshipping | Fără moat, fără ownership, mori când cresc costurile de ads |
| **F** | Affiliate SEO | AI a inundat internetul, Google a tăiat traficul small sites |
| **C** | Amazon FBA | Ești chiriaș pe terenul Amazon, risc platformă enorm |
| **C** | VA Agency | People business stresant + AI va distruge marginile în 3 ani |
| **B** | Bookkeeping / Billing / Payroll | Recurent, dureros, document-heavy — AI îți crește leverage |
| **B-A** | Software Implementation (HubSpot, NetSuite, Salesforce) | Ești expert pe un platform deja vândut — "restaurant in stadion sold out" |
| **A** | Fractional Executive (CFO, COO, CMO) | $5-15k/lună × 4-6 clienți, AI multiplică capacitatea |
| **S** | Compliance / Expert Stamp business | Plătești să elimini risc, nu ore — modelul Intertek |
---
## Puncte cheie
- **Modelul S tier = expertiza + proces + autoritate.** Clientul nu plătește ore, plătește eliminarea unui risc. Un quote de $33,600 plătit fără negociere pentru compliance mini-split.
- **Formula B tier:** Recurring + Painful + Document-heavy. Dacă adaugi "clientul răspunde cu numele lui dacă greșești" → S tier.
- **AI nu distruge expertul, îl amplifică.** Un expert care semna pe 3 clienți poate semna pe 5-6 cu AI. Stampila rămâne a omului.
- **Fractional executive** e ideal pentru 10+ ani experiență în finance/ops/marketing — nu mai aplica la full-time, trimite 50 mesaje pe LinkedIn la fondatori cu $2-20M revenue.
- **Bookkeeping:** nu ai nevoie de CPA. Înveți QuickBooks/Xero, alegi o nișă (contractors, dentists, real estate), 25 cold emails azi.
---
## Quote-uri
> "You're a tenant on Amazon's land, and the rent goes up every year."
> "The customer isn't paying for hours — they're paying to eliminate risk. That is not a labor bill, it was an insurance policy."
> "If you can kill the risk, you can make a killing."
> "The real AI opportunity isn't in building AI companies, it's rebuilding boring expert businesses with AI."
> "The best remote businesses in 2026 are completely different than you'd think."
---
## 7-Day Playbook (S tier start)
1. **Zi 1** — Alege un workflow: product compliance, R&D tax credits, HIPAA, OSHA (unul singur)
2. **Zi 2** — Citește ghidurile oficiale, nu guru-uri — practicieni
3. **Zi 3** — Alege nișa (ex: OSHA pentru producție, R&D credits pentru software)
4. **Zi 4** — One-page offer: ce faci, pentru cine, cât, cum. Headline = riscul eliminat, nu orele tale
5. **Zi 5** — Lista 50 de proprietari de business din nișă (LinkedIn, Apollo, asociații de industrie)
6. **Zi 6** — Trimite 50 mesaje: scurt, specific, lead cu suma pe care o pierd dacă greșesc
7. **Zi 7** — 3 apeluri. Nu trebuie să închizi nimic — înveți mai mult decât 3 luni de YouTube
---
## Relevanță pentru Marius
**ERP ROA = software implementation model.** Marius este deja în B-A tier: implementează un ERP complicat pe care clienții nu îl înțeleg singuri. Exact modelul "restaurant in stadion sold out." Potențial de fractional consulting pe module specifice (D406, e-Factura, migrare Oracle).

View File

@@ -0,0 +1,76 @@
# #1 Biggest Mistake Blocking Your Breakthrough (Codie Sanchez)
**Sursa:** https://youtu.be/ack8NtknHMw?si=3O2zDbmlXtpgsUyK
**Data:** 2026-06-24
**Durata:** 10:03
**Tags:** @mindset @coaching @performance
---
## TL;DR
Tony Robbins (neidentificat explicit, dar stilul și conținutul sunt clare) explică de ce oamenii eșuează să aibă un breakthrough: atacă problemele în ordinea greșită. Cei 3 S ai unui breakthrough trebuie aplicați în ordinea **State → Story → Strategy**, nu invers cum fac aproape toți.
---
## Cei 3 S ai unui Breakthrough (în ordinea corectă)
### 1. STATE (primul, cel mai important)
- Starea ta mentală/emoțională filtrează tot — percepția, memoria, motivația
- Când ești furios, îți amintești orice greșeală a celeilalte persoane. Când ești îndrăgostit, nimic nu e greșit.
- **State → Story → Behavior.** Dacă state-ul e greșit, niciun tool/strategie nu funcționează
- "Total resolve" vs "dieting mindset" — fasting e mai ușor decât dieta pentru că e absolut. Negocierea cu tine însuți te slăbește.
- **Greșeala:** "Mă voi pune pe dietă, chiar o voi face" spus fără resolve = nu se va întâmpla niciodată
### 2. STORY (al doilea)
- Narativa despre tine îți controlează viața mai mult decât orice altceva
- O credință = ceva ce ți-ai spus ție atât de des încât l-ai acceptat ca adevăr
- Frica de bază a tuturor (regi, câștigători de Grammy, jucători NFL): *"Nu sunt suficient. Nu voi fi iubit."*
- "Am încercat totul" = de fapt ai repetat același 2 lucruri care nu funcționează
- Credința nu = adevărul. Certitudinea despre ce nu va funcționa te oprește
### 3. STRATEGY (al treilea, cel mai puțin important)
- Strategia poate economisi 10 ani. Dar dacă story-ul nu o susține, nu o vei folosi
- Problema fitnesului nu e lipsa strategiei — există milioane de strategii, toate funcționează
- "Tyranny of how": fără bază de referință → nesiguranță → nu urmezi
---
## Insight cheie: Fasting vs Dieting
> "Fasting is absolute. You just don't do it. Dieting is a rule by attrition — you negotiate with yourself. Negotiation with yourself makes you weak."
Modelul aplicabil la orice schimbare: **absolutismul e mai sustenabil decât moderația** pentru că elimină decizia.
---
## Cele 6 Nevoi Umane
1. **Certitudine** — confort de bază (survival need)
2. **Incertitudine/Varietate** — fără ea, plictiseală
3. **Semnificație** — supravalorizată azi prin social media
4. **Conexiune și iubire** — nevoia cea mai profundă, dar oamenii o controlează și o distrug
5. **Creștere** — spiritual need. "Everything grows or dies."
6. **Contribuție** — ce face viața să aibă sens. Ceva dincolo de tine însuți
---
## Quote-uri
> "The right numbers to a vault in the wrong order — you don't get the treasure."
> "Your state controls your story. Your story and your state control whether you do anything."
> "You have to divorce your limitations and marry the truth of your unlimited ability."
> "The deepest fear everybody has — kings, Grammy winners, NFL champions — is that they're not enough."
> "If you get to that place of total resolve, fasting is easy. When you're dieting, you're negotiating. Negotiation with yourself makes you weak."
> "We need jackpots in our life to make us feel alive."
---
## Relevanță pentru Marius
Conceptul **State → Story → Strategy** e util când un proiect stagnează sau motivația cade. Înainte de "ce fac" (strategie), verifică: în ce stare mentală ești? Ce story îți spui despre ce e posibil? Absolultismul (decide complet, fără negociere) funcționează mai bine decât moderația pentru schimbări de comportament.

View File

@@ -0,0 +1,72 @@
# Google Just Dropped a Masterclass on Agentic Engineering
**URL:** https://youtu.be/zbmuiaPuiNM
**Data:** 2026-06-25
**Durata:** 21:55
**Tags:** @work @growth
---
## TL;DR
Google a publicat un ghid de 51 de pagini despre AI-driven SDLC (Software Development Life Cycle). Concluzia centrală: **harness-ul (regulile, workflow-urile, tool-urile, guardrails) contează 90%, modelul LLM doar 10%.** Vibe coding e ok pentru prototipuri, dar agentic engineering — cu spec-uri clare, teste automate și un harness bine inginerit — este singura cale spre cod fiabil și cost-eficient pe termen lung.
---
## Puncte cheie
1. **AI coding e un spectru, nu un switch**
- Vibe coding → prompt casual, validare vizuală
- Structured AI assisted → prompts detaliate, spot-checking manual
- Agentic engineering → harness inginerit, evals automate, CI gates
2. **Harness = 90% din sistem**
- Instrucțiuni, MCP servers, guardrails, hooks, skills (workflows), sub-agenți, observabilitate
- Modelul LLM e doar 10% — poți face Sonnet să performeze ca Opus cu harness-ul potrivit
3. **Factory model**
- Tu proiectezi sistemul, agentul produce codul
- Planning agent separat de coding agent (evitare context rot + bias)
- Human review la final (cel puțin PR review)
4. **Static vs Dynamic context**
- Static = reguli de bază, system prompt — încărcat mereu (fiabil dar costisitor)
- Dynamic = skills, conventions per folder — încărcat on-demand (eficient dar riscul că agentul uită să le ceară)
- Trend: un singur agent generalist + skills specializate, nu zeci de sub-agenți specializați
5. **System evolution mindset**
- La fiecare problemă: nu doar fix-ul, ci și îmbunătățirea harness-ului
- Echivalentul `tasks/lessons.md` la scară industrială
6. **Token economics**
- Vibe coding: CAPEX mic, OPEX mare (arzi tokens pe cod slab)
- Agentic engineering: CAPEX mare inițial, OPEX mic — crossover-ul vine repede
- 3-10x mai fiabil și mai ieftin pe termen lung
7. **Conductor vs Orchestrator**
- Conductor = micro-management la nivel de fișier (modul vechi)
- Orchestrator = dai taskuri mari, revizuiești outcome-uri, agenți în paralel
- Google zice că mergi între cele două; autorul crede că cu harness bun rămâi mereu Orchestrator
---
## Quote-uri
> "The harness matters as much as the model." — Anthropic (citat în video)
> "The model is only 10%. Everything else — instructions, tools, context, guardrails, orchestration, observability — makes up the other 90%." — Google
> "Rather than embedding every piece of specialized knowledge into the agent system prompt, skills allow the agent to remain a lightweight generalist that flexes into specialist roles on demand through progressive disclosure."
> "Specification quality is the new bottleneck." — Google
> "Every single time you go through this process, you're making it more and more reliable. The harness is worth investing your time into."
---
## Relevanță pentru Echo / ROA
- Confirmă arhitectura Echo: personality/*.md (static) + skills gstack (dynamic) + lessons.md (evolution)
- Ralph workflow = factory model în practică: PRD → planning agent → coding agent → review
- `tasks/lessons.md` = system evolution mindset aplicat
- Validare că abordarea cu un singur agent + skills e corectă (nu zeci de sub-agenți)

View File

@@ -0,0 +1,74 @@
# Google's New Release Just Fixed AI Systems (Open Knowledge Format)
**URL:** https://youtu.be/k4sMSsMzX2g
**Data:** 2026-06-27
**Durata:** 11:53
**Tags:** @work @growth
**Status:** ⚠️ neverificat — o singură sursă (acest video). "OKF" se confundă ușor cu **Open Knowledge Foundation** (open data / CKAN), care e altceva. Nu există confirmare că Google a lansat oficial un standard numit așa; tratează ca optimizare propusă, nu standard adoptat.
---
## TL;DR
Un video prezintă **Open Knowledge Format (OKF)** — un format *propus* pentru organizarea knowledge base-urilor astfel încât agenții AI să navigheze mai eficient. (Vezi Status: nu e confirmat ca release oficial Google.) Se bazează pe pattern-ul LLM Wiki al lui Andrej Karpathy (markdown > RAG vectorial). Beneficii principale: **token usage mai mic** și **retrieval mai rapid** prin YAML metadata + index.md per folder.
---
## Problema rezolvată
Când second brain-urile cresc, Claude caută prin keyword matching în fișiere/foldere nested → pierde tokens, face greșeli, pune fișiere în locuri greșite, recreează foldere deja existente.
RAG (vectorial) are o problemă fundamentală: agentul reconstruiește info de fiecare dată, nu acumulează cunoaștere.
---
## Cum funcționează OKF
- Tot din knowledge base devine **"concept"** — un fișier markdown cu YAML front matter (name, description, type)
- Foldere organizate pe topic — un folder = un singur subiect
- **index.md** în fiecare folder listează conținutul (ca Obsidian graph)
- Agentul citește YAML metadata ÎNTÂI → decide dacă deschide fișierul sau nu → mai puține tokens
- **Minimalism**: fiecare concept = un singur lucru. Nu amesteci subiecte.
- Knowledge base independent de consumer (agent, om, platformă)
---
## Cum l-au testat (AI Labs)
1. Branch nou din second brain-ul lor (GitHub versionat)
2. Au creat un skill `markdown-to-OKF` (code-first, agent doar pentru judgment)
3. Conversie + evals automate pe output
4. index.md la root + în fiecare subfolder
5. Adăugat în Claude.md instrucțiuni despre cum să navigheze sistemul OKF
6. Rezultat: navigare prin index.md în loc de pattern matching → mai rapid, mai puține tokens
---
## Ce include OKF
- **Enrichment agent** — convertește BigQuery data în concept documents + LLM check (nu au folosit-o ei)
- **HTML visualization tool** — graph interactiv al întregului knowledge base (open în browser)
- **Exemple** de format corect
---
## Relevanță pentru Echo / memory/kb/ (actualizat după analiză pe sistemul real, 2026-06-27)
Corecție față de prima impresie: **nu lipsesc indexurile**. Echo are deja:
- `memory/kb/index.json` (581 note, regenerat de `tools/update_notes_index.py`) — dar e consumat DOAR de dashboard-ul web, nu de agent.
- RAG semantic (`src/memory_search.py`, embeddings Ollama + SQLite) — pe care CLAUDE.md îl numește "single source of truth" pentru agent.
Gap-ul real: **lipsea un index navigabil EXPUS agentului**. Implementat: `index.md` slim per-folder + un router la rădăcina kb/ (generat de același `update_notes_index.py`), plus fallback keyword în `search()` când Ollama remote pică.
- Test empiric: RAG-ul (all-minilm 384-dim) ratează nota relevantă la query parafrazat conceptual; navigarea prin index prinde ce ratează similaritatea.
- Vizualizare HTML — deprioritizată (efort mare / valoare mică).
- Plan complet + review: `docs/okf-navigation-plan.md`.
---
## Quote-uri
> "The agent only finds things when it actively searches for them. So unless you tell it to look in a certain file, it won't even know that file is there."
> "OKF doesn't really introduce anything new. Instead, it gives you a standard format that anyone can produce and read, and it makes knowledge portable across different systems."
> "Until it becomes an open standard that agents support out of the box, this is more of an optimization than something you really need."

View File

@@ -1,99 +1,200 @@
# Billionaire's WARNING: I'm SELLING. The Crash Is Already Here! — Jeremy Grantham
**Sursa:** https://www.youtube.com/watch?v=32u5T6lO8qk
**Durata:** 1h 45min
**Data notita:** 2026-06-27
**Tags:** @growth @work #investitii #bubble #AI #sanatate #economie
**Video:** https://www.youtube.com/watch?v=32u5T6lO8qk
**Duration:** 1:45:52
**Saved:** 2026-06-27
**Tags:** #youtube #to-summarize @growth @work #investitii #bubble #AI #sanatate #economie
---
## TL;DR
## Descriere / Index
Jeremy Grantham (60 ani experienta, a gestionat 165 miliarde $) avertizeaza ca ne aflam in cea mai mare bula investitionala din istoria americana — AI. Sfatul sau: vinde actiunile US tech acum, nu astepta ajutor de la Wall Street. In plus, discuta despre impactul toxic al chimicalelor asupra fertilitatii si declinul societatii americane.
The man who predicted the dot-com crash and the 2007 housing collapse warns that the AI bubble is the biggest in American history. Billionaire investor Jeremy Grantham reveals why it will burst, the exact strategy to protect your money, and why house prices need to fall 30%.
---
## Puncte cheie
- **Bula AI e reala si imensa.** Grantham a prezis prabusirea dot-com si criza din 2007. Spune ca bula AI va fi cea mai mare din istoria SUA. Indicatorii sunt identici cu cele anterioare: optimism irrational, suprainvestitie, prospecte ridicole (ex: SpaceX promite sa mineze asteroizi si sa adreseze 25% din PIB-ul global).
- **Nu detine actiuni US.** Sfatul sau clar: vinde-le pe toate, mai ales tech. S&P 500? Nu. Actiuni tech mari? Nu. Alternativele: actiuni japoneze, europene, pietele emergente, resurse naturale.
- **Bitcoin merge la zero.** "O piesa inutila de nonsens care nu faciliteaza nimic in afara de miscarea banilor criminali care nu vor sa fie vazuti."
- **Wall Street nu te va avertiza niciodata.** Institutiile mari nu pot lua pozitii contrare pentru ca risca cariera. Trebuie sa te uiti singur la date. O bula e usor de vazut: e un plafon plat si apoi un varf himalayan — care mereu se intoarce in jos.
- **Chimicale toxice = criza de fertilitate.** Numarul de spermatozoizi a scazut dramatic in 50 ani. Cauzele: ftalati, BPA, pesticide. Problema e mai acuta in SUA decat in Europa (reglementari mai slabe). Solutie: mancare organica, evitare plasticuri, filtrare apa.
- **Inegalitate si declin social.** SUA ara spectaculos la media avutiei dar dezastruos pentru quartila de jos. "Singurii oameni care cred ca poti avea crestere compusa pe o planeta finita sunt nebunii si economistii."
- **Unde sa traiesti.** Refuza sa spuna direct, dar implicit: nu SUA. Danemarca si tarile nordice ofera speranta de viata mai mare, securitate sociala mai buna, rate ale criminaltatii mai mici.
---
## Descriere / Index capitole
The man who predicted the dot-com crash and the 2007 housing collapse warns that the AI bubble is the biggest in American history. Billionaire investor Jeremy Grantham reveals why it will burst, the exact strategy to protect your money, and why house prices need to fall 30%.
He explains:
He explains:
◼ Why Wall Street will never warn you when to get out of the market, and what to do instead
◼ The exact portfolio Jeremy recommends to protect your money before the crash
◼ What everyday chemicals in your food and cosmetics are doing to your fertility
◼ Why house prices need to fall 30%, and what it means for your finances
◼ Why the AI boom won't automatically lead to higher profits, and what to buy instead
**Capitole:**
- 00:00:00 Who Is Jeremy Grantham?
- 00:02:54 Will AI Become The Next Financial Bubble?
- 00:06:57 How Jeremy Grantham Built An Investing Empire
- 00:09:18 What Happens When The AI Bubble Bursts?
- 00:11:35 How AI Will Change Everyday Life
- 00:12:53 The Investing Strategy For Right Now
- 00:18:12 Why You Should Avoid US Stocks
- 00:20:13 Why Investment Advisors Mislead Clients
- 00:26:09 Advice For Entrepreneurs Right Now
- 00:28:59 The Real Risks Of AI
- 00:36:21 The Battle Between The Magnificent 7
- 00:41:57 Which Jobs AI Will Replace First
- 00:44:18 Will SpaceX Eventually Fail?
- 00:50:40 The Most Valuable Skill For The Future
- 00:51:41 Is Society Declining And What Comes Next?
- 00:54:02 What History Says About Wealth Inequality
- 00:57:59 How To Build Wealth In Your 30s Today
- 01:00:08 How To Invest Your Salary Wisely
- 01:02:58 Should You Own Crypto?
- 01:04:05 Is Property Still A Good Investment?
- 01:07:27 What's Really Causing The Baby Bust?
- 01:14:24 How Microplastics Affect Fertility
- 01:16:42 How Pesticides Impact Fertility
- 01:21:43 How To Reduce Toxic Chemical Exposure
- 01:27:30 How To Stay Healthy In A Toxic World
- 01:35:55 The Flaw That Destroys Societies
- 01:39:22 The Best Places To Live Today
00:00:00 Who Is Jeremy Grantham?
00:02:54 Will AI Become The Next Financial Bubble?
00:06:57 How Jeremy Grantham Built An Investing Empire
00:08:04 The Most Money He's Ever Managed
00:08:29 Are You A Billionaire?
00:09:18 What Happens When The AI Bubble Bursts?
00:11:35 How AI Will Change Everyday Life
00:12:53 The Investing Strategy For Right Now
00:18:12 Why You Should Avoid US Stocks
00:20:13 Why Investment Advisors Mislead Clients
00:26:09 Advice For Entrepreneurs Right Now
00:28:59 The Real Risks Of AI
00:29:58 Should AI Have A Maternal Instinct?
00:34:44 What Happens If AI Lacks Benevolence?
00:36:21 The Battle Between The Magnificent 7
00:41:57 Which Jobs AI Will Replace First
00:44:18 Will SpaceX Eventually Fail?
00:50:30 Should You Invest In SpaceX?
00:50:40 The Most Valuable Skill For The Future
00:51:41 Is Society Declining And What Comes Next?
00:54:02 What History Says About Wealth Inequality
00:56:36 Should The Rich Pay More Tax?
00:57:59 How To Build Wealth In Your 30s Today
01:00:08 How To Invest Your Salary Wisely
01:02:58 Should You Own Crypto?
01:03:51 Will Bitcoin Eventually Go To Zero?
01:04:05 Is Property Still A Good Investment?
01:07:27 What's Really Causing The Baby Bust?
01:11:28 When Could Sperm Counts Reach Zero?
01:14:24 How Microplastics Affect Fertility
01:16:42 How Pesticides Impact Fertility
01:21:43 How To Reduce Toxic Chemical Exposure
01:22:54 Why US Products Are More Toxic
01:27:30 How To Stay Healthy In A Toxic World
01:33:54 The Most Important Thing We Missed
01:35:34 Should You Move Countries Right Now?
01:35:55 The Flaw That Destroys Societies
01:39:22 The Best Places To Live Today
01:40:40 What Would You Do If Failure Was Impossible?
---
## TL;DR
Jeremy Grantham — 87 ani, 60 ani experiență, 165 miliarde $ gestionați — avertizează că suntem în cea mai mare bulă investițională din istoria SUA, generată de AI. Sfatul său: vinde actiunile US tech acum, diversifică în afara SUA (piețe emergente, Europa, Japonia, metale prețioase). Bitcoin merge la zero. În paralel, trage un semnal de alarmă despre criza de fertilitate cauzată de chimicale sintetice (microplastice, pesticide) și despre declinul social al SUA comparabil cu perioadele pre-colaps din istorie.
---
## Puncte cheie
- **Bula AI = cea mai mare din istoria americană.** Piața la 35-40x câștiguri vs. normalul 17x. Nasdaq a scăzut 82% în bula tech din 2000 — "it is far from unprecedented."
- **Nu deține acțiuni US, în special tech.** Alternativele: piețe emergente (+65% în ultimele 12 luni vs S&P +25%), Europa, Japonia, Canada, Australia, metale prețioase 5-10%.
- **Wall Street nu te va avertiza niciodată** — conflict de interese structural. 400 de analiști credeau că piața va cădea în 1999, niciunul nu a spus-o public.
- **SpaceX = South Sea Bubble modern.** Prospectul promite mining asteroizi și adresează 25% din PIB-ul global — absurd prin definiție.
- **Mag 7: de la 7 monopoluri separate la 7 gladiatori în același ring.** Toți se bat pe AI. "There'll only be one survivor, they think."
- **Numărul de spermatozoizi a scăzut 50% în 50 de ani.** Microplastice, pesticide, chimicale sintetice — SUA are reglementări mult mai slabe decât UE.
- **Prețurile imobiliare trebuie să scadă 30%** doar ca să ajungă la 6-7x venit (față de normalul istoric de 3-4x).
- **Bitcoin va merge la zero.** "An unnecessary piece of nonsense that facilitates nothing except criminals."
- **SUA = inegalitate la nivel de Brazilia/Mexic (Gini).** Din 1975, câștigurile merg aproape integral în top 10%.
---
## Quote-uri memorabile
> "Don't own US stocks. That's a simple strategy that you can act on."
> "The greatest investment bubble in American history — AI. And the bigger the bubble, the bigger the bust."
> "Bubbles always occur around the very most important ideas — railroads, internet, AI. The bigger the idea, the bigger the bubble, and the bigger the bust."
> "From 1929 onwards, the Goldman Sachses of the world have never said to you, 'Get out of the market.' Never. It is simply lousy business."
> "Amazon went up 6-7x in '99. In the crash, it went down 92%. Then out of the wreckage, it inherited the retail world. That's how it works."
> "You get shot not for underperforming in a bear market. You get shot for not making money when your neighbor is making a ton in a bull market."
> "The only people who think you can have compound growth on a finite planet are madmen and economists." — Kenneth Boulding
> "Amazon went up 6-7 times in '99. In the crash it went down 92%. Check it — it's such a remarkably large number. And then out of the wreckage, it inherited the retail world."
> "Large enterprises almost never get the big turning points because they can't take the career risk involved. The central political skill in life: never be wrong on your own."
> "The only people who think you can have compound growth on a finite planet are madmen and economists." — Kenneth Boulding (citat de Grantham)
> "Get out of the most dangerous part, and do it now. Don't wait for help because no help is coming."
> "Crypto is an unnecessary piece of nonsense that facilitates nothing except criminals moving money."
> "Crypto is an unnecessary piece of nonsense that facilitates nothing except criminals moving money that they can't be seen."
---
## Idei actionabile
## Idei acționabile
- Evaluează expunerea la acțiuni US tech și reduce-o
- Cercetează ETF-uri world ex-US: piețe emergente, Europa, Japonia
- Adaugă 5-10% metale prețioase (aur, argint)
- Evită plasticul în contact cu alimentele, în special la cald
- Preferă cosmetice/îngrijire cu certificare europeană (fără perturbatori endocrini)
- Filtrează apa potabilă
- Cumpără US Treasury bonds direct pe treasurydirect.gov (fără comisioane)
---
## Cine este Jeremy Grantham
Jeremy Grantham are 87 de ani și 60 de ani de experiență în investiții. A intrat în domeniu în 1968, când nu existau modele matematice și piața era dominată de "fiii eșuați ai oamenilor bogați care lucrau la JP Morgan." A co-fondat firma GMO (Grantham, Mayo, Van Ottalo), care a ajuns să gestioneze 165 de miliarde de dolari la vârf. Din profitul personal de peste un miliard de dolari, a donat 90-95% într-o fundație proprie — Grantham Foundation for the Protection of the Environment — care investește în green tech pentru combaterea schimbărilor climatice. Firma gestionează azi 85 de miliarde. Se descrie ca specialist în orizont lung de timp și nivel înalt de abstractizare: "What is really going on here? And what are people missing?"
---
## Bula AI — cea mai mare din istoria americană
Grantham este categoric: suntem în "the biggest investment bubble in American history." Punctul de plecare al argumentului său este că bulele mari nu apar în jurul ideilor proaste, ci tocmai în jurul celor mai importante idei ale epocii — feroviarele, internetul, acum AI-ul. Toată lumea vede că e real, toată lumea bagă bani, tocmai de aceea se suprainvestește și bula crește. "The greater the idea, the more obvious the idea, the more money goes in, and the bigger the bubble, and the bigger the bust."
Analogia cu Amazon este edificatoare: în 1999, Amazon a crescut de 6-7 ori. În prăbușirea tech bubble, a scăzut 92%. Și apoi, din ruine, a moștenit lumea retail. Railroads au schimbat lumea, internetul a schimbat lumea — dar acționarii au pierdut enorm în proces. Același lucru se va întâmpla cu AI: tehnologia va supraviețui și va transforma totul, dar evaluările actuale sunt nesustenabile.
Semnal de alarmă concret: indicatorii de "crazy euphoria" sunt peste tot. Piața americană se tranzacționează la 35-40 de ori câștigurile, față de o medie normală de 15-17. În bula tech din 2000, era 31 de ori. Japan în 1989 a atins 65 de ori câștigurile — și a avut nevoie de 35 de ani să revină la nivelul anterior. "A 70% decline would not be unexpected" pentru acțiunile high flyer de astăzi, iar Nasdaq a scăzut 82% în bula tech — "it is far from unprecedented."
---
## De ce Wall Street nu te va avertiza niciodată
Acesta este poate cel mai dur argument din întreaga discuție. Grantham povestește că în 1998-1999, la un eveniment cu 1.200 de persoane al Society of Analysts, a pus două întrebări celor 400 de analiști full-time din sală. Prima: dacă piața ar reveni de la 31 la 17 ori câștigurile în orice moment al următorilor 10 ani, ar garanta asta un major bear market? Toți 400 au ridicat mâna — da. A doua întrebare: credeți că se va întâmpla? Peste 99% credeau că da, deci garantând un mare crash. Și totuși, reprezentanții de marketing ai Goldman Sachs, Morgan Stanley și JP Morgan stăteau pe podium și spuneau "oh Jeremy, don't get excited, we'll muddle through quite nicely."
Mecanismul e simplu: dacă un manager de fonduri avertizează că piața e supraevaluată și piața continuă să crească, clienții lui pleacă — nu îi pot tolera subperformanța într-un bull market. Grantham însuși a pierdut jumătate din clienți în 2 ani și jumătate, pentru că a avertizat cu 2 ani și un sfert prea devreme față de prăbușirea din 2000. "You get shot not for underperforming in a bear market — in a bear market, everyone freezes. You get shot for not making money when your neighbor is making a ton in a bull market." Concluzia: "From 1929 onwards, the Goldman Sachses of the world have never said to you, 'Get out of the market.' Never. It is simply lousy business."
---
## Strategia de portofoliu recomandată
Grantham oferă o alocare concretă: aproximativ 60% în indici largi de acțiuni non-americane (piețe emergente, Europa, Japonia, Canada, Australia — "world ex-US"), 5-10% în metale prețioase (aur, argint), ceva imobiliare dacă e practic, restul în obligațiuni. "Don't own US stocks. That's a simple strategy that you can act on. And if you have a big position in US technology stock, I personally would advise to sell them all."
Argumentul pentru non-US: piețele americane au dominat 20 de ani, dar ciclul se rotește mereu. În ultimele 12 luni, piețele emergente au crescut 65%, S&P doar 25%. Evaluările din afara SUA sunt mult mai rezonabile. Grantham nu e confident că acțiunile americane vor fi intacte în 5-10 ani: "Back in the tech bubble of 2000, we had a 10-year forecast for US equities of minus 2% a year. They came out at minus 3. And this is a higher priced market than 2000."
Pentru obligațiuni, explică mecanismul: o obligațiune e un împrumut cu dobândă fixă. US Treasury bonds (4.46% pe 10 ani) pot fi cumpărate direct la treasurydirect.gov, fără comisioane. Obligațiunile corporative ca Apple yield ~4.7% pe 10 ani. Esențial: diversificarea nu e opțională — "hold some bonds, hold some cash, perhaps a small amount of precious metals."
---
## SpaceX ca simptom de euforie maximă
Grantham folosește SpaceX ca exemplu definitiv de euforie de vârf de bulă. Prospectul SpaceX definește ca piață adresabilă "a quarter of the global GDP" și menționează mining asteroizi. Comparația sa e directă cu South Sea Bubble din 1720: "An enterprise of such enormous value, but it cannot at this time be revealed." Spune că în 50-100 de ani, oamenii vor povesti despre prospectul SpaceX așa cum povestesc azi despre South Sea Bubble.
Analiza lui Tesla explică mecanismul Musk: Tesla nu putea supraviețui financiar prin mijloace normale. Musk a "talked the stock up to 4-5 times what it was worth on paper, then sold lots of stock at 5 times what it was worth, used the money to build a gigafactory." A repetat ciclul — stock up, sell, build — și a funcționat pentru că a avut un bull market de 6 ani în spate. "SpaceX requires them to do the same again. He will not in SpaceX do that." Grantham spune că ar investi în SpaceX doar la 5-10 cenți pe dolar față de evaluarea actuală.
Există și un argument practic împotriva colonizării lui Marte: gravitația de 1/5 din Pământ face inima și oasele să se deterioreze ireversibil. Radiațiile cosmice ar da cancer în câteva săptămâni fără adăpost subteran masiv. "We have not been able to build a sustainable system in a dome ever. They all fail. And yet we think we can go to another infinitely more hostile planet than this one."
---
## Mag 7 — de la monopoluri separate la luptă în același ring
Retrospectiv, fiecare dintre cele 7 companii mari domina o bucată de piață: Apple — smartphone, Google — search, Microsoft — software de sistem, Meta — social networking, Tesla — EV, Nvidia — chipuri AI, Amazon — cloud + retail. Șapte monopoluri distincte, bani liniștiți, marje enorme. Prospectiv, toate 7 se bat în același teren: AI. "They're beating their chests saying my 200 billion CapEx this year is bigger than your 105." Grantham: "It looks like seven people in the ring. There'll only be one survivor, they think. What a difference from seven well-behaved separate monopolies." Cine câștigă — nu știe, dar structura de profitabilitate s-a schimbat radical în defavoarea tuturor celor 7.
---
## Crypto — va merge la zero
Răspunsul e scurt și categoric: Grantham nu a deținut niciodată crypto, nu va deține, și crede că Bitcoin va merge la zero. Motivarea: "It's an unnecessary piece of nonsense that facilitates nothing except criminals moving money that they can't be seen." Nu există utilitate fundamentală — nu produce nimic, nu e ancorat în nicio economie reală.
---
## Proprietăți imobiliare — prețuri care trebuie să scadă 30%
Grantham documentează o schimbare structurală: în Marea Britanie, o casă tipică costa 3.4 ori venitul familial în 1994 — cel mai scăzut nivel din 50 de ani. Azi: peste 10 ori venitul. "At 10 times income, a reasonable young couple are in big trouble. They can't really afford to buy a house." Același lucru se întâmplă în China, Canada, Australia, Europa. Timp de 67 din 80 de ani înainte de 1994, prețurile au stagnat sau au scăzut. Apoi politicile au "engineered a situation where house prices tend to rise" — excelent pentru cei care deja dețin, dezastruos pentru cei care vor să cumpere.
Chiar dacă prețurile scad 30%, ar ajunge la 6-7 ori venitul — în continuare de două ori mai scumpe decât în "the good old days." Deci proprietatea imobiliară e acceptabilă ca investiție, dar nu la prețurile actuale și fără să fie principala strategie.
---
## Criza de fertilitate și chimicalele toxice
Aceasta este cea mai surprinzătoare secțiune a video-ului — Grantham dedică o parte substanțială unui subiect pe care îl consideră la fel de urgent ca bulele financiare.
Numărul de spermatozoizi la bărbații occidentali a scăzut cu aproximativ 50% în ultimii 50 de ani, iar tendința continuă liniar. Grantham și interlocutorul discută proiecțiile care sugerează că, dacă trendul continuă fără intervenție, fertilitatea masculină ar putea atinge zero pe parcursul secolului. Principalii vinovați identificați sunt chimicalele sintetice omniprezente în viața modernă.
**Microplasticele** sunt acum detectate în sângele uman, în placentă, în laptele matern, în creier. Nu există organ sau țesut în care să nu fi fost găsite deja. Problema nu e doar fizică (microplasticele acționează ca perturbatori endocrini), ci că sunt practic imposibil de evitat — sunt în apa de la robinet, în aerul interior, în mâncare.
**Pesticidele** reprezintă al doilea factor major, în special glifosatul (Roundup) și neocotinoizii (folosiți masiv în agricultura industrială). Aceștia interferează cu sistemul hormonal și au fost legați de scăderea fertilității atât la bărbați cât și la femei. Grantham subliniază că reglementările europene sunt semnificativ mai stricte decât cele americane — multe substanțe interzise în UE sunt în continuare legale în SUA, inclusiv în alimente și cosmetice.
Sfaturile practice sunt: evitați plasticul în contact cu alimentele (în special la cald), preferați produse cosmetice și de îngrijire europene sau certificate fără perturbatori endocrini, consumați alimente organice când e posibil, filtrați apa. Grantham e convins că aceasta este o urgență de sănătate publică subestimată masiv.
---
## Inegalitate, societate în declin și unde să trăiești
Grantham descrie un ciclu de dezintegrare socială vizibil deja. Indicii: în Marea Britanie, timpul mediu de așteptare pentru o ambulanță a crescut de la 12 minute și jumătate la o oră și jumătate. Oamenii nu-și pot permite case. Nu cred că vor trăi mai bine decât părinții lor. Votează împotriva partidului la putere indiferent de culoare politică — în ultimele 7 alegeri europene majore, partidul de la putere a pierdut, fie că era de stânga sau de dreapta.
Inegalitatea economică din SUA a ajuns la niveluri comparabile cu Brazilia și Mexic, măsurată prin coeficientul Gini. Între 1935 și 1975, America a avut 40 de ani de creștere echilibrată: sfertul cel mai sărac câștiga puțin mai mult decât media, sfertul cel mai bogat puțin mai puțin — "everybody got richer, everyone was happy." Din 1975, salariul mediu real pe oră aproape nu a crescut. Câștigurile din ultimele decenii au mers aproape integral în top 10%, și în special în top 0.01%.
Istoria, spune Grantham, nu oferă exemple de reducere pașnică a inegalității extreme. "According to historical macro studies, peaceful policy changes almost never fix extreme inequality." Reseturile istorice au venit prin colaps civil, război total sau revoluție. El speră că o reformă fiscală graduală — mai apropiată de politicile din 1935-1975 — ar putea evita cel mai rău scenariu, dar nu e optimist în privința voinței politice.
Referitor la unde să trăiești, refuză să răspundă direct ("it might tend to incriminate me"), dar subînțelesul e clar: nu SUA. Menționează că fiul său cultivă culturi și crește animale pe o fermă mică — abilități practice pentru un viitor în care complexitatea civilizațională poate să "unravel."
- [ ] Evalueaza expunerea la actiuni US/tech din portofoliu
- [ ] Cerceteaza ETF-uri japoneze, europene, piete emergente ca alternative
- [ ] Verifica chimicalele din cosmetice/alimente — ftalati, BPA, pesticide
- [ ] Considera filtrarea apei potabile

View File

@@ -1,153 +0,0 @@
{
"notes": [
{
"file": "2026-01-30_clawdbot-personal-os-kitze.md",
"title": "How I Use Clawdbot to Run My Business and Life 24/7",
"date": "2026-01-30",
"tags": [
"clawdbot",
"productivity",
"personas",
"automation"
],
"domains": [
"work",
"growth"
],
"video": "https://youtu.be/YRhGtHfs1Lw",
"tldr": "Kitze folosește **UN SINGUR gateway Clawdbot** cu **MULTIPLE PERSONAS** pe Telegram/Discord. Fiecare personă are:\n- Personalitate diferită (avatar, stil de vorbit)\n- Skills diferite (acces la tool-uri..."
},
{
"file": "2026-01-29_remotion-skill-claude-code.md",
"title": "How people are generating videos with Claude Code (Remotion Skill)",
"date": "2026-01-29",
"tags": [
"remotion",
"claude-code",
"video",
"automation"
],
"domains": [
"work"
],
"video": "https://youtu.be/7OR-L0AySn8",
"tldr": "Remotion Skill permite generarea de videouri programatic cu Claude Code. Funcționează prin React components → video export. Demo live: Claude creează animații YouTube (like, subscribe, cursor) doar di..."
},
{
"file": "2026-01-29_gsd-framework-claude-code.md",
"title": "Forget Ralph Loops: The New GSD Framework for Claude Code",
"date": "2026-01-29",
"tags": [
"claude-code",
"gsd",
"framework",
"sub-agents",
"automation"
],
"domains": [
"work"
],
"video": "https://www.youtube.com/watch?v=l94A53kIUB0",
"tldr": "GSD (Get Shit Done) este un framework open-source pentru Claude Code care orchestrează sub-agenți pentru a completa proiecte urmând spec-driven development. Rezolvă problema \"context bloat\" prin rular..."
},
{
"file": "2026-01-29_greseli-post-apa.md",
"title": "Greșeli frecvente în timpul postului doar cu apă",
"date": "2026-01-29",
"tags": [
"post",
"water-fasting",
"sănătate",
"detox"
],
"domains": [
"health"
],
"video": "https://youtu.be/4QjkI0sf64M",
"tldr": "Greșelile frecvente pe care le fac oamenii când țin post terapeutic cu apă și cum să le eviți. Puncte cheie: pregătire corectă, curățarea colonului, calitatea apei, și importanța scopului spiritual."
},
{
"file": "2026-01-29_cloudflare-tunnel-localhost-public.md",
"title": "Cloudflare Tunnel: Make Localhost Public Without Port Forwarding",
"date": "2026-01-29",
"tags": [
"cloudflare",
"tunnel",
"localhost",
"networking",
"devops"
],
"domains": [
"work"
],
"video": "https://youtu.be/etluT8UC-nw",
"tldr": "Cloudflare Tunnel permite expunerea unui server local (localhost) pe internet printr-un domeniu public, fără port forwarding, fără configurare router, fără expunerea IP-ului public. App-ul rămâne pe m..."
},
{
"file": "2026-01-29_clawdbot-security-vulnerabilities.md",
"title": "It Got Worse (Clawdbot) - Security Vulnerabilities",
"date": "2026-01-29",
"tags": [
"clawdbot",
"security",
"vulnerabilities",
"hacking"
],
"domains": [
"work"
],
"video": "https://youtu.be/rPAKq2oQVBs",
"tldr": "Video critic despre vulnerabilitățile de securitate ale Clawdbot - sute/mii de instanțe au fost compromise. Probleme principale: porturi default, parole lipsă, reverse proxy misconfigurat, skills mali..."
},
{
"file": "2025-01-30_clawdbot-5-use-cases.md",
"title": "5 Insane ClawdBot Use Cases You Need To Do Immediately",
"date": "2025-01-30",
"tags": [
"clawdbot",
"automation",
"productivity",
"ai-assistant"
],
"domains": [
"work"
],
"video": "https://www.youtube.com/watch?v=b-l9sGh1-UY",
"tldr": "5 use case-uri pentru ClawdBot care îl transformă dintr-un simplu chatbot într-un asistent proactiv care lucrează pentru tine chiar și când dormi."
},
{
"file": "2025-01-30_claude-code-do-work-pattern.md",
"title": "The Most Powerful Claude Code Pattern I've Found",
"date": "2025-01-30",
"tags": [
"claude-code",
"skills",
"workflow",
"automation",
"do-work"
],
"domains": [
"work"
],
"video": "https://youtu.be/I9-tdhxiH7w",
"tldr": "Un pattern puternic pentru Claude Code: **Do Work** - o coadă de task-uri pe care Claude le procesează automat, unul câte unul, în sub-agenți cu context curat. Ideea cheie: **construiește tool-uri pen..."
}
],
"stats": {
"total": 8,
"by_domain": {
"work": 7,
"health": 1,
"growth": 1,
"sprijin": 0,
"scout": 0
}
},
"domains": [
"work",
"health",
"growth",
"sprijin",
"scout"
]
}

306
memory/kb/youtube/index.md Normal file
View File

@@ -0,0 +1,306 @@
# Index — youtube/
> 151 note. Citește acest index întâi; deschide doar fișierele relevante.
- **[Talk to Claude on 3CX Phone System Tutorial (Full Setup)](2025-02-13_talk-to-claude-3cx-phone.md)** `@work`
Tutorial complet pentru a vorbi cu Claude Code prin telefon, folosind 3CX (sistem telefonic cloud gratuit) + un proiect GitHub custom. Setup
- **[Cum să pornești sistemul limfatic? 4 metode simple, dar eficiente!](2025-02-14_sistem-limfatic-4-metode.md)** `@health`
Vladimir Colun explică rolul sistemului limfatic (vasele limfatice pot înconjura Pământul de 5 ori!) și de ce stagnarea limfei duce la infla
- **[It Got Worse (Clawdbot) - Security Vulnerabilities](2026-01-29_clawdbot-security-vulnerabilities.md)** `@work #clawdbot #security #vulnerabilities #hacking`
Video critic despre vulnerabilitățile de securitate ale Clawdbot - sute/mii de instanțe au fost compromise. Probleme principale: porturi def
- **[Cloudflare Tunnel: Make Localhost Public Without Port Forwarding](2026-01-29_cloudflare-tunnel-localhost-public.md)** `@work #cloudflare #tunnel #localhost #networking #devops`
Cloudflare Tunnel permite expunerea unui server local (localhost) pe internet printr-un domeniu public, fără port forwarding, fără configura
- **[Greșeli frecvente în timpul postului doar cu apă](2026-01-29_greseli-post-apa.md)** `@health #post #water-fasting #sănătate #detox`
Greșelile frecvente pe care le fac oamenii când țin post terapeutic cu apă și cum să le eviți. Puncte cheie: pregătire corectă, curățarea co
- **[Forget Ralph Loops: The New GSD Framework for Claude Code](2026-01-29_gsd-framework-claude-code.md)** `@work #claude-code #gsd #framework #sub-agents #automation`
GSD (Get Shit Done) este un framework open-source pentru Claude Code care orchestrează sub-agenți pentru a completa proiecte urmând spec-dri
- **[How people are generating videos with Claude Code (Remotion Skill)](2026-01-29_remotion-skill-claude-code.md)** `@work #remotion #claude-code #video #automation`
Remotion Skill permite generarea de videouri programatic cu Claude Code. Funcționează prin React components → video export. Demo live: Claud
- **[The Most Powerful Claude Code Pattern I've Found](2026-01-30_claude-code-do-work-pattern.md)** `@work #claude-code #skills #workflow #automation #do-work`
Un pattern puternic pentru Claude Code: **Do Work** - o coadă de task-uri pe care Claude le procesează automat, unul câte unul, în sub-agenț
- **[5 Insane ClawdBot Use Cases You Need To Do Immediately](2026-01-30_clawdbot-5-use-cases.md)** `@work #clawdbot #automation #productivity #ai-assistant`
5 use case-uri pentru ClawdBot care îl transformă dintr-un simplu chatbot într-un asistent proactiv care lucrează pentru tine chiar și când
- **[How I Use Clawdbot to Run My Business and Life 24/7](2026-01-30_clawdbot-personal-os-kitze.md)** `@work @growth #clawdbot #productivity #personas #automation`
Kitze folosește **UN SINGUR gateway Clawdbot** cu **MULTIPLE PERSONAS** pe Telegram/Discord. Fiecare personă are: - Personalitate diferită (
- **[The Secret to an Extraordinary Life - Tony & Sage Robbins](2026-01-31_tony-robbins-secret-extraordinary-life.md)** `@growth`
Secretul unei vieți extraordinare nu e banii, poziția sau puterea - **e emoția**. Tony Robbins explică cum starea fizică, focusul și limbaju
- **[How to Make ClawdBot 10x Better (5 Easy Steps)](2026-02-01_clawdbot-10x-better-5-easy-steps.md)** `@work #clawdbot #productivitate #ai`
5 sfaturi pentru a îmbunătăți dramatic experiența cu Clawdbot: memory flush + session search, modele specializate pentru task-uri diferite,
- **[Zoltan Vereș - Workshop Convingeri Limitative (COMPLET)](2026-02-01_zoltan-veres-convingeri-complet.md)** `@growth`
Convingerile limitative sunt **povești interioare** (filme mentale) care ne ghidează viața fără să ne dăm seama. Nu sunt "adevăruri" - sunt
- **[Zoltan Vereș - Motivația din perspectiva Inteligenței Emoționale](2026-02-01_zoltan-veres-eft-complet.md)** `@growth @work`
Workshop complet despre motivație și inteligență emoțională. Zoltan explică cele 3 motive principale pentru care pierdem motivația (oboseala
- **[Zoltán Vereș - Cultivarea Optimismului (Inteligența Emoțională)](2026-02-01_zoltan-veres-motivatia-complet.md)** `@growth @health`
*Notă: Acest video face parte dintr-un webinar live cu sesiune Q&A. Unele răspunsuri sunt specifice participanților, dar principiile sunt un
- **[Cultivarea Optimismului și Reziliența Emoțională - Zoltan Vereș](2026-02-01_zoltan-veres-optimism-complet.md)** `@growth @health`
Reziliența emoțională înseamnă să-ți menții direcția, productivitatea și relațiile în parametrii doriți, chiar și în condiții vitrege. Secre
- **[Zoltan Vereș - Regrete și Vinovății: Cum Ne Ține Trecutul Prizonier](2026-02-01_zoltan-veres-regrete-vinovatii-complet.md)** `@growth @sprijin`
Workshop-ul explorează cum regretele și vinovățiile ne țin prizonieri în trecut, creând o "realitate paralelă" mentală din care încercăm să
- **[Zoltan Vereș - Stima de Sine și Relația cu Banii/Valoarea](2026-02-01_zoltan-veres-relatie-bani-complet.md)** `@work @growth`
*Această notă a fost creată pentru a fi acționabilă. Nu o citi doar - aplică exercițiile!*
- **[Zoltan Vereș - Reziliența Emoțională (Autosabotare) @growth](2026-02-01_zoltan-veres-rezilienta-complet.md)** `#rezilienta #autosabotare #valori #subconștient #burnout #BTI`
Autosabotarea **NU există** în sensul tradițional - nu ai o parte din tine care lucrează împotriva ta. Ce există este un **conflict între va
- **[Respectul de Sine - Zoltán Vereș (Complet)](2026-02-01_zoltan-veres-stima-sine-complet.md)** `@growth @sprijin #respect-de-sine #valori #limite #dezvoltare-personala`
*Notă procesată de Echo | 2026-02-01*
- **[EFT pentru Teama de a fi Judecat - Zoltan Vereș (Complet)](2026-02-01_zoltan-veres-teama-judecat-complet.md)** `@growth @health #EFT #tapping #emotii #frica #judecata`
*Notă procesată de Echo | 2025-02-01*
- **[Umbrele Noastre - Workshop Stimă de Sine | Zoltan Vereș](2026-02-01_zoltan-veres-umbrele-complet.md)** `@growth @sprijin`
Workshop intens despre **stima de sine** și **încrederea în sine** - două concepte înrudite dar distincte. Mesajul central: **nu există lips
- **[Zoltan Vereș - Depășirea Vinovățiilor și Regretelor (Workshop BTI)](2026-02-01_zoltan-veres-vinovatii-complet.md)** `@growth @sprijin`
Rușinea, jena și sentimentul de penibil sunt **asocieri stimul-reacție** învățate în copilărie, nu emoții utile. Ele apar când te privești p
- **[Turn Claude Code into Your Full Engineering Team with Subagents](2026-02-02_claude-code-engineering-team-subagents.md)** `@work @growth`
Video despre "agent harnesses" - cum să transformi un coding agent într-un inginer complet prin: - Persistence și progress tracking între se
- **[OpenClaw (Clawdbot) Use Cases: 9 Automations + 4 Wild Builds](2026-02-02_openclaw-use-cases-automations.md)** `@work @growth`
Video care prezintă 9 automatizări practice și 4 proiecte avansate făcute cu OpenClaw/Clawdbot. Include guardrails esențiale pentru siguranț
- **[Zoltan Vereș - Autosabotare Ziua 1: Icebergul și Rezultatele](2026-02-02_zoltan-veres-autosabotare-ziua1-complet.md)** `@growth @work @sprijin #autosabotare #iceberg #rezultate #mindset`
Prima zi din cursul de 2 zile despre **autosabotare**. Zoltan prezintă **icebergul** - cele 7 nivele care generează rezultatele în viață. As
- **[Zoltan Vereș - Autosabotare (Ziua 2): Comportamente, Obiceiuri, Gânduri, Stări](2026-02-02_zoltan-veres-autosabotare-ziua2-complet.md)** `@growth @work @sprijin #autosabotare #comportamente #obiceiuri #mindset #stari`
Ziua 2 din workshopul de autosabotare. Se continuă de unde s-a rămas în Ziua 1 (rezultate și acțiuni) și se parcurg nivelele mai profunde al
- **[Zoltan Vereș - Încrederea în Sine](2026-02-02_zoltan-veres-incredere-sine-complet.md)** `@growth @work #incredere #dezvoltare-personala #mindset`
Încrederea în sine se bazează pe **valoare demonstrată prin experiență și rezultate**, nu pe gândire pozitivă sau autosugestie. Opusul încre
- **[Zoltan Vereș - Motivația Intrinsecă](2026-02-02_zoltan-veres-motivatie-intrinseca-complet.md)** `@growth @work #motivatie #control #emotii #dezvoltare-personala`
Workshop despre **motivația intrinsecă** - abilitatea de a activa modul de acțiune al creierului când e nevoie. Distinție importantă: obosea
- **[Zoltan Vereș - Relația cu Banii (Workshop)](2026-02-02_zoltan-veres-relatie-bani-workshop-complet.md)** `@growth @work #bani #relatii #valoare #mindset`
Workshop lunar despre **relația cu banii** - continuare a seriei de inteligență emoțională. Zoltan filmează din Hotel Ramada, într-o sală de
- **[Zoltan Vereș - Teama de a fi Judecat (Workshop)](2026-02-02_zoltan-veres-teama-judecata-workshop-complet.md)** `@growth @sprijin #teama #judecata #EFT #umbre`
Workshop despre **teama de judecată** - continuare după tema umbrelor. Participanții au lucrat pe umbre luna trecută și relatează progrese.
- **[Zoltan Vereș - Umbrele Noastre (Workshop Stima de Sine)](2026-02-02_zoltan-veres-umbrele-workshop-complet.md)** `@growth @sprijin #umbre #stima-de-sine #jung #autocunoastere`
Workshop despre **umbrele** - conceptul jungian al părților din noi pe care le negăm sau ascundem. Continuare după 4 episoade de podcast des
- **[Zoltan Vereș - Starea de Victimă](2026-02-02_zoltan-veres-victima-complet.md)** `@growth @sprijin #victima #emotii #control #dezvoltare-personala`
Workshop despre **starea de victimă** - poziționarea ca fiind fără control față de factori care produc disconfort/suferință. Puncte cheie: v
- **[Claude Code Task System: ANTI-HYPE Agentic Coding](2026-02-03_claude-code-task-system-anti-hype.md)** `@work #claude-code #agents #orchestration`
Sistemul de task-uri din Claude Code permite crearea de **echipe de agenți** care lucrează coordonat. Nu e vorba de mai mulți agenți = mai b
- **[Set up ClawdBot so you save THOUSANDS of dollars](2026-02-03_clawdbot-cost-optimization-setup.md)** `@work #clawdbot #optimization #costs`
Ghid practic pentru optimizarea costurilor în Clawdbot prin alegerea modelelor potrivite pentru fiecare use case. Conceptul cheie: **Brain**
- **[Clawdbot Cost Optimization Guide](2026-02-03_clawdbot-cost-optimization.md)** `@work`
Ghid practic pentru a reduce costurile Clawdbot de la $1000+/lună la o fracțiune, prin alegerea modelelor potrivite pentru fiecare "mușchi"
- **[OpenClaw: The 72 Hours That Broke Everything](2026-02-03_openclaw-72-hours-full-breakdown.md)** `@work`
Povestea completă a Clawdbot/Moltbot/OpenClaw - de la proiect personal la 82,000+ GitHub stars în câteva zile. Analiza include: arhitectura,
- **[How I Get Unlimited Leads Using Claude Code (Cold Email at Scale)](2026-02-03_unlimited-leads-claude-code-cold-email.md)** `@work`
Un owner de agenție cold email a construit un sistem proprietar cu Claude Code care procesează **272,000 leads/secundă** (1 milion în 5 secu
- **[A Powerful NLP Reframe - Power Sales University](2026-02-06_nlp-reframe-sales-baseline.md)** `@work @growth #nlp #reframe #sales #credinte #prospecting`
Demonstrație live de **reframing NLP** pentru a schimba credințe limitatoare în vânzări. Antreprenor bloca pe "nu avem baseline" și "nu știu
- **[NLP Sales Techniques, Persuade & Influence Like A Pro](2026-02-06_nlp-sales-promo.md)** `@work #nlp #sales #persuasion #promo`
**NU e tutorial, e ANUNȚ promotional** pentru un curs live de NLP sales. Autorul (Winter Laake) spune că a studiat NLP 7+ ani și vânzări 10+
- **[Use this one NLP trick to make your sales calls more effective! #shorts](2026-02-06_nlp-trick-cold-calls.md)** `@work #nlp #sales #cold-calls #prospecting #pattern-interrupt`
**Tehnica NLP pentru cold calls:** NU începe direct cu scriptul. Spune numele lor ÎNTÂI, apoi taci. Triggerezi în mintea lor: "Mă cunoaște?
- **[I figured out the best way to run OpenClaw](2026-02-06_openclaw-best-practices.md)** `@work #openclaw #automation #security #best-practices #infrastructure`
**Tutorial complet OpenClaw (Clawbot)** de la setup la automatizări avansate. Acoperă: hosting VPS vs local, model selection logic, skills/t
- **[Claude Code's New Agent Teams Are Insane (Opus 4.6)](2026-02-07-agent-teams-comparison.md)** `@work @growth`
Experiment comparativ: același prompt (task manager app) executat de 1) un singur agent și 2) agent team (Opus 4.6). Rezultat: agent team ma
- **[Claude Opus 4.6: Agent Teams Change Everything!](2026-02-07-claude-opus-46-agent-teams.md)** `@work @growth`
Claude Opus 4.6 introduce "agent teams" - posibilitatea de a orchestra mai multe instanțe Claude Code complet separate (NU sub-agenți), care
- **[Claude Code Multi-Agent Orchestration with Opus 4.6, Tmux and Agent Sandboxes](2026-02-10-claude-multi-agent-orchestration.md)**
Andy demonstrează noua funcționalitate de **multi-agent orchestration** din Claude Code (Opus 4.6), combinată cu Tmux și agent sandboxes (E2
- **[I made my OpenClaw 10x more powerful (seriously)](2026-02-10-openclaw-10x-powerful.md)** `@work #openclaw #automation #ai-agents`
Tutorial complet pentru configurarea avansată OpenClaw pe VPS (Hostinger), acoperind: upgrade web search la Perplexity Pro, configurare mult
- **[I Built a Safer OpenClaw Alternative Using Claude Code](2026-02-12_cole-medin-safer-openclaw-alternative.md)** `@work #openclaw #claude-code #security #diy #second-brain`
Cole Medin a replicat cele 4 componente cheie ale OpenClaw (memory system, heartbeat, channel adapters, skills) folosind Claude Code + Claud
- **[I Locked Down My OpenClaw in 30 Minutes — Here's Every Step](2026-02-12_matt-ganzak-locked-down-openclaw.md)** `@work #openclaw #security #hardening #tutorial #devops`
Matt Ganzak a trecut de la 3 vulnerabilități critice la o instanță OpenClaw complet securizată într-o singură sesiune de 30 de minute. Probl
- **[Monica Ion — Cele 4 tipuri de business (cu Ștefan)](2026-02-19_cele-4-tipuri-de-business.md)** `@work @growth`
Greșeala majoră a antreprenorilor: nu știu în ce tip de business se află și aplică metode greșite. Există 4 tipuri — artă, lifestyle, exit,
- **[Billionaire Coach: Trying To Pay The Bills is BLOCKING Your Abundance](2026-02-23_billionaire-coach-abundance-mindset.md)** `@growth`
Brendan Burchard (coach pentru miliardari, autor bestseller) explică de ce supraviețuirea financiară blochează abundența reală. Mesajul cent
- **[You're 28 Minutes Away From Never Being Broke Again](2026-02-27-hormozi-skills-investing.md)** `@work @growth #investing #skills #compounding #entrepreneurship #learning-budget`
Alex Hormozi argumentează că obiectivele financiare sunt prea mici pentru că ignori inflația. $1M în 50 ani = doar $170k putere de cumpărare
- **[How to Become Micro Famous In Your Industry](2026-02-27-micro-famous.md)** `@work @growth #positioning #thought-leadership #content-marketing #IP`
Chris Donley explică cum să devii "micro-famous" în industria ta - adică recunoscut ca expert într-o nișă specifică, nu neapărat celebru glo
- **[#1 Biggest Mistake Blocking Your Breakthrough with Codie Sanchez](2026-03-02-tony-robbins-breakthrough.md)** `@growth`
Tony Robbins explică de ce oamenii eșuează în a avea breakthrough-uri: abordează în ordine greșită cele 3 S-uri (Strategy, Story, State). Ma
- **[Claude Code Expert Reveals 60 Tips Nobody Teaches](2026-03-03-claude-code-60-tips.md)** `@work @growth #claude-code #productivity #ai-workflows`
Rahul Prihar (1,600+ ore experiență) împărtășește 60 de tips avansate pentru Claude Code - de la workflow-uri cu worktrees și subagents, la
- **[A 55 Year Old Self-Made Millionaire Shares His Best Life Lessons](2026-03-03_self-made-millionaire-life-lessons.md)** `@growth @work #entrepreneurship #mindset #happiness #relationships`
Antreprenor egiptian-american (Dr. Amr) de 55 ani, fondator Cloudera (evaluată la $5 miliarde), împărtășește lecții despre fericire, eșec, s
- **[Life Is Not Fair - Alex Hormozi](2026-03-05-life-is-not-fair-alex-hormozi.md)** `@work @growth #mindset #business #standards`
Despre trade-off-uri în viață și business. "Should" nu există - universul nu îți datorează nimic. Alex prezintă 4 nivele de înțelegere a tra
- **[Pencil.dev + Claude Code - Workflow Design-to-Code](2026-03-05-pencil-claude-code.md)**
Pencil.dev e un MCP (Model Context Protocol) cu canvas vizual pentru generare design-uri cu Claude Code, lansat de High Agency. Funcționează
- **[How To Get Customers So Fast It Feels ILLEGAL - Alex Hormozi](2026-03-06-hormozi-customer-acquisition.md)** `@work @growth`
Hormozi dezvăluie 9 strategii pentru achiziție rapidă de clienți: (1) oferă gratuit ce alții vând, (2) echipă mică dar elite (fewer better),
- **[Watch This To Generate 1000s of Leads (In Any Niche)](2026-03-06-hormozi-lead-magnets.md)** `@work #lead-generation #lead-magnets`
**Salvat:** 2026-03-06 05:30 UTC
- **[I Replaced Azure App Service with a $3/mo VPS (and kept push-to-deploy)](2026-03-07-azure-to-vps-selfhosting.md)** `@work @scout #devops #selfhosting #docker #cicd`
Milan migrează de pe Azure App Service (€15-20/lună) la un VPS Hetzner (€3/lună) folosind Docklo pentru push-to-deploy simplu. Soluția inclu
- **[My Biggest AI Unlock — It Does Everything](2026-03-07-folder-process.md)** `@work @growth #ai #workflow #productivity`
**"The Folder Process"** - cea mai simplă și mai puternică metodă de lucru cu AI (Claude Code/Codex CLI). În loc să cauți tool-ul perfect, c
- **[Dr. Martha Beck: This Weird Trick Reduces Anxiety & Fixed My Childhood Trauma](2026-03-07-martha-beck-anxiety.md)** `@health @growth`
**Rating personal:** ⭐⭐⭐⭐⭐ (top 3 podcasts anxiety ever)
- **[The Identity Shift Required to Master Anything | Tim Ferriss (The Diary Of A CEO)](2026-03-07-tim-ferriss-identity-shift.md)** `@growth @work #metaînvățare #productivitate #identitate #ferriss`
Tim Ferriss explică conceptul de **metaînvățare** (învățare a învățării) prin framework-ul **DSS + Stakes**: Deconstruction (descompune obie
- **[#1 Brain Neuroscientist: "This Will DELETE Your Old Self!" - How To Manifest Anything You Want](2026-03-12_brain-neuroscientist-delete-old-self-manifest-anything.md)** `@growth @health #neuroscience #manifestation #identity #brain`
Emily McDonald, neuroscientistă specializată în adicție și neuroplasticitate, explică cum să-ți "ștergi" sinele vechi prin rewiring cerebral
- **[The SIMPLE (& Proven) Way To Earn $100,000 From Nothing! | The Money Making Experts](2026-03-12_the-simple-proven-way-earn-100k-from-nothing.md)** `@work @growth #entrepreneurship #wealth #businessmodels`
Trei dintre cei mai de succes antreprenori din lume (Cody Sanchez, Alex Hormozi, Daniel Priestley) discută strategii concrete pentru a gener
- **[Karpathy's "autoresearch" broke the internet](2026-03-13-karpathy-autoresearch.md)** `@work`
Andre Karpathy a lansat **Auto Research** - un sistem AI care rulează experimente de optimizare ML automat 24/7. E ca un "robot intern" care
- **[Stop Fixing Your Claude Skills. Autoresearch Does It For You](2026-03-15-autoresearch-claude-skills.md)** `@work #claude-code #optimization #autoresearch #skills`
**Next steps:** Update notes index, consider autoresearch pentru skills critice
- **[Copy This Strategy, It'll Blow Up Your Business](2026-03-15-hormozi-affiliate-strategy.md)** `@work #affiliate-marketing #scaling #referral-systems #gamification`
Alex Hormozi explică în detaliu cum a folosit affiliate marketing pentru a obține 500.000 de înscrieri la lansarea cărții "$100 Million Lead
- **[I've Used Claude Code for 2,000+ Hours - Here's How I Build Anything With It](2026-03-16-whisk-framework-claude-code.md)** `@work #claude-code #context-management #whisk-framework #ai-coding`
4. Consider integration cu Ralph workflow
- **[Learn Paid Ads in 30 Minutes!](2026-03-17_alex-hormozi-learn-paid-ads-30-minutes.md)** `@work #marketing #paid-ads #advertising #alex-hormozi`
Alex Hormozi consultă 10 business-uri ($600k - $10M) despre strategii de paid advertising. Teme principale: **PROOF > PROMISE** (dovadă unic
- **[Claude Code + The Right Tech Stack = Apps That Actually Work](2026-03-18-claude-code-tech-stack.md)** `@work @scout`
Tutorial complet despre tech stack pentru "vibe coding" cu Claude Code. Problema: vibe coders nu înțeleg tech stack-ul → aplicațiile se dărâ
- **[The toolkit from Y Combinator CEO that Will Makes Claude Code Amazing](2026-03-18-gstack-ycombinator-claude-code.md)** `@work @scout`
Gary Tan (CEO Y Combinator) a creat **GStack** - toolkit pentru Claude Code cu 9 workflow-uri specializate. Include: plan CEO review, plan e
- **[Claude Code + Karpathy's Autoresearch = INSANE RESULTS!](2026-03-21-autoresearch-thumbnails.md)** `@work @scout #autoresearch #self-improving #automation #machine-learning`
Autorul construiește un sistem self-improving pentru thumbnails YouTube inspirat din autoresearch loop-ul lui Andrej Karpathy. Sistemul trag
- **[My Multi-Agent Team (NOT OpenClaw)](2026-03-21-multi-agent-team-polling.md)** `@work @scout #architecture #automation #agents #security`
Demonstrație sistem minimal de delegare automată către agenți AI (Claude Code/Codex) prin task manager (Linear/Jira). Spre deosebire de Open
- **[Anthropic Just Revealed Where Coding Is Heading](2026-03-22-anthropic-software-factory.md)** `@work`
Anthropic a lansat remote scheduled tasks pentru Claude Code - agenți AI care rulează în cloud 24/7, conectați la diverse servicii (Sentry,
- **[Claude just killed ALL Note-Taking Apps. Here is proof.](2026-03-22-claude-killed-note-taking-apps.md)** `@work @growth`
Demonstrație completă despre cum Claude Code + folder local + SQLite database înlocuiește complet tool-urile PKM (Obsidian, Notion, etc.). A
- **[Hackers can bypass Your MFA In 2026 (And How To Stop It)](2026-03-23-mfa-bypass-threats.md)** `@work #security #mfa #2fa #threatlocker`
Rob from ThreatLocker explică de ce MFA nu e suficient în 2026 și prezintă soluții avansate. Atacatorii pot evita MFA prin: SIM swapping (SM
- **[This Nobel Prize Discovery Reverses Aging In 72 Hours](2026-03-25-nobel-prize-aging-72h.md)** `@health @work`
Dave Asprey explică descoperirea premiată cu Nobel din 2016 despre **autophagie** - procesul natural de "curățare celulară" care poate inver
- **[This Tech-CEO's Claude Code Toolkit Will Blow You Away](2026-03-25-yc-claude-toolkit.md)** `@work #claude-code #yc #vibe-coding #product-development`
CEO-ul Y Combinator a creat o suită de 30+ skills pentru Claude Code care ghidează procesul complet de dezvoltare: de la validare idee până
- **[AI Whistleblower: We Are Being Gaslit By The AI Companies | Karen Hao](2026-03-26-ai-whistleblower-karen-hao.md)** `@work @growth #ai #openai #sam-altman #tech-ethics #job-displacement`
Karen Hao, autoare "Empire of AI", dezvăluie realitatea din spatele OpenAI și industriei AI: o industrie imperială care exploatează muncă ie
- **[The AI Job Market Split in Two. One Side Pays $400K and Can't Hire Fast Enough.](2026-03-27-ai-job-market-split.md)** `@work @growth`
Piața muncii AI s-a împărțit în două: joburi tradiționale (PM, dev generaliști) stagnează, în timp ce rolurile AI cresc exploziv — ratio 3.2
- **[AutoResearch Clearly Explained (and how to use it)](2026-03-28-autoresearch-explained.md)** `@work @scout #ai-research #automation #andrej-karpathy`
AutoResearch e un proiect open-source de Andrej Karpathy care permite AI-ului să se îmbunătățească autonom prin rulare de experimente - păst
- **[Coding Agent Reliability EXPLODES When They Argue (New Adversarial Dev Technique)](2026-03-30-adversarial-dev.md)** `@work #ai-coding #adversarial-dev #harnesses #multi-agent`
**Next:** Index update (auto via kb index check în heartbeat)
- **[Anti-Aging Expert: Stop Touching Receipts! Fast Way To Shrink Visceral Fat](2026-03-30-rhonda-patrick-aging.md)** `@health`
**Prioritate înaltă pentru Marius:** Bucătăria (black plastic OUT!), omega-3 în frigider, creatine 10g/zi brain boost, 10 min/zi vigorous ex
- **[I Tested the Cheapest Path to 96GB of VRAM](2026-03-31_cheapest-path-96gb-vram-intel-arc-b60.md)** `@work #hardware #ai #vram #intel #gpu`
Testează 4x Intel ARC Pro B60 (24GB fiecare = 96GB VRAM total) ca alternativă ieftină la GPU-uri NVIDIA Pro ($650-800/card vs $2000-8500). P
- **[Claude Mythos Changes Everything. Your AI Stack Isn't Ready.](2026-04-01-claude-mythos-changes-everything.md)** `@work @growth #ai #claude #workflow #prompt-engineering`
Claude Mythos (Capybara) - primul model antrenat pe Nvidia GB300 - va fi lansat în 1-2 luni și va schimba fundamental modul în care construi
- **[23 AI Trends keeping me up at night](2026-04-02-23-ai-trends.md)** `@work @growth`
Prezentare detaliată a 23 de tendințe AI care definesc momentul actual ca fiind extraordinar de favorabil pentru a construi startup-uri. Acc
- **[I Broke Down Anthropic's $2.5 Billion Leak. Your Agent Is Missing 12 Critical Pieces.](2026-04-03-claude-code-leak-12-critical-pieces.md)** `@work`
Analiza leak-ului Claude Code dezvăluie 12 primitive arhitecturale esențiale pentru agenți de producție la scară de miliarde $. 80% din succ
- **[Dr. Gabor Maté: The Shocking Link Between ADHD, Addiction, Autoimmune Diseases, & Trauma](2026-04-03_gabor-mate-adhd-addiction-autoimmune.md)** `@health @growth #adhd #addiction #trauma #autoimmune #childhood`
Acest material e GOLD pentru coaching, self-awareness și înțelegerea legăturii corp-minte. Modelele de gândire și întrebările puternice pot
- **[Your Brain's Quiet Emergency | What Dr. Boz Showed Me](2026-04-05_brain-ketosis-dr-boz.md)** `@health`
Dr. Boz explică de ce creierul se deteriorează tăcut și ce poți face. Cetoza nu e o dietă — e mecanismul prin care creierul se curăță noapte
- **[Dr. Gabor Maté: The Shocking Link Between Your Childhood and Why You're Addicted to Approval](2026-04-05_gabor-mate-childhood-approval-addiction.md)** `@growth @health`
Dr. Gabor Maté (81 ani, psihiatru și expert în traume) explică de ce suntem atât de dependenți de validarea celorlalți: nu e o slăbiciune, c
- **[How to Build a Lead Magnet That Converts](2026-04-05_lead-magnet-hormozi.md)** `@work @growth`
Hormozi sfatuieste un antreprenor de PR B2B (~2.1M/an, pachete 150k/an) cum sa-si construiasca un lead magnet eficient. Regula de aur: un le
- **[PostgREST Deletes 80% of Your Backend Code](2026-04-08_postgrest-deletes-80-percent-backend.md)** `@work`
PostgREST transformă schema PostgreSQL direct într-un REST API complet funcțional — fără routes, controllers, ORM sau validări scrise manual
- **[Claude Code just shipped the monitor tool](2026-04-10_claude-code-monitor-tool.md)** `@work`
Claude Code a lansat un nou tool: **Monitor** — permite urmărirea în timp real a proceselor de fundal (servere, teste, API-uri) fără polling
- **[Claude Code + Marp: Prezentări Generate de AI în Secunde](2026-04-11_claude-code-marp-prezentari.md)** `@work @growth`
Andrej Karpathy folosește un tool numit **Marp** pentru a transforma notițele AI în slide-uri vizuale. Marp convertește fișiere Markdown pla
- **[I Stopped Hitting Claude Code Usage Limits (Here's How)](2026-04-11_claude-code-usage-limits.md)** `@work @growth`
Video practic despre cum să reduci consumul de tokeni în Claude Code prin "context hygiene". Problema principală nu e limita de usage, ci **
- **[Stop Buying Things. Start Buying Assets that Pay for Themselves](2026-04-13_stop-buying-things-start-buying-assets.md)** `@work`
Un tip (David, Fort Wayne Indiana) a construit 3 afaceri de inchirieri — tote-uri pentru mutari, rulota, studio podcast — cu capital mic si
- **[Claude Code Channels = Your Own OpenClaw](2026-04-14_claude-code-channels-openclaw.md)**
**Claude Code Channels** = feature care îți permite să trimiți mesaje la o sesiune Claude Code activă din orice chat app (Telegram, Discord,
- **[Claude Routines Just Dropped, And It's Perfect](2026-04-14_claude-routines-automation.md)**
Anthropic a lansat **Claude Routines** — automatizări native în Claude Code care înlocuiesc direct platforme no-code gen N8N/Make. Creezi ag
- **[Neuroscience Confirms: This Biblical Habit Rewires Your Brain](2026-04-14_neuroscience-biblical-meditation-rewires-brain.md)** `@growth @health`
Meditația biblică (hagah - a rumina, a rosti, a reflecta profund) este confirmata de neuroștiință ca metodă eficienta de rewire a creierului
- **[2026-04-15_claude-code-interactive-artifacts](2026-04-15_claude-code-interactive-artifacts.md)** `@work @growth`
Workflow cu 3 layere de "Interactive Artifacts" în Claude Code — de la HTML static la artifact conectat live cu Claude prin channels. Princi
- **[I Turned Claude Opus 4.7 Into a 24/7 Trader](2026-04-17_claude-opus-47-trading-agent.md)** `@work @growth`
Video despre cum să construiești un agent de trading autonom cu Claude Opus 4.7 + Claude Code Routines. Autorul migrează un bot de trading e
- **[Parallel Claude Code + Git Worktrees: This Setup Will Change How You Ship](2026-04-23_parallel-claude-code-git-worktrees.md)** `@work`
- Plugin Codex pentru Claude Code: Anthropic marketplace
- **[Claude Code + Playwright Automates Literally Anything](2026-04-25_claude-code-playwright-automates-anything.md)** `@work`
Claude Code + Playwright CLI = automatizezi orice în browser, inclusiv în conturi unde ești logat. Se scrie un script Playwright, se testeaz
- **[I Just Tried The Brand New Ternary Model And It's Great!](2026-04-29_ternary-models-local-ai.md)** `@work #local-ai #llm #ternary #quantization`
Prism ML a lansat primul model **ternary** viabil (Bonsai 8B Ternary), evoluția modelelor one-bit. Ternary folosește valori -1, 0, +1 în loc
- **[Your Claude Limit Burns In 90 Minutes Because Of One ChatGPT Habit](2026-05-02_claude-limit-chatgpt-habit.md)** `@work @growth #token-management #claude #ai-efficiency #agents`
Videoclipul e despre cum obiceiurile proaste de folosire a AI-ului (ChatGPT, Claude, Gemini) ard tokens inutil — și cum le poți reduce de 8-
- **[Karpathy Just Told Us What Startups To Build For 2026](2026-05-02_karpathy-startups-2026.md)** `@work @growth`
Andrej Karpathy (fost OpenAI, Tesla Autopilot, inventatorul "vibe coding") a dat un talk în care spune că modul în care construim software s
- **[Samsung SSDs Are Dying](2026-05-02_samsung-ssds-dying.md)** `@work #ssd #samsung #hardware`
Samsung 980 Pro și 990 Pro SSD-urile au un bug de firmware care distruge durata de viață — 50% din HP dispare după o lună. Fix rapid: update
- **[What 6 months of AI coding did to my dev team](2026-05-03_ai-coding-dev-team.md)** `@work @growth`
CEO-ul unei echipe de 20 de developeri descrie ce s-a schimbat în 6 luni de coding cu AI (Claude Code, Cursor). Concluzia: bottleneck-ul nu
- **[Oz Pearlman (Mentalist): This Small Mistake Makes People Dislike You! They Do This, They're Lying!](2026-05-04_oz-pearlman-mentalist-read-people.md)** `@growth`
Oz Pearlman — mentalist de 30 de ani, fostul analist de pe Wall Street — explică că nu citește mințile, ci oamenii. Succesul lui vine din ac
- **[The Art of Reading Minds | Oz Pearlman | TED](2026-05-04_oz-pearlman-reading-minds-ted.md)**
Oz Pearlman, considerat cel mai mare mentalist din lume, demontează mitul că "citit gânduri" e talent înnăscut. E o abilitate învățată în 30
- **[Scott Galloway: AI Wasn't Built For You. The Rich Don't Need You Anymore!](2026-05-05_scott-galloway-ai-wasnt-built-for-you.md)** `@growth @work`
Scott Galloway (profesor NYU, economist) argumentează că AI-ul este în primul rând un instrument de concentrare a avuției, nu unul democrati
- **[Running a 35B AI Model on 6GB VRAM, FAST (llama.cpp Guide)](2026-05-06_llama-cpp-35b-6gb-vram.md)** `@work #llama #AI #local-AI #hardware`
Cum rulezi Qwen3 35B (model Mixture of Experts) pe un GPU de 8 ani cu 6GB VRAM la 17 token/s și 256K context — prin 5 flag-uri llama.cpp spe
- **[Tokens can make you rich, just do this Mario Zechner](2026-05-06_mario-zechner-tokens-agents.md)** `@work @growth`
Interviu cu Mario Zechner, creatorul agentului de cod Pi (pi.dev), despre agenți AI, tokeconomics, și viitorul muncii. Teza centrală: agenți
- **[Bonificația de 3% din impozit — Răspunsul Ministerului Finanțelor (2025)](2026-05-08_bonificatie-3-impozit-2025.md)** `@work #fiscal #bonificatie #impozit-profit #micro`
Ministerul Finanțelor a răspuns oficial (luni, 27...) unei adrese trimise de Camera Consultanților Fiscali privind tratamentul contabil și f
- **[You're Wasting 40% Of Your AI Time On Something Fixable](2026-05-09_wasting-ai-time-scaffolding.md)** `@work @growth`
Oamenii pierd masiv timp cu AI pentru că nu înțeleg "harness-ul" din jurul LLM-ului — stratul de scaffolding care face diferența între un mo
- **[You Don't Need a Job To Make Money](2026-05-14_you-dont-need-a-job.md)** `@growth @work`
Banii nu vin din muncă — vin din valoare care ajunge la oameni. Munca e doar una dintre metodele de livrare a valorii, nu singurul mecanism.
- **[Pi is INCREDIBLE - Building a Custom Coding Agent Live](2026-05-16_pi-is-incredible-building-a-custom-coding-agent-li.md)**
Cole Medin explorează **Pi** — un coding agent minimal și open source pe care îl customizezi tu ("there are many coding agents, but this one
- **[The Secret to Great Public Speaking (No, It's Not Confidence) | Jess Ekstrom | TEDx](2026-05-18_the-secret-to-great-public-speaking-spotlight-vs-l.md)**
Secretul vorbitului în public nu e încrederea — e să muți lumina de pe tine pe audiență. **Spotlight speaker** = preocupat de percepție prop
- **[How Anthropic, Costco, and Patagonia all build incorruptible companies | Eric Ries](2026-05-19_eric-ries-incorruptible-companies.md)** `@work @growth`
Eric Ries (autorul Lean Startup) lansează o nouă carte — **Incorruptible** — despre de ce companiile bune devin proaste și cum cele mari răm
- **[Graphify Solves Claude's Biggest Limitation (Finally)](2026-05-19_graphify-knowledge-graph.md)** `@work`
Graphify este un tool Python care convertește un codebase local (cod + documentație) într-un knowledge graph structurat. Scopul: agenții AI
- **[Anthropic Just Dropped a Masterclass on Building Agent Harnesses (for Large Codebases)](2026-05-21_anthropic-agent-harnesses-large-codebases.md)** `@work #claude-code #ai-layer #coding-agents #codebase #productivity`
Anthropic a publicat un ghid despre cum să lucrezi cu Claude Code în codebaze mari. Mesajul central: **harness-ul (AI layer) contează la fel
- **[Anthropic Just Dropped the Update Everyone's Been Waiting For (Claude Code Workflows)](2026-05-21_anthropic-claude-code-workflows-feature.md)** `@work #claude-code #workflows #multi-agent #orchestration #productivity`
Claude Code a primit o funcție nouă (neoficial anunțată): **Workflows** — orchestrare deterministă multi-agent prin fișiere JavaScript. Rezo
- **[Hermes Agent just got 10X Better (Agentic OS)](2026-05-21_hermes-agent-agentic-os.md)** `@work @growth`
Video prezintă cum să conectezi **Hermes** (agent AI mobil, 60K+ stars GitHub) cu **Claude Code** pentru un sistem de inteligenta AI unifica
- **[Hermes Agent: Zero to Personal AI Assistant (1 Hour Course)](2026-05-21_hermes-agent-personal-ai-assistant.md)** `@work @growth`
Hermes Agent este un proiect open-source (MIT, 140k+ GitHub stars) pentru asistent AI personal care rulează pe propria infrastructură. Se co
- **[BT Talks - Mircea Miclea, despre relația cu banii](2026-05-21_mircea-miclea-relatia-cu-banii.md)** `@growth @health @work`
Mircea Miclea (psiholog cognitiv, fondatorul școlii cognitive românești, UBB Cluj) explică de ce relația cu banii e preponderent emoțională
- **[Give Me 10 Mins and I'll Save You Millions of Claude Tokens](2026-05-25_claude-prompt-caching-token-saving.md)** `@work @growth`
Prompt caching-ul din Claude Code salvează masiv din token-uri — autorul a salvat 91M tokeni într-o zi și 300M+ într-o săptămână. Tokenii ca
- **[Ex-Google Recruiter Explains Why "Lying" Gets You Hired](2026-05-30_ex-google-recruiter-explains-why-lying-gets-you-hi.md)**
<!-- Completează un rezumat de 2-3 rânduri -->
- **[Build Powerful Local Coding Agent on Budget GPU with Llama.cpp and Pi](2026-05-30_local-coding-agent-budget-gpu-llamacpp.md)** `@work @growth #local-ai #llama-cpp #coding-agent #moe #hardware`
Cum rulezi un coding agent local la nivel "mid-frontier" (comparabil cu Claude Code) pe un GPU de buget (RTX 3060, 12GB VRAM) fără rate limi
- **[I Rebuilt Hermes in Claude Code (It's Ridiculously Good)](2026-05-30_rebuilt-hermes-claude-code.md)** `@work @growth`
Hermes e un sistem agentic cu 40k stele GitHub în 46 de zile — rapid de adoptat, dar vine cu costuri ascunse. Autorul a ales să **reconstrui
- **[Why This Dev Ships 100x Faster Than 99% of Engineers](2026-05-31_agentic-engineering-100x-faster.md)** `@work @growth`
Mickey, un senior developer, explică cum livrează de 100x mai rapid folosind **agentic engineering** — nu vibe coding. Diferența cheie: tu f
- **[2026-05-31_hormozi-robbins-game-of-life](2026-05-31_hormozi-robbins-game-of-life.md)** `@growth`
Tony Robbins și Alex Hormozi poartă o conversație profundă despre ce înseamnă cu adevărat succesul și împlinirea. Robbins diagnostichează în
- **[I Ran a 1B AI Agent on a $0 Budget — 100+ tok/s on 8GB GPU](2026-05-31_i-ran-a-1b-ai-agent-on-a-0-budget-100-tok-s-on-8gb.md)** `@work @growth`
MiniCPM 5 1B (2.17 GB, necesita 7-8 GB VRAM) rulează la 100+ tok/s pe un GPU de 8 GB. Videoul demonstrează 3 metode: Ollama (simplu, rapid),
- **[My Agentic Engineering Workflow (step by step workflow)](2026-06-01_agentic-engineering-workflow.md)** `@work @growth`
Workflow complet de inginerie agentică: GPT-4.5 extra high fast în Cursor + Greptile pentru code review automat + GP Loop (skill Greptile ca
- **[Watch this 100x developer use Codex… it's insane](2026-06-04_codex-100x-developer-magicpath.md)** `@work @growth #codex #ai-agents #startup #workflow #productivity`
Pedro (fondatorul Magic Path) explică de ce a renunțat la Claude Code în favoarea Codex-ului OpenAI, cum construiește el produse AI-first și
- **[2026-06-07_expert-fiscal-taxe-mai-mici-2026](2026-06-07_expert-fiscal-taxe-mai-mici-2026.md)** `@work @growth`
Cosmin Dumitrașcu, expert fiscal cu 20 de ani experiență, explică ce trebuie să știe orice administrator de SRL în 2026. Administratorul răs
- **[Hermes Agent Desktop: Full Setup + Real Use Cases](2026-06-07_hermes-agent-desktop-setup.md)** `@work @scout`
Hermes Agent (creat de Nous Research) e o alternativă la OpenClaw cu două avantaje majore: **persistent memory cu limite de token** (evită p
- **[This Unlocks So Many Insane Hermes Use Cases](2026-06-07_hermes-use-cases.md)** `@work @growth`
Hermes (de la Nous Research) este un agent personal AI alternativ la OpenClaw, care se poate conecta la Claude Code prin MCP. Principalul av
- **[Luke Belmar's Guide To Making Money Blew My Mind](2026-06-07_luke-belmar-money-guide.md)** `@growth @work`
Luke Belmar (19 companii, 78 startup-uri) explica sistemul sau de gandire despre bani. Esenta: nu alerga dupa bani — construieste-ti capacit
- **[How the Top 1% Actually Run Claude Code Now](2026-06-09_top-1-percent-claude-code-loops.md)** `@work @growth #loops #agents #automation #claude-code`
Videoul descrie tranziția de la Stage 2 (juglezi manual mai mulți agenți) la Stage 3 (proiectezi loop-uri autonome care promtează agenții în
- **[Dezvoltator Suplimente: "Producătorii De Vitamine Au Un Truc Ascuns" | Iulia Borcsa | Gândește Diferit](2026-06-12_iulia-borcsa-suplimente.md)** `@health @growth`
Iulia Borcsa, cercetător și dezvoltator de suplimente în Germania (~10 ani), explică ce nu știe consumatorul mediu despre industria suplimen
- **[I Tested Letting Claude Trade For A Month and Made $102k](2026-06-14_claude-trading-102k.md)**
Un trader cu background în matematică și finanțe a folosit Claude ca analist și portfolio manager timp de o lună (mai 2026), începând cu $66
- **[We Spent $5M on Business Gurus, So You Don't Have To](2026-06-19_business-gurus-5m-review.md)**
Doi antreprenori cu afaceri de 8-9 cifre (Nick Fischer - New Reach, $150M+/an) analizează cele mai valoroase cursuri și guru-uri în care au
- **[Matt Pocock's Agentic Engineering Workflow (just copy him)](2026-06-19_matt-pocock-agentic-engineering-workflow.md)** `@work @growth`
Matt Pocock (educator TypeScript, autor skills pentru Claude Code) explica filosofia sa de lucru cu AI: nu modelul conteaza cel mai mult, ci
- **[This Claude Code Setup Changed My Life (Seriously…)](2026-06-21_claude-code-anki-setup.md)** `@growth @work`
Combini Claude Code cu Anki (prin Anki Connect add-on) pentru a automatiza crearea și optimizarea flashcard-urilor. Claude Code citește vide
- **[100% REMOTE Boring Businesses (That Almost Never Fail)](2026-06-23_remote-boring-businesses.md)** `@work @growth`
Fondatorul unui business de $23M/lună face un ranking al afacerilor remote. Concluzia: cele mai bune nu sunt cele "sexy" (dropshipping, SEO,
- **[#1 Biggest Mistake Blocking Your Breakthrough (Codie Sanchez)](2026-06-24_codie-sanchez-3s-breakthrough.md)**
Tony Robbins (neidentificat explicit, dar stilul și conținutul sunt clare) explică de ce oamenii eșuează să aibă un breakthrough: atacă prob
- **[Google Just Dropped a Masterclass on Agentic Engineering](2026-06-25_google-agentic-engineering-masterclass.md)** `@work @growth`
Google a publicat un ghid de 51 de pagini despre AI-driven SDLC (Software Development Life Cycle). Concluzia centrală: **harness-ul (regulil
- **[Google's New Release Just Fixed AI Systems (Open Knowledge Format)](2026-06-27_google-open-knowledge-format.md)** `@work @growth`
Un video prezintă **Open Knowledge Format (OKF)** — un format *propus* pentru organizarea knowledge base-urilor astfel încât agenții AI să n
- **[Billionaire's WARNING: I'm SELLING. The Crash Is Already Here! — Jeremy Grantham](2026-06-27_jeremy-grantham-ai-bubble-warning.md)** `@growth @work #youtube #to-summarize #investitii #bubble #AI #sanatate #economie`
*Notă: Sumarizarea va fi adăugată de Echo.*
- **[thinking-on-paper](thinking-on-paper.md)** `@growth`
Metoda "Thinking on Paper" — 3 principii: **Make it Wrong** (scrie repede, fără perfecționism), **Make it Shorter** (doar keywords), **Make

View File

@@ -316,6 +316,10 @@ def _check_kb_index() -> str | None:
newer = 0
for md in kb_dir.rglob("*.md"):
# Skip generated nav files — they're written by the reindex itself, so
# comparing them against index.json mtime would cause perpetual reindex.
if md.name == "index.md":
continue
if md.stat().st_mtime > index_mtime:
newer += 1

View File

@@ -5,6 +5,7 @@ Uses Ollama all-minilm embeddings stored in SQLite for cosine similarity search.
import logging
import math
import re
import sqlite3
import struct
from datetime import datetime, timezone
@@ -62,6 +63,11 @@ def init_config(config=None) -> None:
init_config()
def _is_indexable(md_file: Path) -> bool:
"""Skip generated navigation files so they aren't embedded as if they were notes."""
return md_file.name != "index.md"
def get_db() -> sqlite3.Connection:
"""Get SQLite connection, create table if needed."""
DB_PATH.parent.mkdir(parents=True, exist_ok=True)
@@ -211,6 +217,8 @@ def reindex() -> dict:
files_count = 0
chunks_count = 0
for md_file in sorted(MEMORY_DIR.rglob("*.md")):
if not _is_indexable(md_file):
continue
try:
n = index_file(md_file)
files_count += 1
@@ -242,6 +250,8 @@ def incremental_index() -> dict:
files_indexed = 0
chunks_total = 0
for md_file in sorted(MEMORY_DIR.rglob("*.md")):
if not _is_indexable(md_file):
continue
rel_path = str(md_file.relative_to(MEMORY_DIR))
file_mtime = datetime.fromtimestamp(
md_file.stat().st_mtime, tz=timezone.utc
@@ -264,9 +274,55 @@ def incremental_index() -> dict:
return {"indexed": files_indexed, "chunks": chunks_total}
def _keyword_fallback(query: str, top_k: int = 5) -> list[dict]:
"""Keyword search over indexed chunks. Used when the embedding backend is down.
Returns the same shape as search() plus "degraded": True so callers can
tell the user that semantic recall was unavailable. Ranks best-chunk-per-file
by raw term-occurrence count.
"""
terms = [t for t in re.findall(r"\w+", query.lower()) if len(t) > 2]
conn = get_db()
try:
rows = conn.execute("SELECT file_path, chunk_text FROM chunks").fetchall()
finally:
conn.close()
best: dict[str, dict] = {}
for file_path, chunk_text in rows:
low = chunk_text.lower()
hits = sum(low.count(t) for t in terms) if terms else 0
if hits == 0:
continue
cur = best.get(file_path)
if cur is None or hits > cur["score"]:
best[file_path] = {
"file": file_path,
"chunk": chunk_text,
"score": float(hits),
"degraded": True,
}
scored = sorted(best.values(), key=lambda x: x["score"], reverse=True)
return scored[:top_k]
def search(query: str, top_k: int = 5) -> list[dict]:
"""Search for query. Returns list of {"file": str, "chunk": str, "score": float}."""
query_embedding = get_embedding(query)
"""Search for query. Returns list of {"file": str, "chunk": str, "score": float}.
Results are deduped to the best-scoring chunk per file, so a relevant note
can't be buried by another file contributing several chunks. If the embedding
backend (Ollama) is unreachable, falls back to keyword search and tags each
result with "degraded": True instead of raising.
"""
try:
query_embedding = get_embedding(query)
except ConnectionError as e:
log.warning(
"Embedding backend unavailable (%s); falling back to keyword search", e
)
return _keyword_fallback(query, top_k)
conn = get_db()
try:
@@ -279,11 +335,13 @@ def search(query: str, top_k: int = 5) -> list[dict]:
if not rows:
return []
scored = []
best: dict[str, dict] = {}
for file_path, chunk_text, emb_blob in rows:
emb = deserialize_embedding(emb_blob)
score = cosine_similarity(query_embedding, emb)
scored.append({"file": file_path, "chunk": chunk_text, "score": score})
cur = best.get(file_path)
if cur is None or score > cur["score"]:
best[file_path] = {"file": file_path, "chunk": chunk_text, "score": score}
scored.sort(key=lambda x: x["score"], reverse=True)
scored = sorted(best.values(), key=lambda x: x["score"], reverse=True)
return scored[:top_k]

View File

@@ -49,6 +49,14 @@ VAD_WINDOW_BYTES = PACKET_BYTES * (VAD_WINDOW_MS // PACKET_MS)
VAD_THRESHOLD = 0.5
SILENCE_FLUSH_MS = 800
NO_SPEECH_DROP_THRESHOLD = 0.6
# Hallucination rejection (no re-decode). faster-whisper's default temperature
# is a fallback ladder [0.0..1.0]; on unclear audio it re-decodes the segment up
# to 6x, which is what produced the 16-24s outliers in voice_stt_log.jsonl
# against a >7s conversational-abort budget. We pin temperature=0.0 (no fallback)
# and instead REJECT low-quality segments using the avg_logprob / compression_ratio
# that faster-whisper already computes per segment — zero extra latency.
AVG_LOGPROB_DROP_THRESHOLD = -1.0 # drop seg if avg_logprob below this
COMPRESSION_RATIO_DROP_THRESHOLD = 2.4 # drop seg if gzip ratio above this (repetition/garbage)
PROJECT_ROOT = Path(__file__).resolve().parent.parent.parent
LOGS_DIR = PROJECT_ROOT / "logs"
@@ -83,19 +91,28 @@ _silero_lock = threading.Lock()
def _get_whisper_model() -> Any:
"""Lazy-load faster-whisper ``small`` int8 with the spike-validated
``cpu_threads=4`` (see ``tasks/voice-bench-results.md``)."""
"""Lazy-load faster-whisper int8 with the spike-validated ``cpu_threads=4``
(see ``tasks/voice-bench-results.md``).
Model is configurable via ``voice.stt_model`` (default ``"small"``). It may be
a faster-whisper model name or a path to a local CT2 dir — e.g. the Romanian
Common-Voice finetune that halved WER and fixed number transcription in the
D1 spike (``tools/voice_stt_spike.py``). Custom paths still load with
``local_files_only=True`` since they live on disk."""
global _whisper_model
if _whisper_model is not None:
return _whisper_model
with _whisper_lock:
if _whisper_model is not None:
return _whisper_model
from src.config import Config
model_id = Config().get("voice.stt_model", "small") or "small"
from faster_whisper import WhisperModel
_whisper_model = WhisperModel(
"small", device="cpu", compute_type="int8", cpu_threads=4,
model_id, device="cpu", compute_type="int8", cpu_threads=4,
local_files_only=True,
)
log.info("STT model loaded: %s", model_id)
return _whisper_model
@@ -145,6 +162,38 @@ def _pcm48_stereo_to_16_mono(pcm: bytes) -> np.ndarray:
return np.ascontiguousarray(mono16, dtype=np.float32)
def _filter_segments(segments: Any) -> tuple[list[str], float]:
"""Keep transcribable segments, drop silence and hallucinations.
Pure + side-effect free (no model, no I/O) so the rejection thresholds are
unit-testable with fake segment objects. A segment is dropped when:
- ``no_speech_prob`` is high (silence/non-speech), OR
- ``avg_logprob`` is below ``AVG_LOGPROB_DROP_THRESHOLD`` (decoder unsure), OR
- ``compression_ratio`` exceeds ``COMPRESSION_RATIO_DROP_THRESHOLD`` (looped/garbage).
The avg_logprob/compression checks replace faster-whisper's temperature-fallback
re-decode (the source of the 16-24s latency outliers) with zero-cost rejection.
Returns ``(kept_text_parts, worst_no_speech_prob)``.
"""
text_parts: list[str] = []
worst_no_speech = 0.0
for seg in segments:
no_sp = float(getattr(seg, "no_speech_prob", 0.0) or 0.0)
if no_sp > worst_no_speech:
worst_no_speech = no_sp
if no_sp > NO_SPEECH_DROP_THRESHOLD:
continue
avg_lp = getattr(seg, "avg_logprob", None)
if avg_lp is not None and float(avg_lp) < AVG_LOGPROB_DROP_THRESHOLD:
continue
comp = getattr(seg, "compression_ratio", None)
if comp is not None and float(comp) > COMPRESSION_RATIO_DROP_THRESHOLD:
continue
seg_text = (getattr(seg, "text", "") or "").strip()
if seg_text:
text_parts.append(seg_text)
return text_parts, worst_no_speech
# ---------- VoiceSession ----------
class VoiceSession:
@@ -679,6 +728,7 @@ class EchoVoiceSink(AudioSink):
model = _get_whisper_model()
segments, _info = model.transcribe(
mono16, language="ro", beam_size=5,
temperature=0.0, # no fallback ladder — reject bad segments instead (see thresholds above)
initial_prompt=(
"Conversatie in romana cu asistentul Eco (Echo Core). "
"Marius i se adreseaza cu 'Salut, Eco', 'Eco' sau 'Echo Core' "
@@ -689,20 +739,10 @@ class EchoVoiceSink(AudioSink):
"F1, F2, F3, F4, F5. Exemple: vorbeste cu vocea M5, voce F3, "
"treci pe vocea F1."
),
hotwords="Eco Echo Core Marius Bianca",
hotwords="Eco Echo Core Marius Bianca Bitcoin",
condition_on_previous_text=False,
)
text_parts: list[str] = []
worst_no_speech = 0.0
for seg in segments:
no_sp = float(getattr(seg, "no_speech_prob", 0.0) or 0.0)
if no_sp > worst_no_speech:
worst_no_speech = no_sp
if no_sp > NO_SPEECH_DROP_THRESHOLD:
continue
seg_text = (getattr(seg, "text", "") or "").strip()
if seg_text:
text_parts.append(seg_text)
text_parts, worst_no_speech = _filter_segments(segments)
if not text_parts:
return
text = " ".join(text_parts).strip()

View File

@@ -51,3 +51,17 @@ Lecții capturate din corectările lui Marius. Citește acest fișier la începu
**Greșeala:** Am editat index.json direct, cu o schemă diferită față de ce produce update_notes_index.py.
**Regula:** Niciodată nu scriei manual în `memory/kb/index.json`. Fluxul corect: (1) creezi fișierul `.md` în `memory/kb/<categorie>/`, (2) rulezi `python3 tools/update_notes_index.py`. Dacă ai nevoie să salvezi o notiță din Facebook/video, folosești `scripts/transcribe_video.sh <URL> <lang> --save-kb` care face totul corect.
**Când se aplică:** Orice salvare de notiță în KB (Facebook, YouTube, coaching, insights, orice). Dacă ești tentat să `json.dump` în index.json — stop, rulează scriptul.
## Verifică că modelul/tool-ul numit chiar are capabilitatea ÎNAINTE de a planifica în jurul lui
**Data:** 2026-06-27
**Context:** Marius a cerut să folosesc `gemma4:31b-cloud` (Ollama) pentru decodare audio ca alternativă la Whisper. Am verificat pe pagina oficială Ollama: variantele cloud (31b) suportă doar Text+Image — audio există DOAR pe E2B/E4B (edge, local), iar acela e stricat de o regresie upstream deschisă (issue #16584). Premisa cererii era infezabilă.
**Greșeala (evitată):** Dacă planificam direct integrarea fără să verific pagina modelului, scriam cod de cablare Ollama audio care n-ar fi funcționat niciodată. Search-ul generic spunea „Gemma 4 are audio" — adevărat la nivel de familie, fals pentru modelul cloud specific cerut.
**Regula:** Când userul numește un model/serviciu specific pentru o capabilitate (audio, vision, tool-use, context lung), verifică pagina/docs ACELUI model exact înainte de a planifica. Capabilitățile diferă per variantă (cloud vs edge, sizes). Fetch pagina oficială, nu te baza pe search agregat la nivel de familie.
**Când se aplică:** Orice task care pornește de la „folosește modelul X pentru Y". Confirmă X→Y pe sursa primară înainte de plan mode.
## Corecția post-STT de text e cosmetică dacă consumatorul e un LLM — fixează la sursă (model), nu cu dicționar
**Data:** 2026-06-27
**Context:** Plan inițial pentru curățarea transcrierii Whisper avea 4 piese, inclusiv dicționar de restaurare diacritice + canonicalizare wake-word. Două review-uri independente (/autoplan CEO+Eng) au arătat: textul transcris merge la Claude, care citește română fără diacritice perfect; NU există wake-word gate în cod (`on_segment_done` dispatch necondiționat); singurul consumator precis (`detect_voice_change`) e deja fuzz-hardenat. Un spike a confirmat că modelul RO-finetuned (`mikr/whisper-small-ro-cv11`) înjumătățește WER (24%→10%) și fixează numerele la SURSĂ, +0.33s latență.
**Greșeala (evitată):** Construirea unui strat de corecție hand-curat (întreținere perpetuă, risc de regresie pe cuvinte ambigue) când fix-ul real era un model finetuned cu același cost de inferență.
**Regula:** Înainte de a peticit output-ul unui model ML cu post-procesare rule-based, întreabă: (1) cine e CONSUMATORUL textului? (un LLM tolerează erori; un parser regex nu); (2) există un model finetuned care fixează la sursă cu același cost? Spike-uiește modelul ÎNAINTE de a scrie straturi de corecție. Verifică unde merge output-ul prin cod, nu presupune un gate care „pare" că există.
**Când se aplică:** Orice îmbunătățire de calitate STT/OCR/ML output. Tool de spike: `tools/voice_stt_spike.py`.

View File

@@ -0,0 +1,61 @@
# Voice STT Quality — îmbunătățiri Whisper
Branch: `voice/stt-quality`. Origine: cererea de a folosi Gemma 4 cloud pentru audio
(infezabil — `gemma4:31b-cloud` n-are audio, E4B e stricat upstream, fără host de deploy).
Pivot la îmbunătățirea Whisper, validat prin `/autoplan` (CEO + Eng review).
## Ce s-a livrat
### 1. Gate rejection halucinații (cost zero latență) — `src/voice/pipeline.py`
- `model.transcribe(..., temperature=0.0)`**dezactivează scara de fallback** a faster-whisper.
Codul vechi nu pasa `temperature`, deci folosea implicit `[0.0..1.0]` (6 pași) care re-decoda
segmentul pe audio prost → exact sursa latențelor de 24.4s / 16.7s din `voice_stt_log.jsonl`.
- `_filter_segments()` — funcție pură nouă care dropează segmentele cu `no_speech_prob` mare,
`avg_logprob < -1.0` (decoder nesigur) sau `compression_ratio > 2.4` (buclă/gunoi). Zero
re-decodare. Prinde „Care pune o zana judiciul tugea" / „Acest lucru a fost foarte mult".
- `hotwords += Bitcoin`. `initial_prompt` neatins (evită taxa de latență pe fiecare enunț).
- Teste: `tests/test_voice_pipeline_filter.py` (8 cazuri).
### 2. Unealtă de mining — `tools/voice_stt_mine.py`
- CLI read-only peste `voice_stt_log.jsonl`: frecvențe token, tokeni rari (candidați
hotwords/corecții), candidați diacritice lipsă, rânduri suspecte de halucinație.
- Tolerează rânduri fără `text_corrected` (citește `text`). Teste: `tests/test_voice_stt_mine.py` (13).
### 3. Spike model RO-finetuned (D1) — `tools/voice_stt_spike.py`
Compară modele faster-whisper pe audio RO sintetizat (Supertonic) cu ground-truth diacritizat.
**Rezultat (threads=4, beam=5):**
| Model | p50 | p95 | WER | Diacritice |
|-------|-----|-----|-----|-----------|
| `small` (baseline) | 2.59s | 3.04s | 24.2% | 12/20 |
| **`mikr/whisper-small-ro-cv11`** (CT2 int8) | 2.92s | 3.25s | **10.5%** | **17/20** |
- WER se înjumătățește; diacritice 60%→85%; numere PERFECTE (baseline: „120 si 3 delei"
→ finetuned: „o sută douăzeci și trei de lei"). Cost: +0.33s p50 (în bugetul 1.5-3s).
- Modelul CT2: `~/.cache/echo-ct2/whisper-small-ro-cv11-int8` (234M int8).
### 4. Model STT configurabil — `src/voice/pipeline.py::_get_whisper_model`
- Citește `voice.stt_model` din config (default `"small"`). Adopția finetuned = flip config,
nu cod. **Default rămâne `small`** până la decizia de adopție.
## Cum adopți modelul finetuned (când decizi)
```bash
# config.json → "voice": { ..., "stt_model": "/home/moltbot/.cache/echo-ct2/whisper-small-ro-cv11-int8" }
systemctl --user restart echo-core # reload model
```
Re-rulează spike-ul oricând: `python3 tools/voice_stt_spike.py --models "small,<path>" --threads 4`
## Decizii autoplan respinse (din review)
-`temperature=[0.0..0.6]` fallback → regresie latență pe worst-case. Înlocuit cu rejection.
-`canonicalize_wakeword`**nu există wake gate** în cod (verificat); ar fi spart `detect_voice_change`.
- ❌ Dicționar diacritice pe calea Claude → Claude citește română stâlcită OK; finetuned-ul rezolvă la sursă.
-`correct_vocab` / `src/voice/stt_correct.py` → deferate (21 mostre = anecdotă; mining adună întâi date).
## Note de mediu
- `transformers 5.12.1` instalat în `.venv` pentru conversia CT2 (one-time). A downgradat
`tokenizers` 0.23.1→0.22.2 (faster-whisper încă OK, pin `<1` respectat). Se poate `pip uninstall
transformers` dacă nu mai e nevoie de conversii.
- **Pre-existent, neatins de mine:** `tools/tts.py` modificat necommis sparge 2 teste din
`test_voice_normalize.py` (truncare 200 cuvinte). Confirmat: cu `tts.py` committed, testele trec.
```

View File

@@ -440,6 +440,24 @@ class TestReindex:
assert stats["files"] == 0
assert stats["chunks"] == 0
@patch("src.memory_search.get_embedding", return_value=FAKE_EMBEDDING)
def test_reindex_skips_generated_index_md(self, mock_emb, mem_iso):
"""Generated nav files (index.md) must not be embedded as if they were notes."""
sub = mem_iso["mem_dir"] / "kb"
sub.mkdir()
_write_md(sub, "real-note.md", "A real note.\n")
_write_md(sub, "index.md", "# Index — kb/\n- generated nav\n")
stats = reindex()
assert stats["files"] == 1 # only the real note
conn = get_db()
try:
files = [r[0] for r in conn.execute("SELECT DISTINCT file_path FROM chunks").fetchall()]
finally:
conn.close()
assert not any(f.endswith("index.md") for f in files)
# ---------------------------------------------------------------------------
# search
@@ -540,6 +558,37 @@ class TestSearch:
results = search("test")
assert len(results) == 5
@patch("src.memory_search.get_embedding")
def test_search_dedupes_to_best_chunk_per_file(self, mock_emb, mem_iso):
"""A file with several chunks appears once, at its best score, so a
relevant note can't be buried by another file's multiple chunks."""
query_vec = [1.0, 0.0, 0.0] + [0.0] * (EMBEDDING_DIM - 3)
mock_emb.return_value = query_vec
# noisy.md has 3 mediocre chunks; relevant.md has 1 strong chunk.
self._seed_db(mem_iso, [
("noisy.md", "noise a", [0.6, 0.4, 0.0] + [0.0] * (EMBEDDING_DIM - 3)),
("noisy.md", "noise b", [0.55, 0.45, 0.0] + [0.0] * (EMBEDDING_DIM - 3)),
("noisy.md", "noise c", [0.5, 0.5, 0.0] + [0.0] * (EMBEDDING_DIM - 3)),
("relevant.md", "the answer", [0.99, 0.01, 0.0] + [0.0] * (EMBEDDING_DIM - 3)),
])
results = search("q", top_k=2)
files = [r["file"] for r in results]
assert files.count("noisy.md") == 1 # deduped
assert results[0]["file"] == "relevant.md" # not buried
@patch("src.memory_search.get_embedding", side_effect=ConnectionError("offline"))
def test_search_falls_back_to_keyword_when_offline(self, mock_emb, mem_iso):
"""When the embedding backend is down, search() returns keyword matches
tagged degraded instead of raising."""
self._seed_db(mem_iso, [
("match.md", "open knowledge format for agents", FAKE_EMBEDDING),
("other.md", "completely unrelated cooking recipe", FAKE_EMBEDDING),
])
results = search("knowledge format", top_k=3)
assert results, "expected keyword fallback results, got none"
assert results[0]["file"] == "match.md"
assert all(r.get("degraded") for r in results)
# ---------------------------------------------------------------------------
# CLI commands: memory search, memory reindex

View File

@@ -0,0 +1,85 @@
"""Tests for src/voice/pipeline.py::_filter_segments — STT hallucination gate.
The gate replaces faster-whisper's temperature-fallback re-decode (the source of
16-24s latency outliers) with zero-cost segment rejection on no_speech_prob,
avg_logprob, and compression_ratio.
"""
import sys
from dataclasses import dataclass
from pathlib import Path
from typing import Optional
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from src.voice.pipeline import ( # noqa: E402
AVG_LOGPROB_DROP_THRESHOLD,
COMPRESSION_RATIO_DROP_THRESHOLD,
NO_SPEECH_DROP_THRESHOLD,
_filter_segments,
)
@dataclass
class FakeSeg:
text: str = ""
no_speech_prob: float = 0.0
avg_logprob: Optional[float] = 0.0
compression_ratio: Optional[float] = 1.0
def test_keeps_clean_segment():
parts, worst = _filter_segments([FakeSeg(text="salut eco", avg_logprob=-0.3, compression_ratio=1.5)])
assert parts == ["salut eco"]
assert worst == 0.0
def test_drops_high_no_speech():
seg = FakeSeg(text="hmm", no_speech_prob=NO_SPEECH_DROP_THRESHOLD + 0.1)
parts, worst = _filter_segments([seg])
assert parts == []
assert worst == NO_SPEECH_DROP_THRESHOLD + 0.1 # still tracked for logging
def test_drops_low_avg_logprob_hallucination():
# "Care pune o zana judiciul tugea" style: decoder unsure
seg = FakeSeg(text="zana judiciul tugea", avg_logprob=AVG_LOGPROB_DROP_THRESHOLD - 0.5)
parts, _ = _filter_segments([seg])
assert parts == []
def test_drops_high_compression_ratio_loop():
seg = FakeSeg(text="da da da da da", compression_ratio=COMPRESSION_RATIO_DROP_THRESHOLD + 1.0)
parts, _ = _filter_segments([seg])
assert parts == []
def test_keeps_when_metrics_missing():
# Older/edge segments may not expose avg_logprob/compression_ratio
seg = FakeSeg(text="ok", avg_logprob=None, compression_ratio=None)
parts, _ = _filter_segments([seg])
assert parts == ["ok"]
def test_drops_empty_text():
parts, _ = _filter_segments([FakeSeg(text=" ", avg_logprob=-0.2)])
assert parts == []
def test_worst_no_speech_is_max_across_segments():
segs = [
FakeSeg(text="a", no_speech_prob=0.1, avg_logprob=-0.2),
FakeSeg(text="b", no_speech_prob=0.4, avg_logprob=-0.2),
]
parts, worst = _filter_segments(segs)
assert parts == ["a", "b"]
assert worst == 0.4
def test_mixed_keep_and_drop():
segs = [
FakeSeg(text="bun venit", avg_logprob=-0.3),
FakeSeg(text="garbage", avg_logprob=-3.0), # dropped: low logprob
FakeSeg(text="la revedere", avg_logprob=-0.5),
]
parts, _ = _filter_segments(segs)
assert parts == ["bun venit", "la revedere"]

View File

@@ -0,0 +1,100 @@
"""Tests for tools/voice_stt_mine.py — STT log mining helpers.
Pure-function coverage: tokenize, token_frequency, rare_tokens,
missing_diacritic_candidates, suspect_rows, row_text (back-compat with rows
that predate the text_corrected field).
"""
import sys
from pathlib import Path
import pytest
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from tools.voice_stt_mine import ( # noqa: E402
missing_diacritic_candidates,
rare_tokens,
row_text,
suspect_rows,
token_frequency,
tokenize,
)
def test_tokenize_lowercases_and_drops_punct():
assert tokenize("Salut, Eco!") == ["salut", "eco"]
def test_tokenize_keeps_diacritics():
assert tokenize("ședință și prețul") == ["ședință", "și", "prețul"]
def test_tokenize_drops_digits():
# M3, numbers etc. are not alphabetic word tokens
assert tokenize("M3 are 120 lei") == ["m", "are", "lei"]
def test_tokenize_empty_and_none():
assert tokenize("") == []
assert tokenize(None) == []
def test_row_text_prefers_raw_text_field():
# Mining always wants raw STT output (the `text` field), even once
# newer rows add `text_corrected`.
assert row_text({"text": "cat", "text_corrected": "cât"}) == "cat"
def test_row_text_missing_field():
assert row_text({}) == ""
def test_token_frequency_counts_across_rows():
rows = [{"text": "eco eco"}, {"text": "Eco salut"}]
freq = token_frequency(rows)
assert freq["eco"] == 3
assert freq["salut"] == 1
def test_rare_tokens_returns_singletons_sorted():
rows = [{"text": "eco eco salut bitcoin"}]
rare = rare_tokens(token_frequency(rows))
assert rare == ["bitcoin", "salut"] # eco appears twice -> excluded
assert "eco" not in rare
def test_missing_diacritic_candidates_flags_ascii_words():
rows = [{"text": "pretul este mare"}, {"text": "ședință corectă"}]
cands = missing_diacritic_candidates(token_frequency(rows), min_len=4)
assert "pretul" in cands
assert "mare" in cands
# words carrying diacritics are NOT restore candidates
assert "ședință" not in cands
assert "corectă" not in cands
def test_missing_diacritic_respects_min_len():
rows = [{"text": "cat de bun"}]
cands = missing_diacritic_candidates(token_frequency(rows), min_len=4)
assert "cat" not in cands # len 3 < 4
assert "bun" not in cands
def test_suspect_rows_flags_high_latency():
rows = [
{"text": "ok", "stt_latency_s": 2.0, "no_speech_prob": 0.0},
{"text": "M3.", "stt_latency_s": 24.4, "no_speech_prob": 0.58},
]
suspects = suspect_rows(rows)
assert len(suspects) == 1
assert suspects[0]["text"] == "M3."
def test_suspect_rows_flags_borderline_no_speech():
rows = [{"text": "x", "stt_latency_s": 1.0, "no_speech_prob": 0.55}]
assert len(suspect_rows(rows)) == 1
def test_suspect_rows_tolerates_missing_fields():
# rows without latency/no_speech must not crash
assert suspect_rows([{"text": "x"}]) == []

View File

@@ -1,12 +1,12 @@
{
"D100": "27cf97a4d10c8529669d95b2d96ca3c9b41f7e4e50091dce19cf8af117f0ac4a",
"D100": "ce27f72bc3fd5e3241480fcda3a3e14572cfbed1b26e43896037bb265d82e4f5",
"D101": "f72fc1c29657ea11e0238806a28f6abccf5b00e45904e1e0c9385cc64491fcaf",
"D300": "cb7b55b568ab893024884971eac0367fb6fe487c297e355d64258dae437f6ddd",
"D394": "c4c4e62bda30032f12c17edf9a5087b6173a350ccb1fd750158978b3bd0acb7d",
"D406": "ca6103448d663ab16fcaef0f29f8933ef526cbf5aad12c7ff5dbd61b22ca9fc6",
"SIT_FIN_SEM_2025": "8164843431e6b703a38fbdedc7898ec6ae83559fe10f88663ba0b55f3091d5fe",
"SIT_FIN_AN_2025": "accceef5b6585a3e901d83d23fc2e60f6562eac4a2ce00f943856232bed929d6",
"DESCARCARE_DECLARATII": "8cc082021edb0ae97686d73f8179369be33a68ef03ec791757460bb7fff99e34",
"DESCARCARE_DECLARATII": "b2a9534d4f64b828abdb97459b92be27ba26a0d9ba1a0f947ef4a37c968ef293",
"D205": "d3c20a7ae70f4c18bbb7add42af035e3746d323b2e6df37a4e31ed625ddb86d9",
"D390": "4726938ed5858ec735caefd947a7d182b6dc64009478332c4feabdb36412a84e",
"BILANT_2024": "fbb8d66c2e530d8798362992c6983e07e1250188228c758cb6da4cde4f955950",

View File

@@ -62,14 +62,14 @@ valabil începand cu
01/2024 - publicat în data de 09.02.2024
soft A
actualizat în data de
29.05.2026
17.06.2026
soft J*
actualizat în data de
25.05.2026
Anexa
validări
actualizat în data de
20.05.2026
17.06.2026
Schema
XSD
100

View File

@@ -51,7 +51,7 @@ Se transmit prin SPV
F1129
-  Ordinul de plată multiplu electronic (OPME) V.2.0.45 dată
actualizare
25.11.2025
22.06.2026
Formularul se depune on-line prin Sistemul naţional de raportare
FOREXEBUG
de către instituţiile publice şi, respectiv, prin portalul
@@ -273,6 +273,10 @@ D182
,
408
,
409
,
410
,
700
,
710,

View File

@@ -1,7 +1,7 @@
{
"D100": {
"soft_a_url": "http://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/D100_710_XML_0126_290526.pdf",
"soft_a_date": "29.05.2026",
"soft_a_url": "http://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/D100_710_XML_0126_170626.pdf",
"soft_a_date": "17.06.2026",
"soft_j_url": "http://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/D100_22052026.zip",
"soft_j_date": "22.05.2026"
},

175
tools/ocr_bon.py Normal file
View File

@@ -0,0 +1,175 @@
#!/usr/bin/env python3
"""
Extrage date din bon fiscal / factură / extras de cont via Ollama vision LLM.
Usage:
python tools/ocr_bon.py <pdf_sau_imagine> [--model minicpm-v] [--host http://10.0.20.161:11434]
Modele recomandate (trage cu: ollama pull <model>):
minicpm-v ~5GB, rapid, excelent pentru documente
llava:7b ~4GB, clasic, bun pe bonuri
llama3.2-vision ~8GB, cel mai precis
"""
import sys
import json
import base64
import argparse
import tempfile
from pathlib import Path
import httpx
import fitz # pymupdf
OLLAMA_HOST = "http://10.0.20.161:11434"
DEFAULT_MODEL = "minicpm-v"
PROMPT = """Ești un sistem OCR specializat pe documente financiare românești.
Extrage TOATE datele vizibile și returnează EXCLUSIV un JSON valid, fără text în afara JSON-ului.
Schema JSON:
{
"document_type": "bon_fiscal|factura|extras_cont|necunoscut",
"vendor": {
"name": "...",
"cui": "...",
"address": "..."
},
"client": {
"name": "...",
"cui": "..."
},
"document": {
"numar": "...",
"serie": "...",
"data": "YYYY-MM-DD",
"ora": "HH:MM:SS"
},
"items": [
{
"descriere": "...",
"cantitate": 0.0,
"unitate": "buc|l|kg|...",
"pret_unitar": 0.0,
"valoare": 0.0
}
],
"tva": [
{
"cota_litera": "A|B|C",
"procent": 21.0,
"baza": 0.0,
"valoare_tva": 0.0
}
],
"total_fara_tva": 0.0,
"total_tva": 0.0,
"total": 0.0,
"plata": {
"metoda": "card|numerar|transfer",
"tip_card": "...",
"pan_masked": "...",
"suma": 0.0
},
"note": "orice info suplimentar relevant"
}
Omite câmpurile care nu există în document. Returnează DOAR JSON."""
def pdf_to_images_b64(pdf_path: Path, dpi: int = 150) -> list[str]:
"""Convertește fiecare pagină PDF la PNG base64."""
doc = fitz.open(str(pdf_path))
images = []
mat = fitz.Matrix(dpi / 72, dpi / 72)
for page in doc:
pix = page.get_pixmap(matrix=mat)
images.append(base64.b64encode(pix.tobytes("png")).decode())
doc.close()
return images
def image_to_b64(img_path: Path) -> str:
"""Citește imagine și returnează base64."""
return base64.b64encode(img_path.read_bytes()).decode()
def ask_ollama(model: str, images_b64: list[str], host: str) -> str:
"""Trimite imaginile la Ollama și returnează răspunsul."""
payload = {
"model": model,
"prompt": PROMPT,
"images": images_b64,
"stream": False,
"options": {
"temperature": 0.1,
"num_predict": 2048,
}
}
with httpx.Client(timeout=600) as client:
r = client.post(f"{host}/api/generate", json=payload)
r.raise_for_status()
return r.json()["response"]
def extract_json(text: str) -> dict:
"""Extrage JSON din răspuns (poate fi înconjurat de markdown)."""
text = text.strip()
# Strip markdown code blocks
if "```" in text:
start = text.find("{", text.find("```"))
end = text.rfind("}") + 1
text = text[start:end]
return json.loads(text)
def process(file_path: Path, model: str, host: str) -> dict:
suffix = file_path.suffix.lower()
if suffix == ".pdf":
print(f" Conversie PDF → imagini...", file=sys.stderr)
images = pdf_to_images_b64(file_path)
print(f" {len(images)} pagini extrase", file=sys.stderr)
elif suffix in (".jpg", ".jpeg", ".png", ".webp"):
images = [image_to_b64(file_path)]
else:
# Încearcă să detecteze tipul din conținut
header = file_path.read_bytes()[:8]
if header[:4] == b'%PDF':
images = pdf_to_images_b64(file_path)
else:
images = [image_to_b64(file_path)]
print(f" Trimit la Ollama ({model})...", file=sys.stderr)
raw = ask_ollama(model, images, host)
try:
return extract_json(raw)
except json.JSONDecodeError:
print(f" Răspuns brut (nu e JSON valid):\n{raw}", file=sys.stderr)
return {"error": "json_parse_failed", "raw": raw}
def main():
parser = argparse.ArgumentParser(description="OCR bon fiscal via Ollama vision")
parser.add_argument("file", help="PDF sau imagine (jpg/png)")
parser.add_argument("--model", default=DEFAULT_MODEL, help=f"Model Ollama (default: {DEFAULT_MODEL})")
parser.add_argument("--host", default=OLLAMA_HOST, help=f"Ollama host (default: {OLLAMA_HOST})")
parser.add_argument("--pretty", action="store_true", help="JSON indentat")
args = parser.parse_args()
file_path = Path(args.file)
if not file_path.exists():
print(f"Fișierul nu există: {file_path}", file=sys.stderr)
sys.exit(1)
print(f"Procesez: {file_path.name}", file=sys.stderr)
result = process(file_path, args.model, args.host)
indent = 2 if args.pretty else None
print(json.dumps(result, ensure_ascii=False, indent=indent))
if __name__ == "__main__":
main()

View File

@@ -35,10 +35,26 @@ _TTS_PUNCT_MAP = {
}
# Supertonic ONNX model hard limit: inputs longer than this trigger
# Mul node dimension mismatches in attention layers.
_MAX_TTS_CHARS = 400
def sanitize_for_supertonic(text: str) -> str:
"""Replace Unicode punctuation Supertonic rejects with ASCII equivalents."""
"""Replace Unicode punctuation and strip chars that crash Supertonic's ONNX model."""
for src, dst in _TTS_PUNCT_MAP.items():
text = text.replace(src, dst)
# Strip emoji and high-codepoint chars (keep ASCII printable + Latin/Romanian diacritice)
cleaned = []
for ch in text:
cp = ord(ch)
if (32 <= cp <= 126) or (128 <= cp <= 591):
cleaned.append(ch)
else:
cleaned.append(' ')
text = ' '.join(''.join(cleaned).split())
if len(text) > _MAX_TTS_CHARS:
text = text[:_MAX_TTS_CHARS]
return text

View File

@@ -186,6 +186,8 @@ def scan_directory(dir_path, category, subcategory=None, recursive=False):
for filepath in dir_path.rglob("*.md"):
if filepath.name.startswith('.') or 'template' in filepath.name.lower():
continue
if filepath.name == 'index.md': # generated nav file, not a note
continue
try:
# Determină project și subdir din path
# Ex: projects/grup-sprijin/biblioteca/file.md
@@ -206,6 +208,8 @@ def scan_directory(dir_path, category, subcategory=None, recursive=False):
for filepath in sorted(dir_path.glob("*.md"), reverse=True):
if filepath.name.startswith('.') or 'template' in filepath.name.lower():
continue
if filepath.name == 'index.md': # generated nav file, not a note
continue
try:
metadata = extract_metadata(filepath, category, subcategory)
# Aplică defaults pentru categoria specială
@@ -223,6 +227,81 @@ def scan_directory(dir_path, category, subcategory=None, recursive=False):
return notes
def _slim_tags(domains, tags):
parts = [f"@{d}" for d in domains] + [f"#{t}" for t in tags]
return " ".join(parts)
def write_folder_indexes():
"""Generează index.md slim per-folder (navigabil de agent) + un index.md router la rădăcină.
Agent-facing: titlu + tags + descriere 1 rând per notă. Ieftin de citit (un
folder ~ câteva mii tokens) și funcționează ca fallback fără embeddings.
Owns the full lifecycle — pune un index.md gol-de-prune pentru foldere fără note.
"""
written = []
for subdir in sorted(KB_ROOT.iterdir()):
if not subdir.is_dir() or subdir.name.startswith('.'):
continue
notes = []
for fp in sorted(subdir.rglob("*.md")):
if fp.name == 'index.md' or fp.name.startswith('.') or 'template' in fp.name.lower():
continue
try:
md = extract_metadata(fp, subdir.name)
except Exception as e:
print(f" ! index.md skip {fp}: {e}")
continue
rel = fp.relative_to(subdir)
notes.append((str(rel), md['title'], md.get('domains', []), md.get('tags', []), md.get('tldr', '')))
index_path = subdir / "index.md"
if not notes:
if index_path.exists(): # prune stale nav file for now-empty folder
index_path.unlink()
continue
lines = [
f"# Index — {subdir.name}/", "",
f"> {len(notes)} note. Citește acest index întâi; deschide doar fișierele relevante.", "",
]
for rel, title, domains, tags, tldr in notes:
tagstr = _slim_tags(domains, tags)
tagpart = f" `{tagstr}`" if tagstr.strip() else ""
desc = re.sub(r'\s+', ' ', tldr or '').strip()[:140]
lines.append(f"- **[{title}]({rel})**{tagpart}")
if desc:
lines.append(f" {desc}")
index_path.write_text("\n".join(lines) + "\n", encoding='utf-8')
written.append((subdir.name, len(notes)))
# Root router: agentul citește asta întâi, alege folderul, apoi <folder>/index.md
root_lines = [
"# Index — knowledge base (memory/kb)", "",
"> Router. Alege folderul relevant, apoi citește `<folder>/index.md`.", "",
]
for name, count in written:
root_lines.append(f"- **[{name}/]({name}/index.md)** — {count} note")
loose = [
fp for fp in sorted(KB_ROOT.glob("*.md"))
if fp.name != 'index.md' and not fp.name.startswith('.') and 'template' not in fp.name.lower()
]
if loose:
root_lines += ["", "## Note la rădăcină", ""]
for fp in loose:
try:
md = extract_metadata(fp, "kb")
root_lines.append(f"- **[{md['title']}]({fp.name})**")
except Exception:
root_lines.append(f"- **[{fp.stem}]({fp.name})**")
(KB_ROOT / "index.md").write_text("\n".join(root_lines) + "\n", encoding='utf-8')
total = sum(c for _, c in written)
print(f"✅ Generated {len(written)} folder index.md files + root router ({total} notes)")
return written
def generate_index():
"""Generează index.json din toate sursele"""
all_notes = []
@@ -241,8 +320,8 @@ def generate_index():
all_notes.extend(notes)
category_stats[category] = len(notes)
for n in notes:
sub = f"/{n['subcategory']}" if n.get('subcategory') else ""
print(f" + {n['title'][:42]}...")
sub = f"/{n['project']}" if n.get('project') else ""
print(f" + {n['title'][:42]}{sub}")
for d in n['domains']:
domain_stats[d] += 1
@@ -283,6 +362,9 @@ def generate_index():
print(f"\n✅ Generated {INDEX_FILE} with {len(all_notes)} notes")
print(f" Categories: {category_stats}")
# Agent-facing navigation layer (per-folder index.md + root router)
write_folder_indexes()
return output
if __name__ == "__main__":

166
tools/voice_stt_mine.py Normal file
View File

@@ -0,0 +1,166 @@
#!/usr/bin/env python3
"""Mine logs/voice_stt_log.jsonl for STT correction candidates.
Read-only analysis tool. Surfaces what the always-on STT log has captured so
Marius can decide hotwords, spot recurring mistranscriptions, and judge whether
a model swap (e.g. a Romanian-finetuned Whisper) actually helps.
Pure helpers (tokenize / aggregate) are importable and tested; the CLI just
prints reports. Tolerates rows written before the `text_corrected` field
existed (falls back to `text`).
Usage:
python3 tools/voice_stt_mine.py # full report
python3 tools/voice_stt_mine.py --tokens # token frequency only
python3 tools/voice_stt_mine.py --rare # one-off tokens (candidates)
python3 tools/voice_stt_mine.py --suspect # likely hallucination rows
python3 tools/voice_stt_mine.py --log PATH # custom log path
"""
from __future__ import annotations
import argparse
import json
import re
import sys
from collections import Counter
from pathlib import Path
from typing import Iterable, Iterator
PROJECT_ROOT = Path(__file__).resolve().parent.parent
DEFAULT_LOG = PROJECT_ROOT / "logs" / "voice_stt_log.jsonl"
# Latency above this (s) almost always means the decoder thrashed on unclear
# audio — a strong hallucination signal worth reviewing. Mirrors the >7s
# conversational-abort budget from tasks/voice-bench-results.md.
SUSPECT_LATENCY_S = 7.0
SUSPECT_NO_SPEECH = 0.5
_TOKEN_RE = re.compile(r"[A-Za-zĂÂÎȘȚăâîșț]+", re.UNICODE)
# Romanian diacritic letters; a token with none of these is a diacritic-restore
# candidate worth a human glance (not auto-corrected — see plan D2).
_DIACRITICS = set("ĂÂÎȘȚăâîșț")
def read_log(path: Path) -> list[dict]:
"""Parse the JSONL log; skip malformed lines instead of crashing."""
rows: list[dict] = []
if not path.exists():
return rows
with path.open(encoding="utf-8") as f:
for line in f:
line = line.strip()
if not line:
continue
try:
rows.append(json.loads(line))
except json.JSONDecodeError:
continue
return rows
def row_text(row: dict) -> str:
"""Raw transcript for a row. New rows may add `text_corrected`; mining
always wants the raw STT output, which lives in `text`."""
return (row.get("text") or "").strip()
def tokenize(text: str) -> list[str]:
"""Split into alphabetic word tokens, lowercased. Drops digits/punct."""
return [t.lower() for t in _TOKEN_RE.findall(text or "")]
def token_frequency(rows: Iterable[dict]) -> Counter:
counter: Counter = Counter()
for row in rows:
counter.update(tokenize(row_text(row)))
return counter
def rare_tokens(freq: Counter, max_count: int = 1) -> list[str]:
"""Tokens seen at most `max_count` times — candidate mistranscriptions,
proper nouns to add as hotwords, or code-switch garbage."""
return sorted(t for t, c in freq.items() if c <= max_count)
def missing_diacritic_candidates(freq: Counter, min_len: int = 4) -> list[str]:
"""All-ASCII tokens (no Romanian diacritics) of reasonable length, sorted by
frequency. These are the words a diacritic-restore pass would target — kept
as a review list only (v1 does not auto-restore, per plan D2)."""
out = [
(t, c) for t, c in freq.items()
if len(t) >= min_len and not (set(t) & _DIACRITICS) and t.isalpha()
]
out.sort(key=lambda tc: (-tc[1], tc[0]))
return [t for t, _ in out]
def suspect_rows(rows: Iterable[dict]) -> list[dict]:
"""Rows that look like hallucinations: very high latency or borderline
no_speech_prob that still produced text."""
out = []
for row in rows:
lat = float(row.get("stt_latency_s") or 0.0)
nsp = float(row.get("no_speech_prob") or 0.0)
if lat >= SUSPECT_LATENCY_S or nsp >= SUSPECT_NO_SPEECH:
out.append(row)
return out
def _iter_report(rows: list[dict]) -> Iterator[str]:
freq = token_frequency(rows)
yield f"entries: {len(rows)}"
if rows:
lats = [float(r.get("stt_latency_s") or 0.0) for r in rows]
yield f"latency: mean={sum(lats)/len(lats):.2f}s max={max(lats):.2f}s"
yield ""
yield "== top tokens =="
for tok, cnt in freq.most_common(20):
yield f" {cnt:>3} {tok}"
yield ""
yield "== rare tokens (<=1, candidate corrections / hotwords) =="
rare = rare_tokens(freq)
yield " " + (", ".join(rare) if rare else "(none)")
yield ""
yield "== missing-diacritic candidates (review only) =="
cands = missing_diacritic_candidates(freq)[:30]
yield " " + (", ".join(cands) if cands else "(none)")
yield ""
suspects = suspect_rows(rows)
yield f"== likely-hallucination rows ({len(suspects)}) =="
for r in suspects:
yield (f" lat={float(r.get('stt_latency_s') or 0):.1f}s "
f"nsp={float(r.get('no_speech_prob') or 0):.2f} "
f"{row_text(r)!r}")
def main(argv: list[str] | None = None) -> int:
ap = argparse.ArgumentParser(description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
ap.add_argument("--log", type=Path, default=DEFAULT_LOG, help="path to voice_stt_log.jsonl")
ap.add_argument("--tokens", action="store_true", help="token frequency only")
ap.add_argument("--rare", action="store_true", help="one-off tokens only")
ap.add_argument("--suspect", action="store_true", help="likely-hallucination rows only")
args = ap.parse_args(argv)
rows = read_log(args.log)
if not rows:
print(f"no entries in {args.log}", file=sys.stderr)
return 1
freq = token_frequency(rows)
if args.tokens:
for tok, cnt in freq.most_common():
print(f"{cnt:>4} {tok}")
elif args.rare:
print("\n".join(rare_tokens(freq)))
elif args.suspect:
for r in suspect_rows(rows):
print(f"lat={float(r.get('stt_latency_s') or 0):.1f}s "
f"nsp={float(r.get('no_speech_prob') or 0):.2f} {row_text(r)!r}")
else:
print("\n".join(_iter_report(rows)))
return 0
if __name__ == "__main__":
raise SystemExit(main())

180
tools/voice_stt_spike.py Normal file
View File

@@ -0,0 +1,180 @@
#!/usr/bin/env python3
"""STT model spike — compare faster-whisper models on Romanian diacritic accuracy.
Answers the autoplan D1 question: does a Romanian-finetuned whisper-small beat the
generic `small` on diacritics WITHOUT regressing latency? Synthesizes clean RO
audio via Supertonic (ground-truth text known, with diacritics), runs each model,
and scores diacritic preservation + word error rate + latency.
This is an evaluation harness, not production code. Synthetic TTS audio is a clean
probe for diacritic behaviour specifically — it is NOT a proxy for real-mic acoustic
robustness, so weight latency + diacritics, not absolute WER.
Usage:
python3 tools/voice_stt_spike.py --models small,/home/.../whisper-small-ro-cv11-int8
python3 tools/voice_stt_spike.py --models small,<path> --threads 4 --trials 2
"""
from __future__ import annotations
import argparse
import statistics
import sys
import tempfile
import time
import unicodedata
from pathlib import Path
import httpx
SUPERTONIC_URL = "http://127.0.0.1:7788"
# Ground truth with correct Romanian diacritics (mirrors tools/voice_bench.py).
UTTERANCES_RO: list[tuple[str, str]] = [
("short", "Salut, ce mai faci?"),
("conversational", "Stai puțin să mă gândesc la asta."),
("medium", "Am verificat în calendar și avem ședință cu echipa la trei după-amiază."),
("numbers", "Costul total este o sută douăzeci și trei de lei și cincizeci de bani."),
("question", "Marius, vrei să-ți pun pe agenda de mâine să suni la NOAA?"),
("longer", "Vreau să-mi reamintești diseară să verific dacă scriptul de backup a rulat corect."),
]
_DIACRITICS = set("ăâîșțĂÂÎȘȚ")
def _strip_punct_lower(text: str) -> list[str]:
out = []
for raw in text.split():
w = "".join(c for c in raw if c.isalnum() or c in _DIACRITICS)
if w:
out.append(w.lower())
return out
def _deaccent(s: str) -> str:
# Map RO diacritics to base letters for "ignoring diacritics" comparison.
table = str.maketrans("ăâîșțĂÂÎȘȚ", "aaistAAIST")
s = s.translate(table)
return "".join(c for c in unicodedata.normalize("NFD", s)
if unicodedata.category(c) != "Mn")
def wer(ref: list[str], hyp: list[str]) -> float:
"""Word error rate via Levenshtein on token lists."""
n, m = len(ref), len(hyp)
if n == 0:
return 0.0 if m == 0 else 1.0
dp = list(range(m + 1))
for i in range(1, n + 1):
prev = dp[0]
dp[0] = i
for j in range(1, m + 1):
cur = dp[j]
cost = 0 if ref[i - 1] == hyp[j - 1] else 1
dp[j] = min(dp[j] + 1, dp[j - 1] + 1, prev + cost)
prev = cur
return dp[m] / n
def diacritic_score(ref: str, hyp: str) -> tuple[int, int]:
"""For each ground-truth word that carries a diacritic, did the hypothesis
contain that exact diacritized word? Returns (correct, total)."""
ref_words = _strip_punct_lower(ref)
hyp_words = set(_strip_punct_lower(hyp))
hyp_deaccent = {_deaccent(w) for w in hyp_words}
correct = total = 0
for w in ref_words:
if set(w) & _DIACRITICS:
total += 1
if w in hyp_words:
correct += 1
return correct, total
def synthesize(text: str, out_path: Path) -> float:
import wave
r = httpx.post(f"{SUPERTONIC_URL}/v1/audio/speech",
json={"model": "supertonic-3", "input": text, "voice": "M2",
"response_format": "wav", "lang": "ro"}, timeout=60.0)
r.raise_for_status()
out_path.write_bytes(r.content)
with wave.open(str(out_path), "rb") as wf:
return wf.getnframes() / float(wf.getframerate())
def run_model(model_ref: str, wavs: list[tuple[str, str, str, float]],
threads: int, trials: int) -> dict:
from faster_whisper import WhisperModel
t0 = time.perf_counter()
model = WhisperModel(model_ref, device="cpu", compute_type="int8", cpu_threads=threads)
load_s = time.perf_counter() - t0
rows, lats = [], []
dia_c = dia_t = 0
wers = []
for name, ref_text, wav_path, _dur in wavs:
best_text = ""
for trial in range(trials):
t1 = time.perf_counter()
segments, _ = model.transcribe(wav_path, language="ro", beam_size=5,
temperature=0.0, condition_on_previous_text=False)
text = " ".join(s.text.strip() for s in segments).strip()
lats.append(time.perf_counter() - t1)
if trial == 0:
best_text = text
c, tt = diacritic_score(ref_text, best_text)
dia_c += c
dia_t += tt
w = wer(_strip_punct_lower(ref_text), _strip_punct_lower(best_text))
wers.append(w)
rows.append((name, ref_text, best_text, c, tt, w))
return {
"model": model_ref, "load_s": load_s, "rows": rows,
"p50": statistics.median(lats), "p95": sorted(lats)[max(0, int(0.95*(len(lats)-1)))],
"dia_correct": dia_c, "dia_total": dia_t,
"wer": statistics.mean(wers) if wers else 1.0,
}
def main(argv=None) -> int:
ap = argparse.ArgumentParser(description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
ap.add_argument("--models", required=True, help="CSV of model names or CT2 dirs")
ap.add_argument("--threads", type=int, default=4)
ap.add_argument("--trials", type=int, default=2)
args = ap.parse_args(argv)
work = Path(tempfile.mkdtemp(prefix="stt_spike_"))
print(f"[spike] synth dir {work}", flush=True)
wavs = []
for name, text in UTTERANCES_RO:
p = work / f"{name}.wav"
dur = synthesize(text, p)
wavs.append((name, text, str(p), dur))
print(f"[spike] TTS {name}: {dur:.2f}s", flush=True)
results = []
for ref in args.models.split(","):
ref = ref.strip()
if not ref:
continue
print(f"[spike] running {ref} (threads={args.threads})…", flush=True)
results.append(run_model(ref, wavs, args.threads, args.trials))
print("\n" + "=" * 72)
print(f"{'model':<42} {'p50':>6} {'p95':>6} {'WER':>6} {'diacr':>8}")
print("-" * 72)
for r in results:
dia = f"{r['dia_correct']}/{r['dia_total']}"
label = Path(r["model"]).name if "/" in r["model"] else r["model"]
print(f"{label:<42} {r['p50']:>5.2f}s {r['p95']:>5.2f}s {r['wer']*100:>5.1f}% {dia:>8}")
print("=" * 72)
for r in results:
label = Path(r["model"]).name if "/" in r["model"] else r["model"]
print(f"\n### {label}")
for name, ref_text, hyp, c, tt, w in r["rows"]:
print(f" [{name}] ref: {ref_text}")
print(f" [{name}] hyp: {hyp} (diacr {c}/{tt}, wer {w*100:.0f}%)")
return 0
if __name__ == "__main__":
sys.exit(main())