# skill-gibbs-hyperresearch-2026-08-03

## Veille

**Skill**-Eintrag (kein Artikel): **hyperresearch** von **Jordan Gibbs** ist ein **Deep-Research-Harness**, das Claude Code in einen dokumentenrecherchierenden Agenten verwandelt, veröffentlicht als PyPI-Paket (MIT, Python 3.11-3.13), das **20 Claude Code Skills** + eine CLI + einen MCP-Server + eine lokale Web-UI installiert. Beobachtet am **3. August 2026**: 1.568 Stars, 170 Forks, Repo erstellt am 9. April 2026, letzter Push am 1. August. **Der Kern ist eine 16-stufige, nach Tier adaptive Pipeline** (`light` ~30-40 Min → `full` ~1,5-2,5 Std → `dissertation` 4-8 Std und 25.000-80.000 Wörter über 300-450 Quellen), die einen Prompt entgegennimmt und einen **adversarisch geprüften** Bericht mit vollständiger Provenienz zurückgibt. **Die zentrale – und lehrreichste – Architekturentscheidung wird zusammen mit ihrem Fehlermodus dokumentiert**: Der Einstiegs-Skill ist ein **dünner Router** ohne jede Prozedur, wobei jeder Schritt in seinem eigenen Skill lebt, der **frisch im Moment seines Aufrufs** geladen wird – weil die Vorgängerversion *« one 1200-line skill that got compacted away by the time Layer 4 needed its triple-draft procedure. The orchestrator forgot the procedure, wrote a single draft, and produced a flat-scoring report. »* war. **Zwei tragende Prinzipien**: *« Patch, never regenerate »* – nach der Synthese sind nur noch chirurgische `Edit`-Korrekturen möglich, da der Patcher und der Polish-Auditor **auf Ebene der Claude Code Allowlist auf `[Read, Edit]` werkzeuggesperrt sind**, sodass sie *« physically cannot Write a new draft »*; und *« canonical research query is gospel »* – der wortgetreue Prompt wird einmal in `query.md` persistiert und von jedem Schritt und jedem Subagenten erneut gelesen. **Sechzehn Subagenten** mit konfigurierbarer Rolle und Modell (Fetcher und Cite-Checker auf Sonnet, Kritiker/Synthesizer/Patcher auf Opus). **Der Vault** ist ein persistenter Markdown-Speicher, indiziert in SQLite – *« Markdown is truth, SQLite is cache »* – mit einem Notiz-Lebenszyklus (`draft → review → evergreen`, `stale → deprecated → archive`), nachvollziehbarer Provenienz, einem zusammengesetzten Qualitätsscore (Quellentyp, Zitationsautorität via OpenAlex/Semantic Scholar **mit Rückzugsindikatoren**, internem PageRank) und einer **Unabhängigkeitsprüfung**, die syndizierte Kopien gruppiert – *« five reprints of one press release argue with the weight of one source »*. **Drei mechanische Schranken vor der Veröffentlichung**: Zitationsintegrität (jede zitierte Passage muss **wortgetreu** in einer Vault-Notiz existieren), ein bei jeder zitierten DOI erneuerter Rückzugs-Scan und die Überprüfung der Zitat-Satz-Verknüpfung durch ein skeptisches LLM. ⚠️ **Wichtiger Vorbehalt**: Die Schlagzeilenbehauptung – *« currently leads the DeepResearch-Bench RACE leaderboard »* – wird durch die eigene Fußnote widerlegt, *« forward-looking projection from a stratified pilot… Third party validation is pending »*. Eine **Projektion** ist keine Rangliste, dennoch platziert das Diagramm sie vor Gemini und OpenAI Deep Research.

## Titre Article

hyperresearch — « The Most Powerful Deep Research Harness » / « Agent-driven research knowledge base. Agents collect, search, and synthesize web research into a persistent, searchable wiki. »

## Date

2026-08-03

## URL

https://github.com/jordan-gibbs/hyperresearch

## Keywords

Skill, Deep Research, Research-Harness, Claude Code, 16-stufige Pipeline, Tiers, light, full, dissertation, Gear, Skalierungsprofil, dünner Router, verzögertes Laden, Kontextkomprimierung, Prozedurverdrängung, Skill pro Schritt, patch never regenerate, chirurgische Korrektur, Werkzeugsperrung, werkzeuggesperrt, Allowlist, Read Edit, kanonische Anfrage, wortgetreuer Prompt, Gesetz, Subagenten, Fetcher, Loci-Analyst, Depth-Investigator, Draft-Orchestrator, Synthesizer, adversarische Kritiker, dialektischer Kritiker, Cite-Checker, Patcher, Polish-Auditor, Vault, Markdown als Quelle der Wahrheit, SQLite-Cache, rekonstruierbarer Index, Notiz-Lebenszyklus, evergreen, deprecated, Provenienz, suggested-by, Qualitätsscore, PageRank, OpenAlex, Semantic Scholar, Rückzug, Unabhängigkeitsprüfung, Syndizierung, quote-integrity, numeric-consistency, Ship-Gate, Lint, Prompt-Injection, untrusted-source, Web-Text als Daten, SSRF, Unpaywall, Europe PMC, Open Access, "rescued"-Notiz, nothing_from_source, Version of Record, Browser-Eskalation, Claude-in-Chrome, CAPTCHA nie automatisch gelöst, Run-Budget, run resume, MCP, DeepResearch-Bench, unvalidierte Projektion, Jordan Gibbs

## Authors

