core

module
v0.0.0-...-551d305 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2026 License: MIT

README

core

Pure domain logic and shared infrastructure for the EAC workspace. This module contains all business rules, domain types, and foundational utilities with zero CLI dependencies.

Module moniker: core | Dependencies: contracts/core

Package Index

Package Purpose
adapters Adapter layer wrapping concrete domain types to satisfy port interfaces
ai Consolidated access to AI configuration, prompt templating, and model interaction
ai/config AI provider configuration loading with three-tier fallback
ai/generation Structured AI generation with retry strategies and format validation
ai/mock File-based mock AI executor and validator for acceptance tests
ai/templates Go template-based prompt rendering with data binding
cache Two-dimensional taxonomy (Level x Type) for fine-grained cache control
changedetect Change detection logic using file hashing and mtime comparison
changelog Conventional commit parsing and changelog generation
config Central configuration loading from YAML files across workspace layers
ctrf Common Test Report Format types and utilities
defaults Default values and path derivation for module contracts
defaults/cmd/serialize CLI tool to serialize resolved module configs for comparison
docsync CLI command documentation scanning for missing or orphaned doc files
domain Core domain types shared across the module system
domain/modules Module contract type system and registry with workspace context
domain/reports Report generation for CLI display commands
domain/schema JSON Schema validation for contract YAML files
environments Environment definitions including artifact modes and build contexts
evidence Security scan evidence file writing and SHA256 integrity verification
execution Cache verification interface for dependency-based work unit scheduling
fileutil Atomic file writes, locked writes, and platform-aware cleanup
ghost Ghost-prefixed file and directory discovery for dark launching
git Pure Go git operations using go-git for repository interaction
github Abstractions for GitHub API interactions (workflows, releases, PRs)
hash Deterministic file content hashing with mtime-based fast-path caching
logging Unified structured logging with dual-sink output (console + rolling file)
markdown Markdown validation utilities including structure checking and code blocks
module-deps Internal module dependency verification via build constraint checking
output Output aggregation types for command result collection
ownership File ownership resolution to modules and components by directory root
paths Centralized path constants and builder functions for the repository
platform Platform-specific abstractions for command execution and console output
releasenotes RELEASE-NOTES.md parsing, validation, and generation
repository Repository dependency graph and module resolution
repository/definitions Definition file enumeration and YAML merging across directory trees
repository/gomod Go module dependency graph building and validation
repository/reports File-module ownership statistics reporting
resolver Component resolver for module-to-component mapping
resource Resource capacity calculation with standard formulas
scheduling Dependency-ordered scheduling with priority heap
specs BDD specification parsing, scenario export, and Godog test integration
specs/export/formats Pluggable export formatters (CSV, JSON, Markdown) for manual test scenarios
specs/gherkin Gherkin feature file parsing and scenario utilities
testing Test discovery, tag inference, suite selection, and BDD test isolation
testing/mocks Mock implementations of core port interfaces for unit testing
testutil Test fixtures and helpers for unit testing
tokensize Token count estimation using character-based heuristics
tool Build bridge integrating the tool system with executors
validation Structured validation types, error codes, and formatting utilities
validation/formats/gherkin Gherkin feature file structural and semantic validation
validation/formats/json JSON schema validation for generated content
validation/formats/oscal OSCAL catalog and profile validation
validation/formats/structurizr Structurizr DSL validation with quick, Docker, and composite modes
workspace Workspace root detection using prioritized detection chain
workunit Work unit action types and aggregation for build/test/scan operations

Architecture Notes

The core module is the foundation layer of the EAC system, deliberately free of CLI or infrastructure concerns. Packages follow a layered structure: domain defines shared types consumed by all other packages, config and workspace provide environment bootstrapping, and higher-level packages like specs, testing, and evidence implement business rules on top of these primitives. The adapters package bridges domain types to port interfaces, enabling the module to be consumed by CLI and adapter layers above.

Key dependency flows within the module:

  • Foundation: domain, paths, platform, logging have no internal dependencies
  • Configuration: config reads YAML and depends on domain and paths
  • Business Logic: specs, testing, evidence, releasenotes build on config and domain
  • Orchestration Support: scheduling, execution, workunit provide primitives consumed by the clibase orchestrator
  • Adapters: adapters depends on most domain packages to satisfy port interfaces

Directories

