Zenzic v0.28.0: Governance & Extensibility

Zenzic v0.28.0 finalizes the Governance & Extensibility milestone. This release transitions the engine from implicit structural validation to explicit, declarative governance, while providing enterprise-grade compliance artifacts.
Declarative Governance Architecture¶
Prior releases enforced core structural integrity and static content rules. Project-specific metadata constraints and domain restrictions required manual code reviews or custom hooks.
Zenzic v0.28.0 transitions governance from implicit convention to explicit configuration. The new [policies] configuration table establishes a declarative contract for documentation repositories.
All policy evaluations execute in-memory with pure-function determinism (ADR-075 Radical Unawareness). The engine performs zero external I/O or network requests during policy verification.
The [policies] Configuration Table¶
Maintainers configure policies within .zenzic.toml under the [policies] section. The policies section is opt-in and backward-compatible.
[policies]
# Enforce mandatory YAML frontmatter keys across all Markdown files.
required_frontmatter_keys = ["title", "author", "description"]
# Restrict references to deprecated or forbidden external domains.
forbidden_external_domains = ["baddomain.com", "legacy.corp"]
When the [policies] section is omitted or empty, policy evaluations are bypassed without computational overhead.
New Governance Diagnostic Codes (Z610, Z611)¶
Zenzic v0.28.0 introduces two new diagnostic codes within the governance domain.
Z610: REQUIRED_FRONTMATTER_MISSING¶
Z610 flags Markdown documents missing top-level YAML frontmatter keys declared in required_frontmatter_keys.
- Severity:
warning - Penalty: 3.0 points (Governance)
- Granularity: Emitted once per missing key per file to enable targeted remediation.
Z611: FORBIDDEN_DOMAIN_REFERENCE¶
Z611 detects links pointing to domains specified in forbidden_external_domains. Evaluation covers native Markdown links ([text](url)) and raw HTML anchor tags (<a href="url">).
- Severity:
warning - Penalty: 3.0 points (Governance)
- Domain Matching: Case-insensitive matching covering exact domain matches and all subdomains.
docs/index.md:8 ! [Z611] Link to 'https://baddomain.com/api' references forbidden domain 'baddomain.com'.
Custom Rule SDK v3¶
To enforce strict metadata governance across the ecosystem, Zenzic v0.28.0 introduces the Custom Rule SDK v3 and hard-deprecates the legacy v2 API.
Hard Deprecation of v2 API (Breaking Change)¶
The legacy BaseASTRule class has been removed to eliminate undocumented technical debt (Zero-DBT). Instantiating legacy rules now fails fast with a PluginContractError. All custom rules must migrate to SDK v3.
Typed Extension Framework¶
The new SDK exposes the ZenzicRuleV3 base class and requires a typed RuleMetadata instance. This ensures that every custom rule explicitly declares its severity, taxonomy category, and DQS penalty.
from zenzic.sdk import ZenzicRuleV3, RuleMetadata
class MyCustomRule(ZenzicRuleV3):
metadata = RuleMetadata(
code="ZZ-CUSTOM",
title="Custom Rule",
description="Enforces a specific internal standard.",
severity="error",
category="governance",
penalty=5.0,
)
The SDK contract enforces stateless visitation, guaranteeing O(N) execution complexity. For migration instructions, see the Custom Rules Guide.
Enterprise Compliance Artifacts¶
Zenzic v0.28.0 elevates compliance reporting for enterprise environments, providing deterministic artifacts for security dashboards and audit trails.
Enterprise SARIF Integration¶
The SARIF v2.1.0 output (zenzic check all --format sarif) has been enriched. The rules array now includes helpUri, properties.category, and properties.penalty.
This allows platforms like GitHub Code Scanning to classify and weigh findings according to the Zenzic Document Quality Score (DQS) taxonomy. For schema details, see the JSON & SARIF API Reference.
Zenzic Audit Mode¶
We introduced the zenzic audit CLI command. Unlike the standard check command, Audit Mode generates a formal compliance ledger detailing the repository's state.
The report aggregates:
- Executive Summary: Workspace coverage and DQS calculation.
- Governance Policies: Active
[policies]and global suppression caps. - Technical Debt Ledger: A breakdown of active suppressions (inline, per-file, directory policies) and top hotspots.
- Architectural State: Active engine adapters and loaded custom SDK v3 rules.
Running zenzic audit --format json produces a 100% deterministic, machine-readable payload. We explicitly exclude timestamps to guarantee reproducible compliance builds across CI/CD environments.
Universal Engine Integration¶
The Policy-as-Code Engine and the new compliance features integrate uniformly across the Zenzic ecosystem:
- CLI Batch & Interactive Lab:
zenzic checkandzenzic labevaluate policies alongside structural and content rules. - Language Server Protocol: The VS Code extension surfaces
Z610andZ611inline diagnostics in real-time as maintainers edit documents or configuration files. - GitHub Action: The
zenzic-actionwrapper now supports thegenerate_audit_reportinput to automatically upload the JSON compliance ledger as a workflow artifact.
For complete CLI options and configuration options, see the CLI Reference and the Release Governance Protocol.
Diagnostic Summary¶
| Code | Name | Severity | Category | Penalty | Opt-in |
|---|---|---|---|---|---|
| Z610 | REQUIRED_FRONTMATTER_MISSING |
warning |
governance |
3.0 | Yes |
| Z611 | FORBIDDEN_DOMAIN_REFERENCE |
warning |
governance |
3.0 | Yes |
Getting Started¶
Update Zenzic to version 0.28.0 using uv:
Add a [policies] section to .zenzic.toml to begin enforcing repository governance. To integrate the new Audit Mode into your CI pipeline, update the Zenzic GitHub Action to v2.12.0.