Skip to content

docs: OSS-readiness — English docs, samples, SECURITY/COC/CHANGELOG - #31

Merged
montfort merged 11 commits into
mainfrom
docs/samples-readmes
Jul 19, 2026
Merged

docs: OSS-readiness — English docs, samples, SECURITY/COC/CHANGELOG#31
montfort merged 11 commits into
mainfrom
docs/samples-readmes

Conversation

@montfort

@montfort montfort commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

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.md traducido.
  • Código de samples en inglés: comentarios + salida de consola (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.md traducido. Árbol de estructura ahora lista .straymark/ (Charters + AILOG/AIDEC/ADR + auditorías) y samples/. 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.md traducido (module map, contrato de memoria FFI, sync flow, versionado, gates, límites); anclas internas actualizadas.

Verificación

  • Todos los .md pasan markdownlint con la config del job Validate Documentation.
  • Anclas de enlaces internos verificadas (#gates, #known-limits); los cross-links a GOVERNANCE.md#seguridad conservan el ancla español a propósito (ese archivo sigue en español por ahora).
  • Samples ejercitados en vivo: versioning journey corre, relay loguea en inglés, npm run check converge.

Fuera de alcance (siguiente)

Traducir CONTRIBUTING.md, GOVERNANCE.md, docs/api/README.md y los comentarios de código en src//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

montfort and others added 2 commits July 18, 2026 19:26
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>
@montfort montfort changed the title docs(samples): README index + per-sample guides (English) docs: samples READMEs + SECURITY/CODE_OF_CONDUCT/CHANGELOG + English samples Jul 19, 2026
…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>
@montfort montfort changed the title docs: samples READMEs + SECURITY/CODE_OF_CONDUCT/CHANGELOG + English samples docs: OSS-readiness — English docs, samples, SECURITY/COC/CHANGELOG Jul 19, 2026
montfort and others added 8 commits July 18, 2026 20:22
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>
@montfort
montfort merged commit 925025d into main Jul 19, 2026
13 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant