Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
ff30fe4
feat!: bump to v0.7.0 "Quartz Maturity"
PythonWoods-Dev Apr 22, 2026
7d39eb9
feat(config): blog plugin + i18n path fix + v0.7.0 navbar badge (D090…
PythonWoods-Dev Apr 22, 2026
78db0e0
feat(blog): The Zenzic Journal — 4 engineering posts + authors (D092-…
PythonWoods-Dev Apr 22, 2026
67ec2e6
feat(docs): Z404 universal — finding-codes, ecosystem, safe-harbor, g…
PythonWoods-Dev Apr 22, 2026
e9855b4
docs(faq+readme): document i18n Silent Fallback Trap (D091)
PythonWoods-Dev Apr 22, 2026
678e9ae
docs(tutorials): first-audit + examples updated for v0.7.0 EN+IT
PythonWoods-Dev Apr 22, 2026
778cafd
feat(homepage): v0.7.0 Quartz Maturity landing page
PythonWoods-Dev Apr 22, 2026
f806b5c
ci: GitHub release workflow + bump-version script + justfile (D088)
PythonWoods-Dev Apr 22, 2026
1df0db0
chore(i18n): regenerate code.json translation stubs for v0.7.0
PythonWoods-Dev Apr 22, 2026
5e54ede
chore: update dependabot config for v0.7.0 ecosystem
PythonWoods-Dev Apr 22, 2026
3f7ff50
feat(brand): Zenzic Brand System HTML — Sentinel Palette, logomark, s…
PythonWoods-Dev Apr 22, 2026
16aa213
feat(brand): bump-version aware — brand-system HTML + typography fix …
PythonWoods-Dev Apr 22, 2026
db9aada
feat(brand): D097 Sentinel Lead Alignment — unified #09090b across al…
PythonWoods-Dev Apr 22, 2026
d1b1a5b
feat(brand): PNG/SVG parity audit — social cards regenerated (D097 fo…
PythonWoods-Dev Apr 22, 2026
b1c4519
feat(brand): bump-version — comprehensive PNG pipeline, no subprocess
PythonWoods-Dev Apr 22, 2026
ecd41b8
docs(dev): log BRAND-001, BRAND-002, INFRA-001 as resolved (D096/D097)
PythonWoods-Dev Apr 22, 2026
766b916
feat(blog): Zenzic Journal — D098/D099/D100 complete
PythonWoods-Dev Apr 22, 2026
6549392
fix(blog): D102 Zero Tolerance Pass — admonitions, title, border
PythonWoods-Dev Apr 22, 2026
4940ba5
style(blog): D103 Monolith Enforcement — prose width + Indigo radial …
PythonWoods-Dev Apr 22, 2026
6f74901
fix(homepage): D104 Unified Action Pattern — swap Quickstart buttons
PythonWoods-Dev Apr 22, 2026
1e3c875
style(blog): D105+D106 Visual Monolith & Active Sidebar
PythonWoods-Dev Apr 22, 2026
9c5bb09
style(blog): D107 Sentinel Archive Reconstruction
PythonWoods-Dev Apr 22, 2026
14b6975
fix(blog): D108 The Final Sieve
PythonWoods-Dev Apr 22, 2026
da98e7d
feat(palette): D110 Adaptive Palette — Sentinel Invariants
PythonWoods-Dev Apr 22, 2026
d70b8ab
fix(css): D111 Transparent Monolith
PythonWoods-Dev Apr 22, 2026
07190a7
feat(typography): D112/D113/D114 Zinc Standard + Author's Signature
PythonWoods-Dev Apr 22, 2026
b150e78
fix(typography): D112 blog title Zinc — link color was overriding hea…
PythonWoods-Dev Apr 22, 2026
60da4e8
refine(typography): D115 palette calibration
PythonWoods-Dev Apr 22, 2026
23e4303
refine(ux): D116 Right-Aligned Navigation Vector
PythonWoods-Dev Apr 22, 2026
5c7c396
docs(reference): D117 pathname: protocol + CLI flags + Z404 agnostic …
PythonWoods-Dev Apr 22, 2026
3c4dc69
docs(blog): consolidate and update blog posts for v0.7.0
PythonWoods-Dev Apr 22, 2026
5eeeb4e
feat(ux): D109-D119 visual polish sprint — typography, navigation, CSS
PythonWoods-Dev Apr 22, 2026
67ad66d
chore(governance): D122-D127 governance pack + brand sync + identity …
PythonWoods-Dev Apr 22, 2026
f112f0b
docs(blog/it): remove stale IT blog translations for Jan/Mar 2026 posts
PythonWoods-Dev Apr 22, 2026
54f9174
docs(reference): D061-B+D067+D068 inspect rebranding — cli + config-r…
PythonWoods-Dev Apr 24, 2026
5ed0554
docs(devs): D064+D067+D068 plugin SDK + inspect rebranding EN/IT
PythonWoods-Dev Apr 24, 2026
6dc9a2b
docs(explanation): D062-D068 architecture + ecosystem narrative EN/IT
PythonWoods-Dev Apr 24, 2026
d692c2f
docs(reference+it): finding-codes refresh EN/IT; IT contribute templa…
PythonWoods-Dev Apr 24, 2026
523d770
docs(landing): D069+D072 — The Engineering Standard hero + Diataxis e…
PythonWoods-Dev Apr 24, 2026
c8ae8ca
docs(brand): D070+D072 — Brand System Dashboard Identity enrichment
PythonWoods-Dev Apr 24, 2026
cc97150
feat(brand): D073/D075 SentinelWebPalette — CSS var bridge + comparis…
PythonWoods-Dev Apr 24, 2026
f2a4abf
refactor(static): D076/D077/D078 Asset Integrity — consolidate static…
PythonWoods-Dev Apr 24, 2026
f940608
feat(docs): D079 — Mermaid SentinelPalette + Social Metadata How-to (…
PythonWoods-Dev Apr 24, 2026
b0e6250
feat(docs): D083+D084 — CI alignment + Sentinel-Grade architecture SVGs
PythonWoods-Dev Apr 24, 2026
9ec707b
docs(arch): D089 — Relative Asset Law: useBaseUrl for SVG img tags
PythonWoods-Dev Apr 24, 2026
fc440e2
docs(arch): D090 — Universal Clarity Law: light-theme SVG variants
PythonWoods-Dev Apr 24, 2026
fd22c61
docs(landing): D095 — Enterprise Ready section with SARIF and GitHub …
PythonWoods-Dev Apr 24, 2026
d0f0174
fix(brand): adjust VSM projection SVG right panel height and connecto…
PythonWoods-Dev Apr 24, 2026
3d0db49
ci+blog: D106+D107+D108 — lean docs CI, Node 24, article precision pass
PythonWoods-Dev Apr 24, 2026
159e2d4
fix(a11y): D110 — WCAG AA contrast pass + navbar logo CLS fix
PythonWoods-Dev Apr 24, 2026
9bc1d22
docs(brand): D111 — Synchronized Hardening of Brand System v0.7.0
PythonWoods-Dev Apr 24, 2026
36b0115
fix(brand): D112 SVG accessibility — contrast + explicit dimensions
PythonWoods-Dev Apr 24, 2026
99f8a24
fix(brand): add anchor links + width to badge previews in brand-syste…
PythonWoods-Dev Apr 24, 2026
8bc05db
docs: D-series documentation audit — codebase parity + accuracy corre…
PythonWoods-Dev Apr 24, 2026
55117e5
fix(docs): sync IT configure-ci-cd.mdx with EN + fix setup-uv version
PythonWoods-Dev Apr 24, 2026
eefd2f8
docs(blog): update v0.7.0 post — parity sprint, 1195 tests, Z000 guar…
PythonWoods-Dev Apr 24, 2026
bc46389
docs(blog): fix engine count — 3 engines + Standalone, not 4 engines
PythonWoods-Dev Apr 24, 2026
5b36d89
docs(blog): D061 — The Maturity Narrative — v0.7.0 launch article rev…
PythonWoods-Dev Apr 25, 2026
538904e
docs(blog): D061 — Maturity Narrative sprint log entry
PythonWoods-Dev Apr 25, 2026
ecef39d
docs(governance): D067+D068+D071 — Curation Law + Executive Brevity i…
PythonWoods-Dev Apr 25, 2026
6e94708
docs(governance): D073 — The Law of Evolutionary Curation
PythonWoods-Dev Apr 25, 2026
ea5040f
docs: D075 + accuracy pass — R19 Testimony + documentation parity
PythonWoods-Dev Apr 25, 2026
d25c3c7
chore(tooling): D083 — noxfile.py (typecheck + build + reuse)
PythonWoods-Dev Apr 26, 2026
0c1a051
chore(reuse): D083/D084 — add __pycache__ glob to REUSE.toml
PythonWoods-Dev Apr 26, 2026
8634ebb
docs(engines): D084 — Quartz Neutrality (Standalone, Zensical Proxy, …
PythonWoods-Dev Apr 26, 2026
0fbcd62
docs(tutorial): D081 — Fall-before-Redemption + Protocol Sovereignty …
PythonWoods-Dev Apr 26, 2026
04d2855
chore(git): add __pycache__/ to .gitignore (generated by nox at repo …
PythonWoods-Dev Apr 26, 2026
c0eac49
feat(docs): CEO 127-142 — SentinelOutput Visual System + Chromatic So…
PythonWoods-Dev Apr 27, 2026
d1e6c51
feat(docs): CEO 145 — Full-Spectrum title= audit (yaml/toml/ts/python…
PythonWoods-Dev Apr 27, 2026
7565636
feat(docs): CEO 147-148 — Sovereign Naming Law - docs.yml → zenzic.y…
PythonWoods-Dev Apr 27, 2026
e5530f0
fix(docs): CEO 149-151 — colorMode sovereignty, Z105 remediation, Sen…
PythonWoods-Dev Apr 27, 2026
2c5802e
feat(docs): CEO 153-154 — Sentinel Gate Manifesto + Release Bridge + …
PythonWoods-Dev Apr 27, 2026
a3bec72
docs(ledger): CEO 149-154 — Zenzic Ledger updated, D127-142 curated t…
PythonWoods-Dev Apr 27, 2026
9c8d363
refactor(theme): CEO 152 — Sovereign Silence: eradicate LocaleDropdow…
PythonWoods-Dev Apr 27, 2026
a238d42
docs(ledger): CEO 152 Sovereign Silence — swizzle eradication recorde…
PythonWoods-Dev Apr 27, 2026
ca431e8
docs(ledger): CEO 156/157 — Pixel-Perfect Parity Audit outcomes recorded
PythonWoods-Dev Apr 27, 2026
297dc2c
fix(css): CEO 157 — Blog Sovereignty selector a[lang] not a[hreflang]
PythonWoods-Dev Apr 27, 2026
1c7923f
fix(config): CEO 157 — Journal navbar link href not to (locale-sovere…
PythonWoods-Dev Apr 27, 2026
3912c38
fix(config): CEO 051 — Unified Perimeter (theme + Journal locale sove…
PythonWoods-Dev Apr 27, 2026
24e864e
docs(ledger): CEO 051 — Unified Perimeter ADR-006 + sprint update
PythonWoods-Dev Apr 27, 2026
bc3ba8e
docs(adr): CEO 052/054/055 — ADR Vault + Genesis Documentation (EN + IT)
PythonWoods-Dev Apr 27, 2026
aa15c71
chore(justfile): CEO 053 — Sentinel Enterprise workflow hardening
PythonWoods-Dev Apr 27, 2026
27e3d9e
style(blog): CEO 056/058/060 — Chronicles Standardization & Tutorial …
PythonWoods-Dev Apr 27, 2026
3e4328a
i18n(it): version label 'Next' → '0.7.0' in current.json
PythonWoods-Dev Apr 27, 2026
0fd6717
feat(blog): CEO 061 — The Symphony of Certainty
PythonWoods-Dev Apr 27, 2026
33b3ae8
fix(blog): CEO 062 structure and chronology alignment
PythonWoods-Dev Apr 27, 2026
cd812b4
feat(blog): CEO 064 tutorial masterclass for v0.7.0 Stable
PythonWoods-Dev Apr 27, 2026
1772f84
chore(docs): restore lint tooling for just verify
PythonWoods-Dev Apr 27, 2026
09f0603
feat(blog): CEO 065 + 066 — Total Wipe tutorial + Ghost Purge perimeter
PythonWoods-Dev Apr 27, 2026
59c3806
feat(blog): CEO 067 — The Final Seal: CEO Manuscript verbatim
PythonWoods-Dev Apr 27, 2026
560653a
feat(blog): CEO 068-071 — Forensic Masterclass + Saga V table fix + B…
PythonWoods-Dev Apr 27, 2026
393d8f5
chore(ledger): CEO 068-071 — update Zenzic Ledger [ACTIVE SPRINT]
PythonWoods-Dev Apr 27, 2026
894e225
feat(blog/docs): CEO 072-082 — Governance of Glass + Sentinel Seal
PythonWoods-Dev Apr 27, 2026
71a0241
chore(rebrand): CEO-090/091/092 — global Quartz Purge (Obsidian → Qua…
PythonWoods-Dev Apr 29, 2026
a3b7591
fix(blog): redact Stripe demo key — GitHub Push Protection (CEO-099)
PythonWoods-Dev Apr 29, 2026
a66144c
feat(ledger): CEO-102/103-B — Mineral Path + Sovereign Memory Move (Z…
PythonWoods-Dev Apr 29, 2026
b71f772
docs(brain): D096 — Trinity Mesh policy, Zone A/B markers, Contempora…
PythonWoods-Dev Apr 30, 2026
e9dc04f
docs: D096 — Contemporary Testimony, Quartz rebranding, bilingual parity
PythonWoods-Dev Apr 30, 2026
a66f23e
chore: D096 — Docusaurus config, components, CI, markdownlint, map up…
PythonWoods-Dev Apr 30, 2026
95e3b95
docs: v0.7.0 release notes — CONTRIBUTING, RELEASE, SECURITY update
PythonWoods-Dev Apr 30, 2026
d9b181f
docs(dev): CEO-259..266+274 — D001/D002 reference + dev perimeters gu…
PythonWoods-Dev May 1, 2026
c92b3c1
fix(docs): add language specifier to fenced code blocks in configure-…
PythonWoods-Dev May 1, 2026
4b13ef7
docs(cli,engineering-ledger): CEO-252/269..283 — markdownlint fixes (…
PythonWoods-Dev May 1, 2026
d138a80
CEO-298: ADR-020 Parallel Audit Completeness vs. Fail-Fast (EN+IT)
PythonWoods-Dev May 2, 2026
859bf01
chore(epoch4): REUSE hardening — inline SPDX + skeleton REUSE.toml
PythonWoods-Dev May 3, 2026
5e2b5e6
fix: markdownlint MD012 trailing blank in configure-ci-cd.mdx (EN+IT)
PythonWoods-Dev May 3, 2026
3c767ab
feat(docs)!: EPOCH 6 — cross-instance trust sovereignty + Diátaxis ro…
PythonWoods-Dev May 3, 2026
7af82ed
docs(quartz-polish): blog authority, brand purity, dev-doc purge
PythonWoods-Dev May 3, 2026
d51925c
docs(blog): add SPDX headers to Log: v0.7.0 article
PythonWoods-Dev May 3, 2026
6a42c3e
chore(zero-brain-2.0): scrub Saga V + audit residues
PythonWoods-Dev May 3, 2026
ca5cb81
chore(sma-3-stage): sanificazione — remove transit folder
PythonWoods-Dev May 3, 2026
886440e
feat(zero-brain-2.0): physical deletion of map_docs cartographer
PythonWoods-Dev May 3, 2026
d952762
chore(hygiene): trailing-whitespace cleanup on css + terminal svgs
PythonWoods-Dev May 3, 2026
bfe8439
docs: the great distillation (v0.7.0) - bicultural manifest & parity
PythonWoods-Dev May 4, 2026
618ed32
chore(deps): bump reuse-tool pre-commit hook v5.0.2 -> v6.2.0
PythonWoods-Dev May 4, 2026
ffa5ea3
docs(i18n): glossary normalization — restore canonical EN technical t…
PythonWoods-Dev May 4, 2026
04a045e
docs(epoch-7a): document Multi-Root Discovery foundation (dual-track)
PythonWoods-Dev May 4, 2026
4412851
chore(epoch-7b): retire `absolute_path_allowlist` from zenzic-doc
PythonWoods-Dev May 4, 2026
dabcdbd
docs: rectify EPOCH label — Zero-Config Sovereignty is 7a.1, not 7b
PythonWoods-Dev May 4, 2026
be64b36
fix(ci): unblock external URL validation — Release Bridge (CEO 154)
PythonWoods-Dev May 5, 2026
3160336
chore(config): purge Release Bridge from zenzic.toml; enforce runtime…
PythonWoods-Dev May 5, 2026
fea69e6
docs(epoch-7b): Z111-Z114 reference docs, inspect routes, discovery s…
PythonWoods-Dev May 5, 2026
b36f0fa
dx(justfile): variadic check(*args) — just check --no-external now works
PythonWoods-Dev May 5, 2026
79bc179
docs(contributing): add pre-push hook install instruction
PythonWoods-Dev May 5, 2026
bceb798
docs(cli): document --exclude-url flag for check all and check links …
PythonWoods-Dev May 5, 2026
8a949d8
editorial(sprint-a): align blog dates and content with v0.7.0 final a…
PythonWoods-Dev May 5, 2026
0ef55e3
editorial(map): compliance evidence statement in README (EN + IT)
PythonWoods-Dev May 5, 2026
b14773d
editorial(sprint-c): show don't tell — docs/how-to + docs/explanation…
PythonWoods-Dev May 5, 2026
3ffdaf2
editorial(sprint-c): show don't tell — tutorials (blog auto-discovery…
PythonWoods-Dev May 5, 2026
a86b9e8
fix(z505): add 'text' language tag to finding-output code blocks in t…
PythonWoods-Dev May 5, 2026
376e840
feat(sentinel): phase 1 — status/code/exitCode/traceability props, de…
PythonWoods-Dev May 5, 2026
485c24d
feat(sentinel): add status='breach'; migrate all SentinelOutput usage…
PythonWoods-Dev May 5, 2026
d380299
feat(vsm): VSMVisualizer — auditor visivo con reverse-mapping in-plac…
PythonWoods-Dev May 5, 2026
6b349d4
refactor(tutorials): Sprint C — tono imperativo, variant→status+exitC…
PythonWoods-Dev May 5, 2026
0c8c1ff
feat(sentinel): ZENZIC_EXTRA_ARGS propagation to sentinel gate; docum…
PythonWoods-Dev May 5, 2026
4c459e9
chore(ci): Pre-Launch Guard Pattern — rename Release Bridge comment
PythonWoods-Dev May 5, 2026
dc71e0f
fix(lint): remove stale eslint-disable directives in SentinelOutput; …
PythonWoods-Dev May 5, 2026
ea7632f
docs(d100): [D100] Z204 Privacy Gate — site documentation (EN+IT)
PythonWoods-Dev May 5, 2026
f1f4243
fix(sentinel): --no-external in pre-commit hook (deployment-paradox U…
PythonWoods-Dev May 5, 2026
834e9b2
revert(sentinel): restore pre-commit-zenzic.sh to no-hardcode form
PythonWoods-Dev May 5, 2026
0637fe9
feat(ci): 2-OS matrix, PYTHONUTF8, ZENZIC_EXTRA_ARGS 404 shield
PythonWoods-Dev May 6, 2026
69c3f9d
fix(pre-commit): route zenzic-check through shared script
PythonWoods-Dev May 6, 2026
cfe246a
build(eslint): add .venv and _zenzic_core to flat config ignores
PythonWoods-Dev May 6, 2026
0e13069
feat(swizzle): suppress empty Authors block in BlogPostItem
PythonWoods-Dev May 6, 2026
ed8d62e
docs(sovereign-override): 404 shield KB article EN+IT, CONTRIBUTING s…
PythonWoods-Dev May 6, 2026
4f8ff3a
docs(changelog): v0.7.0 — Sovereign Override, ESLint flat config, ZEN…
PythonWoods-Dev May 6, 2026
e1846f4
chore: ZRT-008 npm bump, CI ubuntu-only, CHANGELOG, CITATION, archite…
PythonWoods-Dev May 7, 2026
fe8ae6e
docs: add GitHub Action Internals page (EN+IT) — Sovereign Intent Con…
PythonWoods-Dev May 7, 2026
b036938
fix(docs): add `text` language tag to unlabelled fenced blocks (Z505)…
PythonWoods-Dev May 7, 2026
38c7720
feat(dx): ZRT-010 Sovereign Parity — pre-launch guard in justfile, se…
PythonWoods-Dev May 7, 2026
b81f024
fix(deps): zero-vuln npm audit — markdownlint-cli2 0.22.1, serialize-…
PythonWoods-Dev May 7, 2026
868c784
refactor(dx): Unified Registry — uvx --from core_ref replaces uv run …
PythonWoods-Dev May 7, 2026
053ab22
docs(audit): content bonifica — dates, Python floor, test count (EN+IT)
PythonWoods-Dev May 7, 2026
7268be9
chore(gitignore): add .hypothesis/ to ephemeral artifacts block
PythonWoods-Dev May 7, 2026
34771d8
docs: set release date 2026-05-07 in RELEASE + CHANGELOG (EN+IT)
PythonWoods-Dev May 7, 2026
244c6d8
fix(readme): correct logo path static/brand/ → static/assets/brand/ (…
PythonWoods-Dev May 7, 2026
51c4220
fix(guard): exclude contributor-covenant URL — flaky external link
PythonWoods-Dev May 7, 2026
ceab5f5
fix(ci): scope no-commit-to-branch to stages: [pre-commit]
PythonWoods-Dev May 7, 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
82 changes: 0 additions & 82 deletions .github/copilot-instructions.md

This file was deleted.

39 changes: 39 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,51 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0

version: 2
updates:
# npm dependencies (Docusaurus, React, Tailwind, etc.)
- package-ecosystem: npm
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 10
labels:
- dependencies
- automated
commit-message:
prefix: "chore(deps)"
groups:
docusaurus-all:
patterns:
- "@docusaurus/*"
- "docusaurus*"
update-types:
- minor
- patch
react-ecosystem:
patterns:
- "react"
- "react-dom"
- "@types/react*"
update-types:
- minor
- patch

# GitHub Actions
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 5
labels:
- dependencies
- github-actions
commit-message:
prefix: "ci(deps)"
groups:
actions-all:
update-types:
- minor
- patch
74 changes: 45 additions & 29 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0

name: docs-ci

on:
Expand Down Expand Up @@ -44,45 +47,58 @@ concurrency:
cancel-in-progress: true

jobs:
validate:
name: Validate (Node ${{ matrix.node }})
verify:
name: Verify (ubuntu-latest, Node LTS)
runs-on: ubuntu-latest
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
strategy:
fail-fast: false
matrix:
node: [22, 24]
defaults:
run:
shell: bash

steps:
- name: Checkout
- uses: actions/checkout@v6

- name: Determine Zenzic Core Branch (Parity or Fallback)
id: resolve-branch
shell: bash
run: |
TARGET_BRANCH="${{ github.base_ref || github.ref_name }}"
echo "Target branch is: $TARGET_BRANCH"

if git ls-remote --exit-code --heads https://github.com/PythonWoods/zenzic.git "$TARGET_BRANCH" > /dev/null 2>&1; then
echo "Branch $TARGET_BRANCH exists in core. Using it."
echo "CORE_REF=$TARGET_BRANCH" >> $GITHUB_ENV
else
echo "Branch $TARGET_BRANCH not found in core. Falling back to main."
echo "CORE_REF=main" >> $GITHUB_ENV
fi

- name: Checkout local zenzic (unreleased)
uses: actions/checkout@v6
with:
repository: PythonWoods/zenzic
ref: ${{ env.CORE_REF }}
path: _zenzic_core

- name: Install just
uses: taiki-e/install-action@just

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
node-version: '24'
cache: npm

- name: Install uv
uses: astral-sh/setup-uv@v8.1.0

- name: Install dependencies
run: npm ci

- name: Typecheck
run: npm run typecheck

- name: Build documentation
run: npm run build

sentinel:
name: Zenzic Sentinel Audit
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Install uv
uses: astral-sh/setup-uv@v7

- name: Zenzic Documentation Audit
run: uvx zenzic check all --engine docusaurus --strict
- name: Run unified verification
shell: bash
env:
ZENZIC_PROJECT_PATH: ./_zenzic_core
PYTHONUTF8: '1'
# ZRT-010 — Sovereign Parity: Pre-Launch Guard lives in justfile.
# Local and CI run identical 'just check' invocations.
run: just verify
3 changes: 3 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0

name: codeql

on:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0

name: dependency-review

on:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/npm-audit.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0

name: npm-audit

on:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/release-docs.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0

name: release-docs

on:
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0
name: release

on:
push:
tags:
- 'v*'

permissions:
contents: write

concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false

jobs:
release:
name: Build docs and create GitHub Release
runs-on: ubuntu-latest
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 24
cache: npm

- name: Install dependencies
run: npm ci

- name: Typecheck
run: npm run typecheck

- name: Build docs
run: npm run build

- name: Archive build output
run: tar -czf "docs-${{ github.ref_name }}.tar.gz" build

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: docs-${{ github.ref_name }}.tar.gz
generate_release_notes: true
23 changes: 22 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0

# Dependencies
/node_modules

Expand All @@ -10,6 +13,8 @@
.cache-loader
*.tsbuildinfo
.eslintcache
_zenzic_core/
__pycache__/

# Misc
.DS_Store
Expand All @@ -21,11 +26,27 @@
.env.development.local
.env.test.local
.env.production.local
.zenzic.local.toml
*.log

# Drafts (dev.to articles, internal notes)
# Drafts (editorial, internal notes)
/drafts

npm-debug.log*
yarn-debug.log*
yarn-error.log*

# EPOCH 4 — draft vault (git-ignored, local reference only)
.draft/

# --- Ephemeral Artifacts (Machine Silence) ---
zenzic-results.sarif
coverage.json
coverage.xml
.coverage
.coverage.*
mutmut*
.mutmut-cache/
.pytest_cache/
.nox/
.hypothesis/
15 changes: 9 additions & 6 deletions .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,18 @@
"i18n/**/*.md",
"i18n/**/*.mdx"
],
"ignores": [
"node_modules/**",
"build/**",
".docusaurus/**"
],
"gitignore": true,
"config": {
"default": true,
"MD013": false,
"MD024": { "siblings_only": true },
"MD025": { "front_matter_title": "" },
"MD033": false,
"MD041": false
"MD036": false,
"MD037": false,
"MD041": false,
"MD003": { "style": "atx" },
"MD010": { "code_blocks": false },
"MD046": false
}
}
Loading
Loading