Path Synopsis
Package adapters provides adapters that wrap concrete implementations to satisfy port interfaces defined in github.com/ready-to-release/eac/contracts/core/0.1.0.
Package adapters provides adapters that wrap concrete implementations to satisfy port interfaces defined in github.com/ready-to-release/eac/contracts/core/0.1.0.
ai
Package ai provides consolidated access to AI generation functionality This package re-exports from the organized subpackages for convenience
Package ai provides consolidated access to AI generation functionality This package re-exports from the organized subpackages for convenience
config
Package config handles AI configuration loading and management
Package config handles AI configuration loading and management
generation
Package generation provides AI-related utilities including format configuration
Package generation provides AI-related utilities including format configuration
mock
Package mock provides AI-related utilities including mock support for testing.
Package mock provides AI-related utilities including mock support for testing.
templates
Package templates provides utilities for building AI prompts using Go templates.
Package templates provides utilities for building AI prompts using Go templates.
Package cache provides a 2D taxonomy (Level x Type) for cache control.
Package cache provides a 2D taxonomy (Level x Type) for cache control.
Package changedetect provides unified change detection for build, lint, and test operations.
Package changedetect provides unified change detection for build, lint, and test operations.
Package changelog provides parsing and generation of Keep a Changelog format files.
Package changelog provides parsing and generation of Keep a Changelog format files.
Package config provides book template expansion and source snippet support.
Package config provides book template expansion and source snippet support.
Package ctrf provides types and utilities for Common Test Report Format (CTRF).
Package ctrf provides types and utilities for Common Test Report Format (CTRF).
Package defaults provides default values and path derivation for module domain.
Package defaults provides default values and path derivation for module domain.
cmd/serialize command
Serialize loaded module configs to compare before/after defaults changes
Serialize loaded module configs to compare before/after defaults changes
Package docsync provides shared logic for scanning and synchronizing CLI command documentation.
Package docsync provides shared logic for scanning and synchronizing CLI command documentation.
Package contracts provides shared type definitions that must match JSON schemas.
Package contracts provides shared type definitions that must match JSON schemas.
reports
Package reports provides report generation functions for CLI commands.
Package reports provides report generation functions for CLI commands.
schema
Package schema provides JSON Schema validation for repository configuration files
Package schema provides JSON Schema validation for repository configuration files
ArtifactsMode controls the scope of artifact generation during builds.
ArtifactsMode controls the scope of artifact generation during builds.
Package evidence provides security scan evidence types and integrity verification.
Package evidence provides security scan evidence types and integrity verification.
Package execution provides the core domain for work unit execution.
Package execution provides the core domain for work unit execution.
Package ghost provides ghost tracking functionality for dark launch code discovery.
Package ghost provides ghost tracking functionality for dark launch code discovery.
Package git provides Git operations using go-git library.
Package git provides Git operations using go-git library.
Package github provides abstractions for GitHub API interactions.
Package github provides abstractions for GitHub API interactions.
Package hash provides deterministic file content hashing for change detection.
Package hash provides deterministic file content hashing for change detection.
Package iobuffer provides I/O utility types for bounded buffering.
Package iobuffer provides I/O utility types for bounded buffering.
Package logging - Unified logging configuration
Package logging - Unified logging configuration
Package markdown provides validation utilities for Markdown files.
Package markdown provides validation utilities for Markdown files.
Package moduledeps provides module dependency verification
Package moduledeps provides module dependency verification
Package output provides controlled stdout/stderr capture for TUI mode.
Package output provides controlled stdout/stderr capture for TUI mode.
Package ownership provides the simplified file ownership model.
Package ownership provides the simplified file ownership model.
Package paths provides centralized path constants and utilities for the EAC repository.
Package paths provides centralized path constants and utilities for the EAC repository.
Package repository provides repository-level operations.
Package repository provides repository-level operations.
definitions
Package definitions provides utilities for merging and managing repository definitions.
Package definitions provides utilities for merging and managing repository definitions.
Package resolver provides unified component-to-tool resolution.
Package resolver provides unified component-to-tool resolution.
Package resource provides domain types for resource pool management.
Package resource provides domain types for resource pool management.
Package scheduling provides work unit scheduling with dependency resolution.
Package scheduling provides work unit scheduling with dependency resolution.
specs
export/formats
Package formats provides export formatters for manual test scenarios (CSV, JSON, Markdown).
Package formats provides export formatters for manual test scenarios (CSV, JSON, Markdown).
gherkin
Package gherkin provides parsing utilities for Gherkin feature files.
Package gherkin provides parsing utilities for Gherkin feature files.
Package testing provides shared test context for BDD/Godog tests.
Package testing provides shared test context for BDD/Godog tests.
mocks
Package mocks provides mock implementations of port interfaces for testing.
Package mocks provides mock implementations of port interfaces for testing.
Package testutil provides test fixtures and helpers for unit testing.
Package testutil provides test fixtures and helpers for unit testing.
Package tokensize provides low-cost heuristics for estimating token counts in source files.
Package tokensize provides low-cost heuristics for estimating token counts in source files.
Package tool provides a build bridge that integrates the tool system.
Package tool provides a build bridge that integrates the tool system.
Package validation provides validation types, error codes, and utilities for structured validation.
Package validation provides validation types, error codes, and utilities for structured validation.
formats/json
Package json provides JSON schema validation utilities.
Package json provides JSON schema validation utilities.
formats/oscal
Package oscal provides validators for OSCAL (Open Security Controls Assessment Language) documents.
Package oscal provides validators for OSCAL (Open Security Controls Assessment Language) documents.
Package workspace provides unified workspace detection for the EAC CLI.
Package workspace provides unified workspace detection for the EAC CLI.
Package workunit provides unified types for work unit handling across build, test, lint, and scan commands.
Package workunit provides unified types for work unit handling across build, test, lint, and scan commands.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL