Skip to content
Back to skills

2567 Hackathon Mad Combos 55a31a4e

ASecurity

> **Goal:** Implement high-impact features that MemU is missing, sourced from competitor analysis of 7 memory repos (memoripy, memlayer, ReMe, memX, memphora-sdk, MemOS, memor). ---

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentspythongonodeapidatabase

Works with

  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2567-hackathon_mad_combos_55a31a4e --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2567 Hackathon Mad Combos 55a31a4e?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2567 Hackathon Mad Combos 55a31a4e
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2567-hackathon-mad-combos-55a31a4e/badge)](https://www.skillsdirectory.com/skills/tools-only-2567-hackathon-mad-combos-55a31a4e)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# πŸ”₯πŸ”₯πŸ”₯ MAD COMBO OPTIONS FOR MEMU HACKATHON πŸ”₯πŸ”₯πŸ”₯

> **Goal:** Implement high-impact features that MemU is missing, sourced from competitor analysis of 7 memory repos (memoripy, memlayer, ReMe, memX, memphora-sdk, MemOS, memor).

---

## πŸ“‹ COMPLETE FEATURE GAP ANALYSIS

### FEATURES MEMU IS MISSING (Deep Scan Results)

#### FROM MEMORIPY:
- ❌ `access_counts[]` - Track how often each memory is accessed
- ❌ `timestamps[]` - Track when memory was created/last accessed
- ❌ `decay_factor` - Exponential time-based decay: `np.exp(-decay_rate * time_diff)`
- ❌ `reinforcement_factor` - Log-scaled access boost: `np.log1p(access_count)`
- ❌ `adjusted_similarity` - `similarity * decay_factor * reinforcement_factor`
- ❌ Short-term β†’ Long-term memory promotion (when `access_count > 10`)
- ❌ `nx.Graph()` concept associations (NetworkX graph)
- ❌ `spreading_activation()` - Spread activation through concept graph
- ❌ `cluster_interactions()` - KMeans clustering for hierarchical memory
- ❌ `semantic_memory` clusters - Retrieve from semantic memory clusters

#### FROM MEMLAYER:
- ❌ `SalienceGate` - Filter what's worth saving vs noise
- ❌ `SalienceMode.LOCAL` - Local ML model for salience
- ❌ `SalienceMode.ONLINE` - OpenAI API for salience
- ❌ `SalienceMode.LIGHTWEIGHT` - Keyword-based salience (no embeddings)
- ❌ `SALIENT_PROTOTYPES` / `NON_SALIENT_PROTOTYPES` - Prototype sentences
- ❌ `is_worth_saving()` - Determine if text should be saved
- ❌ `CurationService` - Background memory decay/expiration
- ❌ `_calculate_relevance()` - Score based on age, recency, attention
- ❌ Auto-archive low-relevance memories
- ❌ Auto-delete expired memories (`expiration_timestamp`)
- ❌ `SchedulerService` - Background task scheduler
- ❌ `get_due_tasks_for_user()` - Check for pending scheduled tasks
- ❌ `ConsolidationService` - Background knowledge extraction
- ❌ `analyze_and_extract_knowledge()` - Extract facts, entities, relationships
- ❌ `NetworkXStorage` - Graph storage for entities/relationships
- ❌ `add_entity()` / `add_relationship()` - Knowledge graph operations
- ❌ `get_subgraph_context()` - Graph traversal for context
- ❌ `find_matching_nodes()` - Fuzzy entity matching
- ❌ `_find_canonical_entity()` - Entity deduplication
- ❌ `_merge_entity_nodes()` - Merge duplicate entities
- ❌ `importance_score` / `expiration_timestamp` metadata
- ❌ `track_memory_access()` - Track when memories are accessed
- ❌ Task reminders system (`add_task`, `get_pending_tasks`, `update_task_status`)

#### FROM REME:
- ❌ `UpdateMemoryFreqOp` - Increment frequency counter on recall
- ❌ `metadata["freq"]` - Frequency counter in metadata
- ❌ `UpdateMemoryUtilityOp` - Increment utility score when useful
- ❌ `metadata["utility"]` - Utility score in metadata
- ❌ `DeleteMemoryOp` - Delete based on freq/utility thresholds
- ❌ `utility/freq < threshold` pruning - Prune low-value memories
- ❌ **MEMORY TYPES:**
  - ❌ `TaskMemory` - Task-related information
  - ❌ `PersonalMemory` - Personal info with `target` and `reflection_subject`
  - ❌ `ToolMemory` - Tool call execution history
  - ❌ `ToolCallResult` - Record tool execution results with hash deduplication
- ❌ `MemoryDeduplicationOp` - Remove duplicate memories using embedding similarity
- ❌ `WorkingMemory` operations:
  - ❌ `MessageCompressOp` - LLM-based compression for long conversations
  - ❌ `MessageCompactOp` - Compact verbose tool messages
  - ❌ `MessageOffloadOp` - Orchestrate compaction + compression
  - ❌ `WorkingSummaryMode.COMPACT/COMPRESS/AUTO`
- ❌ `UpdateMemory` tool - Update/edit existing memories
- ❌ `session_memory_id` tracking - Track memories per session
- ❌ Tool memory statistics (`avg_token_cost`, `success_rate`, `avg_time_cost`, `avg_score`)

#### FROM MEMX:
- ❌ `pubsub.py` - Real-time pub/sub system
- ❌ `subscribe(key, websocket)` - WebSocket subscriptions
- ❌ `publish(key, payload)` - Broadcast updates to subscribers
- ❌ `set_value()` with timestamps - Last-write-wins with timestamps
- ❌ Redis-backed shared memory - Multi-agent shared state
- ❌ `register_schema()` / `validate_schema()` - JSON schema validation

#### FROM MEMOS (MemOS):
- ❌ **Memory Scheduler System:**
  - ❌ `BaseScheduler` - Full task scheduling infrastructure
  - ❌ `SchedulerDispatcher` - Parallel task dispatch
  - ❌ `ScheduleTaskQueue` - Priority task queue
  - ❌ `TaskStatusTracker` - Track task status in Redis
  - ❌ `TaskPriorityLevel` - Priority levels for tasks
- ❌ `MemoryMonitorItem` - Monitor memory with importance scores
- ❌ `replace_working_memory()` - Replace working memory after reranking
- ❌ `update_activation_memory()` - Update activation memory periodically
- ❌ `transform_working_memories_to_monitors()` - Convert memories to monitors
- ❌ `visibility` field - Public/private memory visibility
- ❌ `confidence` score - Confidence level for memories
- ❌ `status` field (activated/archived) - Memory activation status
- ❌ `tags` field - Memory tagging system
- ❌ `entities` extraction - Extract entities from memories

#### FROM MEMPHORA-SDK:
- ❌ `store_shared()` - Store shared memory for groups
- ❌ Multi-agent crew memory - Shared memory for agent crews
- ❌ Per-agent namespaces - Isolated memory per agent
- ❌ Framework integrations (AutoGen, CrewAI, LangChain, LlamaIndex)

---

---

## πŸ† COMBO 1: "INTELLIGENT MEMORY LIFECYCLE"

**Theme:** Memory that learns, ages, and self-curates like human memory

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| Decay & Reinforcement | memoripy | 3 pts | LOW |
| Frequency & Utility Tracking | ReMe | 3 pts | LOW |
| Auto-Pruning Low-Value Memories | ReMe | 3 pts | LOW |

**Total: 9 pts | LOW-MEDIUM effort**

### Why it's MAD:

```
Memory accessed often β†’ gets STRONGER (reinforcement)
Memory ignored β†’ gets WEAKER (decay)
Memory with low utility/freq ratio β†’ gets DELETED automatically

Result: Self-healing, self-optimizing memory that mimics human forgetting!
```

### The Pitch:
> "MemU now has HUMAN-LIKE memory - it remembers what matters and forgets what doesn't!"

### Technical Implementation:

```python
# Decay formula (from memoripy)
decay_factor = np.exp(-decay_rate * time_diff)
reinforcement_factor = np.log1p(access_count)
adjusted_similarity = similarity * decay_factor * reinforcement_factor

# Pruning logic (from ReMe)
if freq >= freq_threshold:
    if utility / freq < utility_threshold:
        delete_memory(memory_id)
```

---

## πŸ† COMBO 2: "SMART MEMORY GATE"

**Theme:** Don't save garbage, only save gold

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| Salience Filtering | memlayer | 3-5 pts | MEDIUM |
| Decay & Reinforcement | memoripy | 3 pts | LOW |
| Background Curation Service | memlayer | 3 pts | MEDIUM |

**Total: 9-11 pts | MEDIUM effort**

### Why it's MAD:

```
INPUT: "Hello!" β†’ BLOCKED (not salient)
INPUT: "My name is John, I work at Google" β†’ SAVED (salient)
BACKGROUND: Old unused memories β†’ AUTO-ARCHIVED
RETRIEVAL: Frequently accessed β†’ BOOSTED

Result: Clean, high-quality memory that doesn't bloat!
```

### The Pitch:
> "MemU now has a BOUNCER - only important memories get in, garbage stays out!"

### Technical Implementation:

```python
# Salience Gate (from memlayer)
class SalienceGate:
    SALIENT_PROTOTYPES = ["My name is...", "I work at...", "The deadline is..."]
    NON_SALIENT_PROTOTYPES = ["Hello", "Thanks", "Okay", "Got it"]

    def is_worth_saving(self, text: str) -> bool:
        # Compare similarity to salient vs non-salient prototypes
        salient_score = max_similarity(text, SALIENT_PROTOTYPES)
        non_salient_score = max_similarity(text, NON_SALIENT_PROTOTYPES)
        return salient_score > (non_salient_score + threshold)
```

---

## πŸ† COMBO 3: "KNOWLEDGE BRAIN"

**Theme:** Memory that understands relationships

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| Knowledge Graph | memlayer | 5 pts | HIGH |
| Entity Extraction | memlayer | 3 pts | MEDIUM |
| Graph Traversal Retrieval | memlayer | 3 pts | MEDIUM |

**Total: 11 pts | HIGH effort**

### Why it's MAD:

```
INPUT: "John works at Google. Sarah is John's wife."

GRAPH:
    John --[works_at]--> Google
    John --[married_to]--> Sarah

QUERY: "Who is related to Google?"
RESULT: John (works there), Sarah (married to John who works there)

Result: Memory that REASONS about relationships!
```

### The Pitch:
> "MemU now has a BRAIN - it understands how things connect!"

### Technical Implementation:

```python
# Knowledge Graph (from memlayer)
import networkx as nx

class KnowledgeGraph:
    def __init__(self):
        self.graph = nx.Graph()

    def add_entity(self, name: str, node_type: str):
        self.graph.add_node(name, type=node_type)

    def add_relationship(self, subject: str, predicate: str, obj: str):
        self.graph.add_edge(subject, obj, relation=predicate)

    def get_subgraph_context(self, entity: str, depth: int = 2):
        # Traverse graph for related entities
        return nx.ego_graph(self.graph, entity, radius=depth)
```

---

## πŸ† COMBO 4: "MEMORY EVOLUTION" ⭐ TOP PICK

**Theme:** Memory that evolves and improves itself

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| Salience Gate (LIGHTWEIGHT mode) | memlayer | 3 pts | LOW |
| Decay & Reinforcement | memoripy | 3 pts | LOW |
| Frequency & Utility | ReMe | 3 pts | LOW |
| Auto-Pruning | ReMe | 3 pts | LOW |

**Total: 12 pts | LOW-MEDIUM effort**

### Why it's MAD:

```
STAGE 1: Salience Gate filters noise at INPUT
STAGE 2: Decay/Reinforcement adjusts scores at RETRIEVAL
STAGE 3: Frequency/Utility tracks VALUE over time
STAGE 4: Auto-Pruning DELETES low-value memories

Result: FULL LIFECYCLE MANAGEMENT - from birth to death!
```

### The Pitch:
> "MemU memories now have a LIFECYCLE - they're born, they grow, they age, they die!"

### Memory Lifecycle Diagram:

```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    MEMORY LIFECYCLE                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                  β”‚
β”‚   INPUT ──► [SALIENCE GATE] ──► SAVE or REJECT                  β”‚
β”‚                    β”‚                                             β”‚
β”‚                    β–Ό                                             β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                         β”‚
β”‚              β”‚ MEMORY  β”‚ ◄── access_count, last_accessed        β”‚
β”‚              β”‚  ITEM   β”‚ ◄── freq, utility, salience_score      β”‚
β”‚              β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜                                         β”‚
β”‚                   β”‚                                              β”‚
β”‚         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”                                      β”‚
β”‚         β–Ό                 β–Ό                                      β”‚
β”‚   [RETRIEVAL]       [BACKGROUND]                                 β”‚
β”‚         β”‚                 β”‚                                      β”‚
β”‚   decay_factor      auto_prune()                                 β”‚
β”‚   reinforcement     if utility/freq < threshold                  β”‚
β”‚         β”‚                 β”‚                                      β”‚
β”‚         β–Ό                 β–Ό                                      β”‚
β”‚   BOOSTED SCORE     DELETE MEMORY                                β”‚
β”‚                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

---

## πŸ“Š COMPARISON TABLE

| Combo | Points | Effort | WOW Factor | Complexity | Recommendation |
|-------|--------|--------|------------|------------|----------------|
| 1. Intelligent Lifecycle | 9 | LOW | ⭐⭐⭐⭐ | LOW | βœ… SAFE BET |
| 2. Smart Gate | 9-11 | MEDIUM | ⭐⭐⭐⭐ | MEDIUM | βœ… GOOD |
| 3. Knowledge Brain | 11 | HIGH | ⭐⭐⭐⭐⭐ | HIGH | ⚠️ RISKY |
| 4. Memory Evolution | 12 | LOW-MED | ⭐⭐⭐⭐⭐ | MEDIUM | πŸ† **BEST COMBO** |

---

## 🎯 RECOMMENDATION: COMBO 4 "MEMORY EVOLUTION"

### Why This Combo Wins:

1. **12 points** - highest point potential
2. **LOW-MEDIUM effort** - achievable in hackathon timeframe
3. **4 features that SYNERGIZE** - each builds on the other
4. **UNIQUE story** - "memory lifecycle" is a compelling narrative
5. **Easy to demo** - show memory being filtered, decaying, getting pruned

### Implementation Order:

```
Step 1: Add fields to MemoryItem model
        - access_count: int = 0
        - last_accessed: datetime
        - freq: int = 0
        - utility: int = 0
        - salience_score: float = 0.0

Step 2: Implement lightweight salience gate (keyword-based, no ML)
        - SALIENT_KEYWORDS list
        - NON_SALIENT_KEYWORDS list
        - is_worth_saving() function

Step 3: Implement decay-aware retrieval
        - Modify cosine_topk() to apply decay formula
        - Update access_count and last_accessed on retrieval

Step 4: Implement frequency/utility tracking
        - Increment freq on every retrieval
        - Increment utility when memory contributes to response

Step 5: Implement auto-pruning
        - Background check for low utility/freq ratio
        - Delete memories below threshold
```

### Files to Modify:

```
memU/src/memu/database/models.py          # Add new fields
memU/src/memu/database/inmemory/vector.py # Decay-aware retrieval
memU/src/memu/app/memorize.py             # Salience gate
memU/src/memu/app/retrieve.py             # Frequency/utility tracking
memU/src/memu/app/service.py              # Auto-pruning service
```

---

## πŸ“š Reference Implementations

### From memoripy (Decay & Reinforcement):
- File: `prospects/memoripy/memoripy/memory_store.py`
- Key functions: `retrieve()`, `classify_memory()`

### From memlayer (Salience Gate):
- File: `prospects/memlayer/memlayer/ml_gate.py`
- Key class: `SalienceGate`

### From ReMe (Frequency & Utility):
- Files:
  - `prospects/ReMe/reme_ai/vector_store/update_memory_freq_op.py`
  - `prospects/ReMe/reme_ai/vector_store/update_memory_utility_op.py`
  - `prospects/ReMe/reme_ai/vector_store/delete_memory_op.py`

---

## πŸš€ Ready to Implement?

Choose your combo and let's build! πŸ”₯


## πŸ† UPDATED MAD COMBOS (After Deep Scan)

---

## πŸ† COMBO 1: "INTELLIGENT MEMORY LIFECYCLE"

**Theme:** Memory that learns, ages, and self-curates like human memory

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| Decay & Reinforcement | memoripy | 3 pts | LOW |
| Frequency & Utility Tracking | ReMe | 3 pts | LOW |
| Auto-Pruning Low-Value Memories | ReMe | 3 pts | LOW |

**Total: 9 pts | LOW-MEDIUM effort**

### Why it's MAD:

```
Memory accessed often β†’ gets STRONGER (reinforcement)
Memory ignored β†’ gets WEAKER (decay)
Memory with low utility/freq ratio β†’ gets DELETED automatically

Result: Self-healing, self-optimizing memory that mimics human forgetting!
```

### The Pitch:
> "MemU now has HUMAN-LIKE memory - it remembers what matters and forgets what doesn't!"

---

## πŸ† COMBO 2: "SMART MEMORY GATE"

**Theme:** Don't save garbage, only save gold

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| Salience Filtering | memlayer | 3-5 pts | MEDIUM |
| Decay & Reinforcement | memoripy | 3 pts | LOW |
| Background Curation Service | memlayer | 3 pts | MEDIUM |

**Total: 9-11 pts | MEDIUM effort**

### Why it's MAD:

```
INPUT: "Hello!" β†’ BLOCKED (not salient)
INPUT: "My name is John, I work at Google" β†’ SAVED (salient)
BACKGROUND: Old unused memories β†’ AUTO-ARCHIVED
RETRIEVAL: Frequently accessed β†’ BOOSTED

Result: Clean, high-quality memory that doesn't bloat!
```

### The Pitch:
> "MemU now has a BOUNCER - only important memories get in, garbage stays out!"

---

## πŸ† COMBO 3: "KNOWLEDGE BRAIN"

**Theme:** Memory that understands relationships

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| Knowledge Graph (NetworkX) | memlayer | 5 pts | HIGH |
| Entity Extraction & Deduplication | memlayer | 3 pts | MEDIUM |
| Graph Traversal Retrieval | memlayer | 3 pts | MEDIUM |

**Total: 11 pts | HIGH effort**

### Why it's MAD:

```
INPUT: "John works at Google. Sarah is John's wife."

GRAPH:
    John --[works_at]--> Google
    John --[married_to]--> Sarah

QUERY: "Who is related to Google?"
RESULT: John (works there), Sarah (married to John who works there)

Result: Memory that REASONS about relationships!
```

### The Pitch:
> "MemU now has a BRAIN - it understands how things connect!"

---

## πŸ† COMBO 4: "MEMORY EVOLUTION" ⭐ TOP PICK

**Theme:** Memory that evolves and improves itself

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| Salience Gate (LIGHTWEIGHT mode) | memlayer | 3 pts | LOW |
| Decay & Reinforcement | memoripy | 3 pts | LOW |
| Frequency & Utility | ReMe | 3 pts | LOW |
| Auto-Pruning | ReMe | 3 pts | LOW |

**Total: 12 pts | LOW-MEDIUM effort**

### Why it's MAD:

```
STAGE 1: Salience Gate filters noise at INPUT
STAGE 2: Decay/Reinforcement adjusts scores at RETRIEVAL
STAGE 3: Frequency/Utility tracks VALUE over time
STAGE 4: Auto-Pruning DELETES low-value memories

Result: FULL LIFECYCLE MANAGEMENT - from birth to death!
```

### The Pitch:
> "MemU memories now have a LIFECYCLE - they're born, they grow, they age, they die!"

---

## πŸ† COMBO 5: "MEMORY TYPES" (NEW!)

**Theme:** Different memory types for different purposes

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| TaskMemory type | ReMe | 3 pts | MEDIUM |
| PersonalMemory type | ReMe | 3 pts | MEDIUM |
| ToolMemory type | ReMe | 5 pts | HIGH |
| Memory Deduplication | ReMe | 3 pts | MEDIUM |

**Total: 14 pts | MEDIUM-HIGH effort**

### Why it's MAD:

```
TaskMemory: "Complete the report by Friday"
  - when_to_use: "When user asks about deadlines"
  - content: "Report due Friday"

PersonalMemory: "User prefers dark mode"
  - target: "user_preferences"
  - reflection_subject: "ui_settings"

ToolMemory: "file_reader tool usage history"
  - tool_call_results: [...]
  - statistics: {avg_token_cost, success_rate, avg_score}

Result: Specialized memory for specialized tasks!
```

### The Pitch:
> "MemU now has SPECIALIZED MEMORY - task memory, personal memory, tool memory!"

---

## πŸ† COMBO 6: "WORKING MEMORY COMPRESSION" (NEW!)

**Theme:** Handle long conversations without losing context

| Component | Source | Points | Effort |
|-----------|--------|--------|--------|
| MessageCompressOp | ReMe | 3 pts | MEDIUM |
| MessageCompactOp | ReMe | 3 pts | MEDIUM |
| MessageOffloadOp | ReMe | 3 pts | MEDIUM |

**Total: 9 pts | MEDIUM effort**

### Why it's MAD:

```
LONG CONVERSATION (50k tokens) β†’ COMPRESS β†’ STATE SNAPSHOT (5k tokens)

Modes:
- COMPACT: Store full content externally, keep short previews
- COMPRESS: LLM-based compression to generate dense summaries
- AUTO: Compact first, then compress if needed

Result: Handle infinite conversations without context overflow!
```

### The Pitch:
> "MemU now handles INFINITE conversations - compress, compact, never forget!"

---

## πŸ“Š UPDATED COMPARISON TABLE

| Combo | Points | Effort | WOW Factor | Complexity | Recommendation |
|-------|--------|--------|------------|------------|----------------|
| 1. Intelligent Lifecycle | 9 | LOW | ⭐⭐⭐⭐ | LOW | βœ… SAFE BET |
| 2. Smart Gate | 9-11 | MEDIUM | ⭐⭐⭐⭐ | MEDIUM | βœ… GOOD |
| 3. Knowledge Brain | 11 | HIGH | ⭐⭐⭐⭐⭐ | HIGH | ⚠️ RISKY |
| 4. Memory Evolution | 12 | LOW-MED | ⭐⭐⭐⭐⭐ | MEDIUM | πŸ† **BEST COMBO** |
| 5. Memory Types | 14 | MED-HIGH | ⭐⭐⭐⭐⭐ | HIGH | πŸ”₯ HIGH POINTS |
| 6. Working Memory | 9 | MEDIUM | ⭐⭐⭐⭐ | MEDIUM | βœ… GOOD |

---

## 🎯 FINAL RECOMMENDATION

### For MAX POINTS with REASONABLE EFFORT: **COMBO 4 "MEMORY EVOLUTION"**

**Why?**
1. **12 points** - highest point potential for effort
2. **LOW-MEDIUM effort** - achievable in hackathon timeframe
3. **4 features that SYNERGIZE** - each builds on the other
4. **UNIQUE story** - "memory lifecycle" is a compelling narrative
5. **Easy to demo** - show memory being filtered, decaying, getting pruned

### Implementation Order:

```
Step 1: Add fields to MemoryItem model
        - access_count: int = 0
        - last_accessed: datetime
        - freq: int = 0
        - utility: int = 0
        - salience_score: float = 0.0

Step 2: Implement lightweight salience gate (keyword-based, no ML)
        - SALIENT_KEYWORDS list
        - NON_SALIENT_KEYWORDS list
        - is_worth_saving() function

Step 3: Implement decay-aware retrieval
        - Modify cosine_topk() to apply decay formula
        - Update access_count and last_accessed on retrieval

Step 4: Implement frequency/utility tracking
        - Increment freq on every retrieval
        - Increment utility when memory contributes to response

Step 5: Implement auto-pruning
        - Background check for low utility/freq ratio
        - Delete memories below threshold
```

### Files to Modify:

```
memU/src/memu/database/models.py          # Add new fields
memU/src/memu/database/inmemory/vector.py # Decay-aware retrieval
memU/src/memu/app/memorize.py             # Salience gate
memU/src/memu/app/retrieve.py             # Frequency/utility tracking
memU/src/memu/app/service.py              # Auto-pruning service
```

---

## πŸ“š Reference Implementations

### From memoripy (Decay & Reinforcement):
- File: `prospects/memoripy/memoripy/memory_store.py`
- Key functions: `retrieve()`, `classify_memory()`

### From memlayer (Salience Gate + Knowledge Graph):
- File: `prospects/memlayer/memlayer/ml_gate.py` - SalienceGate
- File: `prospects/memlayer/memlayer/storage/networkx.py` - Knowledge Graph
- File: `prospects/memlayer/memlayer/services.py` - CurationService

### From ReMe (Frequency & Utility + Memory Types):
- File: `prospects/ReMe/reme_ai/vector_store/update_memory_freq_op.py`
- File: `prospects/ReMe/reme_ai/vector_store/update_memory_utility_op.py`
- File: `prospects/ReMe/reme_ai/vector_store/delete_memory_op.py`
- File: `prospects/ReMe/reme_ai/schema/memory.py` - Memory types
- File: `prospects/ReMe/reme_ai/summary/task/memory_deduplication_op.py`
- File: `prospects/ReMe/reme_ai/summary/working/` - Working memory ops

### From MemOS (Scheduler):
- File: `prospects/MemOS/src/memos/mem_scheduler/base_scheduler.py`

---

## πŸš€ Ready to Implement?

Choose your combo and let's build! πŸ”₯

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.