Update ashboard, dashboard, memory (+1 ~4)

This commit is contained in:
Echo
2026-02-15 23:17:09 +00:00
parent aa6875ed0c
commit 2eca94abaf
5 changed files with 653 additions and 4 deletions

View File

@@ -82,6 +82,8 @@ class TaskBoardHandler(SimpleHTTPRequestHandler):
self.handle_eco_stop()
elif self.path == '/api/eco/sessions/clear':
self.handle_eco_sessions_clear()
elif self.path == '/api/eco/git-commit':
self.handle_eco_git_commit()
else:
self.send_error(404)
@@ -311,6 +313,8 @@ class TaskBoardHandler(SimpleHTTPRequestHandler):
self.handle_eco_logs()
elif self.path == '/api/eco/doctor':
self.handle_eco_doctor()
elif self.path == '/api/eco/git' or self.path.startswith('/api/eco/git?'):
self.handle_eco_git_status()
elif self.path.startswith('/api/'):
self.send_error(404)
else:
@@ -2309,6 +2313,96 @@ class TaskBoardHandler(SimpleHTTPRequestHandler):
self.send_json({'checks': checks})
def handle_eco_git_status(self):
"""Get git status for echo-core repo."""
try:
workspace = ECHO_CORE_DIR
branch = subprocess.run(
['git', 'branch', '--show-current'],
cwd=workspace, capture_output=True, text=True, timeout=5
).stdout.strip()
last_commit = subprocess.run(
['git', 'log', '-1', '--format=%h|%s|%cr'],
cwd=workspace, capture_output=True, text=True, timeout=5
).stdout.strip()
commit_parts = last_commit.split('|') if last_commit else ['', '', '']
status_output = subprocess.run(
['git', 'status', '--short'],
cwd=workspace, capture_output=True, text=True, timeout=5
).stdout.strip()
uncommitted = [f for f in status_output.split('\n') if f.strip()] if status_output else []
uncommitted_parsed = []
for line in uncommitted:
if len(line) >= 2:
status = line[:2].strip()
filepath = line[2:].strip()
if filepath:
uncommitted_parsed.append({'status': status, 'path': filepath})
self.send_json({
'branch': branch,
'clean': len(uncommitted) == 0,
'uncommittedCount': len(uncommitted),
'uncommittedParsed': uncommitted_parsed,
'lastCommit': {
'hash': commit_parts[0] if len(commit_parts) > 0 else '',
'message': commit_parts[1] if len(commit_parts) > 1 else '',
'time': commit_parts[2] if len(commit_parts) > 2 else '',
},
})
except Exception as e:
self.send_json({'error': str(e)}, 500)
def handle_eco_git_commit(self):
"""Run git add, commit, and push for echo-core repo."""
try:
workspace = ECHO_CORE_DIR
# Stage all changes
subprocess.run(
['git', 'add', '-A'],
cwd=workspace, capture_output=True, text=True, timeout=10
)
# Check if there's anything to commit
status = subprocess.run(
['git', 'status', '--porcelain'],
cwd=workspace, capture_output=True, text=True, timeout=5
).stdout.strip()
if not status:
self.send_json({'success': True, 'files': 0, 'output': 'Nothing to commit'})
return
files_count = len([l for l in status.split('\n') if l.strip()])
# Commit
commit_result = subprocess.run(
['git', 'commit', '-m', 'chore: auto-commit from dashboard'],
cwd=workspace, capture_output=True, text=True, timeout=30
)
# Push
push_result = subprocess.run(
['git', 'push'],
cwd=workspace, capture_output=True, text=True, timeout=30
)
output = commit_result.stdout + commit_result.stderr + push_result.stdout + push_result.stderr
if commit_result.returncode == 0:
self.send_json({'success': True, 'files': files_count, 'output': output})
else:
self.send_json({'success': False, 'error': output or 'Commit failed'})
except Exception as e:
self.send_json({'success': False, 'error': str(e)}, 500)
def handle_eco_sessions_clear(self):
"""Clear active sessions (all or specific channel)."""
try:

