sigrank 1.0.12 → 1.0.14
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 +11 -10
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/presentation/tui.mjs +39 -0
package/README.md
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
#
|
|
1
|
+
# SigRank SignalAF — `sigrank` CLI/MCP
|
|
2
2
|
|
|
3
|
-
> **
|
|
4
|
-
>
|
|
5
|
-
>
|
|
3
|
+
> **SignalAF** is the public brand. **SigRank** is the leaderboard and proof surface.
|
|
4
|
+
> The `sigrank` package reads local AI session logs, derives your token cascade,
|
|
5
|
+
> and publishes to the board at [signalaf.com](https://signalaf.com).
|
|
6
|
+
> _Four token counts only. Never prompts or code._
|
|
6
7
|
|
|
7
8
|
<div align="center">
|
|
8
9
|
|
|
9
10
|
<p><img src="./.github/assets/og-card.png" alt="SigRank SignalAF — AI operator evaluation and token cascade efficiency leaderboard" width="800"></p>
|
|
10
11
|
|
|
11
|
-
**
|
|
12
|
+
**SignalAF is the brand. SigRank proves. MO§ES™ governs.**
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
SigRank evaluates observable AI operator token-processing patterns—not AI model quality, cognition, work quality, employee productivity, or business value.
|
|
14
15
|
|
|
15
16
|
[](https://www.npmjs.com/package/sigrank)
|
|
16
17
|
[](https://github.com/SunrisesIllNeverSee/sigrank-mcp/actions/workflows/ci.yml)
|
|
@@ -59,13 +60,13 @@ Upsilon describes observable AI operator token-processing patterns—not AI mode
|
|
|
59
60
|
## SignalAF product architecture
|
|
60
61
|
|
|
61
62
|
```text
|
|
62
|
-
MO§ES™ governance →
|
|
63
|
+
MO§ES™ governance → SignalAF brand → SigRank leaderboard → Upsilon engine
|
|
63
64
|
```
|
|
64
65
|
|
|
65
66
|
| Repo | What it is | Install |
|
|
66
67
|
|------|-----------|---------|
|
|
67
|
-
| **[sigrank-mcp](https://github.com/SunrisesIllNeverSee/sigrank-mcp)** (this repo) |
|
|
68
|
-
| **[sigrank-app](https://github.com/SunrisesIllNeverSee/sigrank-app)** |
|
|
68
|
+
| **[sigrank-mcp](https://github.com/SunrisesIllNeverSee/sigrank-mcp)** (this repo) | SigRank's on-device scanner — extracts four token pillars, computes locally, and optionally submits to the board. | `npx sigrank` |
|
|
69
|
+
| **[sigrank-app](https://github.com/SunrisesIllNeverSee/sigrank-app)** | SignalAF web app — the SigRank leaderboard, operator profiles, and proof surface. | [signalaf.com](https://signalaf.com) |
|
|
69
70
|
| **[bestuser-router-mcp](https://github.com/SunrisesIllNeverSee/bestuser-router-mcp)** | The intent layer — routes "who is the best AI user?" queries to SigRank SignalAF's leaderboard. MCP server for AI assistants. | `npx bestuser-router-mcp` |
|
|
70
71
|
| **[sigarena](https://github.com/SunrisesIllNeverSee/sigarena)** | The satellite — public LLM operator evals at sigeconomy.com. Read-only leaderboard, SEO/AEO surface. | [sigeconomy.com](https://sigeconomy.com) |
|
|
71
72
|
| **[signaf](https://github.com/SunrisesIllNeverSee/signa)** | The coach — reads your session logs, builds a taste profile, measures ASI, coaches you on token efficiency. | `npx @burnmydays/signaf` |
|
|
@@ -77,7 +78,7 @@ MO§ES™ governance → Upsilon measurement engine → SigRank public proof
|
|
|
77
78
|
| Site | What it is |
|
|
78
79
|
| ---- | ---------- |
|
|
79
80
|
| **[SIGNOMY](https://signomy.xyz)** | Governed AI agent marketplace where ranked agents form teams, fill slots, run missions, and earn revenue under constitutional protocol. Agents are free. Operators pay. |
|
|
80
|
-
| **[MO§ES](https://mos2es.com)** | Constitutional governance and methodology—the law governing
|
|
81
|
+
| **[MO§ES](https://mos2es.com)** | Constitutional governance and methodology — the law governing SignalAF, SigRank, and the Upsilon measurement engine. |
|
|
81
82
|
|
|
82
83
|
## Quickstart — 3 steps to the board
|
|
83
84
|
|
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": "1.0.
|
|
5
|
+
"version": "1.0.13",
|
|
6
6
|
"description": "Ranks AI coding operators by token cascade efficiency (Yield = cache_read \u00d7 output / input\u00b2). 25 tools including SigRank Standard record, 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": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"author": "SunrisesIllNeverSee (https://github.com/SunrisesIllNeverSee)",
|
|
5
5
|
"description": "Upsilon measurement engine distributed through the sigrank CLI/MCP compatibility package, with SigRank public leaderboard tools.",
|
|
6
6
|
"mcpName": "io.github.SunrisesIllNeverSee/sigrank-mcp",
|
package/presentation/tui.mjs
CHANGED
|
@@ -2335,6 +2335,45 @@ export async function runTui({
|
|
|
2335
2335
|
return;
|
|
2336
2336
|
}
|
|
2337
2337
|
|
|
2338
|
+
// ── Terminal size guard ────────────────────────────────────────────────────
|
|
2339
|
+
// The TUI renders a tab bar + content + footer in a locked alternate-screen
|
|
2340
|
+
// frame. If the terminal is too small, the footer smears off the bottom and
|
|
2341
|
+
// content rows get clamped — confusing, not useful. Refuse to render until
|
|
2342
|
+
// there's enough room, matching the PostHog wizard's pattern: show a clear
|
|
2343
|
+
// message with current vs required dimensions, and re-check on resize.
|
|
2344
|
+
const MIN_COLS = 80;
|
|
2345
|
+
const MIN_ROWS = 24;
|
|
2346
|
+
const tooSmall = () =>
|
|
2347
|
+
(process.stdout.columns || 80) < MIN_COLS ||
|
|
2348
|
+
(process.stdout.rows || 24) < MIN_ROWS;
|
|
2349
|
+
if (tooSmall() && process.stdout.isTTY) {
|
|
2350
|
+
const renderSizeMsg = () => {
|
|
2351
|
+
const cols = process.stdout.columns || 80;
|
|
2352
|
+
const rows = process.stdout.rows || 24;
|
|
2353
|
+
process.stdout.write(`${ESC}H${ESC}2J`);
|
|
2354
|
+
process.stdout.write(
|
|
2355
|
+
`\n SigRank TUI needs more room to display required content.\n` +
|
|
2356
|
+
` Please make this terminal bigger.\n\n` +
|
|
2357
|
+
` Currently ${cols}×${rows}, needs at least ${MIN_COLS}×${MIN_ROWS}.\n\n` +
|
|
2358
|
+
` Waiting for resize… (Ctrl+C to cancel)\n`,
|
|
2359
|
+
);
|
|
2360
|
+
};
|
|
2361
|
+
renderSizeMsg();
|
|
2362
|
+
await new Promise((resolve) => {
|
|
2363
|
+
const onResize = () => {
|
|
2364
|
+
if (!tooSmall()) {
|
|
2365
|
+
process.stdout.off("resize", onResize);
|
|
2366
|
+
resolve();
|
|
2367
|
+
} else {
|
|
2368
|
+
renderSizeMsg();
|
|
2369
|
+
}
|
|
2370
|
+
};
|
|
2371
|
+
process.stdout.on("resize", onResize);
|
|
2372
|
+
});
|
|
2373
|
+
// Clear the size-warning message before entering the alt screen
|
|
2374
|
+
process.stdout.write(`${ESC}H${ESC}2J`);
|
|
2375
|
+
}
|
|
2376
|
+
|
|
2338
2377
|
write(ENTER_ALT); // switch to alternate screen — original terminal state preserved on exit
|
|
2339
2378
|
write(CLEAR_SB); // FIXED-WINDOW (2026-06-27): clear scrollback so nothing is above the TUI
|
|
2340
2379
|
write(HIDE);
|