@mcptoolshop/research-os 0.3.2 → 0.4.0

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,165 @@
2
2
 
3
3
  All notable changes to `research-os` are documented here.
4
4
 
5
+ ## [0.4.0] — 2026-05-10 — source-truth discipline
6
+
7
+ v0.4.0 makes source identity durable. Deterministic source-type rules
8
+ handle the repeatable majority, override ledgers preserve operator
9
+ corrections across re-gather, and `source-card audit` replaces
10
+ scratch-script drift checks with a first-class CLI surface.
11
+
12
+ ### Component B — centralized source-type classifier
13
+
14
+ - **`classifySourceType(url)`** — deterministic rule-based classifier
15
+ stored in `source-type-rules.json` (11 canonical vendor entries,
16
+ precedence-ordered). Returns `{ source_type, rule_hint, precedence_level }`.
17
+ The `rule_hint` field exposes flagged conditions (`flagged:github-ui-html`,
18
+ `flagged:*`) and the `no-rule-match` sentinel so callers can distinguish
19
+ extractor-typed from rule-typed cards.
20
+ - **`CanonicalVendor` registry** — 11 vendors covering GitHub UI HTML,
21
+ arxiv.org, npm, PyPI, MDN, Apple developer docs, Microsoft docs,
22
+ Valve/Steam, Godot docs, GDExtension, and ReST-typed documentation sites.
23
+ - **`classify-source` CLI subcommand** — `research-os classify-source <url>`
24
+ for interactive rule inspection.
25
+
26
+ ### Component A — source-card override ledger
27
+
28
+ - **`source-card-overrides.jsonl`** — append-only ledger for operator
29
+ corrections to source-card fields (`new_source_type`, `new_publisher`,
30
+ `reason`). Lives at `evidence/source-card-overrides.jsonl` inside each pack.
31
+ - **`validateSourceCardOverride`** — strict Zod schema validation for
32
+ override entries. Used by both the ledger writer and the audit apply path.
33
+ - **`readOverrides` / `appendOverride`** — safe I/O helpers. `readOverrides`
34
+ returns `[]` when no ledger exists (missing-ledger is not an error).
35
+ - **`getEffectiveSourceType` / `getEffectivePublisher`** — latest-wins
36
+ effective-view helpers; override ledger takes precedence over raw card fields.
37
+ - **`source-card validate` / `source-card list` CLI subcommands** — inspect and
38
+ manage the ledger.
39
+
40
+ ### Component D — source-card audit CLI
41
+
42
+ - **`research-os source-card audit --pack <dir>`** — read-only drift
43
+ inspection. Reads all source cards, re-runs the classifier per card,
44
+ assigns exactly one of 7 advisor-locked finding kinds
45
+ (`github_ui_html`, `classifier_flagged`, `source_type_mismatch`,
46
+ `publisher_mismatch`, `publisher_missing`, `override_applied`, `no_action`),
47
+ and writes `audits/source-card-audit.{json,md}`.
48
+ - **`--json` flag** — prints the full JSON report to stdout.
49
+ - **`--apply --from <file>` flag** — applies an operator-authored JSON array
50
+ of override entries. All-or-nothing validation (all entries validated via
51
+ `validateSourceCardOverride` before any write). Refuses frozen packs
52
+ (`audits/freeze-receipt.json` present) — read-only audit still allowed.
53
+ - **7 finding kinds** — precedence-ordered:
54
+ `github_ui_html` → `classifier_flagged` → `source_type_mismatch` →
55
+ `publisher_mismatch` → `publisher_missing` → `override_applied` → `no_action`.
56
+ `source_type_mismatch` guards `rule_hint !== 'no-rule-match'` to prevent false
57
+ positives on extractor-typed cards. `publisher_mismatch` is forward-compatible
58
+ (cannot fire today — no publisher_hint in ClassificationResult).
59
+ - **JSON report shape** — `schema_version: 1`, `pack_path`, `audited_at`,
60
+ `research_os_version`, `totals`, `findings`.
61
+ - See the [source-card audit handbook page](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/)
62
+ for the operator workflow.
63
+
64
+ ### Cosmetic
65
+
66
+ - **F-46: pack manifests now stamp live binary version.** `pack publish`
67
+ manifest previously copied `research.research_os_version` — the version
68
+ frozen into `research.yaml` at pack-init time (was `0.1.0` for packs
69
+ created under older versions). Manifests now derive the version from the
70
+ live `RESEARCH_OS_VERSION` constant at publish time.
71
+
72
+ ### Compatibility
73
+
74
+ - No gate, freeze, or synthesis-law changes.
75
+ - All four frozen packs (`research-os-self-dogfood`,
76
+ `comfyui-workflow-durability`, `xrpl-creator-token-durability`,
77
+ `godot-export-runtime-durability`) verify-pack with byte-identical
78
+ receipt fingerprints under v0.4.0.
79
+ - 570 → 620 vitest tests (50 new tests across Components A, B, D).
80
+
81
+ ## [0.3.3] — 2026-05-10
82
+
83
+ Tight release. **Gate-semantics clarity, not behavior change.** Two
84
+ diagnostic improvements earned by Pack-3 (Godot export/runtime
85
+ durability, Experiment 3 pack #3 of 3, frozen 2026-05-10): F-43 (gate
86
+ accumulation diagnostic) and F-41 (monopoly check reword). Existing
87
+ pass/fail semantics for source-floor checks UNCHANGED. All four frozen
88
+ packs in research-packs continue to verify-pack with byte-identical
89
+ receipt fingerprints under v0.3.3.
90
+
91
+ ### Added
92
+
93
+ - **Section-scoped diagnostic counts in gate output (F-43).** Gate
94
+ output now carries `section_primary` and `section_independent_publishers`
95
+ alongside the existing pack-wide counts. Section reports and audit
96
+ rollups display both views. Operators can now see, per section, how
97
+ many publishers contribute section-locally vs how many the
98
+ cumulative pack-wide source set carries.
99
+
100
+ *Gate pass/fail behavior is unchanged. v0.3.3 makes the source-floor
101
+ evidence legible by reporting both pack-wide and section-scoped
102
+ counts.*
103
+
104
+ Earned by Pack-3 Sessions 4–7 (Godot pack), where five sections of
105
+ identical single-publisher canonical-engine shape received different
106
+ waiver outcomes purely based on run-order — Section 01 (run first,
107
+ pack thin) needed dual waiver; Sections 02 + 04 + 05 + 06 + 07 (run
108
+ later, pack accumulated 6+ publishers) needed 0 waivers. The
109
+ difference was real (pack-wide counts at gate-run time), but the
110
+ diagnostic didn't show operators which view drove the decision.
111
+
112
+ ### Changed
113
+
114
+ - **`no_source_cluster_monopoly` reworded from WARN to informational
115
+ diagnostic (F-41).** The check fired WARN on every single-source
116
+ claim across Pack-3 (confirmed 7×) regardless of explicit publisher
117
+ attribution on source cards. Each research-os claim is grounded to
118
+ one source span by design, so every claim is structurally
119
+ "single-publisher sourced." The WARN didn't carry actionable signal —
120
+ publisher diversity is already enforced by `min_independent_publishers`
121
+ at the source-card level.
122
+
123
+ *Because research-os claims are usually grounded to one source span,
124
+ single-source claim attribution is expected. Source diversity should
125
+ be judged from the section/pack source floor, not from a per-claim
126
+ "monopoly" warning.*
127
+
128
+ The check is preserved (not removed) so its diagnostic stays visible.
129
+ It now passes with an explanatory message rather than firing a
130
+ warning.
131
+
132
+ ### Compatibility
133
+
134
+ - All four frozen packs (`research-os-self-dogfood`,
135
+ `comfyui-workflow-durability`, `xrpl-creator-token-durability`,
136
+ `godot-export-runtime-durability`) verify-pack with byte-identical
137
+ receipt sha256 under v0.3.3.
138
+ - Manifest format, freeze receipt format, claim-reviews.jsonl
139
+ semantics, F-36 effective-accepted-claims helper — all UNCHANGED.
140
+ - New diagnostic fields are additive. Existing tooling that reads
141
+ gate output continues to function.
142
+
143
+ ### Tests
144
+
145
+ - 558 → **570 passing** (+12). Lint clean; typecheck clean; build
146
+ clean.
147
+ - 4-pack regression confirmed: ComfyUI sha256
148
+ `d71943c6...09c79038eb`, dogfood sha256 `368d2361...142ef1fd5d466`,
149
+ XRPL sha256 `6511a044...725259a5`, Godot sha256
150
+ `55a65792...6cf41235` — all stable.
151
+
152
+ ### Out of scope (deferred to later releases)
153
+
154
+ - F-40 (source-type classification stability across authoritative
155
+ docs).
156
+ - F-42 / F-44 (operator-playbook documentation for JS-rendered
157
+ vendor doc alternates).
158
+ - F-37 product side (admission emits `.gitattributes` snippet).
159
+ - F-46 (manifest version display: init-time vs publish-time).
160
+
161
+ These are real frictions earned during Pack-3, but v0.3.3 ships with a
162
+ single coherent spine. They will land in their own scoped releases.
163
+
5
164
  ## [0.3.2] — 2026-05-09
