@mcptoolshop/research-os 0.3.3 → 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,82 @@
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
+
5
81
  ## [0.3.3] — 2026-05-10
6
82
 
7
83
  Tight release. **Gate-semantics clarity, not behavior change.** Two
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.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></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,8 @@ Esta es la alternativa estructural a *búsqueda → resumen → informe detallad
151
151
 
152
152
  ## Estado
153
153
 
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
+
154
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).
155
157
 
156
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).
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.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></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,9 @@ 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).
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).
155
157
 
156
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).
157
159
 
@@ -171,9 +173,9 @@ Ceci est une alternative structurée à *recherche → résumé → rapport dét
171
173
 
172
174
  ### Ce que la version 0.1 n'est pas
173
175
 
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.
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.
177
179
 
178
180
  ### Limitations connues
179
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.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></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,9 @@ 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) देखें।
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) देखें।
155
157
 
156
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) देखें।
157
159
 
@@ -171,9 +173,9 @@ discover
171
173
 
172
174
  ### v0.1 क्या नहीं है
173
175
 
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) देखें।
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) देखें।
177
179
 
178
180
  ### ज्ञात सीमाएँ
179
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.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></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,8 @@ Questa è l'alternativa strutturale a *ricerca → riepilogo → report dettagli
151
151
 
152
152
  ## Stato
153
153
 
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
+
154
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).
155
157
 
156
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).
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.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></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,9 @@ 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) を参照してください。
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)を参照してください。
155
157
 
156
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)を参照してください。
157
159
 
@@ -171,9 +173,9 @@ discover
171
173
 
172
174
  ### v0.1の制限事項
173
175
 
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つの実験が記載されています。
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つの実験を参照してください。
177
179
 
178
180
  ### 既知の制限事項
179
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.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></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,8 @@ 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
+
154
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).
155
157
 
156
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).
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.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></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,8 @@ 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
+
154
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).
155
157
 
156
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).
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.3"><img src="https://img.shields.io/badge/version-0.3.3-blue" alt="version 0.3.3"></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,8 @@ 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` 命令取代了对临时脚本漂移的检查,提供了一个更完善的命令行界面。 包含内容:集中式的源类型分类器(组件 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
+
154
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)。
155
157
 
156
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)。