eklavya 1.76.0 → 1.78.0
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/README.md +1 -1
- package/dist/assets/artifact-template.html +15 -0
- package/dist/assets/dashboard.html +23 -15
- package/dist/assets/tokens.css +22 -0
- package/dist/eval/explainer-score.js +1 -1
- package/dist/eval/explainer-score.js.map +1 -1
- package/dist/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/plugin/agents/explainer.md +11 -5
- package/dist/user-skill/eklavya-artifacts/SKILL.md +132 -20
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -122,7 +122,7 @@ npx eklavya --version
|
|
|
122
122
|
|
|
123
123
|
The [CLI reference](https://eklavya-run.web.app/docs/cli/) lists all commands and
|
|
124
124
|
flags. `feedback generate` reviews one of your earlier prompts, using what your later prompts in that session had to add, when `feedback.enabled`,
|
|
125
|
-
memory and `providers.observer` are set. Once a day, after your first answer, the Learning dashboard opens one card on arrival (a milestone, a welcome back, the most overdue concept and so on), chosen by the engine in `assets/daily-card.cjs`; the Daily card switch on Settings, Companion, turns it off. The dashboard reads the database (its Concepts page shows each concept's tags and filters by one with `?tag=`) and has five guarded writes: a setting
|
|
125
|
+
memory and `providers.observer` are set. Once a day, after your first answer, the Learning dashboard opens one card on arrival (a milestone, a welcome back, the most overdue concept and so on), chosen by the engine in `assets/daily-card.cjs`; the Daily card switch on Settings, Companion, turns it off. Dashboard counts of 1,000 or more read short (1K, 1.2K, 1M). The dashboard reads the database (its Concepts page shows each concept's tags and filters by one with `?tag=`) and has five guarded writes: a setting
|
|
126
126
|
change, a correction of a missed answer (which can also complete a level), and acknowledging, deleting or counting the opening of a
|
|
127
127
|
feedback item (`POST /api/feedback/acknowledge`, `/delete`, `/opened`; the reads are `GET /api/feedback` and `/api/feedback/list`). An open page listens to
|
|
128
128
|
`GET /api/events`, a stream of the change cursor (a counter that moves on every
|
|
@@ -115,6 +115,21 @@
|
|
|
115
115
|
.svg-line-spot{stroke:var(--spot);stroke-width:1.5;fill:none}
|
|
116
116
|
.svg-label{font:500 13px var(--font-body);fill:var(--ink)}
|
|
117
117
|
.svg-small{font:11px var(--font-mono);fill:var(--dim)}
|
|
118
|
+
/* Diagram categories: a colour names a group (an actor, a layer, a phase) and always
|
|
119
|
+
sits next to a text label. Roles only; never a hex in a diagram. */
|
|
120
|
+
.svg-box-1{fill:var(--viz-1-soft);stroke:var(--viz-1);stroke-width:1.5} .svg-line-1{stroke:var(--viz-1);stroke-width:1.5;fill:none} .svg-bar-1{fill:var(--viz-1);stroke:none} .svg-text-1{font:600 13px var(--font-body);fill:var(--viz-1)} .svg-head-1{fill:var(--viz-1)}
|
|
121
|
+
.svg-box-2{fill:var(--viz-2-soft);stroke:var(--viz-2);stroke-width:1.5} .svg-line-2{stroke:var(--viz-2);stroke-width:1.5;fill:none} .svg-bar-2{fill:var(--viz-2);stroke:none} .svg-text-2{font:600 13px var(--font-body);fill:var(--viz-2)} .svg-head-2{fill:var(--viz-2)}
|
|
122
|
+
.svg-box-3{fill:var(--viz-3-soft);stroke:var(--viz-3);stroke-width:1.5} .svg-line-3{stroke:var(--viz-3);stroke-width:1.5;fill:none} .svg-bar-3{fill:var(--viz-3);stroke:none} .svg-text-3{font:600 13px var(--font-body);fill:var(--viz-3)} .svg-head-3{fill:var(--viz-3)}
|
|
123
|
+
.svg-box-4{fill:var(--viz-4-soft);stroke:var(--viz-4);stroke-width:1.5} .svg-line-4{stroke:var(--viz-4);stroke-width:1.5;fill:none} .svg-bar-4{fill:var(--viz-4);stroke:none} .svg-text-4{font:600 13px var(--font-body);fill:var(--viz-4)} .svg-head-4{fill:var(--viz-4)}
|
|
124
|
+
.svg-box-5{fill:var(--viz-5-soft);stroke:var(--viz-5);stroke-width:1.5} .svg-line-5{stroke:var(--viz-5);stroke-width:1.5;fill:none} .svg-bar-5{fill:var(--viz-5);stroke:none} .svg-text-5{font:600 13px var(--font-body);fill:var(--viz-5)} .svg-head-5{fill:var(--viz-5)}
|
|
125
|
+
.svg-head{fill:var(--faint)}
|
|
126
|
+
.svg-lane{fill:var(--panel);stroke:var(--line-2);stroke-width:1}
|
|
127
|
+
.svg-chip{fill:var(--mass);stroke:var(--line-2);stroke-width:1}
|
|
128
|
+
.svg-axis{stroke:var(--faint);stroke-width:1;fill:none}
|
|
129
|
+
.svg-dash{stroke-dasharray:5 4}
|
|
130
|
+
.svg-life{stroke:var(--line-2);stroke-width:1.5;stroke-dasharray:4 4;fill:none}
|
|
131
|
+
.svg-bad{fill:color-mix(in srgb,var(--error) 12%,transparent);stroke:var(--error);stroke-width:1.5}
|
|
132
|
+
.svg-ok{fill:var(--spot-soft);stroke:var(--spot);stroke-width:1.5}
|
|
118
133
|
|
|
119
134
|
/* The lockup and footer mirror the site's .brand: mark on a --spot square, Archivo name. */
|
|
120
135
|
.brand{display:inline-flex;align-items:center;gap:10px;margin:0 0 40px;border:0;color:var(--ink)}
|
|
@@ -739,9 +739,9 @@
|
|
|
739
739
|
@keyframes toast-in { from { opacity:0; transform:translateY(10px); } }
|
|
740
740
|
/* The daily card (see DAILY): one native dialog, square, hairline, the archer on top. */
|
|
741
741
|
dialog.daily { width:min(440px, calc(100vw - 32px)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0;
|
|
742
|
-
border:1px solid var(--line-2); border-radius:0; background:var(--panel); color:var(--ink); box-shadow:var(--
|
|
742
|
+
border:1px solid var(--line-2); border-radius:0; background:var(--panel); color:var(--ink); box-shadow:0 0 0 1px var(--line-2), 0 24px 80px rgba(0,0,0,.6);
|
|
743
743
|
overflow-x:hidden; overflow-y:auto; }
|
|
744
|
-
dialog.daily::backdrop { background:color-mix(in srgb, var(--
|
|
744
|
+
dialog.daily::backdrop { background:color-mix(in srgb, var(--ink) 55%, transparent); backdrop-filter:blur(10px) saturate(.8); }
|
|
745
745
|
dialog.daily[open] { animation:daily-in var(--duration-slow) var(--ease); }
|
|
746
746
|
@keyframes daily-in { from { opacity:0; transform:translateY(16px); } }
|
|
747
747
|
.daily__x { position:absolute; top:var(--space-2); right:var(--space-2); width:32px; height:32px; display:grid; place-items:center;
|
|
@@ -761,8 +761,8 @@
|
|
|
761
761
|
.daily__btn--quiet { border-color:transparent; background:transparent; color:var(--dim); }
|
|
762
762
|
.say { position:relative; background:var(--bg); border:1.5px solid var(--ink); padding:10px 14px; max-width:260px; font:600 13.5px/1.4 var(--font-body);
|
|
763
763
|
margin-bottom:26px; }
|
|
764
|
-
.say::after { content:""; position:absolute;
|
|
765
|
-
border-
|
|
764
|
+
.say::after { content:""; position:absolute; left:-9px; bottom:14px; width:14px; height:14px; background:var(--bg);
|
|
765
|
+
border-left:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink); transform:rotate(45deg); }
|
|
766
766
|
.daily__row { display:flex; gap:var(--space-4); align-items:center; }
|
|
767
767
|
.daily__big { font:900 56px/.9 var(--font-disp); letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
|
|
768
768
|
.daily__lbl { font:500 10.5px/1 var(--font-mono); letter-spacing:.18em; text-transform:uppercase; color:var(--faint); }
|
|
@@ -798,6 +798,8 @@
|
|
|
798
798
|
@keyframes confetti { 0% { opacity:1; transform:translateY(0) rotate(0); } 100% { opacity:0; transform:translateY(480px) rotate(540deg); } }
|
|
799
799
|
.streak__talk { display:flex; align-items:flex-end; gap:var(--space-1); max-width:100%; }
|
|
800
800
|
.streak__talk .say { margin-bottom:30px; }
|
|
801
|
+
/* Here the archer stands to the right of the bubble, so its tail points right. */
|
|
802
|
+
.streak__talk .say::after { left:auto; right:-9px; border-left:0; border-bottom:0; border-right:1.5px solid var(--ink); border-top:1.5px solid var(--ink); }
|
|
801
803
|
@media (prefers-reduced-motion:reduce) { dialog.daily[open], .daily__flame.is-live { animation:none; }
|
|
802
804
|
.daily__ring .f, .daily__bar > b, .daily__bars i { transition:none; } .daily__confetti { display:none; } }
|
|
803
805
|
dialog.dlg { width:min(460px, calc(100vw - 32px)); margin:auto; padding:0; border:1px solid var(--line-2); border-radius:0;
|
|
@@ -1386,7 +1388,10 @@ const stamp = (ts) => {
|
|
|
1386
1388
|
return d.toLocaleDateString(undefined, { month:'short', day:'numeric' })
|
|
1387
1389
|
+ ', ' + d.toLocaleTimeString(undefined, { hour:'2-digit', minute:'2-digit' });
|
|
1388
1390
|
};
|
|
1389
|
-
|
|
1391
|
+
/** Counts of 1,000 and up read short: 1K, 1.2K, 1M. Below that, the number as it is. Strings pass through. */
|
|
1392
|
+
const COMPACT = new Intl.NumberFormat('en', { notation:'compact', maximumFractionDigits:1 });
|
|
1393
|
+
const fmtN = (n) => (typeof n === 'number' && Math.abs(n) >= 1000 ? COMPACT.format(n) : n);
|
|
1394
|
+
const plural = (n, w) => `${fmtN(n)} ${w}${n === 1 ? '' : 's'}`;
|
|
1390
1395
|
|
|
1391
1396
|
const TIER = { 1:'recall', 2:'mechanism', 3:'judgement', 4:'failure modes', 5:'design' };
|
|
1392
1397
|
const tierLabel = (t) => `T${t}${TIER[t] ? ' ' + TIER[t] : ''}`;
|
|
@@ -1717,7 +1722,7 @@ const statePill = (c) =>
|
|
|
1717
1722
|
function tiles(items) {
|
|
1718
1723
|
return `<div class="stats">` + items.map(([k, v, n, kind, go]) =>
|
|
1719
1724
|
`<div class="tile${kind ? ' is-' + kind : ''}"${go ? ` data-go="${esc(go)}" tabindex="0" role="link"` : ''}>`
|
|
1720
|
-
+ `<b>${esc(k)}</b><strong>${esc(v)}</strong><span>${esc(n)}</span></div>`
|
|
1725
|
+
+ `<b>${esc(k)}</b><strong>${esc(fmtN(v))}</strong><span>${esc(n)}</span></div>`
|
|
1721
1726
|
).join('') + `</div>`;
|
|
1722
1727
|
}
|
|
1723
1728
|
|
|
@@ -2654,8 +2659,8 @@ function viewLearningDashboard() {
|
|
|
2654
2659
|
answered moves a score.`),
|
|
2655
2660
|
|
|
2656
2661
|
tiles([
|
|
2657
|
-
['Accuracy', answered ? pct(passed, answered) + '%' : '—', answered ? `${passed} right of ${answered}` : 'No assessments yet', answered && pct(passed, answered) >= 70 ? 'good' : '', LH('sessions')],
|
|
2658
|
-
['Mastered', mastered.length, `of ${seen.length} asked`, mastered.length ? 'good' : '', LH('concepts', 'mastered')],
|
|
2662
|
+
['Accuracy', answered ? pct(passed, answered) + '%' : '—', answered ? `${fmtN(passed)} right of ${fmtN(answered)}` : 'No assessments yet', answered && pct(passed, answered) >= 70 ? 'good' : '', LH('sessions')],
|
|
2663
|
+
['Mastered', mastered.length, `of ${fmtN(seen.length)} asked`, mastered.length ? 'good' : '', LH('concepts', 'mastered')],
|
|
2659
2664
|
['Due now', due.length, due.length ? 'ready for review' : 'nothing waiting', due.length ? 'warn' : '', LH('review')],
|
|
2660
2665
|
toCorrectTile(),
|
|
2661
2666
|
]),
|
|
@@ -3418,10 +3423,10 @@ function memTiles() {
|
|
|
3418
3423
|
const { scoped, events, pending, entries, sessions } = memCounts();
|
|
3419
3424
|
const everywhere = scoped ? 'all projects · ' : '';
|
|
3420
3425
|
return tiles([
|
|
3421
|
-
['Observations', entries, scoped ? 'live in this project' : `${M.indexed} indexed`, '', MH('timeline')],
|
|
3426
|
+
['Observations', entries, scoped ? 'live in this project' : `${fmtN(M.indexed)} indexed`, '', MH('timeline')],
|
|
3422
3427
|
['Sessions', sessions, 'captured or remembered', '', MH('sessions')],
|
|
3423
|
-
['Pending', pending, pending ? `of ${events} evidence events` : `all ${events} distilled`, pending ? 'warn' : '', MH('health')],
|
|
3424
|
-
['Reused', M.reused, `${everywhere}${M.exposed} delivered`, '', MH('reuse')],
|
|
3428
|
+
['Pending', pending, pending ? `of ${fmtN(events)} evidence events` : `all ${fmtN(events)} distilled`, pending ? 'warn' : '', MH('health')],
|
|
3429
|
+
['Reused', M.reused, `${everywhere}${fmtN(M.exposed)} delivered`, '', MH('reuse')],
|
|
3425
3430
|
]);
|
|
3426
3431
|
}
|
|
3427
3432
|
|
|
@@ -3514,7 +3519,7 @@ function viewMemoryDashboard() {
|
|
|
3514
3519
|
|
|
3515
3520
|
return [
|
|
3516
3521
|
pageHead('What does memory hold?', [
|
|
3517
|
-
`${M.processed} distilled`, `${M.indexed} indexed`, `${M.reused} reused`, `${M.exposed} delivered`, `${M.assessed} assessed`,
|
|
3522
|
+
`${fmtN(M.processed)} distilled`, `${fmtN(M.indexed)} indexed`, `${fmtN(M.reused)} reused`, `${fmtN(M.exposed)} delivered`, `${fmtN(M.assessed)} assessed`,
|
|
3518
3523
|
], `Captured, processed, stored, retrieved, delivered, assessed — six different things that can happen to one
|
|
3519
3524
|
piece of evidence, counted separately. None of them is an answer: only a question you answered moves
|
|
3520
3525
|
mastery. Reuse, delivery and assessment are counted across all projects.`),
|
|
@@ -3738,13 +3743,13 @@ function viewHealth() {
|
|
|
3738
3743
|
!H.capture.enabled ? 'memory is disabled' : !H.capture.newest_event ? 'nothing has been captured yet' : '',
|
|
3739
3744
|
Q.failed ? `${plural(Q.failed, 'job')} failed after retries` : '',
|
|
3740
3745
|
Q.paused ? `${plural(Q.paused, 'job')} paused, waiting on a decision` : '',
|
|
3741
|
-
H.spool_dropped ? `${H.spool_dropped} events dropped by the spool` : '',
|
|
3746
|
+
H.spool_dropped ? `${fmtN(H.spool_dropped)} events dropped by the spool` : '',
|
|
3742
3747
|
].filter(Boolean);
|
|
3743
3748
|
return [
|
|
3744
3749
|
pageHead('Health', [
|
|
3745
3750
|
`last capture ${esc(H.capture.newest_event ? ago(H.capture.newest_event) : 'never')}`,
|
|
3746
3751
|
H.capture.enabled ? `capture is ${esc(H.capture.mode)}` : 'memory off',
|
|
3747
|
-
`${Q.pending} queued${Q.pending ? `, oldest ${esc(oldest)}` : ''}`,
|
|
3752
|
+
`${fmtN(Q.pending)} queued${Q.pending ? `, oldest ${esc(oldest)}` : ''}`,
|
|
3748
3753
|
], `Where memory stops, when it stops. Capture, processing, indexing, retrieval and delivery fail in
|
|
3749
3754
|
different ways and this page keeps them apart. Error classes only — no log dumps, no keys, no raw
|
|
3750
3755
|
request bodies. Transient failures retry on their own; auth, quota and missing need you.`),
|
|
@@ -4984,6 +4989,9 @@ function fbEmpty(F) {
|
|
|
4984
4989
|
} else if (F.failed) {
|
|
4985
4990
|
state = 'error';
|
|
4986
4991
|
body = `<p>Couldn't review the last session. It will try again at a later start.</p>`;
|
|
4992
|
+
} else if (F.acknowledged > 0) {
|
|
4993
|
+
state = 'happy';
|
|
4994
|
+
body = `<p>The next feedback is on its way. Eklavya will share it once it's available.</p>`;
|
|
4987
4995
|
} else {
|
|
4988
4996
|
body = `<p>Nothing to review yet. When a session ends, the next one you start reviews one of its prompts.</p>`;
|
|
4989
4997
|
}
|
|
@@ -5157,7 +5165,7 @@ const fbDecide = (it) => `<section class="card fb__card fb__decide" aria-labelle
|
|
|
5157
5165
|
<div class="fb__dh"><eklavya-mascot state="info" variant="face" size="32"></eklavya-mascot><h3 id="fb-decide-h">Done reading?</h3></div>
|
|
5158
5166
|
<p class="fb__dp">${esc(FB.rulePending)}</p>
|
|
5159
5167
|
${fbActions(it.id)}
|
|
5160
|
-
<p class="fb__foot"><span>1 waiting</span><span>${esc(S.feedback.acknowledged + ' in history')}</span></p></section>`;
|
|
5168
|
+
<p class="fb__foot"><span>1 waiting</span><span>${esc(fmtN(S.feedback.acknowledged) + ' in history')}</span></p></section>`;
|
|
5161
5169
|
|
|
5162
5170
|
/**
|
|
5163
5171
|
* One item: the verdict, the two prompts, what worked, what it left out and the
|
package/dist/assets/tokens.css
CHANGED
|
@@ -172,6 +172,17 @@
|
|
|
172
172
|
--code-bg: var(--mass); /* the well behind a code block */
|
|
173
173
|
--code-str: #E6C060; /* strings in an artifact's code — 9.55:1 on --panel */
|
|
174
174
|
--code-num: #D4A5F5; /* numbers and literals — 8.31:1 on --panel */
|
|
175
|
+
/* Diagram categories (explainer artifacts only). Ink: 4.5:1 or more on --panel and --mass. Colour names a group, always with a text label. */
|
|
176
|
+
--viz-1: #79D5C4; /* teal */
|
|
177
|
+
--viz-1-soft: color-mix(in srgb, var(--viz-1) 16%, transparent);
|
|
178
|
+
--viz-2: #F0B14A; /* amber */
|
|
179
|
+
--viz-2-soft: color-mix(in srgb, var(--viz-2) 16%, transparent);
|
|
180
|
+
--viz-3: #7FB2F5; /* blue */
|
|
181
|
+
--viz-3-soft: color-mix(in srgb, var(--viz-3) 16%, transparent);
|
|
182
|
+
--viz-4: #B79CF2; /* violet */
|
|
183
|
+
--viz-4-soft: color-mix(in srgb, var(--viz-4) 16%, transparent);
|
|
184
|
+
--viz-5: #F28FA8; /* rose */
|
|
185
|
+
--viz-5-soft: color-mix(in srgb, var(--viz-5) 16%, transparent);
|
|
175
186
|
--shadow-lg: 0 12px 28px rgba(0,0,0,.45);
|
|
176
187
|
--ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--spot);
|
|
177
188
|
}
|
|
@@ -214,6 +225,17 @@
|
|
|
214
225
|
--code-bg: #EDEAE2;
|
|
215
226
|
--code-str: #6F5300; /* 5.63:1 on --panel */
|
|
216
227
|
--code-num: #6B3FA0; /* 5.77:1 on --panel */
|
|
228
|
+
/* Diagram categories (explainer artifacts only). Paper: 4.5:1 or more on --panel and --mass. Colour names a group, always with a text label. */
|
|
229
|
+
--viz-1: #0A5751; /* teal */
|
|
230
|
+
--viz-1-soft: color-mix(in srgb, var(--viz-1) 12%, transparent);
|
|
231
|
+
--viz-2: #7F4A00; /* amber */
|
|
232
|
+
--viz-2-soft: color-mix(in srgb, var(--viz-2) 12%, transparent);
|
|
233
|
+
--viz-3: #1D4F9C; /* blue */
|
|
234
|
+
--viz-3-soft: color-mix(in srgb, var(--viz-3) 12%, transparent);
|
|
235
|
+
--viz-4: #5B3DB0; /* violet */
|
|
236
|
+
--viz-4-soft: color-mix(in srgb, var(--viz-4) 12%, transparent);
|
|
237
|
+
--viz-5: #A32D55; /* rose */
|
|
238
|
+
--viz-5-soft: color-mix(in srgb, var(--viz-5) 12%, transparent);
|
|
217
239
|
--shadow-lg: 0 12px 28px rgba(22,21,15,.10);
|
|
218
240
|
--ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--spot);
|
|
219
241
|
}
|
|
@@ -247,7 +247,7 @@ export function scorePage(input) {
|
|
|
247
247
|
const used = (c.identifiers ?? []).filter((id) => body.includes(id));
|
|
248
248
|
return {
|
|
249
249
|
gates,
|
|
250
|
-
metrics: { words: words(plain), figures: figures.length, sections: headings, identifiers_used: used.length, identifiers_offered: c.identifiers?.length ?? 0 },
|
|
250
|
+
metrics: { words: words(plain), figures: figures.length, sections: headings, identifiers_used: used.length, identifiers_offered: c.identifiers?.length ?? 0, diagram_hues: new Set([...body.matchAll(/\bsvg-(?:box|bar|line|text)-([1-5])\b/g)].map((m) => m[1])).size },
|
|
251
251
|
};
|
|
252
252
|
}
|
|
253
253
|
/** The text under each `<h2>`, by section, for the judge. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainer-score.js","sourceRoot":"","sources":["../../src/eval/explainer-score.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"explainer-score.js","sourceRoot":"","sources":["../../src/eval/explainer-score.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eklavya",
|
|
3
3
|
"displayName": "Eklavya",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.78.0",
|
|
5
5
|
"description": "Learn while your agent works. Turns coding-agent generation time into adaptive, Socratic learning grounded in the code being written.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Ajay Kumar"
|
|
@@ -57,11 +57,17 @@ In this order, each under its own `<h2>`:
|
|
|
57
57
|
- **Where the answer went wrong.** Name the misconception in the answer given
|
|
58
58
|
— kindly, specifically — and why it is tempting. If there was no answer
|
|
59
59
|
("I don't know"), skip this and start from the mechanism.
|
|
60
|
-
- **How it works.** At least one inline-SVG diagram in a `<figure
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
- **How it works.** At least one inline-SVG diagram in a `<figure>`, of the
|
|
61
|
+
type that fits the idea: a sequence for who-calls-whom, a decision for a
|
|
62
|
+
branch, a split panel for broken versus fixed, a state machine, a swimlane,
|
|
63
|
+
layers or bars. Use a different type for each diagram on the page. Colour by
|
|
64
|
+
category with `.svg-box-1` … `.svg-box-5` (with `.svg-line-N`, `.svg-text-N`),
|
|
65
|
+
name every colour in text, and use `.svg-bad` / `.svg-ok` only for a real
|
|
66
|
+
fault and its fix. The skill has a chooser of diagram types and skeletons for the common ones; with
|
|
67
|
+
no skill, also use `.svg-box`, `.svg-box-spot`, `.svg-line`, `.svg-line-spot`,
|
|
68
|
+
`.svg-label`, `.svg-small`. End with a `<figcaption>` that states the
|
|
69
|
+
takeaway. The first `<figure>` is the page's thumbnail in the dashboard's
|
|
70
|
+
Artifacts gallery.
|
|
65
71
|
- **A concrete example.** A tiny snippet or a timeline, broken versus fixed,
|
|
66
72
|
ideally in the language the developer was working in, as
|
|
67
73
|
`<pre data-lang="…"><code>` so the template labels and colours it.
|
|
@@ -65,22 +65,129 @@ paragraph of definition. Name the gotcha at the end, in plain terms.
|
|
|
65
65
|
before/after, a hierarchy or a number worth comparing is a diagram that has not
|
|
66
66
|
been drawn yet; two or three in a medium page is normal.
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
|
73
|
-
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
68
|
+
**Pick the diagram from the idea, not from habit.** Every page so far has been
|
|
69
|
+
one left-to-right row of boxes. Choose the type that matches the shape of the
|
|
70
|
+
thing, and when a page has two or three diagrams, make them different types.
|
|
71
|
+
|
|
72
|
+
| The idea | Draw | Colour it by |
|
|
73
|
+
|---|---|---|
|
|
74
|
+
| Ordered steps, a pipeline | **Step flow** | actor or phase |
|
|
75
|
+
| Who calls whom, over time | **Sequence** (lifelines, numbered messages) | one colour per participant |
|
|
76
|
+
| A choice, a retry, a guard | **Decision** (diamonds, yes/no edges) | the outcome: `.svg-ok` / `.svg-bad` |
|
|
77
|
+
| Several actors or layers share a job | **Swimlane** | one lane per actor |
|
|
78
|
+
| Parts and boundaries | **Layered architecture** (nested zones) | the layer or trust boundary |
|
|
79
|
+
| States and transitions | **State machine** | the kind of state; terminal state in `-spot` |
|
|
80
|
+
| Before vs after, broken vs fixed | **Split panel** | `.svg-bad` left, `.svg-ok` right, only for a real fault and its fix |
|
|
81
|
+
| Quantities, costs, counts | **Bars** (`.svg-bar-N`, value printed on each) | the series |
|
|
82
|
+
| Parent and child, nesting | **Tree** | depth or kind |
|
|
83
|
+
| Time and overlap | **Timeline strip** (one row per actor, bars on an axis) | the actor |
|
|
84
|
+
| A cycle that feeds itself | **Loop** (nodes on a ring, arrows clockwise) | the phase |
|
|
85
|
+
| Two measures, four verdicts | **Quadrant** (2×2 with labelled corners) | the quadrant |
|
|
86
|
+
| Narrowing or ranking | **Funnel / pyramid** (stacked bars, count on each) | the stage |
|
|
87
|
+
| Tables and their links | **Schema / ER** (box per table, key columns, lines with 1 / n) | the owner of the data |
|
|
88
|
+
| Many things against many | **Matrix / heatmap** (grid, one tint per cell, value printed) | the value band |
|
|
89
|
+
| What overlaps, what is only in one | **Venn** (two or three circles, `fill-opacity` via `-soft`) | the set |
|
|
90
|
+
|
|
91
|
+
**Before drawing, decide in one line**: the type, the one thing the reader should
|
|
92
|
+
take away, and what you will leave out. Deleting a box usually improves a
|
|
93
|
+
diagram more than adding one. Avoid:
|
|
94
|
+
|
|
95
|
+
- a generic row of identical rounded boxes when a lane, layer or axis would
|
|
96
|
+
show the structure;
|
|
97
|
+
- decoration with no meaning (icons, gradients, extra arrows, a legend for one colour);
|
|
98
|
+
- a colour used on everything: colour the groups, and let `-spot` mark the one
|
|
99
|
+
thing that matters;
|
|
100
|
+
- a diagram of a list (use a table) or of a single shape (use a sentence);
|
|
101
|
+
- invented detail: every label is a real name from the code or the question.
|
|
102
|
+
|
|
103
|
+
Layout: snap coordinates, widths and gaps to multiples of 4 so edges line up;
|
|
104
|
+
keep 16px between a shape and its text; one idea per diagram, at most about
|
|
105
|
+
eight nodes. Give every `<svg>` a `<title>` and a one-sentence `<desc>` as its
|
|
106
|
+
first children, as well as `role="img"` and `aria-label`.
|
|
107
|
+
|
|
108
|
+
Draw them as **inline SVG** inside `<figure>`, with a `<figcaption>` that
|
|
109
|
+
states the takeaway, not the title. Never a raster image, ASCII boxes or a
|
|
110
|
+
Mermaid script: inline SVG themes and prints, the others do not. The first
|
|
111
|
+
`<figure>` diagram is the page's thumbnail in the dashboard's Artifacts
|
|
112
|
+
gallery, so put the one that explains the page first.
|
|
113
|
+
|
|
114
|
+
SVG classes (all role colours, so both grounds work):
|
|
115
|
+
|
|
116
|
+
- Neutral: `.svg-box`, `.svg-line`, `.svg-label`, `.svg-small`, `.svg-muted`,
|
|
117
|
+
`.svg-chip`, `.svg-axis`, `.svg-lane`, `.svg-life` (lifeline), `.svg-dash`
|
|
118
|
+
(add to a line for "optional" or "reply"), `.svg-head` (arrowhead).
|
|
119
|
+
- **Categories 1–5**: `.svg-box-N` (tinted fill, coloured edge), `.svg-line-N`,
|
|
120
|
+
`.svg-bar-N`, `.svg-text-N` (coloured heading), `.svg-head-N` (arrowhead).
|
|
121
|
+
Colour means *a group*: assign 1 to the first actor, 2 to the second, and keep
|
|
122
|
+
it for the whole page. Use at most four categories in one diagram, and put
|
|
123
|
+
the group's name in text on or beside every coloured shape, so the diagram
|
|
124
|
+
still reads in print and without colour. A legend is a row of small
|
|
125
|
+
`.svg-box-N` squares with a `.svg-small` label.
|
|
126
|
+
- State: `.svg-ok` (fixed, allowed), `.svg-bad` (broken, rejected),
|
|
127
|
+
`.svg-box-spot` / `.svg-line-spot` (the one node or edge the page is about).
|
|
128
|
+
|
|
129
|
+
Arrowheads: put one `<defs>` in the diagram,
|
|
130
|
+
`<marker id="a1" viewBox="0 0 8 8" refX="7" refY="4" markerWidth="7" markerHeight="7" orient="auto"><path class="svg-head" d="M0 0L8 4L0 8z"/></marker>`,
|
|
131
|
+
and set `marker-end="url(#a1)"` on a line. Marker ids are shared by the whole
|
|
132
|
+
page, so use `a1`, `a2`, `a3`, … across diagrams, never the same id twice. Give every
|
|
133
|
+
`<svg>` a `viewBox`, `role="img"` and an `aria-label`; keep text at least 11px
|
|
134
|
+
at the viewBox size and keep the width at 640 so it fits a phone.
|
|
135
|
+
|
|
136
|
+
Skeletons (copy, then change the words and the numbers):
|
|
137
|
+
|
|
138
|
+
```html
|
|
139
|
+
<!-- Sequence: lifelines, one colour per participant -->
|
|
140
|
+
<svg viewBox="0 0 640 220" role="img" aria-label="Browser asks the API, which asks the database">
|
|
141
|
+
<defs><marker id="a1" viewBox="0 0 8 8" refX="7" refY="4" markerWidth="7" markerHeight="7" orient="auto"><path class="svg-head" d="M0 0L8 4L0 8z"/></marker></defs>
|
|
142
|
+
<rect class="svg-box-1" x="40" y="10" width="120" height="34"/><text class="svg-text-1" x="100" y="32" text-anchor="middle">Browser</text>
|
|
143
|
+
<rect class="svg-box-2" x="260" y="10" width="120" height="34"/><text class="svg-text-2" x="320" y="32" text-anchor="middle">API</text>
|
|
144
|
+
<rect class="svg-box-3" x="480" y="10" width="120" height="34"/><text class="svg-text-3" x="540" y="32" text-anchor="middle">Database</text>
|
|
145
|
+
<line class="svg-life" x1="100" y1="44" x2="100" y2="210"/><line class="svg-life" x1="320" y1="44" x2="320" y2="210"/><line class="svg-life" x1="540" y1="44" x2="540" y2="210"/>
|
|
146
|
+
<line class="svg-line-1" x1="100" y1="86" x2="316" y2="86" marker-end="url(#a1)"/><text class="svg-small" x="110" y="78">1 GET /orders</text>
|
|
147
|
+
<line class="svg-line-2" x1="320" y1="126" x2="536" y2="126" marker-end="url(#a1)"/><text class="svg-small" x="330" y="118">2 SELECT</text>
|
|
148
|
+
<line class="svg-line-3 svg-dash" x1="536" y1="166" x2="324" y2="166" marker-end="url(#a1)"/><text class="svg-small" x="360" y="158">3 rows</text>
|
|
149
|
+
</svg>
|
|
150
|
+
|
|
151
|
+
<!-- Swimlane: a band per actor, steps inside it -->
|
|
152
|
+
<svg viewBox="0 0 640 200" role="img" aria-label="The client validates, the server saves">
|
|
153
|
+
<defs><marker id="a2" viewBox="0 0 8 8" refX="7" refY="4" markerWidth="7" markerHeight="7" orient="auto"><path class="svg-head-1" d="M0 0L8 4L0 8z"/></marker></defs>
|
|
154
|
+
<rect class="svg-lane" x="0" y="0" width="640" height="90"/><text class="svg-text-1" x="12" y="20">Client</text>
|
|
155
|
+
<rect class="svg-lane" x="0" y="100" width="640" height="90"/><text class="svg-text-2" x="12" y="120">Server</text>
|
|
156
|
+
<rect class="svg-box-1" x="110" y="30" width="140" height="44"/><text class="svg-label" x="180" y="57" text-anchor="middle">Validate form</text>
|
|
157
|
+
<rect class="svg-box-2" x="330" y="130" width="140" height="44"/><text class="svg-label" x="400" y="157" text-anchor="middle">Save order</text>
|
|
158
|
+
<path class="svg-line-1" d="M250 52H290V152H326" marker-end="url(#a2)"/>
|
|
159
|
+
</svg>
|
|
160
|
+
|
|
161
|
+
<!-- Decision: diamond, outcomes coloured by result -->
|
|
162
|
+
<svg viewBox="0 0 640 180" role="img" aria-label="If the token is expired, refresh it, otherwise send the request">
|
|
163
|
+
<polygon class="svg-box-spot" points="120,20 200,70 120,120 40,70"/><text class="svg-label" x="120" y="74" text-anchor="middle">Expired?</text>
|
|
164
|
+
<line class="svg-line-spot" x1="200" y1="70" x2="330" y2="70"/><text class="svg-small" x="250" y="60">yes</text>
|
|
165
|
+
<rect class="svg-box-2" x="330" y="48" width="150" height="44"/><text class="svg-label" x="405" y="75" text-anchor="middle">Refresh token</text>
|
|
166
|
+
<line class="svg-line" x1="120" y1="120" x2="120" y2="150"/><text class="svg-small" x="130" y="140">no</text>
|
|
167
|
+
<rect class="svg-ok" x="40" y="150" width="160" height="26"/><text class="svg-label" x="120" y="168" text-anchor="middle">Send request</text>
|
|
168
|
+
</svg>
|
|
169
|
+
|
|
170
|
+
<!-- State machine: rounded states, labelled edges -->
|
|
171
|
+
<svg viewBox="0 0 640 140" role="img" aria-label="An order goes from draft to paid to shipped">
|
|
172
|
+
<defs><marker id="a3" viewBox="0 0 8 8" refX="7" refY="4" markerWidth="7" markerHeight="7" orient="auto"><path class="svg-head" d="M0 0L8 4L0 8z"/></marker></defs>
|
|
173
|
+
<rect class="svg-box-1" x="20" y="50" width="130" height="40"/><text class="svg-text-1" x="85" y="75" text-anchor="middle">draft</text>
|
|
174
|
+
<rect class="svg-box-2" x="260" y="50" width="130" height="40"/><text class="svg-text-2" x="325" y="75" text-anchor="middle">paid</text>
|
|
175
|
+
<rect class="svg-box-spot" x="490" y="50" width="130" height="40"/><text class="svg-label" x="555" y="75" text-anchor="middle">shipped</text>
|
|
176
|
+
<line class="svg-line" x1="150" y1="70" x2="258" y2="70" marker-end="url(#a3)"/><text class="svg-small" x="170" y="62">pay()</text>
|
|
177
|
+
<line class="svg-line" x1="390" y1="70" x2="488" y2="70" marker-end="url(#a3)"/><text class="svg-small" x="408" y="62">ship()</text>
|
|
178
|
+
</svg>
|
|
179
|
+
|
|
180
|
+
<!-- Bars: value printed on every bar -->
|
|
181
|
+
<svg viewBox="0 0 640 150" role="img" aria-label="Query time before 840 ms, after 60 ms">
|
|
182
|
+
<line class="svg-axis" x1="110" y1="10" x2="110" y2="130"/>
|
|
183
|
+
<text class="svg-small" x="10" y="42">before</text><rect class="svg-bar-2" x="110" y="26" width="440" height="24"/><text class="svg-label" x="558" y="43">840 ms</text>
|
|
184
|
+
<text class="svg-small" x="10" y="92">after</text><rect class="svg-bar-1" x="110" y="76" width="34" height="24"/><text class="svg-label" x="152" y="93">60 ms</text>
|
|
185
|
+
</svg>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Whatever the type, it shows the real mechanism of *this*
|
|
189
|
+
page, with the real names from the code, not a generic boxes-and-arrows
|
|
190
|
+
picture. Check it at phone width (labels not clipped, nothing overlapping).
|
|
84
191
|
|
|
85
192
|
**Stay on the design system.** Components already in the template: `.eyebrow`,
|
|
86
193
|
`.lede`, `.card`, `.grid`, `.chip` (`.warn`, `.bad`), `.stat` (`.k`, `.v`,
|
|
@@ -98,10 +205,13 @@ follows Eklavya's rules:
|
|
|
98
205
|
`--line-2`; accent `--spot`, `--spot-soft` (tints), `--spot-ink` (text on a
|
|
99
206
|
`--spot` fill); state `--warning`, `--error`. `--faint-2` is for disabled
|
|
100
207
|
marks only, never readable text.
|
|
101
|
-
- **One accent**, verdigris `--spot`, spent a handful of times: the
|
|
102
|
-
matters, a key number, a link.
|
|
103
|
-
|
|
104
|
-
colour
|
|
208
|
+
- **One accent for the page**, verdigris `--spot`, spent a handful of times: the
|
|
209
|
+
node that matters, a key number, a link. **Diagrams may also use the five
|
|
210
|
+
category roles** `--viz-1` … `--viz-5` (teal, amber, blue, violet, rose) and
|
|
211
|
+
their `-soft` tints, through the `.svg-*-N` classes only. A colour names a
|
|
212
|
+
group and always carries a word. `--warning` and `--error` mean a real
|
|
213
|
+
warning or mistake: use `.svg-bad` for a fault, never a category colour.
|
|
214
|
+
No other hues, and no category colour outside a diagram.
|
|
105
215
|
- **Square and flat.** `border-radius: 0` on every box, chip and table; circles
|
|
106
216
|
only for dots. Separate with 1px hairlines, not shadows.
|
|
107
217
|
- **Type through the variables**: `--font-disp` (Archivo) for headings,
|
|
@@ -143,6 +253,8 @@ searchable view.
|
|
|
143
253
|
|---|---|
|
|
144
254
|
| Writing the file into the project repository | Artifacts live under `~/.eklavya/artifacts/`, always — `new` puts them there |
|
|
145
255
|
| A wall of prose describing a sequence | That is a step diagram. Draw it |
|
|
256
|
+
| Every diagram is a grey row of boxes | Pick the type from the table; colour by actor or layer |
|
|
257
|
+
| A colour with no label, or the same marker id in two diagrams | Name the group in text; `a1`, `a2`, … once each |
|
|
146
258
|
| Raw hex, rounded cards, drop shadows | Role tokens, square chrome, hairlines |
|
|
147
259
|
| `html2pdf` or `jspdf` from a CDN | The PDF button is `window.print()` plus the print stylesheet |
|
|
148
260
|
| A PDF page two-thirds empty | A `break-inside: avoid` on a block taller than a page |
|
package/package.json
CHANGED