6
165
 
7
166
  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.4.0"><img src="https://img.shields.io/badge/version-0.4.0-blue" alt="version 0.4.0"></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,11 @@ 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.4.0** — Publicada en npm como `@mcptoolshop/research-os@0.4.0`, el 10 de mayo de 2026. La versión 0.4.0 garantiza la durabilidad de la identidad de la fuente. Las reglas deterministas del tipo de fuente gestionan la mayoría repetible, los registros de anulación preservan las correcciones del operador a través de la re-compilación, y la herramienta de auditoría de "tarjeta de fuente" reemplaza las comprobaciones de deriva de los scripts temporales con una interfaz de línea de comandos (CLI) de primera clase. Incluye: un clasificador centralizado de tipos de fuente (Componente B `classifySourceType`, 11 proveedores canónicos, `source-type-rules.json`); un registro de anulación de "tarjeta de fuente" (Componente A `source-card-overrides.jsonl`, subcomandos `validate` y `list`); y una herramienta de auditoría de "tarjeta de fuente" para la línea de comandos (Componente D `research-os source-card audit --pack <dir>`, 7 tipos de hallazgos, artefactos JSON y Markdown, opciones `--apply --from` para aplicar la ruta). Corrección cosmética F-46: los archivos de manifiesto ahora indican la versión binaria actual en lugar de la versión congelada en `research.yaml` durante la inicialización de la compilación. **No se realizaron cambios en los mecanismos de validación, congelación ni en las reglas de síntesis. Los cuatro paquetes congelados existentes verifican la identidad de los bytes de forma idéntica.** 620/620 pruebas de vitest superadas. Consulte el archivo [CHANGELOG.md](CHANGELOG.md) y la página del manual de la herramienta de auditoría de "tarjeta de fuente" ([https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/)).
155
+
156
+ **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).
157
+
158
+ **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
159
 
156
160
  **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
161
 
@@ -169,9 +173,9 @@ Esta es la alternativa estructural a *búsqueda → resumen → informe detallad
169
173
 
170
174
  ### Lo que la versión 0.3 no es
171
175
 
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.
176
+ - 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).
177
+ - 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.
178
+ - 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
179
 
176
180
  ### Limitaciones conocidas
177
181
 
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.4.0"><img src="https://img.shields.io/badge/version-0.4.0-blue" alt="version 0.4.0"></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,10 @@ Ceci est une alternative structurée à *recherche → résumé → rapport dét
151
151
 
152
152
  ## Statut
153
153
 
154
+ **v0.4.0** — publié sur npm sous le nom `@mcptoolshop/research-os@0.4.0`, le 10 mai 2026. La version 0.4.0 assure la pérennité de l'identité de la source. Les règles de type de source déterministes gèrent la majorité reproductible, les registres de remplacement préservent les corrections de l'opérateur lors des nouvelles agrégations, et la commande `source-card audit` remplace les vérifications de dérive des scripts temporaires par une interface CLI de première classe. Comprend : un classificateur de type de source centralisé (Composant B — `classifySourceType`, 11 fournisseurs canoniques, `source-type-rules.json`); un registre de remplacement de carte source (Composant A — `source-card-overrides.jsonl`, commandes `validate` et `list`); et une CLI d'audit de carte source (Composant D — `research-os source-card audit --pack <dir>`, 7 types de résultats, artefacts JSON et Markdown, options `--apply --from` pour spécifier le chemin). Correction cosmétique F-46 : les manifestes de pack indiquent désormais la version binaire en cours d'utilisation plutôt que la version figée dans `research.yaml` lors de l'initialisation du pack. **Aucun changement concernant les mécanismes de contrôle, de blocage ou les lois de synthèse. Les quatre packs figés existants sont vérifiés de manière identique au niveau des octets.** 620/620 tests vitest réussis. Consultez le fichier [CHANGELOG.md](CHANGELOG.md) et la page du manuel d'audit de carte source : [https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/).
155
+
156
+ **v0.3.3** — publié sur npm sous le nom `@mcptoolshop/research-os@0.3.3`, le 10 mai 2026. Comprend une clarification de la sémantique des contrôles, obtenue grâce au Pack-3 (durabilité de l'exportation/de l'exécution Godot, Expérience 3, pack n° 3 sur 3). La sortie du contrôle indique désormais les nombres de publications et de comptes primaires spécifiques à chaque section, en plus des nombres globaux du pack (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).
157
+
154
158
  **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