**Jordan Gibbs** — auteur et mainteneur du dépôt `jordan-gibbs/hyperresearch`. Le projet est distribué sous **licence MIT** et publié sur **PyPI** (`pip install hyperresearch`). Signaux d'adoption au 3 août 2026 : **1 568 étoiles**, **170 forks**, 13 issues ouvertes, dépôt créé le **9 avril 2026** et poussé le **1er août 2026** — soit une traction rapide sur moins de quatre mois. Topics déclarés : `agents`, `agentskills`, `claude-code`, `deep-research`, `deep-research-agent`.

## Ton

**Profil**: Open-Source-Projektdokumentation mit hoher technischer Dichte, zugleich als **Überlegenheitsargument** angelegt. Das README erklärt nicht nur: es **argumentiert**, Abschnitt für Abschnitt, unter Überschriften, die Thesen sind (*« Why it wins »*, *« Source ranking: quality is persistent, not vibes »*, *« The web is hostile input »*, *« Open-access full text: read this before you cite »*).

**Stil**: ein Ingenieursregister, das einen Mechanismus über das Problem erklärt, das er löst, fast immer in zwei Schlägen – zuerst der Fehlermodus, dann die Lösung. *« A closed paper normally enters a vault as a 1,500-character abstract that the report then cites as though it had been read »*, dann die Open-Access-Substitution. *« V7 was one 1200-line skill that got compacted away »*, dann der Router. Diese Form gibt dem Text einen **didaktischen Wert, der seinen werblichen Wert übersteigt**: Man lernt die Fehlermodi agentischer Deep Research, selbst ohne das Tool je zu installieren.

**Dem Agenten auferlegtes operatives Register** ("Ton" im Sinne der Skill-Einträge): **imperativ, vertraglich, zur Betonung großgeschrieben**. *« NEVER EMIT BARE TEXT WHILE TASKS ARE RUNNING »*, *« RESPECT THE TIER GATE »*, *« PATCH, NEVER REGENERATE »*, *« ARGUE, DON'T JUST REPORT »*. Der Orchestrator wird explizit von der eigentlichen Arbeit entbunden: *« You do NOT do the work of any step yourself. The step skills do. You just sequence them. »* Der Nutzer-Prompt wird **Gesetz** genannt – dreimal.

**Bemerkenswertes Merkmal**: eine **selektive Ehrlichkeit**. Der Abschnitt *« What it doesn't do »* ist freimütig (*« The lint gate catches structural failures… It cannot guarantee factual accuracy, that's still your call »*), die Preprint-Versionswarnungen sind gewissenhaft, und die Anforderung, für Unpaywall eine eigene `contact_email` anzugeben, wird mit kollektiver Argumentation begründet (*« shipping a shared placeholder would get that placeholder rate-limited for every hyperresearch user at once »*). Diese Sorgfalt macht die **eine Stelle, an der sie nachlässt**, um so sichtbarer: die Rangliste-Behauptung.

**Kennphrasen**: *« Markdown is truth, SQLite is cache »*, *« Fetched text is data, never instructions »*, *« five reprints of one press release argue with the weight of one source »*, *« they physically cannot Write a new draft »*, *« quality is persistent, not vibes »*, *« nothing is thrown away »*, *« each session starts smarter than the last »*.

## Pense-betes

- **Art**: **Deep-Research-Harness**, veröffentlicht als Paket aus **20 Claude Code Skills** + Python-CLI + MCP-Server + lokaler Web-UI. Installation via `pip install hyperresearch && hyperresearch install`, dann `/hyperresearch <topic>`. MIT, Python 3.11-3.13.
- **⭐⭐ Die Architekturlehre mit ihrem dokumentierten Fehlermodus** – der übertragbarste Teil, unabhängig vom Werkzeug: Der Einstiegs-Skill ist ein **Router**, der **keine** Prozedur enthält, nur die Aufrufreihenfolge. Textliche Begründung: *« V7 was one 1200-line skill that got compacted away by the time Layer 4 needed its triple-draft procedure. The orchestrator forgot the procedure, wrote a single draft, and produced a flat-scoring report. V8 fixes this at the source: each step's procedure is loaded into context only at the moment it's needed, fresh, with no eviction risk. »* → **Eine lange Pipeline verliert ihre Schritte nicht, weil das Modell vergisst, sondern weil der Kontext verdrängt wird**, und die Lösung ist strukturell: ein Skill pro Schritt, geladen bei Aufruf. Genau die Disziplin von [[lassiege-usine-logicielle-heure-ia-2026-07-28]] ("der permanente Kontext trägt den Index, nicht den Inhalt") **unabhängig auf anderem Terrain entdeckt**. Eine Konvergenz, die es festzuhalten gilt.
- **⭐ Werkzeugsperrung als physische Garantie**: Der Patcher und der Polish-Auditor sind *« tool-locked to `[Read, Edit]` at the Claude Code allowlist level so they physically cannot Write a new draft »*, mit Obergrenzen pro Hunk, die ein *« just rewrite it » mechanisch unmöglich machen*. → **Dem Agenten wird nicht gesagt, er solle nicht neu schreiben – ihm wird das Schreib-Werkzeug entzogen.** Gleiche Familie wie *« a hook or a test is enforced every time »* ([[lassiege-usine-logicielle-heure-ia-2026-07-28]]) und der Zwangsring in [[sfeir-code-review-anneau-contraintes-2026-07-30]]: **mechanische Unmöglichkeit schlägt Anweisung.** Operatives Korollar: Ein Kritikbefund, der nicht in eine kleine Korrektur passt, **eskaliert zu einem strukturellen Problem**, statt eine Neufassung auszulösen.
- **Die sechzehn Schritte in drei Blöcken** (die Struktur zählt mehr als das Detail): **Rahmung** (1 Zerlegung + Abdeckungsmatrix + Tier-Klassifikation, 1.5 Kapitelaufteilung) → **Korpus und Analyse** (2 Breitenscan, 3 Widerspruchsgraph, 4 Loci-Analyse, 5 parallele Tiefenrecherchen, 6 Loci-übergreifende Abstimmung, 7 Spannungen zwischen Quellen, 8 Korpuskritik "welche Quelle würde das umstoßen?" + gezieltes Schließen von Lücken, 9 Evidenz-Digest) → **Verfassen und Prüfung** (10 dreifacher Entwurf nach Blickwinkel, 11 Synthese, 12 vier parallele adversarische Kritiken, 13 Lückenschluss nach der Kritik, 14 chirurgischer Patcher, 14.5 Zitationsprüfung, 15 Feinschliff, 16 Lesbarkeitsprüfung).
- **Drei nicht zu verwechselnde Skalierungshebel** – eine klare, wiederverwendbare Unterscheidung: **Tiers** routen nach Anfrage und entscheiden, **welche Schritte laufen**; **Gears** (Skalierungsprofile) entscheiden, **wie viel** – Quellenziele, Tiefenbudgets, Länge – und *« survive reinstalls »*, wirken beim nächsten Lauf, **nie mitten im Lauf**; **Levers** (`register`, `domain_notes`, `inference_depth`) entscheiden, **welche Stimme** herauskommt – `teach` / `survey` / `analyze` / `advocate`. ⭐ Feines Detail: Levers landen in **Shims, die in Subagenten-Prompts injiziert werden**, *« so the critics move with the register instead of undoing it »* – im Register `survey` markiert der dialektische Kritiker unfaire Darstellung statt fehlendes Engagement. **Aber**: *« The cite-checker and the ship gate receive no shim at all. Verification never softens by mode. »* → **Die Verifikation ist die einzige Stufe, die vom Stil ausgenommen ist.** Eine ausgezeichnete Designregel.
- **⭐ Die drei mechanischen Schranken vor der Veröffentlichung** (der beste Teil des Aufbaus, direkt übertragbar auf jeden dokumentarischen Korpus): 1. **quote-integrity** – jeder in Anführungszeichen zitierte Abschnitt muss **wortgetreu** in einer Vault-Notiz existieren; *« hallucinated quotes cannot ship »*. 2. **retracted-citations** – eine zurückgezogene Quelle ohne Markierung zu zitieren ist ein **blockierender Fehler**, mit einem Rückzugs-Scan, der **bei jeder Veröffentlichung für jede zitierte DOI erneuert wird**, auch für aus älteren Läufen wiederverwendete Quellen. *« a retraction published yesterday is caught today »*. 3. **numeric-consistency** – nicht auf Evidenz zurückführbare Zahlen werden markiert. Plus **cite-check**: Ein skeptisches LLM prüft stichprobenhaft, ob die zitierte Quelle den Satz, den sie belegt, **tatsächlich stützt**.
- **⭐ Die Unabhängigkeitsprüfung – die unmittelbar am leichtesten übernehmbare Idee**: Syndizierte und derivative Kopien werden gruppiert, sodass *« five reprints of one press release argue with the weight of one source »*. **Die Anzahl übereinstimmender Quellen hört auf, ein Argument zu sein, sobald sie alle von derselben Pressemitteilung abstammen.** Relevant für jede Tech-Watch-Praxis: Nachdruck-Redundanz tarnt sich als Konsens.
- **Persistenter zusammengesetzter Qualitätsscore**: Quellentyp + beim Lesen beobachteter Nutzen + Zitationsautorität (OpenAlex / Semantic Scholar, **mit Rückzugsindikatoren**) + **PageRank** auf dem internen Graphen des Vaults. Zurückgezogene Quellen werden **auf null gesetzt**. *« Quality is persistent, not vibes. »*
- **⭐⭐ Die Prompt-Injection-Abwehr – die ernsthafteste, die in einem offenen Harness gesehen wurde**: *« Fetched text is data, never instructions. »* Jeder aus dem Web abgerufene Inhalt wird innerhalb einer `<untrusted-source url="...">`-Umklammerung mit einer Als-Daten-behandeln-Präambel ausgeliefert, **auf beiden Pfaden, die Inhalte ausliefern** (`note show` und `search`). Details, die zeigen, dass die Bedrohung ernst genommen wurde:
- Notizen, die von den eigenen Subagenten der Pipeline geschrieben wurden, passieren **ohne Umklammerung** → **Vertrauensgrenze nach Provenienz**, nicht nach Inhalt;
- **gefälschte** Schlussklammern, die in einem abgerufenen Inhalt gefunden werden, werden neutralisiert, **aber für die forensische Analyse sichtbar gelassen**;
- das Attribut `url` wird escaped und seine Steuerzeichen entfernt;
- in `search` erfolgt die Umklammerung **nach** dem Trunkieren auf das Token-Budget, *« so the closing fence can never be severed »* – das Detail, das verrät, dass tatsächlich gezielt nach dem Bypass gesucht wurde;
- über Drittanbieter-APIs aufgelöste URLs werden geprüft (Schema, eingebettete Zugangsdaten, öffentlich routbare Auflösung) → **SSRF**-Abwehr;
- Fetcher-, Investigator- und Writer-Prompts tragen eine Klausel, die das **Waschen** von Anweisungen aus einer umklammerten Seite in vertrauenswürdige Ausgabe verbietet. → Zu vergleichen mit *« a security boundary that relies on a prompt instruction is not a boundary »* ([[sfeir-anthropic-sdlc-ai-native-securise-2026-07-26]]): Hier ist die Umklammerung **mechanisch**, und die Anweisung untermauert sie lediglich. Gleiche Logik, beobachteten Inhalt als Daten zu behandeln, wie in [[valente-zalewski-beyond-zero-enterprise-security-ai-era-2026-07-20]].
- **⭐ Epistemische Hygiene bei kostenpflichtigen Quellen – bemerkenswert und selten**: Ein kostenpflichtiger Artikel würde normalerweise als ~1.500-Zeichen-Abstract in den Vault eingehen, den der Bericht dann zitieren würde, *« as though it had been read »*. hyperresearch fragt **Unpaywall** und **Europe PMC** nach einer legalen Open-Access-Kopie ab und speichert **diesen Text stattdessen**, wobei die Substitution an **vier Stellen** offengelegt wird (Banner im Text, `oa_*`-Frontmatter, JSON-Block `body_is_not_from_source: true`, CLI-Ausgabe). Und entscheidend: Ein dritter Zustand wird unterschieden, die **"rescued"**-Notiz, wenn die Quelle **überhaupt nicht gelesen werden konnte** – `nothing_from_source: true`, ein Banner, der besagt, dass die URL nie gelesen wurde, *« the title, the authors, and every word of the body are the open-access copy's »*. Versionswarnung: Unpaywall kann ein akzeptiertes Manuskript oder einen eingereichten Preprint zurückgeben, was vor jeder direkten Zitation zu prüfen ist. → **Das System unterscheidet „Ich habe das gelesen" von „Ich habe einen Ersatz gelesen" von „Ich habe die Quelle nie gelesen"**, und trägt diese Unterscheidung in das Artefakt. **Direkt übertragbar auf eine Tech-Watch-Praxis.**
- **Der Vault und seine beunruhigende Nähe zu diesem Repository selbst**: *« Markdown is truth, SQLite is cache »* – vollständig rekonstruierbarer Index (`hyperresearch sync`), Notizen in Markdown + YAML-Frontmatter, ohne das Tool lesbar, versionierbar in Git, exportierbar/importierbar, **kuratierter Lebenszyklus** (`draft → review → evergreen` oder `stale → deprecated → archive`) *« that keeps a vault from becoming a dumping ground of half-read pages »*, Provenienz via `--suggested-by` mit einer **Lint-Regel**, die getrennte Komponenten, Hubs, Backlinks, Wikilinks erkennt. ⭐ **Das ist die Architektur genau dieses Tech-Watch-Korpus, unabhängig entdeckt**: Markdown-Quelle, generierter Index als Cache, Lint-Gate, Doctor, Wikilinks. Was hyperresearch zusätzlich hat und diesem Korpus fehlt: **Qualitätsscore pro Quelle, Unabhängigkeitsprüfung, Rückzugs-Scanning, optionale semantische Suche, expliziter Lebenszyklusstatus**. Ein ernstzunehmender Inspirationspfad für `scripts/`.
- **Fortsetzung und Budget**: Jeder Lauf hat einen isolierten Raum (`research/runs/<tag>/`) und ein **Manifest**, das als *« durable memory »* dient – ein abgestürzter Lauf wird exakt am toten Schritt fortgesetzt (`run resume`). `run init --budget 50` **blockiert** den Lauf, sobald die Obergrenze überschritten wird, *« rather than letting it quietly balloon »*. Parallele Läufe kollidieren nicht.
- **⚠️⚠️ Der systematisch hervorzuhebende Vorbehalt – die Benchmark-Behauptung**: Das README erklärt gleich zu Beginn, das Tool *« currently leads the DeepResearch-Bench RACE leaderboard (benchmarked internally) »*, samt Diagramm, das es vor Grep Deep Research, Cellcog Max, nvidia-aiq, **Gemini Deep Research** und **OpenAI Deep Research** platziert. Die Anmerkung unter dem Diagramm sagt etwas anderes: *« Forward-looking projection from a stratified pilot against the DeepResearch-Bench leaderboard snapshot. Third party validation is pending. »* → **Eine zukunftsgerichtete, selbst durchgeführte Projektion aus einem stratifizierten Pilotversuch ohne Validierung durch Dritte ist keine Rangliste.** Die beiden Aussagen sind nicht vereinbar, und es ist die einzige Stelle im Repository, an der die überall sonst gezeigte Sorgfalt nachlässt. **Niemals die Rangliste zitieren, sondern das Setup.**
- **⚠️ Weitere Einschränkungen, einige vom Autor selbst eingeräumt**:
- **Anthropic-Abhängigkeit**: *« It runs on Anthropic models via the subagent roster »* – Opus für Kritiker, den Synthesizer und den Patcher, Sonnet für Fetcher. Ein Codex-Port wird ausdrücklich begrüßt, aber nicht umgesetzt (*« If anyone wants to port this to Codex, put up a PR! »*).
- **Reale Kosten nicht in Euro quantifiziert**: `premier` zielt auf 100-130 Quellen bei reinem Scan und ~3-5 Std; `dissertation` zielt auf 300-450 Quellen und 4-8 Std. Das Budget ist in "API-äquivalenten Ausgaben" begrenzt, nicht in beobachteten Kosten.
- **Die ehrliche Einschränkung, zitierwürdig**: *« The lint gate catches structural failures… It cannot guarantee factual accuracy, that's still your call. »* → **Strukturelle Verifikation ≠ faktische Korrektheit.** Der gesamte Aufbau garantiert, dass ein Zitat existiert, nicht dass es wahr ist.
- **Eine harte und willkommene Grenze**: *« CAPTCHAs, 2FA, and logins are never solved automatically »* – eskaliert und an den Menschen zurückgegeben.
- **Abhängigkeitsfläche**: 20 Skills + 16 Subagenten + eine CLI, die einen authentifizierten Browser steuert, auf einem Repository, das noch keine vier Monate alt ist. Die Warnung aus [[lassiege-usine-logicielle-heure-ia-2026-07-28]] gilt vollständig (*« any skill, MCP, or code pulled in from outside must be scrutinized »*).
- **Meta / zu verlinken**: die vollendetste Instanz des Harness-Engineerings aus [[osmani-agent-harness-engineering-2026-04-19]]; konvergiert unabhängig mit [[lassiege-usine-logicielle-heure-ia-2026-07-28]] beim verzögerten Laden von Kontext und dabei, dass das Ausführbare die Anweisung schlägt; gleiche Doktrin der mechanischen Grenze wie [[sfeir-anthropic-sdlc-ai-native-securise-2026-07-26]] und [[valente-zalewski-beyond-zero-enterprise-security-ai-era-2026-07-20]]; formverwandt mit den anderen Skill-Einträgen des Korpus, [[skill-pocock-grill-with-docs-2026-06]] und [[akhouri-adhd-ideation-divergente-parallele-2026-07-20]]; zu lesen zusammen mit [[agent-skills-anthropic-2025-10-16]], [[shihipar-claude-code-lessons-building-skills-2026-06-03]] und [[vincent-superpowers-agentic-skills-framework-github-2026-04-02]] zur Skill-Mechanik; die parallele adversarische Kritik verbindet sich mit der von [[monperrus-end-of-code-review-agents-supersede-2026-06-11]] aufgeworfenen Frage, was eine automatisierte Review leisten kann.

