arkaos 2.17.4 → 2.17.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 2.17.4
1
+ 2.17.5
@@ -83,7 +83,30 @@ Full advisor profile: all 4 DNA frameworks, mental models with key questions, co
83
83
 
84
84
  ## The 20 Advisors
85
85
 
86
- Full table with DNA, specialty, and challenge dimension per advisor: `references/advisors.md`
86
+ | # | Name | DNA | Specialty |
87
+ |---|------|-----|-----------|
88
+ | 1 | Charlie Munger | C+D, 5w6, ISTJ | Inversion, mental models |
89
+ | 2 | Ray Dalio | D+C, 5w6, INTJ | Principles, radical transparency |
90
+ | 3 | Naval Ravikant | C+D, 5w6, INTP | Leverage, first principles |
91
+ | 4 | Elon Musk | D+C, 8w7, INTJ | First principles physics, 10x |
92
+ | 5 | Steve Jobs | D+I, 3w4, ENTJ | Simplicity, taste, A-players |
93
+ | 6 | Simon Sinek | I+S, 2w1, ENFJ | Golden Circle, purpose |
94
+ | 7 | Brene Brown | I+S, 4w3, ENFP | Vulnerability, courage |
95
+ | 8 | Peter Drucker | C+S, 1w9, INTJ | Effectiveness, MBO |
96
+ | 9 | Jeff Bezos | D+C, 3w2, ENTJ | Day 1, working backwards |
97
+ | 10 | Derek Sivers | S+C, 9w1, INFP | Hell Yeah or No, simplicity |
98
+ | 11 | Nassim Taleb | D+C, 8w7, INTJ | Antifragility, barbell |
99
+ | 12 | Seth Godin | I+C, 7w6, ENFP | Purple Cow, permission |
100
+ | 13 | Patrick Lencioni | I+S, 2w1, ENFJ | Five Dysfunctions, trust |
101
+ | 14 | Warren Buffett | S+C, 5w6, ISTJ | Circle of competence, moats |
102
+ | 15 | Reed Hastings | D+I, 7w8, ENTJ | Talent density, freedom |
103
+ | 16 | Marty Cagan | C+I, 1w2, INTJ | Empowered teams, discovery |
104
+ | 17 | Alex Hormozi | D+C, 8w7, ENTJ | Value equation, Grand Slam |
105
+ | 18 | April Dunford | C+I, 5w6, INTP | Positioning, 5 components |
106
+ | 19 | James Clear | S+C, 1w9, INFJ | Atomic Habits, systems |
107
+ | 20 | Tim Ferriss | D+I, 7w8, ENTP | Fear-setting, 80/20 |
108
+
109
+ Full details + challenge dimensions: `references/advisors.md`
87
110
 
88
111
  ## Advisor Response Examples
89
112
 
@@ -128,8 +128,8 @@ class KBSessionCache:
128
128
  session_id: str,
129
129
  project_path: Optional[str] = None,
130
130
  cache_dir: Optional[str] = None,
131
- max_entries: int = 50,
132
- ttl_seconds: int = 1800,
131
+ max_entries: int = 150,
132
+ ttl_seconds: int = 5400,
133
133
  ) -> None:
134
134
  self._session_id = session_id
135
135
  self._max_entries = max_entries
@@ -248,6 +248,8 @@ class KBSessionCache:
248
248
  "entry_count": len(cache) - 1,
249
249
  }
250
250
 
251
+ cache = self._evict_expired(cache)
252
+
251
253
  if len(cache) - 1 > self._max_entries:
252
254
  cache = self._evict_oldest(cache)
253
255
 
@@ -320,6 +322,19 @@ class KBSessionCache:
320
322
  topics = self.extract_topics(query)
321
323
  return self.retrieve(topics=topics, threshold=threshold)
322
324
 
325
+ def _evict_expired(self, cache: dict[str, Any]) -> dict[str, Any]:
326
+ """Evict expired entries on every store to prevent accumulation."""
327
+ now = time.time()
328
+ keep_entries = {"_meta": cache.get("_meta", {})}
329
+ for k, v in cache.items():
330
+ if k == "_meta":
331
+ continue
332
+ age = now - v.get("timestamp", 0)
333
+ if age > self._ttl_seconds:
334
+ continue
335
+ keep_entries[k] = v
336
+ return keep_entries
337
+
323
338
  def _evict_oldest(self, cache: dict[str, Any]) -> dict[str, Any]:
324
339
  """Evict oldest entries when cache exceeds max_entries."""
325
340
  entries = [(k, v) for k, v in cache.items() if k != "_meta"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkaos",
3
- "version": "2.17.4",
3
+ "version": "2.17.5",
4
4
  "description": "The Operating System for AI Agent Teams",
5
5
  "type": "module",
6
6
  "bin": {