Skip to content

feat(core): v0.27.0 Deterministic Quality Platform & Smart Link Graph - #198

Merged
PythonWoods-Dev merged 17 commits into
mainfrom
feat/v0.27.0-smart-link-graph
Aug 2, 2026
Merged

feat(core): v0.27.0 Deterministic Quality Platform & Smart Link Graph#198
PythonWoods-Dev merged 17 commits into
mainfrom
feat/v0.27.0-smart-link-graph

Conversation

@PythonWoods-Dev

Copy link
Copy Markdown
Contributor

Objective

This PR introduces the v0.27.0 stabilization cycle, transforming the Virtual Site Map into a deterministic Smart Link Graph, introducing the Configuration Validation Engine, and enforcing strict Document Quality Score (DQS) anti-regression tracking.

Architectural Changes

  • Smart Link Graph (Z4xx): The VSM now tracks deterministic adjacency lists for outgoing links, enabling topological validation for isolated documents (Z410) and dead-end nodes (Z411).
  • Configuration Validation Engine (Z110, Z111): Introduced formal validation for .zenzic.toml with graceful degradation. Halts AST scanning on fatal config errors to protect LSP stability.
  • Baseline Tracking: Added --update-baseline and --baseline CLI options. Computes line-shift invariant SHA-256 signatures for finding matching, enforcing DQS anti-regression exit rules in CI/CD.
  • Readability Metrics (Z511): Upgraded the AST parser to respect bulleted lists and blockquotes as hard sentence boundaries, preventing false positives on long lists.
  • CLI Fail-Fast: Enforced strict input validation for the --only CLI option, triggering an immediate fatal exit on invalid finding codes.
  • Governance Tracker Fix: Resolved a core bug where topological suppressions (Z410/Z411) left false-positive Z118 (Dead Suppression) findings by ensuring paired topology policy consumption.

Mirror Law & Zero-DBT Compliance

  • Generated 41 deep-dive Rule Specification Cards (docs/rules/ZXXX.md) achieving 100% documentation parity with the Core Engine.
  • Resolved all Z411 dead ends across active documentation namespaces via semantic ## See Also sections.
  • Cleaned all unauthorized and stale global suppressions from .zenzic.toml.

Verification

  • zenzic check all --strict passes with 0 findings.
  • just verify passes (Ruff, Markdownlint, TOML, REUSE, Mypy).
  • Pytest suite passes (1528 tests).

… milestones as released

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Transform VSM to support adjacency list. Integrate topological engine in IncrementalAnalysisEngine. Add Z410 (UNREACHABLE_GRAPH_NODE) and Z411 (DEAD_END_NODE). Maintain <50ms performance for incremental graphs.

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
…ng Taxonomy (ADR-012)

Align output schema with ADR-012 by removing topological_orphans and dead_ends. Update examples, README, and docs per Mirror Law (ADR-020).

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Synchronize zenzic lab command to include Z410 (UNREACHABLE_GRAPH_NODE) and Z411 (DEAD_END_NODE) per Mirror Law (ADR-020).

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
…orce CLI coverage

Inject topological graph analysis (detect_orphans, detect_dead_ends) into batch scanner pass (_run_vsm_and_urp_pass). Enforce 100% rule coverage in zenzic lab gallery tests. Archive v0.26.x and add v0.27.0 unreleased section to CHANGELOG.md.

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Introduce BaselineManager and compute_finding_signature for line-shift invariant SHA-256 finding matching (.zenzic-baseline.json). Add --update-baseline and --baseline flags to zenzic check all. Enforce anti-regression DQS exit code logic and tag findings with is_baselined (Radical Unawareness). Add JSON schema, docs, and tests.

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
…511, Z512)

Add Z510 (HEADING_HIERARCHY), Z511 (EXCESSIVE_SENTENCE_LENGTH), and Z512 (EMPTY_SECTION) content linting rules in src/zenzic/core/content.py. Expose max_sentence_length in ZenzicConfig. Add example workspaces, register gallery lab scenarios in _lab.py, and update documentation and tests.

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
- Added SPDX license headers to various documentation files and assets.
- Improved clarity and formatting in baseline tracking and core mechanics documentation.
- Updated command line usage instructions for baseline creation and CI/CD integration.
- Enhanced error handling in the CLI for baseline loading failures.
- Refactored code for better readability and maintainability across multiple modules.

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
…and docs

Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
Signed-off-by: PythonWoods <gianluca.catalano@gmail.com>
@PythonWoods-Dev
PythonWoods-Dev merged commit ea86567 into main Aug 2, 2026
9 checks passed
@PythonWoods-Dev
PythonWoods-Dev deleted the feat/v0.27.0-smart-link-graph branch August 2, 2026 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant