Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 12 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
env:
UV_SYSTEM_PYTHON: 0
PYTHONUNBUFFERED: 1
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

steps:
- name: Checkout Repository
Expand Down Expand Up @@ -88,6 +89,17 @@ jobs:
- name: Build Documentation
run: uv run mkdocs build --strict

- name: Pre-install Wrangler
# INFRA NOTE: wrangler-action@v3 calls `npx wrangler` without --yes.
# npm 10+ on Node.js 24 runners blocks interactive package prompts,
# causing the deploy to abort with:
# "npx canceled due to missing packages and no YES option: [wrangler@4.81.0]"
# Pre-installing wrangler globally ensures it is already in PATH so
# npx resolves it without attempting an interactive download.
# Remove this step only after wrangler-action ships a version that passes
# --yes to npx natively (track: github.com/cloudflare/wrangler-action).
run: npm install -g wrangler@latest

- name: Deploy to Cloudflare Pages
# Production docs deploy only from main (or manual dispatch on main)
if: |
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.it.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,18 @@ Le versioni seguono il [Semantic Versioning](https://semver.org/).
**Fix:** La validazione PATH_TRAVERSAL applicata ai link reference come ai link
inline.

### Interno

- **Pipeline CI/CD corretta per Node.js 24.**
`cloudflare/wrangler-action@v3` invoca `npx wrangler` senza il flag `--yes`;
npm 10+ sui runner GitHub con Node.js 24 blocca i prompt non interattivi,
causando il fallimento del deploy su Cloudflare Pages. Fix: pre-installazione
globale di `wrangler@latest` prima dell'esecuzione dell'action, così npx trova
il binario nel PATH senza scaricarlo. `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true`
silenzia il warning di deprecazione di Node.js 20 prima della migrazione forzata
di giugno 2026. Tracciato in `arch_gaps.md`.
Branch: `fix/v050a4-infra-alignment`.

## [0.5.0a3] — 2026-03-28 — Il Sentinel: Plugin, Regole Adattive, Hooks Pre-commit

> Branch: `feat/sentinel-v0.5.0a3`
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,17 @@ Versions follow [Semantic Versioning](https://semver.org/).
verification accepted per Architecture Lead authorisation (Z-TEST-003).
**28 tests in `test_redteam_remediation.py`, all green.**

### Internal

- **CI/CD deployment pipeline fixed for Node.js 24.**
`cloudflare/wrangler-action@v3` calls `npx wrangler` without `--yes`; npm 10+
on Node.js 24 GitHub Actions runners blocks non-interactive prompts, causing the
Cloudflare Pages deploy to fail. Fix: pre-install `wrangler@latest` globally
before the action runs so npx finds the binary in PATH without downloading.
`FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true` silences the Node.js 20 deprecation
warning ahead of the June 2026 forced migration. Tracked in `arch_gaps.md`.
Branch: `fix/v050a4-infra-alignment`.

## [0.5.0a4] — 2026-04-03 — The Sentinel: Aesthetic Sprint, Parallel Anchors & Agnostic Target

> **Sprint 13 + 14 + 15.** Three tracks delivered in one tag.
Expand Down
15 changes: 15 additions & 0 deletions docs/internal/arch_gaps.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,18 @@
**Description:** `zenzic init` crashed with a configuration error when invoked in an empty directory (no existing `zenzic.toml`). The bootstrap command incorrectly assumed a valid project context was already present before it could be created.
**Resolution:** Implemented a two-phase initialization sequence: (1) write `zenzic.toml` via a template isolated from the context resolver, (2) start the validation cycle only if the configuration file already exists. The resolver now tolerates an empty directory and delegates bootstrapping to the `init` command. Verified via Genesis Test: `zenzic init` in a completely empty directory correctly generates `zenzic.toml` with the commented Shield block visible.
**Closed in:** v0.5.0a4 (`fix/sentinel-hardening`) — commit `38be6f1`

### CI-001 — Node.js 24 / npx Non-Interactive Prompt (Cloudflare Pages)

**Identified in:** v0.5.0a4 (`fix/v050a4-infra-alignment`)
**Component:** `.github/workflows/deploy-docs.yml`
**Description:** `cloudflare/wrangler-action@v3` (latest stable) calls `npx wrangler`
without the `--yes` flag. npm 10+ on Node.js 24 GitHub Actions runners blocks
non-interactive package installation, aborting the deploy with:
`"npx canceled due to missing packages and no YES option: [wrangler@4.81.0]"`.
**Resolution:** Pre-install `wrangler@latest` globally via `npm install -g` before the
action step. npx finds the binary already in PATH and skips the interactive download
entirely. `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true` added to suppress the Node.js 20
deprecation warning. Remove the pre-install step only when `wrangler-action` ships a
release that passes `--yes` to npx natively.
**Closed in:** v0.5.0a4 (`fix/v050a4-infra-alignment`)
15 changes: 15 additions & 0 deletions docs/it/internal/arch_gaps.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,18 @@
**Descrizione:** `zenzic init` crashava con un errore di configurazione quando veniva invocato in una directory vuota (senza `zenzic.toml` esistente). Il comando di bootstrap assumeva erroneamente che un contesto di progetto valido fosse già presente prima ancora di crearlo.
**Risoluzione:** Implementata una sequenza di inizializzazione a due fasi: (1) scrittura del file `zenzic.toml` tramite template isolato dal resolver di contesto, (2) avvio del ciclo di validazione solo se il file di configurazione esiste già. Il resolver ora tollera la directory vuota e delegamente l'amorcage al comando `init`. Verificato con il Genesis Test: `zenzic init` in directory completamente vuota genera correttamente `zenzic.toml` con il blocco Shield commentato.
**Chiuso in:** v0.5.0a4 (`fix/sentinel-hardening`) — commit `38be6f1`

### CI-001 — Node.js 24 / npx Prompt Non Interattivo (Cloudflare Pages)

**Identificato in:** v0.5.0a4 (`fix/v050a4-infra-alignment`)
**Componente:** `.github/workflows/deploy-docs.yml`
**Descrizione:** `cloudflare/wrangler-action@v3` (ultima versione stabile) invoca
`npx wrangler` senza il flag `--yes`. npm 10+ sui runner GitHub con Node.js 24
blocca l'installazione non interattiva dei pacchetti, interrompendo il deploy con:
`"npx canceled due to missing packages and no YES option: [wrangler@4.81.0]"`.
**Risoluzione:** Pre-installazione globale di `wrangler@latest` tramite `npm install -g`
prima dello step dell'action. npx trova il binario già nel PATH e salta il download
interattivo. `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true` aggiunto per sopprimere il
warning di deprecazione di Node.js 20. Rimuovere lo step di pre-installazione solo
quando `wrangler-action` rilascia una versione che passa `--yes` a npx nativamente.
**Chiuso in:** v0.5.0a4 (`fix/v050a4-infra-alignment`)