{
  "markdown": "# PJQ — Public Judgment Quotient\n\n> A seismograph for public opinion. PJQ measures **how an audience actually\n> received** a piece of media — separating genuine opinion from fan noise, bots,\n> and self-promoters.\n\n**Live:** [pjq.life](https://pjq.life) · **License:** Apache-2.0\n\n---\n\n## What this is\n\nPJQ takes the URL of a piece of content (YouTube today; Reddit, Telegram, and\nNews next), samples the comments under it, and classifies every comment against\na **7-category stance rubric**. The output is a *verdict*: a numeric reception\nscore (`mood`) plus a structured breakdown — how many people substantively\nagreed, how many pushed back, how many stayed neutral, and how much noise is\ndrowning the signal.\n\nThink of it as an **observatory of media reception**, exposed over two\ntransports on one core:\n\n- a **REST API** (`/api/v1/*`) for analytics automation, and\n- an **MCP server** (`/mcp/`) so AI agents (Claude Desktop and friends) can run\n  analyses and read verdicts directly inside a chat.\n\n## What's in this repository\n\nThis repo is the **open client + specification** of PJQ. The hosted analysis\n**engine** (sampling, classification, QA, the ONNX stance model and the prompt\ninternals) stays closed — it is the product's moat. What's open here is\neverything you need to *use*, *integrate with*, and *understand* PJQ:\n\n```\nweb/    — the full web client (React + TypeScript + Vite SPA, 5 languages)\nspec/   — the conceptual specification\n          ├── CONCEPT.md          what PJQ is and why\n          ├── RUBRIC.md           the 7-category stance rubric (definitions)\n          ├── domains.yaml        the 11-domain content taxonomy\n          ├── FEATURED.md         the open, automatic showcase-ranking formula\n          └── verdict-schema.md   the shape of a verdict (API output)\ndocs/   — integration reference\n          ├── api-reference.md    REST API surface\n          ├── mcp-reference.md    MCP tools and schemas\n          └── user-guide/         end-user guide (EN + RU)\n```\n\n## The 7-category rubric (in one breath)\n\nEvery comment gets **exactly one** of: **SUP** (substantive support),\n**AGA** (substantive against), **NEU** (neutral), **OFF** (off-topic),\n**THIN** (thin positive — praise without an argument), **SUS** (inorganic —\nbot / paid / coordinated), **AGN** (own agenda — the comment is a vehicle for\nthe author's external goal).\n\n**Reporting rule:** opinion metrics (`mood`, `support`) are computed *strictly*\nfrom SUP / AGA / NEU. THIN / OFF / SUS / AGN are counted separately and never\ninflate support percentages. See [`spec/RUBRIC.md`](spec/RUBRIC.md).\n\n## Running the web client\n\nThe client is a standard Vite SPA. By default it talks to the hosted backend at\n`pjq.life` (same-origin in production).\n\n```bash\ncd web\nnpm install\nnpm run dev      # dev server with hot reload\nnpm run build    # production build (with build-time SEO prerender) -> dist/\n```\n\nTo point the client at a different backend, copy `web/.env.example` and set\n`VITE_API_BASE`.\n\n## Integrating\n\n- **REST API** — get an API key from the **Cabinet** on [pjq.life](https://pjq.life),\n  then see [`docs/api-reference.md`](docs/api-reference.md). Read-only tools cost\n  no credits; a full analysis costs one credit.\n- **MCP** — point an MCP-capable client at `https://pjq.life/mcp/` and see\n  [`docs/mcp-reference.md`](docs/mcp-reference.md) for the exported tools.\n\nComment raw texts are **never** returned over the API — only aggregates,\npercentages, and a small set of representative exemplars, per PJQ's privacy\npolicy.\n\n## Status\n\nPJQ is live and in active development. The roadmap is public at\n[pjq.life/flightlog](https://pjq.life/flightlog). This repository tracks the\nclient and the spec; engine changes ship to the hosted service.\n\n## License\n\nCopyright 2026 PJQ (github.com/Makaric). Licensed under the Apache License,\nVersion 2.0 — see [`LICENSE`](LICENSE).\n\n*Русская версия: [README_RU.md](README_RU.md).*\n",
  "bytes": 3926,
  "sha": "3635f03e49393504598a457a64d6e537dcf000451d4afed4227016e94f08b19a",
  "repo_slug": "makaric/pjq",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_life_pjq_pjq_b8a0b3ac/readme"
}