View File

@@ -454,6 +454,100 @@
font-size: var(--text-xs);
}
/* Git status */
.git-card {
background: var(--bg-surface);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
overflow: hidden;
}
.git-header {
display: flex;
align-items: center;
gap: var(--space-3);
padding: var(--space-3) var(--space-4);
cursor: pointer;
user-select: none;
}
.git-header:hover { background: var(--bg-elevated); }
.git-icon {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--radius-md);
background: rgba(249, 115, 22, 0.15);
color: #f97316;
flex-shrink: 0;
}
.git-icon svg { width: 18px; height: 18px; }
.git-info { flex: 1; min-width: 0; }
.git-title {
font-size: var(--text-sm);
font-weight: 600;
color: var(--text-primary);
display: flex;
align-items: center;
gap: var(--space-2);
}
.git-subtitle {
font-size: 13px;
color: var(--text-secondary);
margin-top: 2px;
}
.git-badge {
padding: 3px 10px;
border-radius: var(--radius-sm);
font-size: 12px;
font-weight: 600;
}
.git-badge.ok { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.git-badge.warning { background: rgba(249, 115, 22, 0.15); color: #f97316; }
.git-badge.error { background: rgba(239, 68, 68, 0.15); color: #ef4444; }
.git-actions {
display: flex;
gap: var(--space-2);
margin-left: auto;
}
.git-toggle {
width: 16px;
height: 16px;
color: var(--text-muted);
transition: transform var(--transition-fast);
}
.git-card.collapsed .git-toggle { transform: rotate(-90deg); }
.git-card.collapsed .git-details { display: none; }
.git-details {
padding: 0 var(--space-4) var(--space-3);
padding-left: calc(var(--space-4) + 32px + var(--space-3));
}
.git-detail-item {
display: flex;
align-items: center;
gap: var(--space-2);
font-size: 13px;
color: var(--text-primary);
padding: 2px 0;
}
.git-detail-item svg { width: 14px; height: 14px; color: var(--text-secondary); }
.git-detail-item.uncommitted { color: #f97316; }
/* Spinner */
.spinner {
display: inline-block;
@@ -573,6 +667,45 @@
</div>
</div>
<!-- Git -->
<div class="section" id="sec-git">
<div class="section-header" onclick="toggleSec('sec-git')">
<h2 class="section-title">
<i data-lucide="git-branch" style="width:18px;height:18px;"></i>
Git
</h2>
<svg class="s-chevron sec-chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>
</div>
<div class="section-body">
<div class="git-card" id="gitCard">
<div class="git-header" onclick="toggleGitDetails()">
<div class="git-icon">
<i data-lucide="git-branch"></i>
</div>
<div class="git-info">
<div class="git-title">
Git
<span class="git-badge ok" id="gitBadge">curat</span>
</div>
<div class="git-subtitle" id="gitSubtitle">Se incarca...</div>
</div>
<div class="git-actions" onclick="event.stopPropagation()">
<button class="btn btn-secondary" onclick="ecoGitCommit()" title="Commit & Push" style="font-size:var(--text-xs);padding:var(--space-1) var(--space-2);">
<i data-lucide="git-commit"></i> Commit
</button>
<button class="btn btn-secondary" onclick="loadGitStatus()" title="Refresh" style="font-size:var(--text-xs);padding:var(--space-1) var(--space-2);">
<i data-lucide="refresh-cw"></i>
</button>
</div>
<i data-lucide="chevron-down" class="git-toggle"></i>
</div>
<div class="git-details" id="gitDetails">
<!-- Populated by JS -->
</div>
</div>
</div>
</div>
<!-- Sessions -->
<div class="section" id="sec-sessions">
<div class="section-header" onclick="toggleSec('sec-sessions')">
@@ -1034,13 +1167,81 @@
function refreshAll() {
loadStatus();
loadGitStatus();
loadLogs();
}
// ── Git ──────────────────────────────────────────────────
function toggleGitDetails() {
document.getElementById('gitCard').classList.toggle('collapsed');
}
async function loadGitStatus() {
try {
const response = await fetch('/echo/api/eco/git?' + Date.now());
if (!response.ok) throw new Error('API error');
const git = await response.json();
const badge = document.getElementById('gitBadge');
if (git.clean) {
badge.textContent = 'curat';
badge.className = 'git-badge ok';
} else {
badge.textContent = git.uncommittedCount + ' modificari';
badge.className = 'git-badge warning';
}
const subtitle = document.getElementById('gitSubtitle');
subtitle.textContent = `${git.branch} · ${git.lastCommit.time}`;
const details = document.getElementById('gitDetails');
let html = `
<div class="git-detail-item">
<i data-lucide="git-commit"></i>
<span><strong>${git.lastCommit.hash}</strong> ${git.lastCommit.message.substring(0, 50)}${git.lastCommit.message.length > 50 ? '...' : ''} (${git.lastCommit.time})</span>
</div>
`;
if (git.uncommittedCount > 0) {
const files = (git.uncommittedParsed || []).slice(0, 5).map(f => f.path).join(', ');
const more = git.uncommittedCount > 5 ? ` +${git.uncommittedCount - 5}` : '';
html += `<div class="git-detail-item uncommitted">
<i data-lucide="alert-circle"></i>
<span><strong>${git.uncommittedCount}</strong> necomise: ${files}${more}</span>
</div>`;
}
details.innerHTML = html;
lucide.createIcons();
} catch (e) {
console.error('Git status error:', e);
document.getElementById('gitBadge').textContent = 'eroare';
document.getElementById('gitBadge').className = 'git-badge error';
}
}
async function ecoGitCommit() {
if (!confirm('Fac commit si push la toate modificarile echo-core?')) return;
try {
const res = await fetch('/echo/api/eco/git-commit', { method: 'POST' });
const result = await res.json();
if (result.success) {
alert('Commit reusit: ' + (result.files || 0) + ' fisiere');
setTimeout(loadGitStatus, 1000);
} else {
alert('Eroare: ' + (result.error || 'necunoscuta'));
}
} catch (e) {
alert('Eroare la commit: ' + e.message);
}
}
// ── Init ────────────────────────────────────────────────
loadStatus();
loadSessions();
loadGitStatus();
loadLogs();
lucide.createIcons();

Binary file not shown.

View File

@@ -12,15 +12,15 @@
"2026-02-04": "06:00 UTC - Toate emailurile deja citite. KB index la zi. Upcoming: morning-report 08:30."
},
"checks": {
"email": "2026-02-15T21:42:19.829807+00:00",
"calendar": "2026-02-15T21:42:19.829807+00:00",
"email": "2026-02-15T23:15:39.037997+00:00",
"calendar": "2026-02-15T22:45:39.037616+00:00",
"kb_index": "2026-02-15T21:10:00.947256+00:00",
"git": "2026-02-15T21:10:00.947256+00:00",
"embeddings": "2026-02-15T21:42:19.829807+00:00"
"embeddings": "2026-02-15T22:45:39.037616+00:00"
},
"calendar": {
"reminded_events": {},
"daily_summary_date": "2026-02-15"
},
"last_run": "2026-02-15T21:42:19.829807+00:00"
"last_run": "2026-02-15T23:15:39.037997+00:00"
}

View File

@@ -0,0 +1,354 @@
# Harta Mentală: SINE, EGO, PERSONALITATE, MASCĂ, UMBRĂ + Încredere, Stimă, Respect de Sine
**Data:** 2026-02-15
**Tags:** @growth @coaching @reflectie #jung #autocunoastere #sine #ego #umbra #persona #stima
**Surse:** Notițe proprii (Zoltan Veres, Monica Ion) + Carl Jung + psihologie contemporană
---
## HARTA COMPLETĂ — Cele 8 concepte
```
╔══════════════════════╗
║ SINELE (Self) ║
║ Totalitatea ființei ║
║ Conștient + Inconșt. ║
╚═══════╤══════════════╝
┌────────────┼────────────┐
│ │ │
╔═════╧═════╗ │ ╔══════╧══════╗
║ PERSONA ║ │ ║ UMBRA ║
║ (Masca) ║ │ ║ (Shadow) ║
║ Ce arătăm ║ │ ║ Ce ascundem ║
╚═════╤═════╝ │ ╚══════╤══════╝
│ ╔═════╧═════╗ │
└─────║ EGO ║──────┘
║ Centrul ║
║ conștiinț.║
╚═════╤═════╝
┌───────────┼───────────┐
│ │ │
╔══════╧════╗ ╔═══╧════╗ ╔════╧═══════╗
║ ÎNCREDERE ║ ║ STIMĂ ║ ║ RESPECT ║
║ DE SINE ║ ║DE SINE ║ ║ DE SINE ║
║ "Pot face"║ ║"Am val"║ ║"Mă accept" ║
╚═══════════╝ ╚════════╝ ╚════════════╝
PERSONALITATEA = tot ce se vede de afară
(comportament, trăsături, pattern-uri)
— rezultat al interacțiunii TUTUROR celorlalte
```
---
## 1. SINELE (Self) — Totalitatea
| | |
|---|---|
| **Ce este** | Totalitatea ființei — conștient + inconștient, cunoscut + necunoscut |
| **Analog** | Oceanul întreg (tu ești oceanul, nu doar un val) |
| **Jung** | Arhetipul central, superior Ego-ului, scopul individuației |
| **Rol** | Centrul TOTAL al personalității (spre deosebire de Ego care e doar centrul conștiinței) |
**Relații:**
- Sinele **conține** Ego-ul, Persona, Umbra, și tot ce ești
- Ego-ul este o **insulă mică** în oceanul Sinelui
- Individuația = procesul prin care Ego-ul descoperă Sinele
> "Sinele este ceea ce devii când integrezi tot — lumina și întunericul, masca și umbra." — Jung
---
## 2. EGO-ul — Centrul conștiinței
| | |
|---|---|
| **Ce este** | Centrul conștiinței — "Eu"-l cu care te identifici |
| **Analog** | Farul de pe insulă — iluminează ce poate, dar nu vede tot oceanul |
| **Jung** | Factor conștient dobândit în timpul vieții |
| **Rol** | Organizează experiența conștientă, ia decizii, creează identitatea de zi cu zi |
**Ce NU este:**
- NU este întreaga personalitate (doar partea conștientă)
- NU este "rău" (cum se spune uneori în spiritualitate) — e necesar pentru funcționare
- NU este Sinele — e doar o parte din Sine
**Relații:**
- Ego-ul **gestionează** Persona (decide ce mască poartă)
- Ego-ul **reprimă** Umbra (decide ce ascunde)
- Ego-ul este **subordonat** Sinelui (deși crede că el e șeful)
---
## 3. PERSONALITATEA — Expresia totală vizibilă
| | |
|---|---|
| **Ce este** | Totalitatea trăsăturilor, comportamentelor și pattern-urilor observabile |
| **Analog** | Haina pe care o porți — te definește în ochii altora, dar nu ești TU |
| **Psihologie** | Big Five, MBTI, eneagrama — sunt modele ale personalității |
| **Rol** | Modul în care interacționezi cu lumea — relativ stabil, dar se poate schimba |
**Diferența cheie față de celelalte:**
- **Personalitatea** = ce se vede de afară (comportament, trăsături, pattern-uri)
- **Sinele** = ce ești cu adevărat (inclusiv ce nu se vede)
- **Persona** = ce **alegi** să arăți (o submulțime selectivă a personalității)
**Relații:**
- Personalitatea este **rezultatul** interacțiunii dintre Ego, Persona, Umbra și Sine
- Include atât trăsături conștiente, cât și pattern-uri inconștiente vizibile altora
- Se formează prin natură (gene) + educație (familie, cultură) + experiență
---
## 4. PERSONA (Masca) — Ce arătăm lumii
| | |
|---|---|
| **Ce este** | Masca socială — imaginea pe care o prezentăm celorlalți |
| **Analog** | Costumul de scenă al actorului — necesar pe scenă, periculos dacă crezi că EȘTI personajul |
| **Jung** | Arhetipul conformității — ne ajută să funcționăm social |
| **Etimologie** | Din latinescul "persona" = masca actorilor din teatrul antic |
**Ce conține:**
- Roluri sociale (tată, antreprenor, coach, prieten)
- Comportamente adaptate contextului (altfel la birou, altfel acasă)
- Imaginea pe care o cultivăm ("sunt puternic", "sunt relaxat", "sunt competent")
**Pericole:**
- Dacă te **identifici** cu Persona → pierzi contactul cu Sinele
- Cu cât Persona e mai rigidă → cu atât Umbra e mai puternică (compensare)
- "Impostor syndrome" = senzația că Persona ta nu e "reală"
**Relații:**
- Persona și Umbra sunt **complementare** — una conține ce cealaltă exclude
- Persona este interfața Ego ↔ Lume
- Umbra este interfața Ego ↔ Sine (lumea interioară)
---
## 5. UMBRA (Shadow) — Ce ascundem
| | |
|---|---|
| **Ce este** | Partea inconștientă a personalității — tot ce negăm, ascundem sau reprimăm |
| **Analog** | Balonul ținut sub apă — consumă energie, și când îl eliberezi, sare brusc la suprafață |
| **Jung** | "Latura întunecată necunoscută a personalității" |
| **Rol** | Depozitul a tot ce nu se aliniază cu Ego-ul ideal |
**Ce conține Umbra:**
- Trăsături negative reprimate (furie, egoism, lene)
- **Trăsături POZITIVE reprimate** — Umbra de Aur (putere, creativitate, inteligență)
- Tot ce a fost pedepsit/respins în copilărie sau de cultură
**Cum se manifestă:**
- Proiecția (ce te irită la alții = oglinda ta)
- Reacții emoționale disproporționate
- Autosabotaj, procrastinare
- Refuzul complimentelor (Umbra de Aur)
> "Consumă energie să le ținem ascunse. Când le integrăm, devenim mai întregi." — Zoltan Veres
*(Pentru detalii complete vezi: `harta-mentala-umbra.md`)*
---
## 6. ÎNCREDEREA ÎN SINE (Self-Confidence) — "POT să fac"
| | |
|---|---|
| **Ce este** | Credința în propriile abilități de a realiza sarcini și a face față provocărilor |
| **Analog** | Mușchiul — crește prin antrenament și experiență |
| **Tip** | Orientată spre EXTERIOR — se referă la competențe și performanță |
| **Sursă** | Experiență, practică, succes repetat, cunoștințe |
**Caracteristici:**
- **Specifică** pe domenii (poți fi încrezător la muncă, nu în relații)
- **Se construiește** prin acțiune și dovezi concrete
- **Fluctuează** — crește cu succesul, scade cu eșecul
- Este un **fapt măsurabil** — bazat pe progres real
**Legătura cu Umbra (Zoltan Veres):**
- "Nu există lipsă de încredere — există **confuzie**"
- Umbrele creează confuzie → confuzia creează paralizie → paralizia mimează lipsa de încredere
- Claritate despre sine → încredere naturală
---
## 7. STIMA DE SINE (Self-Esteem) — "AM valoare"
| | |
|---|---|
| **Ce este** | Evaluarea globală a propriei valori — cât de mult te prețuiești |
| **Analog** | Termometrul interior — indică "temperatura" relației cu tine |
| **Tip** | Orientată spre INTERIOR — se referă la valoare intrinsecă |
| **Sursă** | Copilărie, relația cu părinții, experiențe formative, narațiunea internă |
**Caracteristici:**
- **Globală** — nu pe domenii, ci despre tine ca persoană
- **Vulnerabilă** — bazată pe evaluare, deci supusă fluctuațiilor
- **Include judecată** — "sunt destul de bun?" (comparație)
- Capcana: poate deveni dependentă de validare externă
**Legătura cu Umbra (Zoltan Veres):**
- Umbrele negate **scad** stima
- Stima scăzută = adesea o Umbră care spune "nu ești suficient"
- Integrarea umbrei → crește stima natural, fără efort
> "Nu are nimeni cum să-ți șteargă stima de sine prin faptul că te trădează." — Zoltan Veres
**Pericol:** Stima de sine bazată doar pe succes e fragilă — un eșec o poate dărâma.
---
## 8. RESPECTUL DE SINE (Self-Respect) — "MĂ accept"
| | |
|---|---|
| **Ce este** | Acceptarea necondiționată de sine — te placi pentru cine ești, nu pentru ce faci |
| **Analog** | Fundația casei — nu depinde de vreme (succes/eșec), e mereu acolo |
| **Tip** | Orientată spre ESENȚĂ — se referă la acceptare, nu evaluare |
| **Sursă** | Coerență morală, aliniere valori-acțiuni, auto-compasiune |
**Caracteristici:**
- **Necondiționat** — nu depinde de succes, comparații sau performanță
- **Nu evaluează** — nu întreabă "sunt suficient?", ci spune "sunt"
- **Stabil** — nu fluctuează cu circumstanțele
- **Protector** — cei cu respect de sine au mai puțină vină, regret, stres
**Diferența esențială (Ellen Langer, Psychology Today):**
- **A estima** = a evalua → câștigi sau pierzi
- **A respecta** = a accepta → pur și simplu ești
**Legătura cu Umbra:**
- Respectul de sine = capacitatea de a accepta și umbra
- Cine se respectă nu are nevoie să ascundă părți din sine
- Este cel mai aproape de individuație (integrare completă)
---
## DIFERENȚELE CHEIE — Tabel comparativ
| Concept | Întrebarea centrală | Orientare | Stabilitate | Sursă |
|---------|-------------------|-----------|-------------|-------|
| **Sinele** | Cine sunt cu adevărat? | Totalitate | Permanent | Arhetip (dincolo de experiență) |
| **Ego** | Cine cred că sunt? | Conștient | Relativ stabil | Experiență de viață |
| **Personalitate** | Cum mă comport? | Exterior/vizibil | Stabil | Gene + educație + experiență |
| **Persona** | Ce le arăt celorlalți? | Social | Se schimbă cu contextul | Adaptare socială |
| **Umbra** | Ce ascund de mine? | Inconștient | Crește dacă e ignorată | Reprimare, copilărie, cultură |
| **Încredere în sine** | Pot face asta? | Competențe | Fluctuează | Practică, succes, cunoștințe |
| **Stimă de sine** | Am valoare? | Valoare proprie | Vulnerabilă | Narațiune internă, validare |
| **Respect de sine** | Mă accept? | Esență | Cel mai stabil | Coerență morală, acceptare |
---
## RELAȚIILE DINTRE CONCEPTE
### Sinele conține totul
- Sinele = Ego + Persona + Umbra + tot inconștientul
- Este destinația, nu punctul de plecare
- Individuația = călătoria Ego-ului spre Sine
### Ego-ul navighează între Persona și Umbră
- **Persona** = ce Ego-ul decide să arate → spre lume
- **Umbra** = ce Ego-ul decide să ascundă → spre inconștient
- Cu cât Ego-ul se identifică mai mult cu Persona → cu atât Umbra crește
### Personalitatea = suma vizibilă
- Personalitatea este ceea ce se vede = Persona + pattern-uri inconștiente care "scapă"
- E ca un aisberg: Persona e vârful, dar pattern-urile din Umbră se văd și ele (fără să vrem)
### Cele 3 "de sine" — 3 niveluri diferite
```
RESPECT DE SINE (fundația)
"Mă accept așa cum sunt"
────────────────────────
↑ susține
STIMĂ DE SINE (evaluarea)
"Am valoare ca persoană"
────────────────────────
↑ susține
ÎNCREDERE ÎN SINE (capacitatea)
"Pot face lucruri concrete"
```
- **Respectul de sine** este baza — fără acceptare, stima e fragilă
- **Stima de sine** se construiește pe respect — dacă te accepți, te și prețuiești
- **Încrederea în sine** e vârful — se construiește prin acțiune, dar are nevoie de stimă ca fundament
- **Fără respect de sine:** stima fluctuează cu succesul, încrederea se prăbușește la eșec
- **Cu respect de sine:** eșecul nu te definește, încrederea revine natural
### Cum se leagă toate de Umbră
```
UMBRA neintegrată → respect scăzut (nu mă accept) →
stimă fragilă (valoarea mea e condiționată) →
încredere fluctuantă (mă paralizez)
UMBRA integrată → respect crescut (accept tot ce sunt) →
stimă stabilă (am valoare indiferent) →
încredere naturală (acționez din claritate)
```
> "Nu există lipsă de încredere sau stimă de sine. Există confuzie." — Zoltan Veres
---
## ANALOGIE INTEGRATĂ — Casa
| Concept | Analogie |
|---------|----------|
| **Sinele** | Terenul complet (inclusiv ce e sub pământ) |
| **Ego-ul** | Proprietarul casei (crede că terenul e doar ce vede) |
| **Personalitatea** | Casa așa cum se vede de pe stradă |
| **Persona** | Fațada, grădina, vopseaua — ce aranjezi pentru vizitatori |
| **Umbra** | Pivnița, mansarda, camerele încuiate — ce nu arăți nimănui |
| **Încredere în sine** | Abilitatea de a repara, construi, întreține casa |
| **Stimă de sine** | Cât de mult îți place casa ta |
| **Respect de sine** | Acceptarea că e casa TA, indiferent cum arată |
---
## APLICARE PRACTICĂ
### Întrebări de diagnostic
1. **Sinele:** Cât din mine cunosc cu adevărat? Ce nu am explorat?
2. **Ego:** Cu ce mă identific? Ce aș fi dacă nu aș fi [rol]?
3. **Personalitate:** Ce pattern-uri repet fără să vreau?
4. **Persona:** Ce mască port cel mai des? E aceeași peste tot?
5. **Umbra:** Ce mă irită la alții? Ce complimente refuz?
6. **Încredere:** Unde mă simt capabil? Unde mă paralizez?
7. **Stimă:** Mă prețuiesc sau depind de validare externă?
8. **Respect:** Mă accept și când greșesc? Sau doar când am succes?
### Calea de la confuzie la integrare
1. **Recunoaște Persona** — ce mască porți? de ce?
2. **Explorează Umbra** — ce ascunzi? (cele 4 întrebări)
3. **Construiește Respect** — acceptă-te fără condiții
4. **Hrănește Stima** — recunoaște-ți valoarea intrinsecă
5. **Acționează** — încrederea vine din acțiune, nu din așteptare
6. **Integrează** — nu elimina nimic, armonizează totul → Sinele
---
## SURSE
### Din notițele tale:
- Zoltan Veres — Workshop "Umbrele Noastre" + Podcast Stimă de Sine
- Monica Ion — Cele 7 Legi Universale (Legea Reflexiei, Fractalilor)
- Fișa grup sprijin "Umbra — Iarna din suflet" (19 feb 2026)
- `harta-mentala-umbra.md` — harta detaliată doar despre Umbră
### Surse externe:
- Carl Jung — Psihologie analitică (Aion, Arhetipurile și inconștientul colectiv)
- Ellen Langer — "Self-Esteem vs. Self-Respect" (Psychology Today)
- Society of Analytical Psychology — "The Jungian Shadow"
- Eternalised — "Jungian Archetypes: Self, Persona, Shadow"
---
*Hartă mentală creată de Echo | 2026-02-15*
*Combină notițe proprii + cercetare suplimentară din psihologia analitică jungiană și psihologia contemporană*