Documents
Notion Requirements Documents
Notion Requirements Documents
Type
Topic
Status
Published
Created
Mar 8, 2026
Updated
Mar 8, 2026
Created by
Dosu Bot
Updated by
Dosu Bot

Notion Requirements Documents#

Notion Requirements Documents refer to a set of external requirements documentation pages maintained in Notion for the opnDossier project, a command-line tool for converting OPNsense firewall configuration files into human-readable Markdown documentation. According to project documentation, three Notion pages serve as complementary external reference documentation, mirroring content from the canonical project_spec/requirements.md file maintained in the GitHub repository.

The Notion documentation structure reportedly consists of Part 1 (Overview and Specifications), Part 2 (Architecture and Standards), and a Technical Deep-Dive document, all organized under an opnDossier product page in Notion. These documents are intended to provide stakeholders with accessible external documentation while maintaining project_spec/requirements.md as the authoritative source of truth for all project requirements and technical specifications.

While the existence of these Notion pages is documented in project context, no references to Notion synchronization workflows, page IDs, or external documentation maintenance appear in the opnDossier GitHub repository's issues, pull requests, or code files. The repository maintains comprehensive internal documentation practices through MkDocs, automated documentation generation, and strict documentation standards enforced through pre-commit hooks and linting.

Canonical Source of Truth#

Requirements.md Structure#

The project_spec/requirements.md file serves as the canonical, authoritative source for all opnDossier project requirements. Version 2.2 of this document, last modified on 2026-02-20, spans 963 lines organized into 9 major sections:

  1. Introduction & Scope — Project overview, goals, boundaries, success criteria, timeline, and risk assessment
  2. Functional Requirements26 discrete features (F001-F026) with user stories and performance requirements
  3. Technical SpecificationsTechnology stack, CI/CD expectations, performance and security requirements
  4. System Architecture — High-level and detailed design, scalability, deployment architecture
  5. Development Standards & Coding Conventions — Code quality, version control, testing, QA procedures
  6. Implementation Guidelines & Best Practices — Development workflow, project management, deployment, monitoring
  7. Compliance with Cursor Rules & AI Agent Protocols — AI-assisted development standards and tool integration
  8. Glossary & References — Technical terminology, external references, internal documentation links
  9. Document Metadata — Version tracking and change history

Technology Stack Specifications#

The requirements document specifies the complete technology stack for opnDossier. Core language and runtime requirements include Go 1.21.6+ (with toolchain go1.21.7 and system go1.25.7) and Python 3.11+ for documentation development.

The project utilizes the Cobra CLI framework (v1.8.0), Charm libraries (lipgloss, glamour, log) for terminal enhancement, Viper for configuration management, and standard Go libraries for XML and JSON processing. Build infrastructure relies on Go modules, Just task runner, GoReleaser v2 for cross-platform builds, and pre-commit hooks v5.0.0 for automation.

Version History and Recent Changes#

The most recent major update (version 2.2, commit 88abd39) updated the scope to reflect multi-device architecture and removed the single-platform constraint. This architectural shift introduced platform-agnostic CommonDevice abstractions and ParserFactory patterns, enabling future support for multiple firewall platforms beyond OPNsense.

The requirements document contains no references to Notion, external documentation platforms, or synchronization workflows with external systems. All documented external references point to standard open-source frameworks, industry standards, and development tools.

Notion Documentation Structure#

According to project background context, the Notion requirements documentation is organized hierarchically under an opnDossier product page (Notion page ID: 31c3567d34ad819fae16d20a55fcd6aa). Three subordinate pages reportedly mirror different aspects of the canonical requirements.md file:

Part 1: Overview, Functional & Technical Specifications#

Notion Page ID: 31c3567d34ad81229d6bf3aac40f27b5

This page reportedly covers:

Part 2: Architecture, Standards & Guidelines#

Notion Page ID: 31c3567d34ad8154a567d4be0d8df625

