docs: OSS-readiness — English docs, samples, SECURITY/COC/CHANGELOG - #31
Merged
Conversation
Los samples carecían de un punto de entrada: solo `tiptap-client` tenía README (en español), y los dos proyectos .NET solo documentaban su uso en el comentario de cabecera de `Program.cs`. Un lector que abría `samples/` no encontraba un mapa de qué es cada proyecto ni cómo correrlo. - samples/README.md: índice nuevo — tabla de los tres samples (user story, si requiere servidor, comando), prerequisitos, tour de 60s y notas (puerto 5199, persistencia, por qué US2/US5 no tienen demo). - samples/Weft.Sample.Versioning/README.md: journey US1 paso a paso. - samples/Weft.Sample.Server/README.md: endpoint, punto de extensión de authz (advertencia DemoAuthorizer no-producción), persistencia, env vars. - samples/tiptap-client/README.md: traducido a inglés (era el único en español) para uniformar los cuatro. Todos pasan markdownlint con la config del job Validate Documentation. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds the standard OSS root docs that were missing, and completes the English pass over the samples subtree (comments + user-facing console output), ahead of open-sourcing the repo to an international audience. - SECURITY.md: private vulnerability reporting (GitHub advisories), supported-versions/SemVer note, how the FFI boundary is hardened (ASan/LSan, cargo-fuzz, relay input caps) and the direct-ingestion R6 caveat. Consistent with GOVERNANCE.md §Seguridad. - CODE_OF_CONDUCT.md: Contributor Covenant 2.1. - CHANGELOG.md: Keep a Changelog; [Unreleased] describes the pending 1.0.0 (M0–M3 / US1–US5), gated on the operator publish. - Samples fully in English: header comments, console output and the wire-check strings (Program.cs ×2, main.js, wire-check.mjs); README citations of that output updated to match. Verified: versioning journey runs, relay log prints in English, wire-check converges. Root docs README/CONTRIBUTING/GOVERNANCE and source-comment translation across src/native/tests are a separate migration Charter; SpecKit specs and docs/spikes stay in Spanish (historical/process record). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…pecKit+StrayMark flow - README.md translated to English. Repo-structure tree now lists `.straymark/` (Charters + AILOG/AIDEC/ADR + external audits) alongside `.specify/`, plus `samples/`. The Development section is expanded: what StrayMark is and why it matters (the *why* of each decision stays in the repo; Charters pair ex-ante scope with ex-post telemetry; milestone closes require multi-model external audits), and how SpecKit and StrayMark integrate — SpecKit defines *what* (Spec→Plan→Tasks), StrayMark governs *how* (Charters group tasks, the constitution is enforced as CI gates). - docs/architecture.md translated to English (module map, FFI memory-ownership contract, sync flow, versioning model, gates, known limits). Internal anchors updated; cross-links to GOVERNANCE.md keep the Spanish #seguridad anchor since that file stays in Spanish for now. Both pass markdownlint with the Validate Documentation config. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per-package API overview to English (package table, per-package type listings, notes). Consistent with README.md and docs/architecture.md. Passes markdownlint with the Validate Documentation config. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- GOVERNANCE.md and CONTRIBUTING.md fully translated (governance model, decision flow, releases, security note + R6 caveat; toolchain, build/test, constitutional gates table, engine bump protocol R16, workflow). - Cross-link anchors updated to the new English headings: README.md and docs/architecture.md now point to GOVERNANCE.md#security (was #seguridad); GOVERNANCE.md points to CONTRIBUTING.md#engine-bump-protocol-…; GOVERNANCE now also links SECURITY.md for the reporting process. All docs pass markdownlint with the Validate Documentation config; cross-doc anchors verified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Translates all Spanish code comments to English across the codebase, ahead of open-sourcing to an international audience. Comments only — no code, identifiers, string literals, test names, or attributes were modified. Scope: ~580 comments across 82 files (67 .cs, 9 .rs, 2 .h, 1 .mjs) in src/, native/, tests/. Done via 7 parallel translators (one batch per area) plus a manual sweep that caught 5 files the tilde-based inventory missed (comments without accents, and non-.cs/.rs/.h files). Verification: full .NET build 0 warnings/0 errors; dotnet test green (154 + PanicSafety 2/2 with test-hooks; Redis skipped without server); cargo build + cargo test green (6+7). A residual-Spanish sweep over comments is clean. Not touched (separate decision): Spanish string literals (exception/log/ assert messages, test data) and a few Spanish test-method identifiers. Out of scope by decision: specs/SpecKit, .straymark, docs/spikes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…s, asserts, console)
Follow-up to the comment translation: translates user/developer-facing Spanish
MESSAGE strings to English — exception messages, panic!/assert messages,
Skip messages, and console output — across src/, native/, tests/.
~89 strings via 5 parallel translators plus a manual sweep for 3 stragglers.
Preserved: all {..}/${..} interpolations, and the substrings that tests assert
on (engine names yrs/loro, "cap", "weft_"). NOT touched (by decision): test-data
fixtures ("hola mundo", "el gato duerme", …) and Spanish test-method identifiers.
Verification: .NET build 0/0; full dotnet test green (155, incl. PanicSafety with
test-hooks and the assert-coupled HeaderBindingParity/CrossEngineMerge/Lib0Encoding
tests); cargo build+test green (6+7). Residual Spanish-message sweep: clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaces the ASCII-art dependency diagram with a Mermaid `graph BT`, which
GitHub renders natively in ```mermaid fences. Core sits at the top; every
arrow reads "depends on" and points toward the core, matching the prose.
Same six packages and edges as before (Versioning/Loro/Server → Core,
Server → Versioning, Persistence.{Redis,EFCore} → Server).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Weft's NuGet packages redistribute the native cdylibs, which statically link Rust crates — so those licenses travel with the package. This adds the required attribution and keeps it honest automatically. - THIRD-PARTY-NOTICES.md: generated with cargo-about (native/about.toml + about.hbs). 129 third-party crates: 124 MIT, 3 MPL-2.0 (im/bitmaps/sized-chunks, via Loro only), 1 BSL-1.0, 1 Unicode-3.0. All permissive or MPL-2.0 weak-copyleft — compatible with open-source and proprietary use. - CI `third-party-notices` job (BLOCKING): regenerates and fails if a dependency introduces a license not in `accepted`, or if the committed notice drifts (e.g. after a yrs/Loro bump). cargo-about pinned to 0.9.1 for reproducible output. - Transparency note in README.md and GOVERNANCE.md: the default yrs path is fully permissive; the MPL-2.0 components arrive only via the optional Loro engine. - .markdownlintignore excludes the generated notice (verbatim license texts). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The directory tree lines ran up to 107 chars (.straymark/, THIRD-PARTY, Weft.Core), forcing horizontal scroll on GitHub in narrow/mobile views (fenced blocks scroll rather than truncate, but it's still awkward). Shortened the comments so every line is ≤81 chars — the ASCII tree stays, it's the right format for a file hierarchy, just fits without scrolling now. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Qué
Primer bloque de "OSS-readiness": documentación de cara al público en inglés, hacia abrir el repo a una audiencia internacional.
Samples
samples/README.md(nuevo, índice) + READMEs por proyecto (Weft.Sample.Versioning,Weft.Sample.Server) +tiptap-client/README.mdtraducido.Program.cs×2,main.js,wire-check.mjs).Docs OSS de nivel raíz (nuevos, en inglés)
SECURITY.md— reporte privado de vulnerabilidades, versiones soportadas/SemVer, endurecimiento FFI, caveat R6.CODE_OF_CONDUCT.md— Contributor Covenant 2.1.CHANGELOG.md— Keep a Changelog;[Unreleased]= 1.0.0 pendiente.README + architecture a inglés
README.mdtraducido. Árbol de estructura ahora lista.straymark/(Charters + AILOG/AIDEC/ADR + auditorías) ysamples/. Sección Development ampliada: qué es StrayMark y por qué importa, y cómo se integran SpecKit + StrayMark (SpecKit define qué: Spec→Plan→Tasks; StrayMark gobierna cómo: Charters agrupan tasks, la constitución se hace cumplir como gates de CI).docs/architecture.mdtraducido (module map, contrato de memoria FFI, sync flow, versionado, gates, límites); anclas internas actualizadas.Verificación
.mdpasan markdownlint con la config del jobValidate Documentation.#gates,#known-limits); los cross-links aGOVERNANCE.md#seguridadconservan el ancla español a propósito (ese archivo sigue en español por ahora).npm run checkconverge.Fuera de alcance (siguiente)
Traducir
CONTRIBUTING.md,GOVERNANCE.md,docs/api/README.mdy los comentarios de código ensrc//native//tests/. Revisión de licencia + rework mayor del README. Se quedan en español (histórico/proceso):specs/001+ SpecKit,.straymark/,docs/spikes/.🤖 Generated with Claude Code