## RésuméDe400mots

**hyperresearch** (Jordan Gibbs, MIT, PyPI) verwandelt Claude Code in einen Deep-Research-Agenten. Beobachtet am 3. August 2026: 1.568 Stars, Repo im April erstellt. Die Installation legt **20 Skills**, eine CLI, einen MCP-Server und eine lokale Web-UI an.

**Die Pipeline** durchläuft 16 adaptive Schritte über mehrere Tiers: `light` (~30-40 Min) für abgegrenzte Fragestellungen, `full` (1,5-2,5 Std) für argumentative Analysen mit adversarischer Prüfung, `dissertation` (4-8 Std, 25.000-80.000 Wörter, 300-450 Quellen) auf explizite Anfrage. Drei getrennte Stellhebel: **Tiers** entscheiden, welche Schritte laufen, **Gears** entscheiden, wie viel, **Levers** (`teach`/`survey`/`analyze`/`advocate`) entscheiden, in welcher Stimme der Bericht ausfällt.

**Die Architektur beantwortet einen dokumentierten Fehlerfall.** Der Einstiegs-Skill ist ein **dünner Router** ohne Prozedur: *« V7 was one 1200-line skill that got compacted away… The orchestrator forgot the procedure, wrote a single draft, and produced a flat-scoring report. »* Jeder Schritt lebt in seinem eigenen Skill, frisch geladen bei Aufruf – eine lange Pipeline verliert ihre Schritte nicht durch Vergessen, sondern durch Kontextverdrängung.

