@mcptoolshop/research-os 0.3.2 → 0.3.3

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/CHANGELOG.md CHANGED
@@ -2,6 +2,89 @@
2
2
 
3
3
  All notable changes to `research-os` are documented here.
4
4
 
5
+ ## [0.3.3] — 2026-05-10
6
+
7
+ Tight release. **Gate-semantics clarity, not behavior change.** Two
8
+ diagnostic improvements earned by Pack-3 (Godot export/runtime
9
+ durability, Experiment 3 pack #3 of 3, frozen 2026-05-10): F-43 (gate
10
+ accumulation diagnostic) and F-41 (monopoly check reword). Existing
11
+ pass/fail semantics for source-floor checks UNCHANGED. All four frozen
12
+ packs in research-packs continue to verify-pack with byte-identical
13
+ receipt fingerprints under v0.3.3.
14
+
15
+ ### Added
16
+
17
+ - **Section-scoped diagnostic counts in gate output (F-43).** Gate
18
+ output now carries `section_primary` and `section_independent_publishers`
19
+ alongside the existing pack-wide counts. Section reports and audit
20
+ rollups display both views. Operators can now see, per section, how
21
+ many publishers contribute section-locally vs how many the
22
+ cumulative pack-wide source set carries.
23
+
24
+ *Gate pass/fail behavior is unchanged. v0.3.3 makes the source-floor
25
+ evidence legible by reporting both pack-wide and section-scoped
26
+ counts.*
27
+
28
+ Earned by Pack-3 Sessions 4–7 (Godot pack), where five sections of
29
+ identical single-publisher canonical-engine shape received different
30
+ waiver outcomes purely based on run-order — Section 01 (run first,
31
+ pack thin) needed dual waiver; Sections 02 + 04 + 05 + 06 + 07 (run
32
+ later, pack accumulated 6+ publishers) needed 0 waivers. The
33
+ difference was real (pack-wide counts at gate-run time), but the
34
+ diagnostic didn't show operators which view drove the decision.
35
+
36
+ ### Changed
37
+
38
+ - **`no_source_cluster_monopoly` reworded from WARN to informational
39
+ diagnostic (F-41).** The check fired WARN on every single-source
40
+ claim across Pack-3 (confirmed 7×) regardless of explicit publisher
41
+ attribution on source cards. Each research-os claim is grounded to
42
+ one source span by design, so every claim is structurally
43
+ "single-publisher sourced." The WARN didn't carry actionable signal —
44
+ publisher diversity is already enforced by `min_independent_publishers`
45
+ at the source-card level.
46
+
47
+ *Because research-os claims are usually grounded to one source span,
48
+ single-source claim attribution is expected. Source diversity should
49
+ be judged from the section/pack source floor, not from a per-claim
50
+ "monopoly" warning.*
51
+
52
+ The check is preserved (not removed) so its diagnostic stays visible.
53
+ It now passes with an explanatory message rather than firing a
54
+ warning.
55
+
56
+ ### Compatibility
57
+
58
+ - All four frozen packs (`research-os-self-dogfood`,
59
+ `comfyui-workflow-durability`, `xrpl-creator-token-durability`,
60
+ `godot-export-runtime-durability`) verify-pack with byte-identical
61
+ receipt sha256 under v0.3.3.
62
+ - Manifest format, freeze receipt format, claim-reviews.jsonl
63
+ semantics, F-36 effective-accepted-claims helper — all UNCHANGED.
64
+ - New diagnostic fields are additive. Existing tooling that reads
65
+ gate output continues to function.
66
+
67
+ ### Tests
68
+
69
+ - 558 → **570 passing** (+12). Lint clean; typecheck clean; build
70
+ clean.
71
+ - 4-pack regression confirmed: ComfyUI sha256
72
+ `d71943c6...09c79038eb`, dogfood sha256 `368d2361...142ef1fd5d466`,
73
+ XRPL sha256 `6511a044...725259a5`, Godot sha256
74
+ `55a65792...6cf41235` — all stable.
75
+
76
+ ### Out of scope (deferred to later releases)
77
+
78
+ - F-40 (source-type classification stability across authoritative
79
+ docs).
80
+ - F-42 / F-44 (operator-playbook documentation for JS-rendered
81
+ vendor doc alternates).
82
+ - F-37 product side (admission emits `.gitattributes` snippet).
83
+ - F-46 (manifest version display: init-time vs publish-time).
84
+
85
+ These are real frictions earned during Pack-3, but v0.3.3 ships with a
86
+ single coherent spine. They will land in their own scoped releases.
87
+
5
88
  ## [0.3.2] — 2026-05-09
6
89
 
7
90
  Tight release. One real, tested, dogfooded improvement: normalized
package/README.es.md CHANGED
@@ -7,7 +7,7 @@
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.2"><img src="https://img.shields.io/badge/version-0.3.2-blue" alt="version 0.3.2"></a>
10
+ <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></a>
11
11
  <a href="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
12
12
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen" alt="Node ≥20">
@@ -151,7 +151,9 @@ Esta es la alternativa estructural a *búsqueda → resumen → informe detallad
151
151
 
152
152
  ## Estado
153
153
 
