sigrank 1.0.12 → 1.0.15

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 CHANGED
@@ -1,16 +1,17 @@
1
- # Upsilon Measurement Engine — `sigrank` CLI/MCP
1
+ # SigRank SignalAF — `sigrank` CLI/MCP
2
2
 
3
- > **Upsilon** is SignalAF's measurement engine. **SigRank** is the public leaderboard
4
- > and proof surface. The existing `sigrank` package name and `sigrank/0.1-draft`
5
- > record remain stable for compatibility. _Four token counts only. Never prompts or code._
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
- **Upsilon measures. SigRank proves. MO§ES™ governs. SignalAF is the brand.**
12
+ **SignalAF is the brand. SigRank proves. MO§ES™ governs.**
12
13
 
13
- Upsilon describes observable AI operator token-processing patterns—not AI model quality, cognition, work quality, employee productivity, or business value.
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
  [![npm version](https://img.shields.io/npm/v/sigrank.svg?style=flat-square&color=gold)](https://www.npmjs.com/package/sigrank)
16
17
  [![CI](https://github.com/SunrisesIllNeverSee/sigrank-mcp/actions/workflows/ci.yml/badge.svg?branch=main)](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 → Upsilon measurement engine → SigRank public proof
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) | Upsilon's compatibility instrument—extracts four token pillars, computes locally, and optionally submits to SigRank. | `npx sigrank` |
68
- | **[sigrank-app](https://github.com/SunrisesIllNeverSee/sigrank-app)** | Upsilon web implementation plus the SigRank leaderboard/proof surface. | [signalaf.com](https://signalaf.com) |
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 Upsilon and other governed systems. |
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.11",
5
+ "version": "1.0.14",
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.12",
3
+ "version": "1.0.15",
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",
@@ -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);