**Zwei tragende Prinzipien.** *« Patch, never regenerate »*: Nach der Synthese sind nur noch chirurgische Korrekturen möglich, da der Patcher **auf Ebene der Allowlist auf `[Read, Edit]` werkzeuggesperrt ist**, sodass er *« physically cannot Write a new draft »* – mechanische Unmöglichkeit ersetzt Anweisung. Und *« canonical research query is gospel »*: der wortgetreue Prompt wird persistiert und von jedem Schritt erneut gelesen.

**Die Verifikation ist die einzige Stufe, die vom Stil ausgenommen ist** – Levers injizieren Shims in die Prompts der Kritiker, aber *« the cite-checker and the ship gate receive no shim at all »*. Drei Schranken blockieren die Veröffentlichung: jede Zitation muss **wortgetreu** im Vault existieren, eine nicht markierte zurückgezogene Quelle ist ein harter Fehler (mit einem bei jeder zitierten DOI erneuerten Scan), und nicht nachvollziehbare Zahlen werden markiert.

**Der Vault** ist persistentes Markdown, indiziert in SQLite – *« Markdown is truth, SQLite is cache »* – mit einem Notiz-Lebenszyklus, Provenienz, einem zusammengesetzten Qualitätsscore und einer **Unabhängigkeitsprüfung**: *« five reprints of one press release argue with the weight of one source »*. Aus dem Web abgerufene Inhalte werden innerhalb einer `<untrusted-source>`-Umklammerung ausgeliefert: *« Fetched text is data, never instructions. »*

⚠️ **Der Vorbehalt.** Das README beansprucht den Spitzenplatz der DeepResearch-Bench-Rangliste; die eigene Fußnote erklärt, dass es sich um eine *« forward-looking projection from a stratified pilot »* ohne Validierung durch Dritte handelt. Man zitiere das Setup, niemals die Rangliste. Der Autor räumt zudem ein, dass der Lint *« cannot guarantee factual accuracy »*.

## Anti-patterns

