-
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
- 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
- Bug preventing the Ubuntu font from being used by DocEngine
- Image path bug in product webpage
- Product presentation website
- Links in README and manual pointing to product website
- Added link to live technical specifications in the specs folder README
- Links in main README to live technical specifications on GitHub Pages
- Main README to improve overview
- Technical specifications (
docs/specs) and traceability web site to tidy up TCS and TRP
- SRS items (removed dates)
- 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
- 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
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
- 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
- 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
- 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
- The manual pages for the deprecated ISMS feature
- The Transformer manual page that has been moved to the SSDLC manual page
Version 1.0 marks the stable release of C5-DEC.
- 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
- Header and footer logo placement offset bugs in DocEngine report compilation
- 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
- 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
- A check to the RMT consolidation algorithm to skip invalid file extensions
- The software version in the project TOML
- The README to add the C5-DEC (beta) logo
- A resource management tool (RMT) and cost report computation feature to the project management (PM) module
- A dedicated RMT analysis spreadsheet for obtaining a quick overview:
c5dec/assets/costrep/c5dec-rmt-analysis.xlsx - A new command to the CLI for running the cost report computation feature
- RMT parameterization file (
rmt-params.xlsx) to thec5dec/assets/tshparamsfolder - An example time sheet input file (
tsh.xlsx) to thec5dec/inputfolder - Automation code to the Quarto-based C5-DEC DocEngine for generating Quarto tables from spreadsheets
- Unit tests for the time report assistant component of the PM module
- A unit test suite runner shell script
- A user manual section to the PM page describing the RMT cost report feature
- New software design schematics related to the CCT module
- Deployment scripts bug not allowing modification of specs: docs volume mapping
- Settings module to fix a bug preventing unit test suites to run (relative path)
- Time report assistant unit tests to compute the correct path
- Project resource management tool (RMT) module behavior so it always picks up input files/folders from the
c5dec/inputfolder - RMT CLI commands and TUI mini apps accordingly to use the new input retrieval mechanism
- Deployment scripts to improve customization
- Updated the technical specifications and traceability HTML publication following the inclusion of previously missing SWD items
- Support for parsing Common Criteria 2022 release (CC2022R1)
- Dedicated object-oriented data structures to the CCT module to handle CC 2022
- Graphical user interface (GUI) in the form of a web application
- GUIs for the CCT browser and CC evaluation laboratory submodules
- C5-DEC DocEngine publishing feature based on Quarto for both generic report and ETR generation
- Dedicated data structures and algorithms for handling evaluation checklist creation in a structured format, e.g., csv and spreadsheets
- Feature to create CEM evaluation checklist spreadsheets that can be parsed by the DocEngine (exposed via both the CLI and the GUI)
- Dedicated C5-DEC publish function exposed via the CLI as a wrapper, complementing and improving the underlying Doorstop-based mechanism to publish technical specifications in HTML and Markdown
- Docker-based deployment solution for end-users, along with build and executable scripts
- test reports to the technical specifications (
traandtrbunderdocs).
- Bugs in the CCT module, largely rooted in inconsistent data structure tracking and life cycle management, e.g., CC XML tree loaded several times
- Bugs in the CLI checklist creation function
- Errors in the technical specifications encodings, now stored under
docs/specs
- The CCT module to add support for setting parameters for the ETR CLI handler and CC release selection via user-accessible YAML configuration file
- Heavily refactored and improved the CCT module, e.g., use of constants to handle paths, folders, use of
os.path.jointo ensure cross-platform path management - The specifications folder name (
reqstospecs) - Dev container Docker file to include
pipx, git repo creation andpoetryinstallation - technical specifications under the
docsfolder to update all schematics, requirements and test cases
- Rendered schematics stored under
docs/sdd/images
- Initial release of C5-DEC CAD