154
- **v0.3.2** — Publicada en npm como `@mcptoolshop/research-os@0.3.2`, el 9 de mayo de 2026. Incluye una normalización de las reclamaciones aceptadas, teniendo en cuenta la admisión para la publicación de paquetes. La verificación estricta de igualdad entre `claim-reviews.jsonl` y `pack-audit.json::accepted_claims` ha sido reemplazada por una comparación de conjuntos efectivos: las reclamaciones aceptadas son los identificadores únicos (`claim_id`) cuya última decisión de revisión canónica es "aceptada para síntesis" (la última decisión prevalece para cada `claim_id`). Los paquetes congelados cuya cuenta de auditoría heredada difiere del conjunto efectivo ahora se admiten con una advertencia en lugar de ser rechazados; el archivo de auditoría heredado se conserva tal cual (Ley 15), mientras que el manifiesto del archivo refleja la cuenta normalizada. El rechazo sigue siendo absoluto para los identificadores de reclamación fantasma, las decisiones duplicadas incompatibles y las condiciones que no son elegibles para la síntesis. Obtenido a través del Experimento 3 XRPL pack Session K: la publicación del paquete fue rechazada debido a una discrepancia real en el registro de cierre (la Sección 07 tenía 24 filas "aceptadas para síntesis", pero solo 19 identificadores únicos (`claim_id`) debido a ventanas de revisión superpuestas). 558/558 pruebas de vitest superadas. Consulte [CHANGELOG.md](CHANGELOG.md) y [`docs/pack-publish.md`](docs/pack-publish.md).
154
+ **v0.3.3** — Publicada en npm como `@mcptoolshop/research-os@0.3.3`, 10 de mayo de 2026. Incluye mejoras en la claridad de la semántica de las "gates" obtenidas gracias a Pack-3 (durabilidad de la exportación/ejecución de Godot, Experimento 3, paquete #3 de 3). La salida de la "gate" ahora incluye el publicador y los conteos específicos de la sección, junto con los conteos generales del paquete (F-43); se ha reformulado `no_source_cluster_monopoly` de una advertencia a un diagnóstico informativo (F-41). **El comportamiento de aprobación/rechazo no ha cambiado; los paquetes congelados existentes se verifican byte a byte.** 570/570 pruebas de vitest superadas. Consulte [CHANGELOG.md](CHANGELOG.md) y [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
155
+
156
+ **v0.3.2** — Publicada en npm como `@mcptoolshop/research-os@0.3.2`, 9 de mayo de 2026. Incluye una normalización de la contabilización de "accepted claims" que tiene en cuenta la admisión de `pack publish`. La estricta comparación de igualdad entre `claim-reviews.jsonl` y `pack-audit.json::accepted_claims` se ha reemplazado por una comparación de conjuntos efectivos: las "accepted claims" son identificadores únicos (`claim_id`) cuya última decisión de revisión canónica es "accepted_for_synthesis" (la última decisión prevalece por `claim_id`). Los paquetes congelados cuya cuenta de auditoría heredada difiere del conjunto efectivo ahora se admiten con una advertencia en lugar de ser rechazados; el archivo de auditoría heredado se conserva tal cual (Ley 15), mientras que el manifiesto del archivo refleja la cuenta normalizada. El rechazo sigue siendo absoluto para los identificadores de reclamación fantasma, las decisiones duplicadas incompatibles y las "gates" que no son elegibles para la síntesis. Obtenido gracias al Experimento 3, paquete XRPL, Sesión K: el "pack publish" fue rechazado debido a una discrepancia real en el registro de cierre (la Sección 07 tenía 24 filas "accepted_for_synthesis" pero solo 19 identificadores únicos (`claim_id`) debido a ventanas de revisión superpuestas). 558/558 pruebas de vitest superadas. Consulte [CHANGELOG.md](CHANGELOG.md) y [`docs/pack-publish.md`](docs/pack-publish.md).
155
157
 
156
158
  **v0.3.1** — Publicado en npm como `@mcptoolshop/research-os@0.3.1`, 9 de mayo de 2026. Incluye exenciones de origen con ámbito de sección (`primary_source_waiver.section_waivers[]`) y un reconocimiento por parte del revisor, de modo que una detección de "monopolio de la fuente" a nivel de sección se convierte en una advertencia visible en lugar de redirigir automáticamente todas las afirmaciones a "necesita reparación de la fuente". Obtenido mediante el experimento 3 del paquete XRPL, sesión 2: las secciones de protocolo canónico (cadenas de una sola base, especificaciones de API de jardín vallado, documentos de organismos de normalización) invirtieron la suposición de que la diversidad de editores es un indicador de la calidad de la verdad. 540/540 pruebas de vitest superadas. Consulte [CHANGELOG.md](CHANGELOG.md) y [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
157
159
 
@@ -169,9 +171,9 @@ Esta es la alternativa estructural a *búsqueda → resumen → informe detallad
169
171
 
170
172
  ### Lo que la versión 0.3 no es
171
173
 
172
- - No ha sido probada en condiciones reales por usuarios externos. Dos ciclos de pruebas internas han finalizado: uno autoreferencial y otro de dominio externo, y el Experimento 3 (estabilidad de la API bajo presión externa) está en curso: el paquete #2 de 3 (durabilidad del token de creador de XRPL) está congelado con 251 reclamaciones aceptadas en 7 secciones, a la espera de la admisión para la publicación del paquete en npm v0.3.2. Este ciclo ha cumplido con la bandera v0.3.0 `--detector` (bloqueador de cadena F-09), las exenciones de origen específicas de la sección (F-10/F-11, presión del protocolo canónico) y la normalización de la cuenta de reclamaciones aceptadas (F-36, borde del registro de cierre). Se necesita un ciclo más de dominio externo para completar el Experimento 3.
173
- - No es un generador de síntesis. El comando `synth workspace` genera el espacio de trabajo estructurado; los humanos (o Cowork) escriben el contenido basándose en los identificadores de reclamación aceptados.
174
- - No es estable en la API según la semántica de versiones. La versión v1.0.0 es un estado alcanzado, no una fecha en el calendario; consulte [`docs/roadmap.md`](docs/roadmap.md) para ver los seis experimentos que cierran esta brecha.
174
+ - No ha sido probado por usuarios externos. Tres ciclos de prueba interna han finalizado: uno autorreferencial y dos de dominio externo. El Experimento 3 (estabilidad de la API bajo presión externa) se **CERRÓ el 10 de mayo de 2026**: los tres paquetes (ComfyUI, XRPL, Godot) alcanzaron la versión final sin cambios disruptivos en la interfaz de línea de comandos (CLI) v0.3.x. Este ciclo de prueba generó la versión v0.3.0 con el parámetro `--detector` (F-09), la versión v0.3.1 con las exenciones específicas de la sección (F-10/F-11), la versión v0.3.2 con la normalización de la contabilización de "accepted claims" (F-36) y la versión v0.3.3 con la mejora en la claridad de la semántica de las "gates" (F-43/F-41).
175
+ - No es un escritor de síntesis. El comando `synth workspace` genera el espacio de trabajo estructurado; los humanos (o Cowork) escriben el contenido en relación con los identificadores de reclamación aceptados.
176
+ - No es estable en la API según la semántica de versiones. La versión 1.0.0 es un estado alcanzado, no una fecha en el calendario; consulte [`docs/roadmap.md`](docs/roadmap.md) para ver los seis experimentos que cierran esa brecha.
175
177
 
176
178
  ### Limitaciones conocidas
177
179
 
package/README.fr.md CHANGED
@@ -7,7 +7,7 @@
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.2"><img src="https://img.shields.io/badge/version-0.3.2-blue" alt="version 0.3.2"></a>
10
+ <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></a>
11
11
  <a href="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
12
12
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen" alt="Node ≥20">
@@ -151,6 +151,8 @@ Ceci est une alternative structurée à *recherche → résumé → rapport dét
151
151
 
152
152
  ## Statut
153
153
 
154
+ **v0.3.3** — Publié sur npm sous le nom `@mcptoolshop/research-os@0.3.3`, le 10 mai 2026. Cette version apporte une meilleure clarté concernant la gestion des dépendances, comme l'a démontré le Pack-3 (stabilité de l'exportation/exécution Godot, Expérience 3, pack n°3 sur 3). La sortie de la gestion des dépendances affiche désormais les compteurs spécifiques à chaque section, ainsi que les compteurs globaux (F-43) ; le message `no_source_cluster_monopoly` a été modifié de "AVERTISSEMENT" à un diagnostic informatif (F-41). **Le comportement de réussite/échec n'a pas changé ; les packs figés existants sont vérifiés de manière identique au niveau des octets.** 570/570 tests vitest réussis. Consultez le fichier [CHANGELOG.md](CHANGELOG.md) et le fichier [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
155
+
154
156
  **v0.3.2** — publiée sur npm en tant que `@mcptoolshop/research-os@0.3.2`, le 2026-05-09. Inclut une normalisation des demandes d'acceptation, prenant en compte l'admission pour la publication de l'ensemble de données. La vérification stricte d'égalité entre `claim-reviews.jsonl` et `pack-audit.json::accepted_claims` est remplacée par une comparaison d'ensembles — les demandes acceptées sont des `claim_id` uniques dont la décision de révision canonique la plus récente est `accepted_for_synthesis` (la dernière décision fait foi pour chaque `claim_id`). Les ensembles de données figés dont le nombre d'audits hérités diffère de l'ensemble normalisé sont désormais acceptés avec un avertissement plutôt qu'un refus ; le fichier d'audit hérité est conservé tel quel (Règle 15), tandis que le manifeste de l'archive reflète le nombre normalisé. Le refus reste strict pour les `claim_id` fantômes, les décisions dupliquées incompatibles et les conditions qui ne permettent pas la synthèse. Ceci a été obtenu grâce à l'Expérience 3, session K, pour l'ensemble de données XRPL — la publication de l'ensemble de données a été refusée en raison d'un désaccord sur le registre de clôture (la section 07 comportait 24 lignes brutes `accepted_for_synthesis`, mais seulement 19 `claim_id` uniques en raison des fenêtres de révision des examinateurs qui se chevauchent). 558/558 tests vitest réussis. Consultez [CHANGELOG.md](CHANGELOG.md) et [`docs/pack-publish.md`](docs/pack-publish.md).
155
157
 
156
158
  **v0.3.1** — publiée sur npm en tant que `@mcptoolshop/research-os@0.3.1`, le 2026-05-09. Inclut des clauses de renonciation spécifiques aux sections (`primary_source_waiver.section_waivers[]`) ainsi qu'une confirmation de la part des examinateurs, de sorte qu'une constatation de "monopole de la source" à l'échelle d'une section, qui est renoncée, devient une mise en garde visible plutôt qu'une redirection automatique de toutes les demandes vers `needs_source_repair`. Ceci a été obtenu grâce à l'Expérience 3, session 2, pour l'ensemble de données XRPL — les sections du protocole canonique (chaînes à fondation unique, spécifications d'API en vase clos, documents des organismes de normalisation) ont inversé l'hypothèse selon laquelle la diversité des éditeurs est un indicateur de la qualité de l'information. 540/540 tests vitest réussis à ce moment-là. Consultez [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
@@ -169,9 +171,9 @@ Ceci est une alternative structurée à *recherche → résumé → rapport dét
169
171
 
170
172
  ### Ce que la version 0.1 n'est pas
171
173
 
172
- - Non testée en conditions réelles par des utilisateurs externes. Deux cycles de test interne sont terminés : un auto-référentiel et un externe. L'Expérience 3 (stabilité de l'API sous pression externe) est en cours : le paquet n°2 sur 3 (durabilité des jetons de créateur XRPL) est figé avec 251 affirmations acceptées réparties sur 7 sections, en attente de l'approbation de la publication du paquet pour npm v0.3.2. Ce cycle a permis d'obtenir le drapeau `--detector` v0.3.0 (F-09, bloqueur de chaîne), les exemptions de source spécifiques aux sections v0.3.1 (F-10/F-11, pression du protocole canonique) et la comptabilité normalisée des affirmations acceptées v0.3.2 (F-36, jointure du grand livre de clôture). Un paquet supplémentaire de domaine externe est nécessaire pour la clôture de l'Expérience 3.
173
- - Ne génère pas de texte. La commande `synth workspace` génère l'espace de travail structuré ; les humains (ou Cowork) rédigent le texte en fonction des identifiants des affirmations acceptées.
174
- - La stabilité de l'API n'est pas garantie selon la version sémantique. La version 1.0.0 est un état atteint, et non une date calendaire. Consultez [`docs/roadmap.md`](docs/roadmap.md) pour connaître les six expériences qui permettent d'atteindre cet objectif.
174
+ - N'a pas été testé par des utilisateurs externes. Trois cycles de tests internes ont été terminés, dont un auto-référentiel et deux portant sur des domaines externes. L'Expérience 3 (stabilité de l'API sous pression externe) est **CLOSÉE le 10 mai 2026** : les trois packs (ComfyUI, XRPL, Godot) ont atteint l'état figé sans modifications majeures de l'interface en ligne de commande (CLI) v0.3.x. Ce cycle a permis l'ajout de la fonctionnalité `--detector` (F-09), des dérogations spécifiques aux sections (F-10/F-11), de la normalisation de la gestion des transactions acceptées (F-36) et de la clarté concernant la gestion des dépendances (F-43/F-41).
175
+ - Ne génère pas de contenu. La commande `synth workspace` génère l'environnement de travail structuré ; les humains (ou Cowork) rédigent le contenu en utilisant les identifiants des transactions acceptées.
176
+ - La stabilité de l'API n'est pas garantie selon les règles de compatibilité sémantique. La version 1.0.0 est un objectif à atteindre, et non une date fixe. Consultez le fichier [`docs/roadmap.md`](docs/roadmap.md) pour connaître les six expériences qui permettront d'atteindre cet objectif.
175
177
 
176
178
  ### Limitations connues
177
179
 
package/README.hi.md CHANGED
@@ -7,7 +7,7 @@
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.2"><img src="https://img.shields.io/badge/version-0.3.2-blue" alt="version 0.3.2"></a>
10
+ <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></a>
11
11
  <a href="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
12
12
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen" alt="Node ≥20">
@@ -151,6 +151,8 @@ discover
151
151
 
152
152
  ## स्थिति
153
153
 
154
+ **v0.3.3** — npm पर `@mcptoolshop/research-os@0.3.3` के रूप में प्रकाशित, 10 मई, 2026। इसमें "गेट-सिमेंटिक्स" की स्पष्टता शामिल है, जो पैक-3 (गोडॉट एक्सपोर्ट/रनटाइम स्थायित्व, प्रयोग 3, पैक #3 में से 3) द्वारा प्राप्त की गई है। "गेट" आउटपुट अब अनुभाग-विशिष्ट प्रकाशक और प्राथमिक गणनाओं के साथ-साथ पूरे पैक की गणनाएं प्रदर्शित करता है (एफ-43); `no_source_cluster_monopoly` को चेतावनी से बदलकर सूचनात्मक निदान में बदल दिया गया है (एफ-41)। **पास/फेल व्यवहार में कोई बदलाव नहीं; मौजूदा स्थिर पैक "वेरिफाई-पैक" बाइट-समान रूप से सत्यापित होते हैं।** 570/570 विटेस्ट पास। [CHANGELOG.md](CHANGELOG.md) और [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md) देखें।
155
+
154
156
  **v0.3.2** — 2026-05-09 को `@mcptoolshop/research-os@0.3.2` के रूप में npm पर प्रकाशित। इसमें `pack publish` स्वीकृति के लिए सामान्यीकृत गणना शामिल है। `claim-reviews.jsonl` और `pack-audit.json::accepted_claims` के बीच सख्त समानता जांच को एक प्रभावी-सेट तुलना से बदल दिया गया है - स्वीकृत दावे अद्वितीय `claim_id` हैं जिनका नवीनतम आधिकारिक समीक्षा निर्णय `accepted_for_synthesis` है (प्रत्येक `claim_id` के लिए नवीनतम निर्णय मान्य है)। जिन फ्रीज किए गए पैकेजों की विरासत ऑडिट गणना प्रभावी सेट से भिन्न है, उन्हें अब चेतावनी के साथ स्वीकार किया जाता है, अस्वीकार नहीं किया जाता; विरासत ऑडिट फ़ाइल को अपरिवर्तित रखा जाता है (नियम 15), जबकि संग्रह मैनिफेस्ट में सामान्यीकृत गणना दिखाई जाती है। काल्पनिक `claim_id`s, असंगत डुप्लिकेट निर्णयों और गैर-संश्लेषण-योग्य शर्तों के लिए अस्वीकृति अभी भी लागू है। यह प्रयोग 3 XRPL पैकेज सत्र K द्वारा प्राप्त किया गया था - एक वास्तविक क्लोजर-लेजर असहमति के कारण पैकेज प्रकाशन को अस्वीकार कर दिया गया था (अनुभाग 07 में 24 `accepted_for_synthesis` पंक्तियाँ थीं, लेकिन ओवरलैपिंग समीक्षक विंडो के कारण केवल 19 अद्वितीय `claim_id` थे)। 558/558 vitest पास हुए। [CHANGELOG.md](CHANGELOG.md) और [`docs/pack-publish.md`](docs/pack-publish.md) देखें।
155
157
 
156
158
  **v0.3.1** — 2026-05-09 को `@mcptoolshop/research-os@0.3.1` के रूप में npm पर प्रकाशित। इसमें अनुभाग-विशिष्ट स्रोत-माफी (`primary_source_waiver.section_waivers[]`) और समीक्षक-पक्षीय स्वीकृति शामिल है, ताकि एक अनुभाग-व्यापी `source_cluster_monopoly` खोज को स्वचालित रूप से सभी दावों को `needs_source_repair` पर भेजने के बजाय एक दृश्य चेतावनी के रूप में प्रदर्शित किया जा सके। यह प्रयोग 3 XRPL पैकेज सत्र 2 द्वारा प्राप्त किया गया था - मानक प्रोटोकॉल अनुभागों (सिंगल-फाउंडेशन चेन, दीवार-बगीचे API विनिर्देश, मानकों-निकाय दस्तावेज़) ने इस धारणा को उलट दिया कि प्रकाशक विविधता सत्य की गुणवत्ता का प्रतिनिधित्व करती है। उस समय 540/540 vitest पास हुए। [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md) देखें।
@@ -169,9 +171,9 @@ discover
169
171
 
170
172
  ### v0.1 क्या नहीं है
171
173
 
172
- - बाहरी उपयोगकर्ताओं द्वारा अभी तक परीक्षण नहीं किया गया है। दो डॉगफूड चक्र समाप्त हो गए हैं - एक स्व-संदर्भित, एक बाहरी डोमेन - और प्रयोग 3 (बाहरी दबाव में एपीआई स्थिरता) जारी है: 3 पैकेजों में से दूसरा पैकेज (XRPL क्रिएटर-टोकन स्थायित्व) स्थिर है, जिसमें 7 खंडों में 251 स्वीकृत दावे हैं, और npm v0.3.2 के खिलाफ पैकेज प्रकाशन स्वीकृति की प्रतीक्षा है। इस चक्र में v0.3.0 `--detector` ध्वज (F-09 चेन-ब्लॉकर), v0.3.1 अनुभाग-विशिष्ट स्रोत छूट (F-10/F-11 मानक प्रोटोकॉल दबाव), और v0.3.2 सामान्यीकृत स्वीकृत-दावा लेखांकन (F-36 क्लोजर-लेजर सीम) प्राप्त हुए हैं। प्रयोग 3 को पूरा करने के लिए एक और बाहरी डोमेन पैकेज की आवश्यकता है।
173
- - यह कोई संश्लेषण लेखक नहीं है। `synth workspace` कमांड संरचित कार्यक्षेत्र बनाता है; स्वीकृत दावा आईडी के विरुद्ध मनुष्य (या Cowork) सामग्री लिखते हैं।
174
- - यह semver के तहत एपीआई-स्थिर नहीं है। v1.0.0 एक अर्जित स्थिति है, कोई कैलेंडर तिथि नहीं - इस अंतर को भरने वाले छह प्रयोगों के लिए [`docs/roadmap.md`](docs/roadmap.md) देखें।
174
+ - बाहरी उपयोगकर्ताओं द्वारा अभी तक परीक्षण नहीं किया गया है। तीन "डॉगफूड" चक्र समाप्त हो गए हैं - एक आत्म-संदर्भित, दो बाहरी डोमेन - और प्रयोग 3 (बाहरी दबाव के तहत एपीआई स्थिरता) **10 मई, 2026 को समाप्त**: तीनों पैक (कॉम्फीयूआई, एक्सआरपीएल, गोडॉट) बिना v0.3.x सीएलआई इंटरफेस में किसी भी महत्वपूर्ण बदलाव के "फ्रीज" हो गए। इस चक्र में v0.3.0 `--detector` (एफ-09), v0.3.1 अनुभाग-विशिष्ट छूट (एफ-10/एफ-11), v0.3.2 स्वीकृत-दावों की सामान्यीकृत गणना (एफ-36), और v0.3.3 "गेट-सिमेंटिक्स" की स्पष्टता (एफ-43/एफ-41) शामिल हैं।
175
+ - यह कोई संश्लेषण लेखक नहीं है। `synth workspace` कमांड संरचित कार्यक्षेत्र बनाता है; मनुष्य (या कोवर्किंग) स्वीकृत दावों के आईडी के खिलाफ सामग्री लिखते हैं।
176
+ - यह "सेमवर" के तहत एपीआई-स्थिर नहीं है। v1.0.0 एक अर्जित स्थिति है, कोई कैलेंडर तिथि नहीं - इस अंतर को भरने वाले छह प्रयोगों के बारे में जानकारी के लिए [`docs/roadmap.md`](docs/roadmap.md) देखें।
175
177
 
176
178
  ### ज्ञात सीमाएँ
177
179
 
package/README.it.md CHANGED
@@ -7,7 +7,7 @@
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.2"><img src="https://img.shields.io/badge/version-0.3.2-blue" alt="version 0.3.2"></a>
10
+ <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></a>
11
11
  <a href="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
12
12
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen" alt="Node ≥20">
@@ -151,7 +151,9 @@ Questa è l'alternativa strutturale a *ricerca → riepilogo → report dettagli
151
151
 
152
152
  ## Stato
153
153
 
154
- **v0.3.2** — Pubblicato su npm come `@mcptoolshop/research-os@0.3.2` il 9 maggio 2026. Include la normalizzazione dei reclami accettati, tenendo conto dell'ammissione per la pubblicazione del pacchetto. Il controllo di uguaglianza rigoroso tra `claim-reviews.jsonl` e `pack-audit.json::accepted_claims` è stato sostituito con un confronto di insiemi — i reclami accettati sono identificativi univoci (`claim_id`) la cui ultima decisione di revisione canonica è "accettato per la sintesi" (l'ultima decisione prevale per ogni `claim_id`). I pacchetti "congelati" la cui cronologia delle revisioni differisce dall'insieme normalizzato vengono ora ammessi con un avviso anziché essere rifiutati; il file di revisione precedente viene conservato integralmente (Legge 15), mentre il manifest dell'archivio riflette il conteggio normalizzato. Il rifiuto rimane inalterato per gli identificativi di reclamo "fantasma", le decisioni duplicate incompatibili e le condizioni non idonee per la sintesi. Ottenuto tramite l'Esperimento 3 XRPL pack Session K — la pubblicazione del pacchetto è stata rifiutata a causa di una reale discrepanza nel registro di chiusura (la sezione 07 conteneva 24 righe "accettate per la sintesi", ma solo 19 identificativi univoci (`claim_id`) a causa delle sovrapposizioni negli intervalli di revisione). 558/558 test vitest superati. Consultare [CHANGELOG.md](CHANGELOG.md) e [`docs/pack-publish.md`](docs/pack-publish.md).
154
+ **v0.3.3** — Pubblicata su npm come `@mcptoolshop/research-os@0.3.3` il 10 maggio 2026. Include miglioramenti nella chiarezza delle semantiche delle "gate", ottenuti grazie al Pack-3 (durabilità dell'esportazione/runtime di Godot, Esperimento 3, pacchetto n. 3 su 3). L'output della "gate" ora include il publisher e i conteggi specifici della sezione, oltre ai conteggi globali del pacchetto (F-43); la dicitura di `no_source_cluster_monopoly` è stata modificata da AVVISO a diagnostica informativa (F-41). **Il comportamento di successo/fallimento rimane invariato; i pacchetti esistenti vengono verificati byte per byte.** 570 test vitest su 570 superati. Consultare [CHANGELOG.md](CHANGELOG.md) e [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
155
+
156
+ **v0.3.2** — Pubblicata su npm come `@mcptoolshop/research-os@0.3.2` il 9 maggio 2026. Include una contabilizzazione normalizzata delle richieste accettate, tenendo conto dell'ammissione per la "pubblicazione del pacchetto". Il controllo di uguaglianza rigoroso tra `claim-reviews.jsonl` e `pack-audit.json::accepted_claims` è stato sostituito con un confronto di insiemi, in cui le richieste accettate sono rappresentate da `claim_id` univoci la cui ultima decisione di revisione canonica è "accettata per la sintesi" (l'ultima decisione prevale per ogni `claim_id`). I pacchetti "congelati" la cui cronologia delle revisioni differisce dall'insieme normalizzato vengono ora ammessi con un avviso anziché essere rifiutati; il file di revisione precedente viene conservato integralmente (Legge 15), mentre il manifest dell'archivio riflette il conteggio normalizzato. Il rifiuto rimane assoluto per gli `claim_id` fantasma, le decisioni duplicate incompatibili e le "gate" non idonee per la sintesi. Ottenuto grazie all'esperimento 3 XRPL, pacchetto Session K: la pubblicazione del pacchetto è stata rifiutata a causa di una reale discrepanza nel registro di chiusura (la sezione 07 conteneva 24 righe "accettate per la sintesi", ma solo 19 `claim_id` univoci a causa delle sovrapposizioni negli intervalli di revisione). 558 test vitest su 558 superati. Consultare [CHANGELOG.md](CHANGELOG.md) e [`docs/pack-publish.md`](docs/pack-publish.md).
155
157
 
156
158
  **v0.3.1** — pubblicato su npm come `@mcptoolshop/research-os@0.3.1`, 9 maggio 2026. Include eccezioni specifiche per sezione per le fonti (`primary_source_waiver.section_waivers[]`) e un'approvazione da parte del revisore, in modo che una scoperta di "monopolio del cluster di fonti" a livello di sezione diventi un avvertimento visibile anziché indirizzare automaticamente tutte le affermazioni a "needs_source_repair". Ottenuto con l'esperimento 3 del pacchetto XRPL, sessione 2 — le sezioni relative al protocollo canonico (catene con una singola base, specifiche API a "giardino chiuso", documentazione di organismi di standardizzazione) hanno invertito l'assunzione che la diversità degli editori sia un indicatore della qualità della verità. 540/540 test vitest superati. Consultare [CHANGELOG.md](CHANGELOG.md) e [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
157
159
 
@@ -169,9 +171,9 @@ Questa è l'alternativa strutturale a *ricerca → riepilogo → report dettagli
169
171
 
170
172
  ### Cosa la versione 0.3 non è
171
173
 
172
- - Non testato in condizioni reali da utenti esterni. Due cicli di test interni sono stati completati: uno auto-referenziale e uno relativo a un dominio esterno, e l'Esperimento 3 (stabilità dell'API sotto pressione esterna) è in corso: il pacchetto n. 2 di 3 (durabilità dei token creati per XRPL) è "congelato" con 251 reclami accettati in 7 sezioni, in attesa dell'ammissione per la pubblicazione su npm v0.3.2. Questo ciclo ha ottenuto il flag v0.3.0 `--detector` (F-09 chain-blocker), le esenzioni specifiche per sezione v0.3.1 (F-10/F-11 pressione sul protocollo canonico) e la normalizzazione dei reclami accettati v0.3.2 (F-36 registro di chiusura). È necessario un altro pacchetto relativo a un dominio esterno per completare l'Esperimento 3.
173
- - Non è uno strumento per la scrittura di sintesi. Il comando `synth workspace` genera l'ambiente di lavoro strutturato; gli esseri umani (o Cowork) scrivono il testo in base agli identificativi dei reclami accettati.
174
- - Non è stabile per l'API secondo il sistema semantico di versionamento. La versione 1.0.0 è uno stato da raggiungere, non una data specifica; consultare [`docs/roadmap.md`](docs/roadmap.md) per i sei esperimenti che colmano questa lacuna.
174
+ - Non testato in condizioni reali da utenti esterni. Tre cicli di test interni sono stati completati: uno autoreferenziale e due relativi a domini esterni. L'esperimento 3 (stabilità dell'API sotto pressione esterna) è **STATO CHIUSO il 10 maggio 2026**: tutti e tre i pacchetti (ComfyUI, XRPL, Godot) hanno raggiunto la fase di "congelamento" senza modifiche disruptive all'interfaccia a riga di comando (CLI) v0.3.x. Questi cicli di test hanno portato a: v0.3.0 `--detector` (F-09), v0.3.1 gestione delle eccezioni specifiche per sezione (F-10/F-11), v0.3.2 contabilizzazione normalizzata delle richieste accettate (F-36) e v0.3.3 chiarezza delle semantiche delle "gate" (F-43/F-41).
175
+ - Non è uno strumento per la scrittura di sintesi. Il comando `synth workspace` genera l'ambiente di lavoro strutturato; gli esseri umani (o Cowork) scrivono il testo in relazione agli `claim_id` accettati.
176
+ - Non è stabile per quanto riguarda la compatibilità delle API secondo il sistema semantico. La versione 1.0.0 è uno stato da raggiungere, non una data specifica; consultare [`docs/roadmap.md`](docs/roadmap.md) per i sei esperimenti che porteranno a questo risultato.
175
177
 