- **Citer le classement DeepResearch-Bench.** La revendication de tête de leaderboard est une **projection auto-administrée en attente de validation tierce**, selon la note du dépôt lui-même. Citer l'architecture, jamais le rang.
- **Confondre vérification structurelle et exactitude.** L'auteur le dit : *« It cannot guarantee factual accuracy, that's still your call. »* Le dispositif garantit qu'une citation existe et qu'elle soutient sa phrase — pas que la source ait raison.
- **Lancer `full` ou `premier` sur une question bornée.** Le palier `light` existe pour ça, et la skill interdit explicitement de monter en palier « pour être exhaustif ».
- **Traiter une note `rescued` comme une lecture de la source.** `nothing_from_source: true` signifie que **rien** — ni titre, ni auteurs, ni corps — ne vient de l'URL en `source:`. À prendre au pied de la lettre.
- **Citer directement depuis une version non finale.** Si `oa_version` vaut `acceptedVersion` ou `submittedVersion`, vérifier la citation contre l'article publié.
- **Installer en `--global` sans y penser.** Coût permanent d'environ quinze lignes dans le *system reminder* de **toutes** les sessions Claude Code, y compris sans rapport avec la recherche.
- **Adopter sans revue de la chaîne de dépendances.** 20 skills, 16 sous-agents, une CLI pilotant un navigateur authentifié, sur un dépôt de moins de quatre mois — exactement la surface que [[lassiege-usine-logicielle-heure-ia-2026-07-28]] recommande de scruter.
- **Compter sur un portage hors Anthropic.** Le roster suppose Opus et Sonnet ; le portage Codex est souhaité par l'auteur, pas réalisé.

## Artefacts

**Espace de run** — `research/runs/<vault_tag>/` :
- `query.md` — le prompt utilisateur verbatim, référence canonique de tout le pipeline
- `run.json` — le manifeste (transitions d'étapes, dépense, file d'escalades) ; support de la reprise
- `scaffold.md` — document de planification privé, **interdit d'apparition dans le rapport final**
- `prompt-decomposition.json` — items atomiques, matrice de couverture, palier retenu
- `loci.json`, `comparisons.md`, `source-tensions.json`, `evidence-digest.md` — sorties d'analyse intermédiaires
- `temp/orchestrator-notes.md` — journal de raisonnement de l'orchestrateur
- `final_report.md` — le livrable

**Vault** — `research/notes/` : une note markdown par source, frontmatter YAML (dont `oa_url`, `oa_version`, `oa_recovery_kind`, `raw_file`, statut de cycle de vie), PDF bruts en `research/raw/<note-id>.pdf`, index SQLite **reconstructible** par `hyperresearch sync`, pages d'index générées, graphe de liens et de provenance.

**Sorties hors Claude Code** : serveur MCP (treize outils dont `search_notes`, `read_many`, `get_backlinks`, `lint_vault`), UI web locale sur le port 8080 sans dépendance JavaScript, exports JSON et vault filtré.

## Commentaire

**En une phrase** : hyperresearch est un harnais qui traite la recherche documentaire agentique comme une **chaîne de production sous contraintes mécaniques**, où chaque risque connu du deep research par LLM reçoit une parade structurelle plutôt qu'une consigne.

**L'idée centrale** est que les modes d'échec du deep research agentique sont **connus et énumérables**, donc outillables un par un. Le README les nomme et leur oppose chaque fois un mécanisme : le rapport dérive en réécriture ? On retire l'outil d'écriture. Le modèle oublie une étape en cours de route ? On charge la procédure au moment de l'invocation. Une citation est inventée ? Elle doit exister verbatim dans le vault, ou le rapport ne part pas. Cinq sources concordent ? On vérifie qu'elles ne sont pas cinq reprises d'un même communiqué. Une page web s'adresse à l'agent ? Son corps est servi dans une clôture qui le désigne comme donnée. Un article payant n'est lu qu'en abstract ? On va chercher une copie légale et on **déclare** la substitution.

**Les principes** qui structurent l'ensemble se ramènent à trois. **La contrainte bat la consigne** — le verrouillage d'outils, les gates de lint et les clôtures ne dépendent pas de la coopération du modèle. **Le contexte se charge au dernier moment** — le routeur mince existe parce qu'un long contexte se fait évincer, ce qui est un fait d'ingénierie et non un défaut de rédaction du prompt. **La vérification ne se négocie pas** — le style du rapport est paramétrable, la vérification ne l'est pas.

**En résumé** : c'est le dispositif de deep research agentique le plus complètement instrumenté publiquement disponible à ce jour, et sa documentation vaut d'être lue **même sans l'installer**, parce qu'elle constitue un catalogue raisonné des façons dont une recherche menée par agent se trompe. Sa faiblesse est ailleurs : une revendication de performance que ses propres notes de bas de page ne soutiennent pas.

## Déclencheur

**Quand la skill s'active** : sur invocation explicite `/hyperresearch <sujet>` dans Claude Code, après `pip install hyperresearch && hyperresearch install` dans le projet (ou `--global` pour toutes les sessions, au prix d'environ quinze lignes dans le *system reminder* de chaque session).

**Entrées attendues** :
- un **prompt de recherche en langue naturelle**, dont la forme verbale détermine le registre du rapport (« explique-moi X » → `teach` ; « quel est le paysage » → `survey` ; défaut → `analyze` ; « défends la thèse que » → `advocate`) ;
- optionnellement, une demande explicite de palier `dissertation` — jamais choisi automatiquement ;
- optionnellement, un plafond de dépense (`run init --budget`), un gear installé (`profile use premier`), ou des directives explicites de registre qui l'emportent sur l'inférence.

**Ce qui est résolu automatiquement au démarrage** : création du vault si absent, installation des 16 skills d'étapes si absentes, archivage des artefacts d'anciennes versions, frappe d'un `vault_tag` unique, initialisation de l'espace de run.

