Skip to content

Conversation

@mraml
Copy link
Owner

@mraml mraml commented Feb 4, 2026

πŸš€ Major Features
πŸ•΅οΈ Code-to-Spec Verification (Drift Detection)

nod now goes beyond just checking your documentation. With Reality Checks, the scanner verifies that claims made in your spec (e.g., "Database: Postgres") are actually reflected in your implementation code (e.g., requirements.txt or Dockerfile).

New Rule Type: Define reality_checks in your YAML profiles to regex-match implementation files against spec values.

Drift Reporting: New CLI section explicitly flags "Potential Code Contradictions."

SARIF Updates: Drift failures are tagged as contradiction for security dashboard integration.

πŸ”— JSON Schema Export

Enable better integration with GRC tools and policy validators. You can now export your loaded ruleset as a standard JSON Schema (Draft-07).

Usage: nod --export schema

Allows external tools to validate their policy definitions against nod's expectations.

πŸ‘· Native CI/CD Templates

We've added a new templates/ directory containing drop-in configurations for major CI providers, expanding support beyond GitHub Actions:

GitLab CI: templates/.gitlab-ci.yml

Azure Pipelines: templates/azure-pipelines.yml

πŸ› οΈ CLI & UX Improvements

--save-to <file>: Save reports directly to a file via arguments (cleaner than shell redirection).

--quiet (-q): Silent mode suppresses banner art and non-error logs (ideal for CI).

Registry Shorthand: Use --rules registry:owasp-llm to fetch rules directly from the official library without full URLs.

🧹 Maintenance & Quality

PEP 8 Compliance: Extensive refactoring of the Scanner engine for standard Python code style.

Documentation: Added comprehensive docstrings to core classes and updated the README with advanced rule logic examples.

mraml added 9 commits February 3, 2026 16:46
add a new function gen_schema to src/nod/generator.py 

Output: It will output a standard JSON Schema draft-07 representation of the currently loaded rules. This allows GRC tools to validate their policy definitions against nod's expectations, or vice versa.
add a new function gen_schema to src/nod/generator.py and wire it up in src/nod/cli.py.
updated the Scanner to capture implementation files (like Dockerfile or requirements.txt) without treating them as specifications.
Modified gen_report (Text Output) to separate checks with type="contradiction".

Added a new report section: "πŸ“Š POTENTIAL CODE CONTRADICTIONS (DRIFT)" to highlight mismatches between Spec and Reality.

Updated gen_sarif (JSON Output) to tag reality check failures with drift and spec-contradiction tags for security dashboards.
Updated the test_profile fixture in setUp to include a mock Reality Check configuration.

Added test_reality_check_pass: Verifies that matching content in Spec and Code results in a PASS.

Added test_reality_check_fail: Verifies that a missing implementation detail triggers a FAIL with the correct contradiction type.
Update nod-gatekeeper.yml
@mraml mraml closed this Feb 4, 2026
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