@yemi33/minions 0.1.2422 → 0.1.2423
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/docs/demo/memory-system.html +171 -0
- package/package.json +1 -1
|
@@ -369,6 +369,109 @@
|
|
|
369
369
|
.thesis p { margin: 0; color: var(--muted); }
|
|
370
370
|
.thesis strong { color: var(--text); }
|
|
371
371
|
|
|
372
|
+
.evolution-timeline {
|
|
373
|
+
display: grid;
|
|
374
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
375
|
+
gap: 16px;
|
|
376
|
+
margin: 0;
|
|
377
|
+
padding: 0;
|
|
378
|
+
list-style: none;
|
|
379
|
+
}
|
|
380
|
+
.evolution-stage {
|
|
381
|
+
position: relative;
|
|
382
|
+
display: flex;
|
|
383
|
+
min-width: 0;
|
|
384
|
+
}
|
|
385
|
+
.evolution-stage:not(:last-child)::after {
|
|
386
|
+
content: "\2192";
|
|
387
|
+
position: absolute;
|
|
388
|
+
top: 25px;
|
|
389
|
+
right: -14px;
|
|
390
|
+
z-index: 2;
|
|
391
|
+
display: grid;
|
|
392
|
+
width: 12px;
|
|
393
|
+
height: 24px;
|
|
394
|
+
place-items: center;
|
|
395
|
+
background: var(--bg);
|
|
396
|
+
color: var(--muted);
|
|
397
|
+
font-size: 0.88rem;
|
|
398
|
+
font-weight: 900;
|
|
399
|
+
}
|
|
400
|
+
.evolution-card {
|
|
401
|
+
position: relative;
|
|
402
|
+
width: 100%;
|
|
403
|
+
min-width: 0;
|
|
404
|
+
padding: 23px;
|
|
405
|
+
overflow-wrap: anywhere;
|
|
406
|
+
border: 1px solid var(--border);
|
|
407
|
+
border-radius: var(--radius-lg);
|
|
408
|
+
background: var(--surface-strong);
|
|
409
|
+
}
|
|
410
|
+
.evolution-card::before {
|
|
411
|
+
content: "";
|
|
412
|
+
position: absolute;
|
|
413
|
+
inset: 0 0 auto;
|
|
414
|
+
height: 3px;
|
|
415
|
+
border-radius: var(--radius-lg) var(--radius-lg) 0 0;
|
|
416
|
+
background: var(--blue);
|
|
417
|
+
}
|
|
418
|
+
.evolution-stage:nth-child(2) .evolution-card::before { background: var(--green); }
|
|
419
|
+
.evolution-stage:nth-child(3) .evolution-card::before { background: var(--purple); }
|
|
420
|
+
.evolution-stage:nth-child(4) .evolution-card::before { background: var(--yellow); }
|
|
421
|
+
.evolution-stage:nth-child(4) .evolution-card {
|
|
422
|
+
border-color: rgba(210, 153, 34, 0.42);
|
|
423
|
+
background: linear-gradient(145deg, rgba(210, 153, 34, 0.08), var(--surface-strong));
|
|
424
|
+
}
|
|
425
|
+
.evolution-meta {
|
|
426
|
+
display: flex;
|
|
427
|
+
align-items: center;
|
|
428
|
+
justify-content: space-between;
|
|
429
|
+
gap: 10px;
|
|
430
|
+
margin-bottom: 20px;
|
|
431
|
+
}
|
|
432
|
+
.evolution-index {
|
|
433
|
+
display: grid;
|
|
434
|
+
width: 34px;
|
|
435
|
+
height: 34px;
|
|
436
|
+
flex: 0 0 auto;
|
|
437
|
+
place-items: center;
|
|
438
|
+
border-radius: var(--radius-md);
|
|
439
|
+
background: rgba(88, 166, 255, 0.12);
|
|
440
|
+
color: var(--blue);
|
|
441
|
+
font-size: 0.76rem;
|
|
442
|
+
font-weight: 950;
|
|
443
|
+
}
|
|
444
|
+
.evolution-date {
|
|
445
|
+
color: var(--muted);
|
|
446
|
+
font-size: 0.72rem;
|
|
447
|
+
font-weight: 850;
|
|
448
|
+
letter-spacing: 0.08em;
|
|
449
|
+
text-align: right;
|
|
450
|
+
text-transform: uppercase;
|
|
451
|
+
}
|
|
452
|
+
.evolution-card h3 { margin-bottom: 13px; font-size: 1.12rem; }
|
|
453
|
+
.evolution-card > p { color: var(--muted); font-size: 0.86rem; }
|
|
454
|
+
.evolution-problem {
|
|
455
|
+
padding-bottom: 14px;
|
|
456
|
+
border-bottom: 1px solid var(--border);
|
|
457
|
+
}
|
|
458
|
+
.evolution-card strong { color: var(--text); }
|
|
459
|
+
.evolution-current {
|
|
460
|
+
margin: 18px 0 0;
|
|
461
|
+
padding: 13px 14px;
|
|
462
|
+
border-radius: var(--radius-md);
|
|
463
|
+
background: rgba(88, 166, 255, 0.07);
|
|
464
|
+
}
|
|
465
|
+
.evolution-stage:nth-child(2) .evolution-current { background: rgba(63, 185, 80, 0.07); }
|
|
466
|
+
.evolution-stage:nth-child(3) .evolution-current { background: rgba(188, 140, 255, 0.08); }
|
|
467
|
+
.evolution-stage:nth-child(4) .evolution-current { background: rgba(210, 153, 34, 0.09); }
|
|
468
|
+
.evolution-source {
|
|
469
|
+
margin: 18px 0 0;
|
|
470
|
+
color: var(--muted);
|
|
471
|
+
font-size: 0.78rem;
|
|
472
|
+
text-align: right;
|
|
473
|
+
}
|
|
474
|
+
|
|
372
475
|
.journey-shell {
|
|
373
476
|
--journey-progress: 0%;
|
|
374
477
|
position: relative;
|
|
@@ -854,6 +957,8 @@
|
|
|
854
957
|
.journey-panel { grid-template-columns: 1fr; }
|
|
855
958
|
.map-shell, .prompt-layout { grid-template-columns: 1fr; }
|
|
856
959
|
.map-details { min-height: 0; }
|
|
960
|
+
.evolution-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
961
|
+
.evolution-stage:not(:last-child)::after { display: none; }
|
|
857
962
|
.controls-grid { grid-template-columns: 1fr; }
|
|
858
963
|
}
|
|
859
964
|
|
|
@@ -894,6 +999,8 @@
|
|
|
894
999
|
.map-arrow-4 { transform: rotate(90deg); }
|
|
895
1000
|
.map-down { display: none; }
|
|
896
1001
|
.map-down-2, .map-down-3 { transform: none; }
|
|
1002
|
+
.evolution-timeline { grid-template-columns: 1fr; }
|
|
1003
|
+
.evolution-card { padding: 21px; }
|
|
897
1004
|
.mode-grid, .security-card, .bounds-grid, .surface-strip, .trouble-grid { grid-template-columns: 1fr; }
|
|
898
1005
|
.mode-note, .limitation { grid-column: auto; }
|
|
899
1006
|
.control-card dl { grid-template-columns: 1fr; gap: 2px; }
|
|
@@ -920,6 +1027,7 @@
|
|
|
920
1027
|
<span>Minions Memory</span>
|
|
921
1028
|
</a>
|
|
922
1029
|
<div class="nav-links">
|
|
1030
|
+
<a href="#memory-evolution">Evolution</a>
|
|
923
1031
|
<a href="#memory-journey">Journey</a>
|
|
924
1032
|
<a href="#architecture-map">System map</a>
|
|
925
1033
|
<a href="#prompt-assembly">Prompt</a>
|
|
@@ -987,6 +1095,69 @@
|
|
|
987
1095
|
</div>
|
|
988
1096
|
</section>
|
|
989
1097
|
|
|
1098
|
+
<section class="section" id="memory-evolution" aria-labelledby="evolution-heading">
|
|
1099
|
+
<div class="section-heading">
|
|
1100
|
+
<p class="eyebrow">Evolution, verified in repository history</p>
|
|
1101
|
+
<h2 id="evolution-heading">How memory grew with the problems it had to solve.</h2>
|
|
1102
|
+
<p>Each layer stayed useful after the next one arrived. The current system keeps readable files, adds focused retrieval, and falls back deliberately instead of treating older paths as obsolete.</p>
|
|
1103
|
+
</div>
|
|
1104
|
+
|
|
1105
|
+
<ol class="evolution-timeline" aria-label="Memory system evolution">
|
|
1106
|
+
<li class="evolution-stage" data-memory-era="shared">
|
|
1107
|
+
<article class="evolution-card" aria-labelledby="evolution-shared-title">
|
|
1108
|
+
<div class="evolution-meta">
|
|
1109
|
+
<span class="evolution-index" aria-hidden="true">01</span>
|
|
1110
|
+
<time class="evolution-date" datetime="2026-03">March 2026</time>
|
|
1111
|
+
</div>
|
|
1112
|
+
<h3 id="evolution-shared-title">Shared team memory</h3>
|
|
1113
|
+
<p class="evolution-problem"><strong>Problem solved:</strong> useful findings were scattered across individual task outputs.</p>
|
|
1114
|
+
<p>Inbox consolidation turned agent and human notes into a deduplicated, readable team digest in <span class="code-chip">notes.md</span>, while preserving source notes in the archive.</p>
|
|
1115
|
+
<p class="evolution-current"><strong>Current role:</strong> consolidation still maintains the team-readable record; the digest is also the team half of the legacy prompt path.</p>
|
|
1116
|
+
</article>
|
|
1117
|
+
</li>
|
|
1118
|
+
|
|
1119
|
+
<li class="evolution-stage" data-memory-era="personal">
|
|
1120
|
+
<article class="evolution-card" aria-labelledby="evolution-personal-title">
|
|
1121
|
+
<div class="evolution-meta">
|
|
1122
|
+
<span class="evolution-index" aria-hidden="true">02</span>
|
|
1123
|
+
<time class="evolution-date" datetime="2026-05">May 2026</time>
|
|
1124
|
+
</div>
|
|
1125
|
+
<h3 id="evolution-personal-title">Personal routing</h3>
|
|
1126
|
+
<p class="evolution-problem"><strong>Problem solved:</strong> one shared digest gave every specialist the same broad history.</p>
|
|
1127
|
+
<p>Consolidation began routing configured, non-temporary authors' findings into <span class="code-chip">knowledge/agents/<agent>.md</span>, using YAML identity with a filename fallback.</p>
|
|
1128
|
+
<p class="evolution-current"><strong>Current role:</strong> these notebooks remain readable and maintained, but broad prompt injection is now a fallback rather than the default recall strategy.</p>
|
|
1129
|
+
</article>
|
|
1130
|
+
</li>
|
|
1131
|
+
|
|
1132
|
+
<li class="evolution-stage" data-memory-era="retrieval">
|
|
1133
|
+
<article class="evolution-card" aria-labelledby="evolution-retrieval-title">
|
|
1134
|
+
<div class="evolution-meta">
|
|
1135
|
+
<span class="evolution-index" aria-hidden="true">03</span>
|
|
1136
|
+
<time class="evolution-date" datetime="2026-07">July 2026</time>
|
|
1137
|
+
</div>
|
|
1138
|
+
<h3 id="evolution-retrieval-title">Structured recall</h3>
|
|
1139
|
+
<p class="evolution-problem"><strong>Problem solved:</strong> growing team and personal files spent prompt space on history unrelated to the task.</p>
|
|
1140
|
+
<p>Migration 017 added scoped SQL records and FTS5 search. Retrieval now reranks task matches and builds a bounded <strong>Relevant Memory</strong> pack with provenance, then wraps it in an <span class="code-chip">UNTRUSTED-INPUT</span> fence.</p>
|
|
1141
|
+
<p class="evolution-current"><strong>Current default:</strong> retrieval is enabled with shadow mode off and may select up to 8 records within 8,192 bytes; pinned context remains first.</p>
|
|
1142
|
+
</article>
|
|
1143
|
+
</li>
|
|
1144
|
+
|
|
1145
|
+
<li class="evolution-stage" data-memory-era="current">
|
|
1146
|
+
<article class="evolution-card" aria-labelledby="evolution-current-title">
|
|
1147
|
+
<div class="evolution-meta">
|
|
1148
|
+
<span class="evolution-index" aria-hidden="true">04</span>
|
|
1149
|
+
<time class="evolution-date" datetime="2026-07">July 2026 to now</time>
|
|
1150
|
+
</div>
|
|
1151
|
+
<h3 id="evolution-current-title">Outcome capture and fallback</h3>
|
|
1152
|
+
<p class="evolution-problem"><strong>Problem solved:</strong> authored notes did not consistently preserve the normalized result of every task.</p>
|
|
1153
|
+
<p><strong>Opt-in</strong> <span class="code-chip">memoryEpisodicCapture</span> stores compact success, partial, or failure outcomes in SQL instead of intentionally collecting transcripts or chain-of-thought. It remains off by default; without a structured summary, a redacted, truncated stdout fallback can include transcript-like text.</p>
|
|
1154
|
+
<p class="evolution-current"><strong>Legacy fallback:</strong> when retrieval is off, shadowed, empty, or errors, prompt assembly uses bounded <span class="code-chip">notes.md</span> plus the assigned agent's notebook. Episode capture does not replace either file.</p>
|
|
1155
|
+
</article>
|
|
1156
|
+
</li>
|
|
1157
|
+
</ol>
|
|
1158
|
+
<p class="evolution-source">Milestone months follow the commits that introduced each capability; behavior labels describe the current implementation.</p>
|
|
1159
|
+
</section>
|
|
1160
|
+
|
|
990
1161
|
<section class="section" id="memory-journey" aria-labelledby="journey-heading">
|
|
991
1162
|
<div class="section-heading">
|
|
992
1163
|
<p class="eyebrow">End-to-end data flow</p>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2423",
|
|
4
4
|
"description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
|
|
5
5
|
"bin": {
|
|
6
6
|
"minions": "bin/minions.js"
|