159
 
156
160
  **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 +173,9 @@ Ceci est une alternative structurée à *recherche → résumé → rapport dét
169
173
 
170
174
  ### Ce que la version 0.1 n'est pas
171
175
 
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.
176
+ - Non testé en conditions réelles par des utilisateurs externes. Trois cycles de test internes ont été terminés : 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 perturbatrices de l'interface 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 comptabilité des revendications acceptées (F-36) et de la clarification de la sémantique des contrôles (F-43/F-41).
177
+ - Ne génère pas de code de synthèse. La commande `synth workspace` génère l'espace de travail structuré ; les humains (ou Cowork) rédigent le texte en référence aux identifiants des revendications acceptées.
178
+ - La stabilité de l'API n'est pas garantie selon les règles de version 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 permettent d'atteindre cet objectif.
175
179
 
176
180
  ### Limitations connues
177
181
 
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.4.0"><img src="https://img.shields.io/badge/version-0.4.0-blue" alt="version 0.4.0"></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,10 @@ discover
151
151
 
152
152
  ## स्थिति
153
153
 
154
+ **v0.4.0** — npm पर `@mcptoolshop/research-os@0.4.0` के रूप में प्रकाशित, 2026-05-10। v0.4.0 स्रोत की पहचान को स्थायी बनाता है। नियतात्मक स्रोत-प्रकार नियम दोहराए जा सकने वाले अधिकांश मामलों को संभालते हैं, ओवरराइड लेजर ऑपरेटर द्वारा किए गए सुधारों को पुनः-संग्रहण के दौरान संरक्षित करते हैं, और `source-card audit` एक समर्पित कमांड-लाइन इंटरफेस के साथ "स्क्रैच-स्क्रिप्ट" विचलन जांचों को बदलता है। इसमें शामिल हैं: केंद्रीकृत स्रोत-प्रकार वर्गीकरण (घटक B — `classifySourceType`, 11 मानक विक्रेता, `source-type-rules.json`); स्रोत-कार्ड ओवरराइड लेजर (घटक A — `source-card-overrides.jsonl`, `validate` + `list` उप-कमांड); और स्रोत-कार्ड ऑडिट कमांड-लाइन इंटरफेस (घटक D — `research-os source-card audit --pack <dir>`, 7 प्रकार की खोज, JSON + Markdown प्रारूप, `--apply --from` पथ लागू करें)। F-46: एक सौंदर्य संबंधी सुधार: अब "पैक" मैनिफेस्ट में `research.yaml` में "पैक" शुरू करने के समय "फ्रीज" किए गए संस्करण के बजाय, लाइव बाइनरी संस्करण अंकित किया जाता है। **कोई "गेट", "फ्रीज" या "सिंथेसिस-लॉ" परिवर्तन नहीं। सभी चार मौजूदा "फ्रीज" किए गए "पैक" "वेरिफाई-पैक" बाइट-समान रूप से पास होते हैं।** 620/620 "विटेस्ट" पास। [CHANGELOG.md](CHANGELOG.md) और [स्रोत-कार्ड ऑडिट हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/) देखें।
155
+
156
+ **v0.3.3** — npm पर `@mcptoolshop/research-os@0.3.3` के रूप में प्रकाशित, 2026-05-10। "पैक-3" (Godot निर्यात/रनटाइम स्थिरता, प्रयोग 3 का "पैक" #3) द्वारा अर्जित "गेट" अर्थ स्पष्टता शामिल है। "गेट" आउटपुट अब "पैक" के स्तर के साथ-साथ अनुभाग-स्तरीय प्रकाशक और प्राथमिक गणनाएं भी दिखाता है (F-43); `no_source_cluster_monopoly` को चेतावनी से बदलकर सूचनात्मक निदान में बदल दिया गया है (F-41)। **पास/फेल व्यवहार अपरिवर्तित है; मौजूदा "फ्रीज" किए गए "पैक" "वेरिफाई-पैक" बाइट-समान रूप से पास होते हैं।** 570/570 "विटेस्ट" पास। [CHANGELOG.md](CHANGELOG.md) और [`docs/section-scoped-waivers.md`](docs/section-scoped-waivers.md) देखें।
157
+
154
158
  **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
159
 
156
160
  **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 +173,9 @@ discover
169
173
 
170
174
  ### v0.1 क्या नहीं है
171
175
 
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) देखें।
176
+ - बाहरी उपयोगकर्ताओं द्वारा परीक्षण नहीं किया गया। तीन "डॉगफूड" चक्र समाप्त हो गए हैं एक आत्म-संदर्भित, दो बाहरी-डोमेन और प्रयोग 3 (बाहरी दबाव के तहत एपीआई स्थिरता) **2026-05-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) शामिल हैं।
177
+ - यह कोई "सिंथेसिस" लेखक नहीं है। `synth workspace` कमांड संरचित कार्यक्षेत्र उत्पन्न करता है; स्वीकृत दावा आईडी के विरुद्ध मनुष्यों (या Cowork) द्वारा सामग्री लिखी जाती है।
178
+ - यह "सेमवर" के तहत एपीआई-स्थिर नहीं है। v1.0.0 एक अर्जित स्थिति है, कोई कैलेंडर तिथि नहीं इस अंतर को भरने वाले छह प्रयोगों के बारे में जानकारी के लिए [`docs/roadmap.md`](docs/roadmap.md) देखें।
175
179
 