This page reportedly documents:

  • System architecture patterns and component interactions
  • Development standards based on Google Go Style Guide
  • Coding conventions and quality standards
  • Testing standards and coverage requirements
  • Deployment practices and release management
  • Compliance with AI agent protocols and Cursor rules

Technical Deep-Dive#

Notion Page ID: 31d3567d34ad81ca94b6ff5b72364d4e

According to background context, this supplementary document was added in March 2026 and covers:

  • Architecture internals and design decisions
  • Codebase metrics and complexity analysis
  • Package breakdown and dependency structure
  • Project milestones and roadmap
  • Open issues and technical debt
  • Developer gotchas and common pitfalls

Note: No evidence of these Notion pages, their page IDs, or references to Notion synchronization processes appear in the opnDossier GitHub repository's codebase, issues, pull requests, or commit history.

Documentation Synchronization Context#

Reported March 2026 Synchronization#

Project background context indicates that all three Notion documents were synchronized to match the codebase state in March 2026, with corrections including:

  • Go version corrected to 1.26
  • Template references replaced with programmatic builder patterns
  • Multi-device architecture updates reflected
  • GEMINI.md references removed
  • pkg/ directory marked as planned rather than implemented
  • Analytics functionality claims removed

Verified Repository Documentation Updates#

GitHub repository research reveals several documentation maintenance activities in early 2026 that align chronologically with the reported synchronization period, though none mention Notion:

Go Version Corrections:

Template System Removal:

Comprehensive Documentation Accuracy Review:

These repository-internal documentation updates demonstrate active maintenance of accuracy and consistency during the same timeframe mentioned for Notion synchronization, but contain no references to external documentation platforms, Notion page IDs, or synchronization workflows.

Repository Documentation Maintenance#

Documentation Standards and Enforcement#

The opnDossier project implements comprehensive documentation maintenance practices for its repository-based documentation. All documentation follows Google Go Style Guide standards, with package-level documentation requiring "Package [name]" prefixes and exported functions documented with "FuncName does X" patterns.

Automated enforcement utilizes golangci-lint with 50+ enabled linters, including godot for comment punctuation, gofumpt for formatting, and revive for comprehensive Go linting. Pre-commit hooks enforce standards before commits, including markdown formatting via mdformat with 10 plugins and file format validation.

Automated Documentation Generation#

The project uses a reflection-based documentation generator (tools/docgen/main.go) that automatically produces markdown reference documentation from Go struct definitions. This regeneration workflow is triggered via just generate-docs and prevents documentation drift by generating field tables directly from current Go types, extracting validation rules from struct tags, and timestamping generated output for audit trails.

Documentation Site Architecture#

The project uses MkDocs Material for documentation site generation, with modern rendering optimized for Mermaid diagrams rather than ASCII art due to font dependency, responsive layout, accessibility, and maintenance considerations. The Documentation Orphan Cleanup maintenance pattern identifies orphaned documentation files by comparing navigation configuration against filesystem content.

Relevant Documentation Files#

File PathDescriptionLinesPurpose
project_spec/requirements.mdCanonical requirements document (v2.2, last modified 2026-02-20)963Authoritative source for all project requirements, specifications, and standards
AGENTS.mdAI agent behavior and development standardsCentral reference for AI-assisted development, architectural patterns, and tool integration
docs/development/standards.mdDocumentation standards referenceGoogle Go Style Guide implementation and documentation conventions
docs/development/architecture.mdSystem architecture with Mermaid diagramsComponent interactions, data flow, and design decisions
mkdocs.ymlMkDocs configuration and navigation structure133Documentation site organization and plugin configuration
tools/docgen/main.goDocumentation generator using Go reflection299Automated generation of data model reference documentation
.golangci.ymlgolangci-lint configuration with 50+ linters247Automated enforcement of code and documentation standards
justfileTask runner with lint, format, and CI commands456Development workflow automation and documentation generation