Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
7bfa089
docs: add [Unreleased] changelog entry (Branch Parity Rule — Core v0.…
PythonWoods-Dev May 8, 2026
261d9c3
refactor(nox): remove preflight session, rename verify-docs→verify-co…
PythonWoods-Dev May 8, 2026
8867b41
fix(justfile): add missing space in bash if-test — if[ → if [
PythonWoods-Dev May 8, 2026
3535800
feat(dx): Sprint D101 — _check-hooks guard + ecosystem.mdx transparen…
PythonWoods-Dev May 8, 2026
e5d11e3
fix(dx): Sprint D102 — Z907 docs, double execution, phantom codes (EN…
PythonWoods-Dev May 8, 2026
c88b0b9
chore: replace bash bump script with bump-my-version config and just …
PythonWoods-Dev May 8, 2026
db6de35
feat(release): add version display and dry-run release bump functiona…
PythonWoods-Dev May 8, 2026
9e1eb00
fix: update package name from zenzic-temp-docs to zenzic-docs in pack…
PythonWoods-Dev May 8, 2026
7ef56e4
fix: update package name from zenzic-temp-docs to zenzic-docs in .bum…
PythonWoods-Dev May 8, 2026
85e5359
fix: update package name from zenzic-docs to zenzic-doc in .bumpversi…
PythonWoods-Dev May 8, 2026
fb5a80f
fix: update package.json and package-lock.json versioning to use new …
PythonWoods-Dev May 8, 2026
50611ff
fix: update package name references in .bumpversion.toml for consistency
PythonWoods-Dev May 8, 2026
2de2818
fix: remove package-lock.json references from .bumpversion.toml and u…
PythonWoods-Dev May 8, 2026
1941ec4
release: bump version to 0.7.1
PythonWoods-Dev May 8, 2026
6905008
chore: add release-contracts guard and SPDX header to .bumpversion.toml
PythonWoods-Dev May 8, 2026
adbc27b
feat(dx): add --short flag to release-dry
PythonWoods-Dev May 8, 2026
f725bcb
docs: add DX release recipes to CHANGELOG (EN+IT)
PythonWoods-Dev May 8, 2026
1dd5bdd
fix(security): bump fast-uri to 3.1.2 to resolve GHSA-q3j6-qgpj-74h6
PythonWoods-Dev May 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions .bumpversion.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0

[tool.bumpversion]
current_version = "0.7.1"
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
serialize = ["{major}.{minor}.{patch}"]

[[tool.bumpversion.files]]
filename = "package.json"
search = '"name":\s*"zenzic-doc",\s*"version":\s*"\d+\.\d+\.\d+"'
replace = '"name": "zenzic-doc",\n "version": "{new_version}"'
regex = true

[[tool.bumpversion.files]]
filename = "package-lock.json"
search = '"name":\s*"zenzic-docs",\s*"version":\s*"\d+\.\d+\.\d+"'
replace = '"name": "zenzic-docs",\n "version": "{new_version}"'
regex = true

[[tool.bumpversion.files]]
filename = "docusaurus.config.ts"
search = "'{current_version}'"
replace = "'{new_version}'"

[[tool.bumpversion.files]]
filename = "docusaurus.config.ts"
search = "v{current_version}"
replace = "v{new_version}"

[[tool.bumpversion.files]]
filename = "README.md"
search = "v{current_version}"
replace = "v{new_version}"

[[tool.bumpversion.files]]
filename = "README.it.md"
search = "v{current_version}"
replace = "v{new_version}"

[[tool.bumpversion.files]]
filename = "RELEASE.md"
search = "v{current_version}"
replace = "v{new_version}"

[[tool.bumpversion.files]]
filename = "RELEASE.it.md"
search = "v{current_version}"
replace = "v{new_version}"

[[tool.bumpversion.files]]
filename = "i18n/en/code.json"
search = "v{current_version}"
replace = "v{new_version}"

[[tool.bumpversion.files]]
filename = "i18n/it/code.json"
search = "v{current_version}"
replace = "v{new_version}"

[[tool.bumpversion.files]]
filename = "src/components/Homepage/Hero.tsx"
search = "v{current_version}"
replace = "v{new_version}"

[[tool.bumpversion.files]]
filename = "src/components/Homepage/Quickstart.tsx"
search = "zenzic {current_version}"
replace = "zenzic {new_version}"

[[tool.bumpversion.files]]
filename = "src/pages/index.tsx"
search = '"softwareVersion": "{current_version}"'
replace = '"softwareVersion": "{new_version}"'

[[tool.bumpversion.files]]
filename = "docs/how-to/configure-ci-cd.mdx"
search = 'version: "{current_version}"'
replace = 'version: "{new_version}"'

[[tool.bumpversion.files]]
filename = "i18n/it/docusaurus-plugin-content-docs/current/how-to/configure-ci-cd.mdx"
search = 'version: "{current_version}"'
replace = 'version: "{new_version}"'
55 changes: 55 additions & 0 deletions CHANGELOG.it.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,61 @@ Le versioni seguono la linea di rilascio di Zenzic Core sotto la Branch Parity R

---

## [Non Rilasciato]

#### Aggiunto

- **DX Release Recipes (Sprint DX):** Tutti e quattro i repository dell'ecosistema includono ora:
- `just version` — stampa la versione corrente tramite bump-my-version
- `just release-dry <part>` — dry-run verbose completo (mostra diff dei file)
- `just release-dry <part> --short` — preview compatto (solo 3 righe essenziali)
- `just release-contracts` — valida i contratti architetturali del justfile, incluso in `verify`
- **Branch Parity Rule — parity snapshot con Core v0.7.1:** Nessuna modifica al codice
in questo repository (ecosistema Node/Docusaurus). Questa voce traccia l'allineamento
con la release di allineamento infrastrutturale di Zenzic Core (fix della matrice
Boundary Testing, floor Mypy abbassato a 3.10).
- **DX guard `_check-hooks`:** Aggiunta recipe nascosta `_check-hooks` come prima dipendenza
di `just verify` in tutti e quattro i repository dell'ecosistema. Emette un avviso se
l'hook Final Guard pre-push (`pre-commit install -t pre-push`) non è installato
localmente, senza bloccare l'esecuzione della verifica.
- **`ecosystem.mdx` — Trasparenza Ecosistema (Sprint D101):** Pagina rinominata "L'Ecosistema
Zenzic". Aggiunte tre nuove sezioni: "L'Ecosistema in Sintesi" (tabella dei ruoli Core /
Structum / Zenzic-Doc), "zenzic-doc — Banco di Prova Vivente" (self-dogfooding, Graceful
Degradation, `verify-codes-parity`), "Lo Standard a 4 Cancelli" (IDE / Pre-commit /
Pre-push / CI Remota). EN + IT aggiornati atomicamente.
- **`Z907 I18N_PARITY` — voce enciclopedia finding-codes.mdx (Sprint D102):** Aggiunta
sezione `{#z907}` dedicata a `finding-codes.mdx` (EN + IT) che documenta il controllo
di Parità I18n: invariante di presenza del mirror e invariante di parità frontmatter.
Risolve l’errore MISSING di `verify-codes-parity` per Z907. Simmetria bilingue ripristinata.

#### Modificato

- **Refactoring `noxfile.py` — unificazione pipeline:** Rimossa la sessione nox
`preflight` (duplicava `just verify`; usava `uvx zenzic` senza pin di versione).
Rinominata la sessione `verify-docs` in `verify-codes-parity`.
- **`verify-codes-parity` — Graceful Degradation:** Lo Step 1 ora usa
`ZENZIC_PROJECT_PATH` per i Core Maintainer (sorgente locale via `uv run --project`)
e torna a `uv run --with zenzic` per i contributori esterni (release PyPI
pubblicata). Elimina il percorso sibling hardcoded e il meccanismo `importlib.util`.
- **Aggiornamento `justfile`:** Aggiunta la recipe `verify-codes`
(`uvx nox -s verify-codes-parity`). Aggiornato il target `verify`:
`lint-all typecheck build verify-codes` (la parity dei codici è ora Gate 4
della pipeline standard).
- **`_check-hooks` — DX Polish (Sprint D102):** Aggiornato il copy del warning: colore
ANSI giallo, riga esplicativa del “perché conta” e `uvx pre-commit install -t pre-push`
(zero installazioni globali richieste). Applicato in tutti e quattro i repository.
- **Doppia Esecuzione eliminata — pipeline `just verify` (Sprint D102):** Rimosso
`typecheck` ridondante dalla catena `verify` (gira già in `lint-all`/pre-commit).
Rimossa la dipendenza `check` dalla recipe `build` (Zenzic Sentinel gira già in
`lint-all`/pre-commit). Catena `verify`: `_check-hooks lint-all build verify-codes`.
- **`finding-codes.mdx` — sezione Legacy rimossa (Sprint D102):** Sezione `## Codici
Legacy [Deprecati]` (codici pre-v0.6.0 Z001/Z002/Z009) rimossa. Z000 promosso a
codice canonico in `codes.py`. `## Integrazione con CI/CD` promossa da H3 a H2.
- **`docs/reference/checks.mdx` — modernizzazione codici canonici (Sprint D102):**
Riferimenti legacy aggiornati: `Z001`→`Z101`, `Z002`→`Z103`, `Z009`→`Z902`.

---

## [0.7.0] — 2026-05-07 — Quartz Maturity (Stable)

> **Fonte autorevole:** [zenzic.dev](https://zenzic.dev). Questo file è la
Expand Down
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,58 @@ Versions track the Zenzic Core release line under the Branch Parity Rule.

---

## [Unreleased]

#### Added

- **DX Release Recipes (Sprint DX):** All four ecosystem repositories now include:
- `just version` — prints current version from bump-my-version
- `just release-dry <part>` — full verbose dry-run (shows file diffs)
- `just release-dry <part> --short` — compact preview (3 essential lines only)
- `just release-contracts` — validates justfile architectural contracts, wired into `verify`
- **Branch Parity Rule — snapshot parity with Core v0.7.1:** No code changes in this
repository (Node/Docusaurus ecosystem). This entry tracks alignment with the Zenzic
Core infrastructure alignment release (Boundary Testing matrix fix, Mypy floor
lowered to 3.10).
- **`_check-hooks` DX guard:** Added hidden `_check-hooks` recipe as first dependency of
`just verify` across all four ecosystem repositories. Emits a warning if the pre-push
Final Guard hook (`pre-commit install -t pre-push`) is not installed locally, without
blocking the verification run.
- **`ecosystem.mdx` — Ecosystem Transparency (Sprint D101):** Page retitled “The Zenzic
Ecosystem”. Added three new sections: “The Ecosystem at a Glance” (Core / Structum /
Zenzic-Doc role table), “zenzic-doc — Living Test Bench” (self-dogfooding, Graceful
Degradation, `verify-codes-parity`), and “The 4-Gates Standard” (IDE / Pre-commit /
Pre-push / Remote CI). EN + IT updated atomically.- **`Z907 I18N_PARITY` — finding-codes.mdx encyclopedia entry (Sprint D102):** Added
dedicated `{#z907}` section to `finding-codes.mdx` (EN + IT) documenting the I18n
Parity check: mirror-presence and frontmatter-parity invariants. Resolves
`verify-codes-parity` MISSING error for Z907. Bilingual symmetry restored.
#### Changed

- **`noxfile.py` refactoring — pipeline unification:** Removed `preflight` nox session
(duplicated `just verify`; used bare `uvx zenzic` without version pin). Renamed
`verify-docs` session to `verify-codes-parity`.
- **`verify-codes-parity` — Graceful Degradation:** Step 1 now uses
`ZENZIC_PROJECT_PATH` for Core Maintainers (local source via `uv run --project`)
and falls back to `uv run --with zenzic` for External Contributors (published PyPI
release). Eliminates hardcoded sibling path and `importlib.util` hack.
- **`justfile` update:** Added `verify-codes` recipe (`uvx nox -s verify-codes-parity`).
Updated `verify` target: `lint-all typecheck build verify-codes` (codes parity is
now Gate 4 of the standard pipeline).
- **`_check-hooks` — DX Polish (Sprint D102):** Updated warning copy: ANSI yellow colour,
explanatory “why it matters” line, and `uvx pre-commit install -t pre-push` (zero global
install required). Applied across all four ecosystem repositories.
- **Double Execution eliminated — `just verify` pipeline (Sprint D102):** Removed redundant
`typecheck` from `verify` chain (already runs inside `lint-all`/pre-commit). Removed
`check` dependency from `build` recipe (Zenzic Sentinel already runs inside
`lint-all`/pre-commit). `verify` chain: `_check-hooks lint-all build verify-codes`.
- **`finding-codes.mdx` — Legacy section purged (Sprint D102):** `## Legacy Codes
[Deprecated]` section (Z001/Z002/Z009 pre-v0.6.0 codes) removed. Z000 promoted to
canonical code in `codes.py`. `## Integration with CI/CD` promoted from H3 to H2.
- **`docs/reference/checks.mdx` — canonical code modernization (Sprint D102):**
Legacy references updated: `Z001`→`Z101`, `Z002`→`Z103`, `Z009`→`Z902`.

---

## [0.7.0] — 2026-05-07 — Quartz Maturity (Stable)

> **Authoritative source:** [zenzic.dev](https://zenzic.dev). This file is the
Expand Down
5 changes: 2 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,11 +217,10 @@ For full architecture and lifecycle policy, see
Run the full local gate:

```bash
just verify # markdownlint + lint:ts + typecheck + build
just preflight # all pre-commit hooks (mirrors the CI gate exactly)
just verify # all pre-commit hooks + typecheck + build + codes parity (full local gate)
```

Both must pass with zero errors before you open or update a PR.
This must pass with zero errors before you open or update a PR.

### Pre-commit hooks

Expand Down
12 changes: 6 additions & 6 deletions README.it.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@

# Guida per Sviluppatori zenzic-doc

[![Zenzic Core](https://img.shields.io/badge/Zenzic_Core-v0.7.0-4f46e5)](https://github.com/PythonWoods/zenzic)
[![Zenzic Core](https://img.shields.io/badge/Zenzic_Core-v0.7.1-4f46e5)](https://github.com/PythonWoods/zenzic)
[![Docs CI](https://github.com/PythonWoods/zenzic-doc/actions/workflows/ci.yml/badge.svg)](https://github.com/PythonWoods/zenzic-doc/actions/workflows/ci.yml)
[![License](https://img.shields.io/badge/license-Apache--2.0-0d9488?style=flat-square)](LICENSE)
[![REUSE status](https://api.reuse.software/badge/github.com/PythonWoods/zenzic-doc)](https://api.reuse.software/info/github.com/PythonWoods/zenzic-doc)
[![Documentation: Diátaxis](https://img.shields.io/badge/Docs-Di%C3%A1taxis-brightgreen?style=flat-square)](https://diataxis.fr/)
[![4-Gates: Sentinel Seal](https://img.shields.io/badge/4--Gates-Sentinel%20Seal-10b981?style=flat-square)](https://zenzic.dev/it/developers/explanation/adr-vault)
[![REUSE 3.x compliant](https://img.shields.io/badge/REUSE-3.x%20compliant-0d9488?style=flat-square)](https://reuse.software/)

> **Questa documentazione è strettamente allineata a Zenzic v0.7.0 "Quarzo".**
> **Questa documentazione è strettamente allineata a Zenzic v0.7.1 "Quarzo".**
> Se la versione del core cambia, esegui `just bump NEW_VERSION` per mantenere
> sincronizzati tutti i riferimenti.

Expand Down Expand Up @@ -151,8 +151,8 @@ Cosa fa `just verify`:
| `just typecheck` | Prima di aprire/aggiornare la PR | Esegue i controlli TypeScript |
| `just build` | Validazione build | Esegue la build di produzione |
| `just preview` | Valida l'output costruito | Serve il sito già buildato |
| `just verify` | Controllo locale finale raccomandato | Esegue `markdownlint` + `lint` + `typecheck` + `build` |
| `just preflight` | Prima di ogni commit | Esegue tutti gli hook pre-commit su ogni file tracciato |
| `just verify` | Controllo locale finale raccomandato (gate completo) | Esegue tutti gli hook pre-commit + `typecheck` + `build` + parity dei codici |
| `just lint-all` | Prima di ogni commit | Esegue tutti gli hook pre-commit su ogni file tracciato |
| `just reuse` | Dopo aver aggiunto/rinominato file | Verifica la conformità della licenza REUSE/SPDX |
| `just sentinel` | Spot-check rapido qualità | Esegue solo la Zenzic Sentinel (più veloce di un preflight completo) |
| `just clean` | Pulizia prima di un'esecuzione fresca | Rimuove `build/` e `.docusaurus/` |
Expand Down Expand Up @@ -194,7 +194,7 @@ Se un hook fallisce, correggi il problema segnalato e ritenta il commit.
Per eseguire tutti gli hook manualmente senza committare:

```bash
just preflight
just lint-all
```

## 7) Workflow CI/CD
Expand Down Expand Up @@ -341,7 +341,7 @@ i18n: {
},
```

**Scoperto in:** v0.7.0 release audit (D090 "Il Lockdown i18n").
**Scoperto in:** v0.7.1 release audit (D090 "Il Lockdown i18n").

## 11) Checklist Pull Request

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@

# zenzic-doc Developer Guide

[![Zenzic Core](https://img.shields.io/badge/Zenzic_Core-v0.7.0-4f46e5)](https://github.com/PythonWoods/zenzic)
[![Zenzic Core](https://img.shields.io/badge/Zenzic_Core-v0.7.1-4f46e5)](https://github.com/PythonWoods/zenzic)
[![Docs CI](https://github.com/PythonWoods/zenzic-doc/actions/workflows/ci.yml/badge.svg)](https://github.com/PythonWoods/zenzic-doc/actions/workflows/ci.yml)
[![License](https://img.shields.io/badge/license-Apache--2.0-0d9488?style=flat-square)](LICENSE)
[![REUSE status](https://api.reuse.software/badge/github.com/PythonWoods/zenzic-doc)](https://api.reuse.software/info/github.com/PythonWoods/zenzic-doc)
[![Documentation: Diátaxis](https://img.shields.io/badge/Docs-Di%C3%A1taxis-brightgreen?style=flat-square)](https://diataxis.fr/)
[![4-Gates: Sentinel Seal](https://img.shields.io/badge/4--Gates-Sentinel%20Seal-10b981?style=flat-square)](https://zenzic.dev/developers/explanation/adr-vault)
[![REUSE 3.x compliant](https://img.shields.io/badge/REUSE-3.x%20compliant-0d9488?style=flat-square)](https://reuse.software/)

> **This documentation is strictly aligned to Zenzic v0.7.0 "Quartz Maturity".**
> **This documentation is strictly aligned to Zenzic v0.7.1 "Quartz Maturity".**
> If the core version changes, run `just bump NEW_VERSION` to keep all references in sync.

This repository contains the Docusaurus documentation website for Zenzic.
Expand Down Expand Up @@ -144,8 +144,8 @@ What `just verify` does:
| `just typecheck` | Before opening/updating PR | Runs TypeScript checks |
| `just build` | Build validation | Runs production build |
| `just preview` | Validate built output | Serves already-built site |
| `just verify` | Recommended final local check | Runs `markdownlint` + `lint` + `typecheck` + `build` |
| `just preflight` | Before every commit | Runs all pre-commit hooks against every tracked file |
| `just verify` | Recommended final local check (full gate) | Runs all pre-commit hooks + `typecheck` + `build` + codes parity |
| `just lint-all` | Before every commit | Runs all pre-commit hooks against every tracked file |
| `just reuse` | After adding/renaming files | Checks REUSE/SPDX licence compliance |
| `just sentinel` | Quick quality spot-check | Runs the Zenzic Sentinel alone (faster than full preflight) |
| `just clean` | Cleanup before fresh run | Removes `build/` and `.docusaurus/` |
Expand Down Expand Up @@ -187,7 +187,7 @@ If a hook fails, fix the reported issue and retry the commit.
To run all hooks manually without committing:

```bash
just preflight
just lint-all
```

## 7) CI/CD workflows
Expand Down Expand Up @@ -333,7 +333,7 @@ i18n: {
},
```

**Discovered in:** v0.7.0 release audit (D090 "The i18n Lockdown").
**Discovered in:** v0.7.1 release audit (D090 "The i18n Lockdown").

## 11) Pull Request Checklist

Expand Down
6 changes: 3 additions & 3 deletions RELEASE.it.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<!-- SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev> -->
<!-- SPDX-License-Identifier: Apache-2.0 -->
# 💎 Zenzic v0.7.0 — L'Era del Quarzo (Quartz Maturity)
# 💎 Zenzic v0.7.1 — L'Era del Quarzo (Quartz Maturity)

Questa release segna la nascita del Sistema di Conoscenza Sovrano. Dopo l'Epurazione del Quarzo, Zenzic abbandona definitivamente ogni residuo sperimentale per diventare un'infrastruttura deterministica di grado industriale.

## 🏛️ I Pilastri della v0.7.0
## 🏛️ I Pilastri della v0.7.1

- **Integrità Deterministica**: Assenza integrale di ogni dipendenza o logica probabilistica. Zenzic opera ora esclusivamente su fatti strutturali e invarianti certe.
- **Sentinel Seal**: Un sistema di validazione a 4 stadi (4-Gates Standard) che garantisce la qualità assoluta prima di ogni push.
Expand All @@ -13,7 +13,7 @@ Questa release segna la nascita del Sistema di Conoscenza Sovrano. Dopo l'Epuraz

## ⚠️ Nota di Evoluzione (Breaking Changes)

La v0.7.0 è l'Anno Zero. Le versioni precedenti sono ufficialmente deprecate poiché non seguono l'attuale architettura Diátaxis. Ogni riferimento ai vecchi brand o alle architetture legacy è stato rimosso per far posto a un ecosistema snello e focalizzato sulla purezza della sorgente.
La v0.7.1 è l'Anno Zero. Le versioni precedenti sono ufficialmente deprecate poiché non seguono l'attuale architettura Diátaxis. Ogni riferimento ai vecchi brand o alle architetture legacy è stato rimosso per far posto a un ecosistema snello e focalizzato sulla purezza della sorgente.

## 🚀 Verso il Futuro

Expand Down
Loading
Loading