176
180
  ### ज्ञात सीमाएँ
177
181
 
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.4.0"><img src="https://img.shields.io/badge/version-0.4.0-blue" alt="version 0.4.0"></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,11 @@ 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.4.0** — Pubblicata su npm come `@mcptoolshop/research-os@0.4.0` il 10 maggio 2026. La versione 0.4.0 garantisce la persistenza dell'identità della sorgente. Le regole deterministiche per il tipo di sorgente gestiscono la ripetibilità, i registri di sovrascrittura preservano le correzioni dell'operatore durante le nuove aggregazioni, e il comando `source-card audit` sostituisce i controlli di deriva degli script con un'interfaccia CLI dedicata. Include: un classificatore centralizzato per il tipo di sorgente (Componente B `classifySourceType`, 11 fornitori standard, `source-type-rules.json`); un registro di sovrascrittura per le sorgenti (Componente A `source-card-overrides.jsonl`, comandi secondari `validate` e `list`); e un'interfaccia CLI per l'audit delle sorgenti (Componente D `research-os source-card audit --pack <dir>`, 7 tipi di anomalie, artefatti JSON e Markdown, opzioni `--apply --from` per l'applicazione del percorso). Correzione estetica F-46: i manifest dei pacchetti ora indicano la versione binaria effettiva, anziché la versione "congelata" in `research.yaml` durante la creazione del pacchetto. **Nessuna modifica alle funzionalità di controllo, "freeze" o alle regole di sintesi. Tutti e quattro i pacchetti esistenti vengono verificati byte per byte.** 620 test superati su 620 con vitest. Consultare il file [CHANGELOG.md](CHANGELOG.md) e la pagina del manuale sull'audit delle sorgenti: [https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/).
155
+
156
+ **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).
157
+
158
+ **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
159
 
156
160
  **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
161
 
@@ -169,9 +173,9 @@ Questa è l'alternativa strutturale a *ricerca → riepilogo → report dettagli
169
173
 
170
174
  ### Cosa la versione 0.3 non è
171
175
 
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.
176
+ - 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).
177
+ - 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.
178
+ - 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
179
 
176
180
  ### Limitazioni note
177
181
 
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.4.0"><img src="https://img.shields.io/badge/version-0.4.0-blue" alt="version 0.4.0"></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,10 @@ discover
151
151
 
152
152
  ## ステータス
153
153
 
