Releases: AbstractionsLab/c5dec
Release 1.3
Added
-
SpecEngine dependency content fingerprint (
docs/specs/SpecEngine/c5fingerprint.py): new SpecEngine module that computes per-file SHA-256 hashes over the contents of every file listed in a Doorstop item'sreferences:field and stores areferences_content_fingerprintblock (combined hash + per-file breakdown) in each item's YAML frontmatter, enabling dependency-aware impact analysis across all Doorstop documents (MRS, SRS, ARC, SWD, TCS, TRP); items whose referenced files have changed since the last run are flagged as[STALE]and have their stored fingerprint updated in-place; supports--dry-run(compute only, no writes),--check(exit code 1 on stale, for use as a CI gate), and--verbose(per-file hash detail) flags; automatically registers thereferences_content_fingerprint: {}attribute default in the.doorstop.ymlof every document that contains references-bearing items; integrated intopublish.shas the final step (after all undo/restore steps) -
DocEngine standalone mode (
c5dec docengine <type> -n <name> --standalone):create_docengine_template()accepts a newstandaloneboolean argument; when set, the command additionally copies the.devcontainerfolder,docEngine.Dockerfile,poetry.lock, andpyproject.tomlfrom the repository root into the generated template destination, enabling users to open and use DocEngine directly in VS Code without the rest of the C5-DEC environment;--standaloneflag added to thedocengineCLI argument parser -
End-user DocEngine manual package (
docs/manual/docengine-manual/): added a user-oriented manual authored as a DocEngine report template, including chapters, figures, Quarto configuration, and helper scripts, together with a compiled PDF output artifact for immediate consumption by end users
Modified
- Migrated the DocEngine user manual from the SSDLC page to a dedicated and more detailed
docengine.mdpage underdocs/manual - Updated manual entry README and other relevant docs to reflect the DocEngine documentation update
Fixed
- Bug preventing the Ubuntu font from being used by DocEngine
Release 1.2
1.2 (2026-03-10)
Added
- DocEngine CLI (
c5dec docengine report|presentation -n <name> [-d <dest>]):create_docengine_template()in the SSDLC module copies and customizes report/presentation templates with variable substitution, overwrite protection, Quarto dependency check, andREPORT_TEMPLATE_PATH/PRESENTATION_TEMPLATE_PATHconstants inc5settings.py - DocEngine enhancements:
c5dec_config_v2.ymlandcustom_vars_v2.pypre-render script with automatic LaTeX conversion, support for string/list/dict changelog entry formats, and LaTeX escaping for special characters; Quarto presentation template (c5dec/assets/presentation/) with Reveal.js and PowerPoint output, ALab branding, and modular slide organization docEngine.Dockerfile: dedicated DocEngine dev container (Quarto, TeX Live, Kryptor, Cryptomator CLI); separate.devcontainer/c5dec-dev/for the lightweight C5-DEC dev container- CRA compliance module (
c5dec/core/cra.py, EU Regulation 2024/2847 Tier 1): YAML requirements database (35+ Annex I items), Doorstop-integrated checklist with pass/fail/na verdicts and Excel export, CRA Technical Documentation template (Annex VII, seven chapters), EU Declaration of Conformity generator (Annex V);craCLI command (create,verify,export); feature flags andc5settings.pyconstants; test suitetests/cra_checklist_test.py(16 methods); user manualdocs/manual/cra.md - SBOM lifecycle management module (
c5dec/core/sbom.py): Syft-based generation (CycloneDX/SPDX), parsing, validation, version diff, Doorstop traceability, andauto_verify_sbom_requirement()for CRAcra_ii_1_1;sbomCLI command (generate,import,diff,validate); test suitetests/sbom_test.py(25+ methods); user manualdocs/manual/sbom.md - Native Python cryptography module (
c5dec/core/cryptography.py): SHA-256 file integrity, GnuPG signing/encryption, Shamir's Secret Sharing over GF(2^127−1), NaCl Ed25519 digital signatures;c5dec cryptoCLI command with 11 subcommands (hash,verify-hash,sign,verify-sig,encrypt,decrypt,shamir-split,shamir-recover,nacl-keygen,nacl-sign,nacl-verify) - CPSSA as a multi-subsystem package (
c5dec/core/cpssa/):create_threat_model()generating Threagile-compatible YAML from Doorstop SRS/ARC artefacts with auto-discovery of architecture folders;generate_cpssa_report()for STRIDE-based Markdown reports; Threagile field-mapping subsystem (threagile-mappings.yml,threagile-schema.json); sidecar YAML support (threat-actors.yml,assumptions.yml);generate_fair_input_template()andrun_quantitative_risk_analysis()with--fair-paramsYAML override and PERT distribution support; water-treatment worked example (c5dec/core/cpssa/examples/water-treatment/) - SpecEngine tools:
c5graph.py— interactive Cytoscape.js traceability graph producing a self-containedspecs-graph.html(dagre layout, expand/collapse, color-coded coverage, offline asset inlining);prune_bad_links.py— removes Doorstop links with mismatched target prefix or links on root documents;doorstop_yml_to_md.py— migration script converting Doorstop items from pure YAML to Markdown with YAML frontmatter;c5mermaid.py— Mermaid diagram pre-processor that scans Doorstop.mditem files for fenced```mermaid ```blocks, renders each to SVG (or PNG) via the Mermaid CLI (mmdc), stores the result in the item'sassets/directory, and replaces the fenced block with an HTML comment preserving the original source plus a Markdown image reference; transformation is one-way and idempotent (content-hash-based filenames,c5-mermaid-sourcesentinel); supportsrender(default) andundoactions,--dry-run, and--format svg|png; integrated intopublish.sh(render before publish, undo after); all support--dry-run; "Traceability Graph" entry added toindex.htmlviac5publish.py; automatic item ID linkification in published HTML (linkify_html_file()/_linkify_item_ids()); per-column filter inputs inc5browser.py; section titles inc5traceability.pynav bar;docs/specs/SpecEngine/README.mdandc5traceability_config_example.yamladded - Specs: 19 new SRS items; 5 new TCS test cases; grouping items added to
swd/,mrs/, andarc/; headings added to all TRP items; SWD-002 updated with full C5-DEC CAD class diagram in Mermaid; SWD-003 updated with Mermaid architecture overview diagram - Documentation: user manuals
docs/manual/isms.md,docs/manual/README.md; updatedcpssa.md,cryptography.md,ssdlc.md - Project template (
c5dec/assets/templates/project/) synchronized with current toolchain: containers, SpecEngine toolkit, DocEngine assets, refreshedpyproject.tomlandpoetry.lock SECURITY.mddetailing supported versions, responsible disclosure process, response timeline, scope definitionCONTRIBUTING.mdexplaining how to set up the development environment, submit changes, and follow project conventions- Mermaid resize support in
c5mermaid.py:--widthand--heightflags passed tommdcfor SVG/PNG output dimensions - TCS and TRP Doorstop document templates added to the project template (
c5dec/assets/templates/project/docs/specs/); test case and test report spec documents consolidated - Common Criteria knowledge base: completed CC KB (new CC pages) and revisions covering CC:2022
Fixed
- TeX rendering issue in DocEngine templates and
cli newcommand (malformed\usepackageargument in_quarto.yml) - Broken Doorstop link format in 14 SWD items (
ARC003/ARC004→ARC-003/ARC-004) - Orphaned TCS-001–TCS-007 with empty
links: []; all now carry SRS traceability links - 14 SRS items with placeholder (TBD) text replaced with complete procedural descriptions
- Missing MRS upward traceability links in ARC-003 (MRS-013, MRS-024, MRS-025, MRS-046, MRS-047) and ARC-004 (MRS-040, MRS-041, MRS-044, MRS-060)
- HTML output path in
c5traceability.pyandc5browser.pyresolved relative to script dir instead of specs dir; corrected toSCRIPT_DIR.parent / "docs" / "publish" - Typos in SRS items
Modified
dev.DockerfileanddocEngine.Dockerfileextended with Node.js 20.x, Chromium, and Mermaid CLI (mmdc) for Mermaid diagram rendering in the SpecEngine pipelinedev.Dockerfilestripped of DocEngine dependencies (Quarto, TeX Live, fonts, cryptographic tools);.devcontainer/devcontainer.jsonupdated to usedocEngine.Dockerfilec5dec cryptoCLI upgraded from stub to full implementation dispatching to the native cryptography modulec5dec cpssaCLI extended withfair-inputandrisk-analysissubcommandsc5traceability.py: generalized to YAML-configurable, project-agnostic Doorstop traceability analyser; added--config,--discover,--discover-writeflags and auto-discovery of document hierarchy from.doorstop.ymlfilesc5browser.py: extended to support both.md(Markdown frontmatter) and.yml(pure YAML) Doorstop item formats; document type list auto-discovered at runtime; numeric field detection for proper column sorting- All 246 Doorstop item files in
arc,mrs,srs,swd,tra,trb,tstconverted from pure YAML to Markdown with YAML frontmatter;.doorstop.ymlconfigs updated toitemformat: markdown - ARC item files renamed to hyphenated format (
ARC001.yml→ARC-001.yml); SWD items likewise (SWD001.yml–SWD014.yml→SWD-001.yml–SWD-014.yml) - PlantUML schematics relocated to
docs/specs/swd/assets/PlantUML/; obsoleteclasses.pumlandsubsystems.pumlremoved - SpecEngine folder renamed from
docs/specs/c5dec-SpecEngine/todocs/specs/SpecEngine/;publish.shupdated with linkification step,c5graph.pygeneration, and Mermaid render/undo steps c5publish.pytooling-reports block moved to<body>top with "Traceability Graph" link added- DocEngine pre-render script updated from
custom_vars.pytocustom_vars_v2.py; default approval signatures set to placeholder ("---") - Docker security hardening: non-root user, dropped Linux capabilities,
--no-install-recommends, and package pinning applied toDockerfile,dev.Dockerfile, anddocEngine.Dockerfile;.dockerignoreadded to limit build context - Unit test coverage significantly extended: new test files for CLI (
cli_test.py, 298 lines), ISMS (isms_test.py, 268 lines), SSDLC (ssdlc_test.py, 251 lines), Transformer (transformer_test.py, 176 lines), CPSSA (cpssa_test.py, 1175 lines), and cryptography (cryptography_test.py, 380 lines); existing CCT test files improved - Mermaid SVGs pre-rendered for SWD-002 and SWD-003; stored in
docs/specs/swd/assets/ - README,
docs/manual/README.md,docs/specs/README.md
Removed
- DocEngine-specific dependencies from
dev.Dockerfile(moved todocEngine.Dockerfile) c5traceability_v2.py; merged intoc5traceability.py- Stale Doorstop Bootstrap CSS/JS assets from
docs/assets/doorstop/; replaced by CDN references docs/manual/overview.md; content merged intodocs/manual/start.md
Version 1.1
What's changed
Added
- The open-source
organize-toolto theC5-DEC dev containerfor automated file/folder management - Custom workspace management (e.g., a user-defined path to directory residing outside project folder) via the C5-DEC interactive session:
c5dec.sh session <workspace> - Table of contents to the SSDLC manual page
Modified
- User manual pages related to SSDLC to detail the new workspace management feature, AI-enabled design and specification for the C5-DEC method, the new
organize-tool, and integrated the Transformer page - README to detail the roadmap items related to including privacy-aware local GenAI models and RAG capabilities and the inclusion of verified implementations of cryptographic algorithms
Removed
- The manual pages for the deprecated ISMS feature
- The Transformer manual page that has been moved to the SSDLC manual page
Stable release
What's Changed
Added
- C5-DEC new project creation feature and command added to the CLI:
c5dec.sh new - C5-DEC DocEngine enhancement: new templates, automation scripts, LaTeX enhancements
- ETR evaluation spreadsheet formulas for automatic work unit verdict computation from atomic work item
- LaTeX commands for dynamic and color-coded ETR verdict encoding: pass, fail, inconclusive
- ETR evaluation overview templates, spreadsheets and compilation into Markdown for DocEngine
- Doorstop source processing code for C5-DEC keyword handling in test reports
- CPSSA, Cryptography, and Transformer commands to the CLI
- Cryptographic software to the containerized
C5-DEC cryptography dev container: Kryptor, Cryptomator CLI - Fully containerized DocEngine and dependencies within the
C5-DEC CAD dev container - OQS-OpenSSL provider container to
.devcontainerand allow selection between C5-DEC containers - Abstract to DocEngine report template cover pages
- Interactive session mode with the C5-DEC container accessed via
c5dec.sh session - Interactive session mode with the OQS-OpenSSL container for PQC accessed via
c5dec.sh pqc - Publish function isolation in
docs/specs - C5-DEC project template with placeholders used as input by the CLI
newcommand - Validation test cases (
TSS) and test report (TRS) for the stable release
Fixed
- Header and footer logo placement offset bugs in DocEngine report compilation
Modified
- DocEngine default report and ETR layouts for the cover page
- DocEngine for ETR part generation to improve work unit and atomic work item compilation
_quarto.ymlfiles for both DocEngine report and ETR templates- CLI command descriptions and help instructions
- User manual pages for Cryptography, CPSSA, SSDLC and Transformer
- Runner
c5dec.shimplementation to provide new modes:help,session,pqc,c5dec <command> - Build script
build-c5dec.shto also build the dev container for access viac5dec.sh session - VS Code dev container configuration to include new extensions: Code Spell Checker, Quarto, Jupyter and Data Wrangler
Removed
- All CLI commands for SSDLC (all have been integrated into the
newCLI command) - TUI menus of features migrated to the CLI: SSDLC, CPSSA, Cryptography, Transformer
C5-DEC CAD Alpha release
Release notes for v0.1.0-alpha
This is the initial release of C5-DEC CAD.
The following zip archive provides all necessary files for installing and running C5-DEC CAD, including the distribution wheel file and all required assets; simply, unzip the folder, and follow the instructions provided in the manual to install the software.