**Quand ne pas la déclencher** : question factuelle simple à réponse connue (le palier `light` existe mais reste une trentaine de minutes), sujet sans littérature accessible, ou besoin d'une réponse immédiate.

## Fonctionnement

**La boucle de l'orchestrateur** est délibérément pauvre : lire le fichier d'entrée une fois → bootstrapper les entrées canoniques → invoquer `Skill(skill: "hyperresearch-N-...")` dans l'ordre dicté par le palier → entre deux étapes, ne rien faire d'autre que marquer les todos et consigner des notes. L'orchestrateur **ne fait le travail d'aucune étape**.

**Le mécanisme d'échelle**, en trois couches indépendantes :

| Couche | Décide | Quand elle s'applique |
|---|---|---|
| **Palier** (`tier`) | quelles étapes tournent | classé par l'étape 1, par requête |
| **Gear** (profil) | l'ampleur : sources, profondeur, longueur | rendu à l'installation, effectif au run suivant |
| **Levers** | le registre et la profondeur d'inférence | inférés du prompt, surchargeables |

**Le fan-out** repose sur seize sous-agents aux rôles fixes et aux modèles configurables : fetchers (8-12 en parallèle par vague), analystes de sources longues, analystes de loci, investigateurs de profondeur (K en parallèle), trois rédacteurs d'angle, un synthétiseur, **quatre critiques adverses en parallèle** (dialectique, profondeur, largeur, instruction), un patcheur, un vérificateur de citations, un auditeur de polissage, un recommandeur de lisibilité, un fetcher-navigateur.

**La chaîne de contrôle en fin de course** est ce qui distingue le dispositif : les critiques attaquent le brouillon → leurs conclusions ne peuvent être appliquées que par un patcheur **incapable d'écrire un fichier** → les conclusions trop larges pour une retouche remontent comme problèmes structurels → un vérificateur sceptique échantillonne les liaisons citation-phrase → une batterie de vérifications bloque l'expédition (citation verbatim, rétractation, cohérence numérique).

**La boucle longue** est le vault : chaque source lue y demeure, indexée et scorée, et la session suivante y cherche **avant** de récupérer quoi que ce soit du web — *« each session starts smarter than the last »*.

## Lecture commentée du SKILL.md

Le fichier commenté est la skill d'entrée, `src/hyperresearch/skills/hyperresearch.md` (~24 Ko).

**Le frontmatter annonce la nature du fichier — un routeur, pas une procédure** :

```yaml
name: hyperresearch
description: >
  Deep research via the HYPERRESEARCH V8 architecture — a tier-adaptive 16-step
  pipeline (light / full / dissertation) … This entry skill is a ROUTER.
  It does not contain step procedures — it tells you which Skill to invoke
  for each step, in order.
```

*Glose* : la `description` est ce que l'agent lit pour décider de charger la skill ; y écrire en majuscules **ROUTER** et nier explicitement la présence de procédures est un choix de design — l'agent est prévenu qu'il devra invoquer autre chose. On notera les **marqueurs de gabarit** `<< p.time_estimate >>` : le fichier est **rendu à l'installation** depuis le profil d'échelle, ce qui explique que changer de gear « prenne effet au run suivant, jamais en cours de run ».

**La dépossession de l'orchestrateur, énoncée d'emblée** :

> *« You are the orchestrator. Your entire job in this conversation is: 1. Read this file once at the start. 2. Bootstrap canonical inputs… 3. Invoke each step skill in sequence via the `Skill` tool. 4. Between steps, do nothing except mark todos and (optionally) think… You do NOT do the work of any step yourself. »*

*Glose* : la contre-mesure vise la tendance d'un orchestrateur à « aider » en faisant lui-même le travail de l'étape suivante — ce qui contaminerait son contexte et casserait le bénéfice du chargement différé.

**Le passage le plus instructif du dépôt, la justification du design** :

> *« Why this design? Context compaction. V7 was one 1200-line skill that got compacted away by the time Layer 4 needed its triple-draft procedure. The orchestrator forgot the procedure, wrote a single draft, and produced a flat-scoring report. V8 fixes this at the source: each step's procedure is loaded into context **only at the moment it's needed**, fresh, with no eviction risk. »*

*Glose* : un **post-mortem** intégré à la documentation d'architecture. Le symptôme (un seul brouillon au lieu de trois) était silencieux — rien n'échouait, la qualité baissait. C'est le mode d'échec le plus dangereux d'un pipeline long, et la seule parade fiable est de ne pas dépendre de la persistance du contexte.

**Le bootstrap installe la mémoire durable avant toute étape** — sept points numérotés dont trois portent l'essentiel :

> *« Persist the query file. Write the verbatim canonical query to `research/runs/<vault_tag>/query.md` … This file is the **canonical query reference for the entire pipeline**. Every step skill and every subagent reads it by path. »*

> *« The manifest is your durable memory: record every step transition with `hyperresearch run step <vault_tag> <N> --status running|done -j` as you go. »*

> *« Seed the TodoWrite list … The todo list survives context compaction; it's your durable memory of where you are in the chain. »*

*Glose* : **trois mémoires externes redondantes** — le fichier de requête pour *quoi*, le manifeste pour *où j'en suis* de façon persistante et interrogeable, la todo list pour *où j'en suis* dans la fenêtre courante. Toutes trois existent parce que le contexte, lui, ne survit pas. Le choix de nommer la todo list « durable memory » dit tout du problème traité.

**Les quatre règles canoniques, en majuscules** :

