sigrank 0.0.216 → 0.0.217
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/manifest.json +1 -1
- package/package.json +1 -1
- package/presentation/tui.mjs +54 -16
package/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/anthropics/mcpb/main/schemas/mcpb-manifest-v0.4.schema.json",
|
|
3
3
|
"manifest_version": "0.4",
|
|
4
4
|
"name": "sigrank",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.216",
|
|
6
6
|
"description": "Ranks AI coding operators by token cascade efficiency (Yield = cache_read \u00d7 output / input\u00b2). 23 tools for yield calculation, local token usage pulls, signed submission, and tokscale-powered analytics (market share, developer profiles, model trends, cost analysis, device profiles, MCP usage, competitive intelligence). Privacy-first: runs locally, only four token counts leave the machine.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "SunrisesIllNeverSee",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sigrank",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.217",
|
|
4
4
|
"author": "SunrisesIllNeverSee (https://github.com/SunrisesIllNeverSee)",
|
|
5
5
|
"description": "SigRank MCP server — AI operator evaluation and token cascade efficiency tools. The yield cascade + live leaderboard as MCP tools any agent can call.",
|
|
6
6
|
"mcpName": "io.github.SunrisesIllNeverSee/sigrank-mcp",
|
package/presentation/tui.mjs
CHANGED
|
@@ -743,8 +743,8 @@ function renderDashboard(data, status = "", scrollOffset = 0) {
|
|
|
743
743
|
// which is what was starving codex's cascade rows after the Your-Read/Three-Degrees panels landed.)
|
|
744
744
|
const platformCount = active.length;
|
|
745
745
|
const barLines = 4 + platformCount + (platformCount > 1 ? 1 : 0); // Token Composition: hr + header + platforms + combined + note
|
|
746
|
-
// Your Read (hr+header
|
|
747
|
-
const boardLines =
|
|
746
|
+
// Your Read (hr+header+up to 4 wins+up to 5 gaps+summary = 13) + Four Degrees (blank+hr+header+col-header+5 rows+note = 10) + status
|
|
747
|
+
const boardLines = 20;
|
|
748
748
|
const sectionsBelow = barLines + boardLines;
|
|
749
749
|
const maxCascadeRows = Math.max(8, budget - used - sectionsBelow);
|
|
750
750
|
|
|
@@ -923,24 +923,38 @@ function renderDashboard(data, status = "", scrollOffset = 0) {
|
|
|
923
923
|
if (you) {
|
|
924
924
|
const wins = [],
|
|
925
925
|
gaps = [];
|
|
926
|
-
|
|
926
|
+
let aboveHcm = 0,
|
|
927
|
+
abovePower = 0,
|
|
928
|
+
totalMetrics = 0;
|
|
929
|
+
// Three-tier comparison: HCM (field median) → Power (top-100 median) → Top (best operator)
|
|
930
|
+
const chk = (label, val, hcm, power, top, fmt, tip) => {
|
|
927
931
|
if (val == null) return;
|
|
928
|
-
|
|
932
|
+
totalMetrics++;
|
|
933
|
+
if (val >= top * 0.9) {
|
|
929
934
|
wins.push(`${label} ${fmt(val)} — ${gold("top tier")}`);
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
else
|
|
935
|
+
aboveHcm++;
|
|
936
|
+
abovePower++;
|
|
937
|
+
} else if (val >= power) {
|
|
938
|
+
wins.push(`${label} ${fmt(val)} — ${paint(c.boldCyan, "power-user tier")}`);
|
|
939
|
+
aboveHcm++;
|
|
940
|
+
abovePower++;
|
|
941
|
+
} else if (val >= hcm) {
|
|
942
|
+
wins.push(`${label} ${fmt(val)} — above field, ${dim("approaching power-user")}`);
|
|
943
|
+
aboveHcm++;
|
|
944
|
+
} else {
|
|
933
945
|
gaps.push({
|
|
934
946
|
label,
|
|
935
|
-
txt: `${label} ${fmt(val)} — below field (${fmt(
|
|
947
|
+
txt: `${label} ${fmt(val)} — below field (${fmt(hcm)}): ${tip}`,
|
|
936
948
|
val,
|
|
937
|
-
|
|
949
|
+
hcm,
|
|
938
950
|
});
|
|
951
|
+
}
|
|
939
952
|
};
|
|
940
953
|
chk(
|
|
941
954
|
"Υ Yield",
|
|
942
955
|
you.yield,
|
|
943
956
|
TD.hcm.yield,
|
|
957
|
+
TD.power.yield,
|
|
944
958
|
TD.top.yield,
|
|
945
959
|
fmtY,
|
|
946
960
|
"compound more — reuse cache, raise output",
|
|
@@ -949,6 +963,7 @@ function renderDashboard(data, status = "", scrollOffset = 0) {
|
|
|
949
963
|
"SNR",
|
|
950
964
|
you.snr,
|
|
951
965
|
TD.hcm.snr,
|
|
966
|
+
TD.power.snr,
|
|
952
967
|
TD.top.snr,
|
|
953
968
|
fmtSNR,
|
|
954
969
|
"tighten prompts — less input per unit output",
|
|
@@ -957,6 +972,7 @@ function renderDashboard(data, status = "", scrollOffset = 0) {
|
|
|
957
972
|
"Leverage",
|
|
958
973
|
you.leverage,
|
|
959
974
|
TD.hcm.lev,
|
|
975
|
+
TD.power.lev,
|
|
960
976
|
TD.top.lev,
|
|
961
977
|
(v) => fmtLev(v) + "×",
|
|
962
978
|
"lean on cache-read — amplify prior context",
|
|
@@ -965,17 +981,39 @@ function renderDashboard(data, status = "", scrollOffset = 0) {
|
|
|
965
981
|
"Velocity",
|
|
966
982
|
you.velocity,
|
|
967
983
|
TD.hcm.vel,
|
|
984
|
+
TD.power.vel,
|
|
968
985
|
TD.top.vel,
|
|
969
986
|
(v) => v.toFixed(2),
|
|
970
987
|
"more output per input token",
|
|
971
988
|
);
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
989
|
+
chk(
|
|
990
|
+
"10xDEV",
|
|
991
|
+
you.dev10x,
|
|
992
|
+
TD.hcm.d10,
|
|
993
|
+
TD.power.d10,
|
|
994
|
+
TD.top.d10,
|
|
995
|
+
(v) => v.toFixed(2),
|
|
996
|
+
"raise leverage — every 10× lev adds 1 to 10xDEV",
|
|
997
|
+
);
|
|
998
|
+
for (const w of wins.slice(0, 4)) emit(` ${paint(c.green, "▲")} ${w}`);
|
|
999
|
+
// all gaps shown; weakest gets the prescriptive tip
|
|
1000
|
+
const sortedGaps = gaps.sort(
|
|
1001
|
+
(a, b) => a.val / a.hcm - b.val / b.hcm,
|
|
1002
|
+
);
|
|
1003
|
+
for (let i = 0; i < sortedGaps.length; i++) {
|
|
1004
|
+
const g = sortedGaps[i];
|
|
1005
|
+
if (i === 0) emit(` ${paint(c.magenta, "▽")} ${dim(g.txt)}`);
|
|
1006
|
+
else emit(` ${paint(c.magenta, "▽")} ${dim(g.label + " below field")}`);
|
|
1007
|
+
}
|
|
1008
|
+
if (!wins.length && !sortedGaps.length) emit(` ${dim(" building your read…")}`);
|
|
1009
|
+
// summary line — where you sit across all metrics
|
|
1010
|
+
if (totalMetrics > 0) {
|
|
1011
|
+
const hcmStr = `${aboveHcm}/${totalMetrics}`;
|
|
1012
|
+
const pwrStr = `${abovePower}/${totalMetrics}`;
|
|
1013
|
+
emit(
|
|
1014
|
+
` ${dim(`above HCM on ${bold(hcmStr)} · above Power on ${bold(pwrStr)}`)}`,
|
|
1015
|
+
);
|
|
1016
|
+
}
|
|
979
1017
|
} else {
|
|
980
1018
|
emit(` ${dim(" reading your cascade… (press [R] to refresh)")}`);
|
|
981
1019
|
}
|