154
+ **v0.4.0** — npmに`@mcptoolshop/research-os@0.4.0`として公開。2026年5月10日。v0.4.0では、ソースの同一性を維持できるようになりました。決定論的なソースタイプルールにより、再現可能な多数が処理され、オーバーライドされたレジャーにより、再収集時のオペレーターによる修正が保持され、`source-card audit`コマンドが、従来のスクリプトのずれチェックを置き換え、より使いやすいCLIインターフェースを提供します。同梱内容:集中型のソースタイプ分類器(コンポーネントB — `classifySourceType`、11種類のベンダー、`source-type-rules.json`)、ソースカードのオーバーライドレジャー(コンポーネントA — `source-card-overrides.jsonl`、`validate`および`list`サブコマンド)、およびソースカード監査CLI(コンポーネントD — `research-os source-card audit --pack <dir>`、7種類の検出結果、JSONおよびMarkdown形式のレポート、`--apply --from`による適用パス)。F-46:見た目の修正。パッケージのマニフェストには、`research.yaml`に固定されたバージョンではなく、実行中のバイナリのバージョンが記録されるようになりました。**ゲート、フリーズ、または合成に関する変更はありません。既存のすべてのパッケージは、バイト単位で同一であることを検証済みです。** 620/620のvitestテストが合格しました。詳細は[CHANGELOG.md](CHANGELOG.md)および[ソースカード監査に関するハンドブック](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/)を参照してください。
155
+
156
+ **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)を参照してください。
157
+
154
158
  **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
159
 
156
160
  **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 +173,9 @@ discover
169
173
 
170
174
  ### v0.1の制限事項
171
175
 
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つの実験を参照してください。
176
+ - 外部ユーザーによる実戦テストは行われていません。3つの内部テストが完了しました。そのうち1つは自己参照型、2つは外部ドメイン型です。実験3(外部からのプレッシャー下でのAPIの安定性)は、**2026年5月10日に完了しました**: ComfyUI、XRPL、Godotの3つのパッケージすべてが、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)が実現されました。
177
+ - 合成コードを生成するものではありません。`synth workspace`コマンドは、構造化されたワークスペースを生成します。プログラミングコードではなく、承認されたクレームIDに基づいて、人間(またはCowork)がテキストを作成します。
178
+ - セマンティックバージョニング(semver)でAPIの安定性は保証されません。v1.0.0は、カレンダー上の日付ではなく、達成すべき目標です。詳細は[`docs/roadmap.md`](docs/roadmap.md)にある、その目標を達成するための6つの実験を参照してください。
175
179
 
176
180
  ### 既知の制限事項
177
181
 
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.4.0"><img src="https://img.shields.io/badge/version-0.4.0-blue" alt="version 0.4.0"></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,10 @@ This is the structural alternative to *search → summarize → pretty report*.
151
151
 
152
152
  ## Status
153
153
 
154
+ **v0.4.0** — published to npm as `@mcptoolshop/research-os@0.4.0`, 2026-05-10. v0.4.0 makes source identity durable. Deterministic source-type rules handle the repeatable majority, override ledgers preserve operator corrections across re-gather, and `source-card audit` replaces scratch-script drift checks with a first-class CLI surface. Ships: centralized source-type classifier (Component B — `classifySourceType`, 11 canonical vendors, `source-type-rules.json`); source-card override ledger (Component A — `source-card-overrides.jsonl`, `validate` + `list` subcommands); and source-card audit CLI (Component D — `research-os source-card audit --pack <dir>`, 7 finding kinds, JSON + Markdown artifacts, `--apply --from` apply path). F-46 cosmetic fix: pack manifests now stamp the live binary version rather than the version frozen into `research.yaml` at pack-init. **No gate, freeze, or synthesis-law changes. All four existing frozen packs verify-pack byte-identically.** 620/620 vitest passing. See [CHANGELOG.md](CHANGELOG.md) and the [source-card audit handbook page](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/).
155
+
156
+ **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).
157
+
154
158
  **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
159
 
156
160
  **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 +173,7 @@ This is the structural alternative to *search → summarize → pretty report*.
169
173
 
170
174
  ### What v0.3 is not
171
175
 
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.
176
+ - 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
177
  - Not a synthesis writer. The `synth workspace` command generates the structured workspace; humans (or Cowork) write the prose against accepted claim IDs.
174
178
  - 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
179
 
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.4.0"><img src="https://img.shields.io/badge/version-0.4.0-blue" alt="version 0.4.0"></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,10 @@ Esta é a alternativa estrutural para *pesquisar → resumir → gerar relatóri
151
151
 