> *« 1. NEVER EMIT BARE TEXT WHILE TASKS ARE RUNNING. In non-interactive (`-p`) mode, a text-only response (no tool call) triggers `end_turn` — the process exits and the pipeline dies. »*

*Glose* : une contrainte **du harnais**, pas du modèle — en mode `-p`, une réponse sans appel d'outil termine le processus. La parade recommandée (écrire ses pensées dans `orchestrator-notes.md`) transforme une limite d'exécution en journal de raisonnement. Détail révélateur d'un projet qui tourne vraiment en non-interactif.

> *« 2. PATCH, NEVER REGENERATE. … Both subagents are tool-locked to `[Read, Edit]`. If a critic's finding would require rewriting a whole section, it escalates to you as a structural issue — not a rewrite. »*

> *« 4. RESPECT THE TIER GATE. Don't add steps "for thoroughness." Don't drop steps "for budget." The tier is a binding contract. »*

*Glose* : la règle 4 traite les deux dérives symétriques d'un agent zélé — en ajouter « pour bien faire » et en retirer « pour économiser ». Ailleurs le texte insiste : *« The tier classification is a product decision: simple queries should produce fast, right-sized answers. Trust the classification. »*

**Choix de design à retenir** : la **modularisation par fichiers annexes** (une skill par étape) n'est pas ici une commodité de lecture mais la réponse à un mode d'échec mesuré ; le **gabarit rendu à l'installation** rend les paramètres d'échelle inspectables dans les fichiers eux-mêmes plutôt que cachés dans du code ; et la **redondance des mémoires externes** est assumée comme un coût nécessaire.

## GrapheDeConnaissance

- Jordan Gibbs —a_créé→ hyperresearch (METHODOLOGIE, 0.97)
- hyperresearch —utilise→ Claude Code (TECHNOLOGIE, 0.97)
- hyperresearch —permet→ de transformer un agent de codage en agent de recherche documentaire profonde (AFFIRMATION, 0.95)
- skill d'entrée routeur —résout→ l'éviction par compaction de la procédure d'une étape dans un pipeline long (AFFIRMATION, 0.96)
- hyperresearch —affirme_que→ une skill unique de 1200 lignes se fait évincer du contexte et l'orchestrateur en oublie silencieusement des étapes (CITATION, 0.95)
- verrouillage d'outils —permet→ de rendre une réécriture mécaniquement impossible plutôt que déconseillée (AFFIRMATION, 0.95)
- verrouillage d'outils —surpasse→ une consigne de prompt pour garantir un comportement d'agent (AFFIRMATION, 0.92)
- hyperresearch —recommande→ de ne modifier un rapport synthétisé que par retouches chirurgicales, jamais par régénération (AFFIRMATION, 0.95)
- prompt utilisateur verbatim —fait_partie_de→ contrat canonique relu par chaque étape et chaque sous-agent (AFFIRMATION, 0.93)
- audit d'indépendance des sources —réduit→ le poids d'un consensus apparent formé de reprises d'un même communiqué (AFFIRMATION, 0.94)
- vérification de l'intégrité des citations —résout→ l'expédition de citations hallucinées, en exigeant leur présence verbatim dans le corpus (AFFIRMATION, 0.95)
- balayage de rétractation —s_applique_à→ chaque DOI cité au moment de l'expédition, y compris sur des sources réutilisées (AFFIRMATION, 0.92)
- hyperresearch —affirme_que→ le texte récupéré du web est une donnée et jamais une instruction (CITATION, 0.96)
- clôture untrusted-source —réduit→ le risque d'injection de prompt par une page web lue par un agent (AFFIRMATION, 0.94)
- notes produites par les sous-agents du pipeline —s_oppose_à→ les corps récupérés du web, servis sous clôture — frontière de confiance par provenance (AFFIRMATION, 0.9)
- récupération en accès ouvert —résout→ la citation d'un article payant lu seulement en abstract, comme s'il avait été lu (AFFIRMATION, 0.94)
- hyperresearch —utilise→ Unpaywall (TECHNOLOGIE, 0.93)
- hyperresearch —utilise→ Europe PMC (TECHNOLOGIE, 0.93)
- note rescued —affirme_que→ ni le titre, ni les auteurs, ni le corps ne proviennent de l'URL déclarée en source (AFFIRMATION, 0.93)
- vault hyperresearch —est_basé_sur→ markdown comme source de vérité et index SQLite reconstructible comme cache (AFFIRMATION, 0.95)
- vault hyperresearch —converge_avec→ l'architecture médaillon d'un corpus de veille en fichiers (CONCEPT, 0.85)
- score de qualité de source —est_basé_sur→ type de source, utilité constatée, autorité de citation avec rétractations, et centralité PageRank interne (AFFIRMATION, 0.92)
- vérification —s_oppose_à→ le paramétrage par registre, qui module les critiques mais jamais le contrôle des citations (AFFIRMATION, 0.93)
- hyperresearch —affirme_que→ le gate de lint attrape les défaillances structurelles mais ne garantit pas l'exactitude factuelle (CITATION, 0.95)
- hyperresearch —mesure→ une position de tête sur DeepResearch-Bench RACE, présentée comme projection prospective auto-administrée sans validation tierce (MESURE, 0.75)
- hyperresearch —utilise→ modèles Anthropic Opus et Sonnet via un roster de seize sous-agents (AFFIRMATION, 0.93)
- hyperresearch —s_oppose_à→ la résolution automatique des CAPTCHA, de la double authentification et des connexions (AFFIRMATION, 0.94)

---
Canonical: https://www.thekb.eu/de/fiches/skill-gibbs-hyperresearch-2026-08-03/