176
178
  ### Limitazioni note
177
179
 
package/README.ja.md CHANGED
@@ -7,7 +7,7 @@
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.2"><img src="https://img.shields.io/badge/version-0.3.2-blue" alt="version 0.3.2"></a>
10
+ <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></a>
11
11
  <a href="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
12
12
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen" alt="Node ≥20">
@@ -151,6 +151,8 @@ discover
151
151
 
152
152
  ## ステータス
153
153
 
154
+ **v0.3.3** — npmに `@mcptoolshop/research-os@0.3.3` として公開されました。2026年5月10日。Pack-3(Godotのエクスポート/ランタイムの安定性、実験3のパック#3のうち3つ目)によって獲得された、ゲートセマンティクスの明確化が含まれています。ゲートの出力には、セクションごとの発行者と主要なカウントに加えて、全体的なカウントが表示されるようになりました(F-43)。`no_source_cluster_monopoly` は、警告から情報診断に変更されました(F-41)。**合格/不合格の動作は変更されていません。既存の固定されたパックは、バイト単位で完全に同一であることを検証します。** 570/570 の vitest が合格しました。詳細は [CHANGELOG.md](CHANGELOG.md) および [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md) を参照してください。
155
+
154
156
  **v0.3.2** — 2026年5月9日に、`@mcptoolshop/research-os@0.3.2`としてnpmに公開されました。`pack publish`の許可に関する、正規化された承認処理が実装されました。`claim-reviews.jsonl`と`pack-audit.json::accepted_claims`の厳密な一致チェックは、効果的な集合比較に置き換えられました。承認されたクレームは、最新の正当なレビュー結果が`accepted_for_synthesis`である一意の`claim_id`の集合です(`claim_id`ごとに最新の決定が優先されます)。以前の監査数が効果的な集合と異なる凍結されたパッケージは、拒否する代わりに警告を表示します。古い監査ファイルは変更せずに保持されます(ルール15)、ただし、アーカイブのマニフェストには正規化された数が反映されます。フェイクの`claim_id`、互換性のない重複した決定、および合成対象外の条件に対する拒否は引き続き適用されます。Experiment 3 XRPLパッケージのSession Kで、実際のクロージャー・レジャーの不一致により、パッケージの公開が拒否されました(セクション07には24件の`accepted_for_synthesis`の行がありましたが、重複するレビュー担当者によるため、一意の`claim_id`は19件のみでした)。558/558のvitestが成功しました。詳細については、[CHANGELOG.md](CHANGELOG.md)と[`docs/pack-publish.md`](docs/pack-publish.md)を参照してください。
155
157
 
156
158
  **v0.3.1** — 2026年5月9日に、`@mcptoolshop/research-os@0.3.1`としてnpmに公開されました。セクションごとに適用されるソースコードの免除(`primary_source_waiver.section_waivers[]`)と、レビュー担当者による確認機能が追加されました。これにより、セクション全体で`source_cluster_monopoly`の違反が検出された場合でも、自動的にすべてのクレームを`needs_source_repair`に振り分けるのではなく、注意点として表示されるようになりました。Experiment 3 XRPLパッケージのSession 2で、canonical-protocolセクション(単一の基盤チェーン、クローズドなAPI仕様、標準化団体のドキュメント)において、パブリッシャーの多様性が真の品質の指標であるという前提が覆されました。当時、540/540のvitestが成功しました。詳細については、[`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md)を参照してください。
@@ -169,9 +171,9 @@ discover
169
171
 
170
172
  ### v0.1の制限事項
171
173
 
172
- - 外部ユーザーによる実証テストはまだ行われていません。2つのドッグフードテストが完了しました。1つは自己参照型、もう1つは外部ドメイン型です。実験3 (外部からのプレッシャー下での API の安定性) は現在進行中です。パッケージ #2 (XRPL クリエイタートークンの安定性) が251件の承認済みクレーム(7セクション)で凍結されており、npm v0.3.2 に対するパッケージ公開の承認を待っています。このテストでは、v0.3.0 の `--detector` フラグ (F-09 チェーンブロッカー)、v0.3.1 のセクションスコープのソースに関する免責事項 (F-10/F-11 カンニングプロトコルに関するプレッシャー)、および v0.3.2 の標準化された承認済みクレームの会計処理 (F-36 クローズジャーレッジシーム) が完了しました。実験3を完了するには、外部ドメインのパッケージがさらに1つ必要です。
173
- - 文章生成機能はありません。`synth workspace` コマンドは構造化されたワークスペースを生成しますが、文章は人間(または Cowork)が、承認済みクレームの ID に基づいて記述します。
174
- - セマンティックバージョニング (semver) に基づく API の安定性はありません。v1.0.0 は、カレンダーの日付ではなく、達成された状態です。詳細は [`docs/roadmap.md`](docs/roadmap.md) に記載されている、そのギャップを埋める6つの実験を参照してください。
174
+ - 外部ユーザーによる実戦テストは行われていません。3つの内部テストフェーズが終了しました。1つは自己参照型、2つは外部ドメイン型です。実験3(外部からのプレッシャー下でのAPIの安定性)は、**2026年5月10日に完了しました**。3つのパック(ComfyUI、XRPL、Godot)は、v0.3.xのCLIインターフェースに変更を加えることなく、安定版に到達しました。このフェーズでは、v0.3.0の`--detector`(F-09)、v0.3.1のセクションごとの免責事項(F-10/F-11)、v0.3.2の標準化された承認済みトランザクション処理(F-36)、およびv0.3.3のゲートセマンティクスの明確化(F-43/F-41)が実現されました。
175
+ - 合成テキストの生成機能はありません。`synth workspace` コマンドは、構造化されたワークスペースを生成します。人間(または Cowork)が、承認されたトランザクションIDに基づいてテキストを作成します。
176
+ - セマンティックバージョニング(semver)に基づくAPIの安定性はありません。v1.0.0 は、予定日ではなく、達成すべき目標です。詳細については、[`docs/roadmap.md`](docs/roadmap.md) を参照してください。このドキュメントには、その目標を達成するための6つの実験が記載されています。
175
177
 
176
178
  ### 既知の制限事項
177
179
 
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.2"><img src="https://img.shields.io/badge/version-0.3.2-blue" alt="version 0.3.2"></a>
10
+ <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></a>
11
11
  <a href="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
12
12
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen" alt="Node ≥20">
@@ -151,6 +151,8 @@ This is the structural alternative to *search → summarize → pretty report*.
151
151
 
152
152
  ## Status
153
153
 
154
+ **v0.3.3** — published to npm as `@mcptoolshop/research-os@0.3.3`, 2026-05-10. Ships gate-semantics clarity earned by Pack-3 (Godot export/runtime durability, Experiment 3 pack #3 of 3). Gate output now carries section-scoped publisher + primary counts alongside pack-wide counts (F-43); `no_source_cluster_monopoly` reworded from WARN to informational diagnostic (F-41). **Pass/fail behavior unchanged; existing frozen packs verify-pack byte-identically.** 570/570 vitest passing. See [CHANGELOG.md](CHANGELOG.md) and [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
155
+
154
156
  **v0.3.2** — published to npm as `@mcptoolshop/research-os@0.3.2`, 2026-05-09. Ships normalized accepted-claim accounting for `pack publish` admission. The strict equality check between `claim-reviews.jsonl` and `pack-audit.json::accepted_claims` is replaced with an effective-set comparison — accepted claims are unique `claim_id`s whose latest canonical review decision is `accepted_for_synthesis` (latest-decision-wins per `claim_id`). Frozen packs whose legacy audit count differs from the effective set now admit with a warning rather than refusing; the legacy audit file is preserved verbatim (Law 15) while the archive manifest reflects the normalized count. Refusal stays hard for phantom claim_ids, incompatible duplicate decisions, and non-synthesis-eligible gates. Earned by Experiment 3 XRPL pack Session K — pack publish refused on a real closure-ledger seam disagreement (Section 07 had 24 raw `accepted_for_synthesis` rows but only 19 unique `claim_id`s due to overlapping reviewer windows). 558/558 vitest passing. See [CHANGELOG.md](CHANGELOG.md) and [`docs/pack-publish.md`](docs/pack-publish.md).
155
157
 
156
158
  **v0.3.1** — published to npm as `@mcptoolshop/research-os@0.3.1`, 2026-05-09. Ships section-scoped source-floor waivers (`primary_source_waiver.section_waivers[]`) plus reviewer-side acknowledgement so a waived section-wide `source_cluster_monopoly` finding becomes a visible caveat rather than auto-routing all claims to `needs_source_repair`. Earned by Experiment 3 XRPL pack Session 2 — canonical-protocol sections (single-foundation chains, walled-garden API specs, standards-body docs) inverted the assumption that publisher diversity is a proxy for truth quality. 540/540 vitest passing then. See [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
@@ -169,7 +171,7 @@ This is the structural alternative to *search → summarize → pretty report*.
169
171
 
170
172
  ### What v0.3 is not
171
173
 
172
- - Not battle-tested by external users. Two dogfood arcs have closed — one self-referential, one external-domain — and Experiment 3 (API stability under external pressure) is in progress: pack #2 of 3 (XRPL creator-token durability) is frozen with 251 accepted claims across 7 sections, awaiting pack publish admission against npm v0.3.2. The arc has earned the v0.3.0 `--detector` flag (F-09 chain-blocker), the v0.3.1 section-scoped source waivers (F-10/F-11 canonical-protocol pressure), and the v0.3.2 normalized accepted-claim accounting (F-36 closure-ledger seam). One more external-domain pack required for Experiment 3 closure.
174
+ - Not battle-tested by external users. Three dogfood arcs have closed — one self-referential, two external-domain — and Experiment 3 (API stability under external pressure) is **CLOSED 2026-05-10**: all three packs (ComfyUI, XRPL, Godot) reached freeze without breaking changes to the v0.3.x CLI surface. The arc earned v0.3.0 `--detector` (F-09), v0.3.1 section-scoped waivers (F-10/F-11), v0.3.2 normalized accepted-claim accounting (F-36), and v0.3.3 gate-semantics clarity (F-43/F-41).
173
175
  - Not a synthesis writer. The `synth workspace` command generates the structured workspace; humans (or Cowork) write the prose against accepted claim IDs.
174
176
  - Not API-stable under semver. v1.0.0 is an earned state, not a calendar date — see [`docs/roadmap.md`](docs/roadmap.md) for the six experiments that close the gap.
175
177
 
package/README.pt-BR.md CHANGED
@@ -7,7 +7,7 @@
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.2"><img src="https://img.shields.io/badge/version-0.3.2-blue" alt="version 0.3.2"></a>
10
+ <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></a>
11
11
  <a href="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
12
12
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen" alt="Node ≥20">
@@ -151,6 +151,8 @@ Esta é a alternativa estrutural para *pesquisar → resumir → gerar relatóri
151
151
 
152
152
  ## Status
153
153
 
154
+ **v0.3.3** — Publicado no npm como `@mcptoolshop/research-os@0.3.3`, 10 de maio de 2026. Inclui melhorias na clareza da semântica das "gates" obtidas com o Pack-3 (durabilidade da exportação/runtime do Godot, Experimento 3, pacote nº 3 de 3). A saída da "gate" agora inclui contadores específicos da seção, além dos contadores globais (F-43); a mensagem `no_source_cluster_monopoly` foi alterada de um aviso para um diagnóstico informativo (F-41). **O comportamento de aprovação/reprovação não foi alterado; os pacotes congelados existentes são verificados byte a byte.** 570/570 testes do vitest passaram. Consulte o arquivo [CHANGELOG.md](CHANGELOG.md) e o arquivo [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
155
+
154
156
  **v0.3.2** — Publicado no npm como `@mcptoolshop/research-os@0.3.2`, 09 de maio de 2026. Inclui a normalização das reivindicações aceitas, levando em consideração a aprovação para publicação do pacote. A verificação estrita de igualdade entre `claim-reviews.jsonl` e `pack-audit.json::accepted_claims` foi substituída por uma comparação de conjuntos efetivos — as reivindicações aceitas são os `claim_id`s únicos cuja última decisão de revisão canônica é "aceita para síntese" (a última decisão prevalece para cada `claim_id`). Pacotes congelados cuja contagem de auditoria legada difere do conjunto efetivo agora são aceitos com um aviso, em vez de serem rejeitados; o arquivo de auditoria legada é preservado integralmente (Lei 15), enquanto o manifesto do arquivo reflete a contagem normalizada. A rejeição permanece intransigente para `claim_id`s inexistentes, decisões duplicadas incompatíveis e restrições não elegíveis para síntese. Obtido através do Experimento 3 XRPL pack Session K — a publicação do pacote foi rejeitada devido a uma divergência real no registro de fechamento (a Seção 07 continha 24 linhas brutas de "aceito para síntese", mas apenas 19 `claim_id`s únicos devido a janelas de revisores sobrepostas). 558/558 testes vitest passaram. Consulte [CHANGELOG.md](CHANGELOG.md) e [`docs/pack-publish.md`](docs/pack-publish.md).
155
157
 
156
158
  **v0.3.1** — publicado no npm como `@mcptoolshop/research-os@0.3.1`, em 09 de maio de 2026. Inclui isenções de direitos autorais de seção (`primary_source_waiver.section_waivers[]`) e um reconhecimento por parte do revisor, de modo que uma descoberta de "monopólio da fonte" em toda a seção seja um aviso visível, em vez de direcionar automaticamente todas as reclamações para "needs_source_repair". Isso foi obtido no Experimento 3, pacote XRPL, Sessão 2 — as seções do protocolo canônico (cadeias de base única, especificações de API fechadas, documentação de órgãos de padronização) inverteram a suposição de que a diversidade de publicadores é um indicador da qualidade da informação. 540/540 testes vitest passaram. Consulte [CHANGELOG.md](CHANGELOG.md) e [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md).
@@ -169,9 +171,9 @@ Esta é a alternativa estrutural para *pesquisar → resumir → gerar relatóri
169
171
 
170
172
  ### O que a versão 0.1 não é
171
173
 
172
- - Não testado em campo por usuários externos. Duas fases de testes internos foram concluídasuma autorreferencial e outra de domínio externo — e o Experimento 3 (estabilidade da API sob pressão externa) está em andamento: o pacote nº 2 de 3 (durabilidade do token de criador XRPL) está congelado com 251 reivindicações aceitas em 7 seções, aguardando a aprovação para publicação no npm v0.3.2. Esta fase obteve a flag v0.3.0 `--detector` (bloqueador de cadeia F-09), as renúncias de origem específicas da seção v0.3.1 (pressão do protocolo canônico F-10/F-11) e a contagem normalizada de reivindicações aceitas v0.3.2 (registro de fechamento F-36). É necessário mais um pacote de domínio externo para a conclusão do Experimento 3.
173
- - Não é um escritor de sínteses. O comando `synth workspace` gera o ambiente de trabalho estruturado; humanos (ou Cowork) escrevem o conteúdo com base nos IDs de reivindicações aceitas.
174
- - Não é estável em termos de API sob a semântica de versionamento. A versão v1.0.0 é um estado alcançado, não uma data no calendário — consulte [`docs/roadmap.md`](docs/roadmap.md) para os seis experimentos que preenchem essa lacuna.
174
+ - Não foi testado em condições reais por usuários externos. Três ciclos de testes internos foram concluídosum autoreferencial e dois relacionados a domínios externos — e o Experimento 3 (estabilidade da API sob pressão externa) foi **CONCLUÍDO em 10 de maio de 2026**: todos os três pacotes (ComfyUI, XRPL, Godot) atingiram o estado de "freeze" sem alterações disruptivas na interface da linha de comando (CLI) v0.3.x. Este ciclo de testes resultou nas versões v0.3.0 com o recurso `--detector` (F-09), v0.3.1 com as opções de isenção de responsabilidade específicas da seção (F-10/F-11), v0.3.2 com a normalização da contabilidade de "accepted claims" (F-36) e v0.3.3 com a clareza da semântica das "gates" (F-43/F-41).
175
+ - Não é um gerador de texto. O comando `synth workspace` gera o ambiente de trabalho estruturado; os humanos (ou o Cowork) escrevem o texto com base nos IDs de "accepted claims".
176
+ - A estabilidade da API não é garantida pela versão semântica. A versão 1.0.0 é um estado alcançado, não uma data no calendário — consulte o arquivo [`docs/roadmap.md`](docs/roadmap.md) para os seis experimentos que preencherão essa lacuna.
175
177
 
176
178
  ### Limitações conhecidas
177
179
 
package/README.zh.md CHANGED
@@ -7,7 +7,7 @@
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.2"><img src="https://img.shields.io/badge/version-0.3.2-blue" alt="version 0.3.2"></a>
10
+ <a href="https://github.com/mcp-tool-shop-org/research-os/releases/tag/v0.3.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></a>
11
11
  <a href="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/research-os/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
12
12
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
13
13
  <img src="https://img.shields.io/badge/node-%E2%89%A520-brightgreen" alt="Node ≥20">
@@ -151,7 +151,9 @@ discover
151
151
 
152
152
  ## 状态
153
153
 
154
- **v0.3.2** — 已发布到 npm,版本号为 `@mcptoolshop/research-os@0.3.2`,发布日期为 2026年5月9日。该版本对已接受的声明进行了标准化处理,考虑了 `pack publish` 的准入情况。 严格的 `claim-reviews.jsonl` 文件与 `pack-audit.json::accepted_claims` 之间的相等性检查已被替换为集合比较——已接受的声明是具有唯一 `claim_id`,且其最新的规范审查决定为 `accepted_for_synthesis`(每个 `claim_id`,最新决定优先)。 对于那些其历史审计计数与集合比较结果不同的已冻结的包,现在会发出警告而不是拒绝; 原始的审计文件将被完整保留(第15条),而归档清单会反映标准化后的计数。 对于虚构的 `claim_id`、不兼容的重复决策以及不符合合成条件的场景,仍然会拒绝。 这是通过实验 3 XRPL pack Session K 获得的,该实验在实际的账本边界不一致时,`pack publish` 被拒绝(第07部分有24行原始的 `accepted_for_synthesis` 数据,但由于审查员窗口的重叠,只有19个唯一的 `claim_id`)。 558/558 个 vitest 测试通过。 详情请参阅 [CHANGELOG.md](CHANGELOG.md) 和 [`docs/pack-publish.md`](docs/pack-publish.md)。
154
+ **v0.3.3** — 已发布到 npm,版本号为 `@mcptoolshop/research-os@0.3.3`,发布日期:2026年5月10日。此版本改进了“门”机制的语义清晰度,这是Pack-3(Godot导出/运行时稳定性,实验3的第3个包)所取得的成果。现在,“门”的输出结果除了包含整个包的计数外,还包含按“门”划分的发布者和主要计数(F-43);`no_source_cluster_monopoly` 的警告信息已更改为信息性诊断信息(F-41)。**通过/失败的行为未改变;现有的冻结包在字节级别上进行验证。** 570/570 个 vitest 测试通过。请参阅 [CHANGELOG.md](CHANGELOG.md) 和 [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md)。
155
+
156
+ **v0.3.2** — 已发布到 npm,版本号为 `@mcptoolshop/research-os@0.3.2`,发布日期:2026年5月9日。此版本对“已接受的声明”进行了标准化处理,以适应“包发布”的流程。严格的 `claim-reviews.jsonl` 文件和 `pack-audit.json::accepted_claims` 之间的相等性检查已被替换为集合比较——已接受的声明是具有最新规范审查决策为 `accepted_for_synthesis` 的唯一 `claim_id`(`claim_id` 遵循“最新决策优先”原则)。对于那些其历史审计计数与集合比较结果不同的冻结包,现在会发出警告而不是拒绝;原始的审计文件将被完整保留(第15条规定),而归档清单会反映标准化后的计数。对于虚假 `claim_id`、不兼容的重复决策以及不符合合成条件的“门”,仍然会拒绝。这是 Experiment 3 XRPL pack Session K 的成果——由于实际的账本关闭时的差异,包发布被拒绝(第07部分有 24 行原始的 `accepted_for_synthesis` 数据,但由于审查窗口的重叠,只有 19 个唯一的 `claim_id`)。558/558 个 vitest 测试通过。请参阅 [CHANGELOG.md](CHANGELOG.md) 和 [`docs/pack-publish.md`](docs/pack-publish.md)。
155
157
 
156
158
  **v0.3.1** — 已发布到 npm,版本号为 `@mcptoolshop/research-os@0.3.1`,发布日期:2026-05-09。 包含按章节划分的来源豁免 (`primary_source_waiver.section_waivers[]`),以及审查人员的确认,因此,如果某个章节的“来源垄断”被豁免,则该豁免会成为一个可见的提示,而不是自动将所有主张都标记为“需要修复来源”。 这是通过实验 3 XRPL 包的第二阶段实现的——针对“标准协议”部分的分析(包括单链、封闭式 API 规范和标准机构文档)推翻了“发布者多样性是衡量真理质量的指标”的假设。 540/540 个 vitest 测试通过。 请参阅 [CHANGELOG.md](CHANGELOG.md) 和 [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md)。
157
159
 
@@ -169,9 +171,9 @@ discover
169
171
 
170
172
  ### v0.3 的局限性
171
173
 
172
- - 尚未经过外部用户的实际测试。 两个内部测试阶段已结束,一个为自指代,一个为外部领域,实验 3(在外部压力下的 API 稳定性)正在进行中:3个包中的第2个包(XRPL 创建者令牌的持久性)已冻结,包含来自 7 个部分的总计 251 个已接受的声明,等待通过 npm v0.3.2 `pack publish` 准入。 该阶段已经获得了 v0.3.0 的 `--detector` 标志(F-09 链阻塞器)、v0.3.1 的部分范围的源代码豁免(F-10/F-11 规范协议压力)以及 v0.3.2 的标准化已接受声明处理(F-36 账本边界)。 还需要一个外部领域的包才能完成实验 3。
173
- - 不是合成内容生成器。 `synth workspace` 命令用于生成结构化的工作空间; 人类(或 Cowork)根据已接受的声明 ID 编写内容。
174
- - 在语义版本控制下,API 稳定性尚未实现。 v1.0.0 是一个需要实现的阶段,而不是一个日历日期; 详情请参阅 [`docs/roadmap.md`](docs/roadmap.md),其中列出了用于弥补差距的六个实验。
174
+ - 未经外部用户进行实际测试。三个内部测试阶段已结束——一个自指,两个涉及外部领域——并且 Experiment 3(在外部压力下的 API 稳定性)已于 **2026年5月10日 结束**:所有三个包(ComfyUI、XRPL、Godot)都已冻结,并且没有对 v0.3.x 的命令行界面进行任何重大更改。这些测试阶段带来了 v0.3.0 的 `--detector` 功能(F-09)、v0.3.1 的按“门”划分的豁免(F-10/F-11)、v0.3.2 的标准化“已接受的声明”处理(F-36)以及 v0.3.3 的“门”机制语义清晰度(F-43/F-41)。
175
+ - 不支持自动内容生成。`synth workspace` 命令用于生成结构化的工作区;人类(或 Cowork)负责根据已接受的声明 ID 编写内容。
176
+ - API 不保证语义版本兼容。v1.0.0 是一个需要通过实验才能达到的状态,而不是一个日期的约定——请参阅 [`docs/roadmap.md`](docs/roadmap.md),了解实现这一目标所需的六个实验。
175
177
 
176
178
  ### 已知的局限性
177
179
 
package/dist/cli.js CHANGED
@@ -3627,6 +3627,7 @@ function checkSourceFloor(input) {
3627
3627
  const cfg = input.research.gates.source_floor;
3628
3628
  const results = [];
3629
3629
  const cards = input.sources;
3630
+ const sectionCards = cards.filter((c) => c.section_id === input.section.id);
3630
3631
  const sourceCount = cards.length;
3631
3632
  if (sourceCount < cfg.min_sources) {
3632
3633
  results.push({
@@ -3650,12 +3651,15 @@ function checkSourceFloor(input) {
3650
3651
  const publishers = new Set(
3651
3652
  cards.map((c) => c.publisher).filter((p) => typeof p === "string")
3652
3653
  );
3654
+ const sectionPublishers = new Set(
3655
+ sectionCards.map((c) => c.publisher).filter((p) => typeof p === "string")
3656
+ );
3653
3657
  if (publishers.size < cfg.min_independent_publishers) {
3654
3658
  results.push({
3655
3659
  family: "source_floor",
3656
3660
  check: "min_independent_publishers",
3657
3661
  status: "fail",
3658
- detail: `Found ${publishers.size} independent publisher(s); minimum ${cfg.min_independent_publishers} required.`,
3662
+ detail: `Found ${publishers.size} independent publisher(s); minimum ${cfg.min_independent_publishers} required. (pack-wide=${publishers.size}, section-scoped=${sectionPublishers.size})`,
3659
3663
  evidence: [...publishers],
3660
3664
  blocks_synthesis: true
3661
3665
  });
@@ -3664,18 +3668,19 @@ function checkSourceFloor(input) {
3664
3668
  family: "source_floor",
3665
3669
  check: "min_independent_publishers",
3666
3670
  status: "pass",
3667
- detail: `${publishers.size} independent publisher(s) >= minimum ${cfg.min_independent_publishers}.`,
3671
+ detail: `${publishers.size} independent publisher(s) >= minimum ${cfg.min_independent_publishers}. (pack-wide=${publishers.size}, section-scoped=${sectionPublishers.size})`,
3668
3672
  evidence: [],
3669
3673
  blocks_synthesis: false
3670
3674
  });
3671
3675
  }
3672
3676
  const primaryCount = cards.filter((c) => c.source_type === "primary").length;
3677
+ const sectionPrimaryCount = sectionCards.filter((c) => c.source_type === "primary").length;
3673
3678
  if (primaryCount < cfg.primary_sources_required) {
3674
3679
  results.push({
3675
3680
  family: "source_floor",
3676
3681
  check: "primary_sources_required",
3677
3682
  status: "fail",
3678
- detail: `Found ${primaryCount} primary source(s); minimum ${cfg.primary_sources_required} required. Pre-waiver.`,
3683
+ detail: `Found ${primaryCount} primary source(s); minimum ${cfg.primary_sources_required} required. Pre-waiver. (pack-wide=${primaryCount}, section-scoped=${sectionPrimaryCount})`,
3679
3684
  evidence: cards.filter((c) => c.source_type === "primary").map((c) => c.source_id),
3680
3685
  blocks_synthesis: true
3681
3686
  });
@@ -3684,7 +3689,7 @@ function checkSourceFloor(input) {
3684
3689
  family: "source_floor",
3685
3690
  check: "primary_sources_required",
3686
3691
  status: "pass",
3687
- detail: `${primaryCount} primary source(s) >= minimum ${cfg.primary_sources_required}.`,
3692
+ detail: `${primaryCount} primary source(s) >= minimum ${cfg.primary_sources_required}. (pack-wide=${primaryCount}, section-scoped=${sectionPrimaryCount})`,
3688
3693
  evidence: [],
3689
3694
  blocks_synthesis: false
3690
3695
  });
@@ -3838,25 +3843,14 @@ function checkClaimIntegrity(input) {
3838
3843
  monoClaims.push(claim.claim_id);
3839
3844
  }
3840
3845
  }
3841
- if (monoClaims.length > claims.length / 2) {
3842
- results.push({
3843
- family: "claim_integrity",
3844
- check: "no_source_cluster_monopoly",
3845
- status: "warn",
3846
- detail: `${monoClaims.length}/${claims.length} claim(s) source from a single publisher. Independent corroboration recommended before synthesis.`,
3847
- evidence: monoClaims,
3848
- blocks_synthesis: false
3849
- });
3850
- } else {
3851
- results.push({
3852
- family: "claim_integrity",
3853
- check: "no_source_cluster_monopoly",
3854
- status: "pass",
3855
- detail: `${monoClaims.length}/${claims.length} claim(s) source from a single publisher (within tolerance).`,
3856
- evidence: [],
3857
- blocks_synthesis: false
3858
- });
3859
- }
3846
+ results.push({
3847
+ family: "claim_integrity",
3848
+ check: "no_source_cluster_monopoly",
3849
+ status: "pass",
3850
+ detail: `${monoClaims.length}/${claims.length} claim(s) are single-source by architecture (each claim references exactly one source). Publisher diversity is enforced at source-card level via min_independent_publishers.`,
3851
+ evidence: [],
3852
+ blocks_synthesis: false
3853
+ });
3860
3854
  }
3861
3855
  return results;
3862
3856
  }
@@ -4580,7 +4574,9 @@ var init_schema10 = __esm({
4580
4574
  docs: z11.number().int().nonnegative(),
4581
4575
  unknown: z11.number().int().nonnegative(),
4582
4576
  independent_publishers: z11.number().int().nonnegative(),
4583
- failed_fetches: z11.number().int().nonnegative()
4577
+ failed_fetches: z11.number().int().nonnegative(),
4578
+ section_primary: z11.number().int().nonnegative(),
4579
+ section_independent_publishers: z11.number().int().nonnegative()
4584
4580
  }),
4585
4581
  contradiction_counts: z11.object({
4586
4582
  total: z11.number().int().nonnegative(),
@@ -4653,10 +4649,14 @@ function summarizeClaimCounts(input) {
4653
4649
  }
4654
4650
  function summarizeSourceCounts(input) {
4655
4651
  const cards = input.sources;
4652
+ const sectionCards = cards.filter((c) => c.section_id === input.section.id);
4656
4653
  const failed = input.receipts.filter((r) => r.fetch_outcome !== "ok").length;
4657
4654
  const publishers = new Set(
4658
4655
  cards.map((c) => c.publisher).filter((p) => typeof p === "string")
4659
4656
  );
4657
+ const sectionPublishers = new Set(
4658
+ sectionCards.map((c) => c.publisher).filter((p) => typeof p === "string")
4659
+ );
4660
4660
  return {
4661
4661
  total: cards.length,
4662
4662
  primary: cards.filter((c) => c.source_type === "primary").length,
@@ -4666,7 +4666,9 @@ function summarizeSourceCounts(input) {
4666
4666
  docs: cards.filter((c) => c.source_type === "docs").length,
4667
4667
  unknown: cards.filter((c) => c.source_type === "unknown").length,
4668
4668
  independent_publishers: publishers.size,
4669
- failed_fetches: failed
4669
+ failed_fetches: failed,
4670
+ section_primary: sectionCards.filter((c) => c.source_type === "primary").length,
4671
+ section_independent_publishers: sectionPublishers.size
4670
4672
  };
4671
4673
  }
4672
4674
  function buildEffectiveStatuses3(resolutions) {
@@ -11872,7 +11874,7 @@ var init_src = __esm({
11872
11874
  init_triage();
11873
11875
  init_discover();
11874
11876
  init_errors();
11875
- RESEARCH_OS_VERSION = "0.3.2";
11877
+ RESEARCH_OS_VERSION = "0.3.3";
11876
11878
  }
11877
11879
  });
11878
11880