152
152
  ## Status
153
153
 
154
+ **v0.4.0** — Publicada no npm como `@mcptoolshop/research-os@0.4.0`, 10 de maio de 2026. A versão 0.4.0 garante a durabilidade da identidade da fonte. Regras determinísticas para o tipo de fonte lidam com a maioria repetível, os registros de substituição preservam as correções do operador durante a re-coleta, e o comando `source-card audit` substitui as verificações de derivação de scripts por uma interface de linha de comando (CLI) completa. Inclui: um classificador centralizado de tipo de fonte (Componente B — `classifySourceType`, 11 fornecedores padrão, `source-type-rules.json`); um registro de substituição de cartão de fonte (Componente A — `source-card-overrides.jsonl`, subcomandos `validate` e `list`); e uma CLI para auditoria de cartão de fonte (Componente D — `research-os source-card audit --pack <dir>`, 7 tipos de detecção, artefatos JSON + Markdown, opções `--apply --from` para aplicar o caminho). Correção estética F-46: os arquivos de manifesto agora indicam a versão binária em execução, em vez da versão fixada no arquivo `research.yaml` durante a inicialização da criação do pacote. **Não há alterações nas regras de validação, congelamento ou síntese. Todos os quatro pacotes existentes passam na verificação de integridade byte a byte.** 620/620 testes vitest aprovados. Consulte o arquivo [CHANGELOG.md](CHANGELOG.md) e a página do manual de auditoria de cartão de fonte: [https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/).
155
+
156
+ **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).
157
+
154
158
  **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
159
 
156
160
  **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 +173,9 @@ Esta é a alternativa estrutural para *pesquisar → resumir → gerar relatóri
169
173
 
170
174
  ### O que a versão 0.1 não é
171
175
 
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.
176
+ - 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).
177
+ - 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".
178
+ - 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
179
 
176
180
  ### Limitações conhecidas
177
181
 
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.4.0"><img src="https://img.shields.io/badge/version-0.4.0-blue" alt="version 0.4.0"></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,11 @@ 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.4.0** 版本已发布到 npm,包名为 `@mcptoolshop/research-os@0.4.0`,发布日期为 2026年5月10日。 v0.4.0 版本增强了源标识的持久性。 确定性的源类型规则处理可重复的大部分情况,覆盖账本保留了操作员的修正,即使在重新收集数据时也能生效,并且 `source-card audit` 命令取代了对临时脚本漂移的检查,提供了一个更完善的命令行界面。 包含内容:集中式的源类型分类器(组件 B,`classifySourceType`,11个标准供应商,`source-type-rules.json`);源卡覆盖账本(组件 A,`source-card-overrides.jsonl`,`validate` `list` 子命令);以及源卡审计命令行工具(组件 D,`research-os source-card audit --pack <dir>`,7种检测类型,JSON Markdown 格式的报告,`--apply --from` 参数用于指定应用路径)。 F-46:修复了外观问题,现在打包清单会记录实际的二进制版本,而不是 `research.yaml` 文件中固定的版本。 **没有对安全机制、冻结机制或合成规则进行任何更改。所有四个现有的冻结包都经过了字节级别的完全一致性验证。** 620/620 个 vitest 测试通过。 详情请参考 [CHANGELOG.md](CHANGELOG.md) 文件以及 [源卡审计手册](https://mcp-tool-shop-org.github.io/research-os/handbook/source-card-audit/) 页面。
155
+
156
+ **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)。
157
+
158
+ **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
159
 
156
160
  **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
161
 
@@ -169,9 +173,9 @@ discover
169
173
 
170
174
  ### v0.3 的局限性
171
175
 
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),其中列出了用于弥补差距的六个实验。
176
+ - 未经外部用户进行实际测试。三个内部测试阶段已结束——一个自指,两个涉及外部领域——并且 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)。
177
+ - 不支持自动内容生成。`synth workspace` 命令用于生成结构化的工作区;人类(或 Cowork)负责根据已接受的声明 ID 编写内容。
178
+ - API 不保证语义版本兼容。v1.0.0 是一个需要通过实验才能达到的状态,而不是一个日期的约定——请参阅 [`docs/roadmap.md`](docs/roadmap.md),了解实现这一目标所需的六个实验。
175
179
 
176
180
  ### 已知的局限性
177
181