Skip to content

Introduce foundation architectural support - #14

Draft
dieselxxx wants to merge 80 commits into
developfrom
architecture/foundation-support
Draft

dieselxxx wants to merge 80 commits into
developfrom
architecture/foundation-support

Conversation

@dieselxxx

@dieselxxx dieselxxx commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

🧱 System Design / Architecture Pull Request

Related Issue

Description

  • Define the architectural support required for the FireHub Foundation layer by introducing Core-level contracts for high-level abstractions.

  • Establish the system boundary between Core, Runtime, and Foundation:

    • Core defines stable architectural contracts.
    • Foundation provides high-level developer-facing implementations.
    • Runtime provides low-level execution primitives.
    • Applications consume Foundation APIs without depending on internal execution details.
  • This architecture is required to prevent Core components from depending directly on Foundation implementations while still allowing Core Value Objects, contracts, and framework components to reference fundamental high-level concepts.

  • The decision ensures that FireHub maintains a clean dependency direction:
    Application

    Foundation

    Core Contracts

    Runtime

Affected Components

Core

  • Introduces minimal contracts required by Foundation components.
  • Defines the architectural truth for fundamental abstractions.
  • Remains free from implementation details and high-level API logic.

Runtime

  • Remains responsible for low-level execution and native operation wrappers.
  • Provides implementation primitives used by Foundation.
  • Does not depend on Foundation.

Foundation

  • Implements Core contracts.
  • Provides rich, object-oriented APIs for developers.
  • Becomes the primary high-level API layer of the FireHub ecosystem.

Adapter

  • No direct impact.
  • May consume Foundation APIs where integration logic requires higher-level abstractions.

Capability

  • No direct impact.
  • Future capabilities may depend on Core contracts or Foundation APIs depending on their responsibility.

Architectural Rule

Core contracts MUST define only the minimum required behavior of an abstraction.

High-level APIs, fluent methods, transformations, and developer conveniences MUST remain in Foundation.

This separation allows FireHub to evolve Core, Runtime, and Foundation independently while preserving a stable architectural foundation.

Architecture Overview

System Design

  • Describe the architecture being introduced or enforced:
    • Core structure:
    • Contracts:
    • Boundaries:
    • Dependencies:

Design Decisions

  • Key architectural decisions made:
    • ...
  • Why these decisions were chosen:
    • ...
  • Rejected alternatives (if applicable):
    • ...

System Boundaries

Included

  • What is part of this architecture:
    • ...

Excluded

  • What is explicitly NOT part of this architecture:
    • Runtime logic
    • Infrastructure concerns (if applicable)
    • Adapters / external integrations (if applicable)

Implementation

Core Changes

  • Files / modules introduced or modified:
    • ...

Contracts

  • New or updated Core contracts:
    • ValueObjects:
    • Exceptions:
    • Interfaces:

Dependencies

  • New dependencies introduced:
    • ...
  • Impact on existing packages:
    • core-standard
    • core-professional
    • core-enterprise

Validation

Architecture Compliance

  • Matches defined Architecture issue
  • No violation of Core / Runtime separation
  • No unintended business logic introduced
  • No infrastructure logic inside Core

Build & Stability

  • Project builds successfully
  • No breaking changes (or properly documented)
  • Backward compatibility considered

Impact Analysis

Core Impact

  • Impact on Core contracts:
    • ...

Runtime Impact

  • Required runtime changes:
    • ...

Future Extensions

  • How this architecture enables future development:
    • ...

Risks / Constraints

Risk Level

  • None
  • Low
  • Medium
  • High

Potential Risks

  • Architecture lock-in:
    • ...
  • Breaking changes for downstream packages:
    • ...
  • Over-abstraction risks:
    • ...

Documentation

  • Architecture documented in repository / docs
  • Design decisions explained
  • Examples provided (if applicable)
  • Migration notes are added (if needed)

Checklist

  • Architecture issue linked
  • System boundaries are clearly defined
  • Core/Runtime separation respected
  • No experimental or temporary code included
  • Implementation matches architectural design
  • Reviewed for long-term maintainability

Notes

Technical Notes

  • ...

Future Work

  • Feature issues derived from this architecture:
    • ...

Reviewer Guidance

  • Focus on:
    • architectural correctness
    • boundary enforcement
    • long-term scalability

… introduce Core/Foundation concepts

**Details:**
- Updated all badge links, URLs, and branch references in `README.md` to align with the new `architecture/foundation-support` branch.
- Introduced detailed descriptions of Core/Foundation architectural layers, including dependency direction and separation of development responsibilities (Core → Foundation → Runtime).
- Added milestones and pull request metadata to improve visibility of ongoing development efforts.
- Expanded documentation to clarify goals for the Core layer: define stable architectural contracts while delegating developer-facing APIs to the Foundation layer.
- Removed outdated or redundant sections for improved clarity and relevance.

This update improves the consistency, readability, and alignment of the README with the FireHub project's evolving architecture and development practices.
@dieselxxx dieselxxx added the type: Architecture Represent changes that define, enforce, or modify the structural design of the FireHub ecosystem. label Jul 28, 2026
@dieselxxx dieselxxx moved this from Backlog to Draft in 📌 Core Development: v0 → v1 Jul 28, 2026
@dieselxxx dieselxxx moved this from Todo to Done in 🚩 Triage Jul 28, 2026
@dieselxxx dieselxxx linked an issue Jul 28, 2026 that may be closed by this pull request
2 tasks
@dieselxxx dieselxxx removed a link to an issue Jul 28, 2026
2 tasks
@dieselxxx dieselxxx linked an issue Jul 28, 2026 that may be closed by this pull request
2 tasks
@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

@dieselxxx dieselxxx changed the title Update README to reflect architecture/foundation-support branch and… Introduce foundation architectural support Jul 28, 2026
@dieselxxx dieselxxx added this to the Development v1 milestone Jul 28, 2026
**Details:**
- Introduced an abstract `Str` class in `Core-Standard/src/Type/Str.php` to define the foundational string-based Value Object type within the FireHub ecosystem.
- Implements immutable string value semantics while serving as the base for domain-specific string extensions in higher-level layers (e.g., Foundation).
- Provides a clear contract for string handling with its abstract `value(): string` method.
- Aligns with the Core layer's goal of ensuring stable architectural contracts and PHP compatibility (`>=8.2`).

This addition enhances the modularity and type safety of Core string operations, ensuring future extensibility and clear separation of responsibilities.
…h encoding support

**Details:**
- Added `Str::encoding()` and `Str::withEncoding()` methods in `Core-Standard/src/Type/Str.php` to provide string encoding introspection and mutation via an `Encoding` value object. Improves versatility for handling internationalization and character encoding scenarios.
- Updated `ValueObject::equals()` in `Core-Standard/src/Type/ValueObject.php` to utilize `comparisonValue()` for equality checks, ensuring consistency in comparison logic across all Value Object subclasses.
- Introduced protected `comparisonValue()` method in `ValueObject` to centralize comparison logic by delegating to the underlying value representation.
- Adjusted `@uses` annotations in `ValueObject` doc comments for better clarity and alignment with new comparison logic.

These updates enhance both the flexibility of the `Str` class for encoding management and the reliability of `ValueObject` comparison semantics, contributing to a more robust Core layer architecture.
**Details:**
- Extended `Str` base Value Object to implement PHP's native `Stringable` interface, ensuring compatibility with type hints requiring `Stringable` in PHP `>=8.0`.
- Introduced the `__toString()` method in `Str` to provide a native string representation of its value. This method utilizes `value()` for consistent output.
- Updated class imports and doc comments to reflect the addition of the `Stringable` dependency and enhanced functionality.

These changes enhance the interoperability of the `Str` class with both internal and external PHP components, improving compatibility and usability within the FireHub ecosystem.
…d `Char` type

**Details:**
- Extracted encoding-aware functionality from `Str` into a new `StringValue` abstract class in `Core-Standard/src/Type/StringValue.php`, preserving the immutable string value semantics.
- Updated `Str` in `Core-Standard/src/Type/Str.php` to extend `StringValue`, simplifying its structure for domain-specific usage and aligning with Core's modular architecture.
- Added `Char` abstract class in `Core-Standard/src/Type/Char.php` to define the base for character-based Value Objects. Ensures support for handling single characters with encoding awareness.
- Updated class hierarchy to establish clear separation of concerns between general `StringValue` contracts and domain-specific `Str` and `Char` implementations.

These changes enhance the modularity and extensibility of the Core layer, simplifying future extensions and reinforcing separation of architectural responsibilities.
…ar` objects

**Details:**
- Introduced an abstract `toChars(): array` method in the `Str` class within `Core-Standard/src/Type/Str.php`.
- Provides a mechanism to split the immutable string value into a list of `Char<non-empty-string>` objects.
- Enhances the extensibility of the `Str` class for character-level operations, aligning with the FireHub ecosystem's focus on modularity and type safety.

This update lays the groundwork for fine-grained string manipulations, improving support for encoding-aware scenarios and future extensions.
**Details:**
- Introduced an abstract `Boolean` class in `Core-Standard/src/Type/Boolean.php` to define the foundational boolean-based Value Object type within the FireHub ecosystem.
- Implements immutable boolean value semantics while serving as the base for domain-specific boolean extensions in higher-level layers (e.g., Foundation).
- Provides a clear contract for boolean handling with its abstract `value(): bool` method.
- Aligns with the Core layer's focus on defining stable architectural contracts and PHP type safety (`>=8.2`).

This addition strengthens the modularity, type safety, and extensibility of the Core layer, ensuring clarity and consistency for boolean-related operations within the FireHub project.
**Details:**
- Deleted the `Decimal` abstract class in `Core-Standard/src/Type/Number/Decimal.php`, initially designed as an immutable floating-point value object.
- The removal reflects a decision to streamline numeric type abstractions, reducing redundancy while aligning Core's scope with clearer architectural priorities.
- Cleans up unused functionality and simplifies the Core layer's numeric type hierarchy.

This change eliminates unnecessary complexity, ensuring a leaner and more focused Core architecture within the FireHub ecosystem.
**Details:**
- Introduced abstract `isTrue(): bool` and `isFalse(): bool` methods in the `Boolean` class within `Core-Standard/src/Type/Boolean.php`.
- Provides explicit contracts for checking boolean value states, improving clarity and semantic expressiveness in boolean handling.
- Reinforces the immutability and type safety principles of the `Boolean` Value Object, aligning with the FireHub Core's design philosophy.

This update enhances the usability and readability of the `Boolean` base class while paving the way for consistent boolean state-checking operations.
**Details:**
- Introduced an abstract `codepoint(): int` method in the `Char` class within `Core-Standard/src/Type/Char.php`.
- Defines a contract for retrieving the Unicode code point of a character, returning a non-negative integer.
- Enhances the extensibility of the `Char` class for character-level operations, aligning with the modular and type-safe design principles of the FireHub Core.

This addition improves support for fine-grained character processing while maintaining the immutability and clarity of the `Char` Value Object.
…ar` contract

**Details:**
- Added a new `Codepoint` class (`Core-Standard/src/Type/Char/Codepoint.php`) to represent immutable Unicode code points, incorporating validation for valid scalar values within the range of U+0000 to U+10FFFF (excluding surrogates).
- Created an `InvalidCodepointException` class for handling invalid Unicode code point scenarios.
- Updated the `Char` class (`Core-Standard/src/Type/Char.php`) to return a `Codepoint` object through its `codepoint()` method, enhancing the type safety and extensibility of the `Char` Value Object.
- Removed unnecessary `final` keyword from the `Code` class definition to ensure alignment with extensibility policies.

These changes provide robust Unicode handling within the Core layer while reinforcing the immutability and clarity principles of value object design in the FireHub ecosystem.
**Details:**
- Added `isPositive(): bool`, `isNegative(): bool`, and `isZero(): bool` methods to the `Number` base class in `Core-Standard/src/Type/Number.php` for checking numeric states.
- Introduced abstract methods `isFinite(): bool`, `isInfinite(): bool`, and `isNaN(): bool` to the `Real` class in `Core-Standard/src/Type/Number/Real.php`.
- Enhances the extensibility and semantic clarity of numeric value objects, ensuring robust type-safe contracts for numeric state evaluations in the FireHub Core.

These enhancements align with the FireHub ecosystem's focus on immutability, clarity,
**Details:**
- Introduced the `MutationOutcome` enum in `Core-Standard/src/Meta/Enum/MutationOutcome.php` to standardize results for create, update, remove, and not-found mutation operations.
- Includes four cases: `CREATED`, `UPDATED`, `REMOVED`, and `NOT_FOUND`, with comprehensive PHPDoc annotations for clarity and consistency.
- Targets PHP 8.1+ to align with modern language standards and enhance type safety.

This addition provides a clear, extensible mechanism to represent mutation outcomes, promoting standardization and clarity across the FireHub Core ecosystem.
**Details:**
- Introduced the `Iteration` interface in `Core-Standard/src/Boundary/Capability/Iteration.php` to define a contract for accessing an iterable sequence of values without dictating storage or traversal mechanisms. Includes the `iterate()` method for returning an iterable sequence.
- Added the `Traversal` interface in `Core-Standard/src/Boundary/Capability/Traversal.php` to specify a traversal mechanism for iterable values with controlled semantics and an optional `$limit` parameter in the `traverse()` method.
- Both interfaces are designed with PHP generics (`@template`) for type safety and extensibility.

These additions establish foundational contracts for iterable value management, aligning with FireHub's principles of clarity, modularity, and type safety.
…ort` branch

**Details:**
- Updated branch references in the PHPStan, PHPUnit, and Codecov badges from `architecture/error-exception-base` to `architecture/foundation-support`.
- Ensures that badges reflect the latest workflow and coverage for the active branch.
**Details:**
- Added a new `module_meta` component to `.github/codecov.yaml` with a target coverage of 80%.
- Configured paths to include `src/Meta/**` for code coverage tracking.
- Aligns with the existing structure for modular coverage configuration in the Core-Standard repository.
…urement in Core-Standard

**Details:**
- Introduced mutation interfaces:
  - `BackInsertion`, `BackRemoval`, `BackMutation`
  - `FrontInsertion`, `FrontRemoval`, `FrontMutation`
  - `DequeMutation`, `IndexMutation`, and `KeyMutation`
  These interfaces define contracts for mutating data at specific boundaries, by indices, or by keys while adhering to FireHub's principles of clarity and immutability.

- Added access interfaces:
  - `IndexAccess`, `KeyAccess`, and `BoundaryAccess`
  These provide contracts for read-only access to values by index, by key, or at the front and back of sequences.

- Added measurement interfaces:
  - `Metrics` and `Capacity`
  These define contracts for size metrics and bounded capacity awareness.

These additions establish a robust framework for structured data access, manipulation, and measurement, fostering consistency and modularity across the FireHub Core ecosystem.
**Details:**
- Updated `@extends` PHPDoc annotations in `BackMutation`, `FrontMutation`, and `DequeMutation` interfaces to reference `FireHub\Core\Boundary\Capability\Mutation` instead of `FireHub\Foundation\DataStructure\Storage\Capability`.
- Ensures consistent namespace usage across Core-Standard components, aligning with the modular structure of the FireHub ecosystem.
…s for access and measurement

**Details:**
- Updated `Vector` interface:
  - Extended from `IndexAccess` to formalize positional access capabilities.
  - Enhanced PHPDoc annotations for clarity on vector semantics, including ordered, indexed access and value mutability independence.

- Updated `Collection` interface:
  - Extended from `Metrics` to establish a contract for collection size measurement.
  - Refined PHPDoc to align with FireHub's modular conventions.

These improvements ensure precise, consistent contracts for collections, enhancing clarity, extensibility, and modularity across the FireHub Core ecosystem.
…upport

**Details:**
- Updated `Vector` interface to extend `BoundaryAccess`, formalizing read-only access to boundary elements alongside existing `IndexAccess` capabilities.
- Reflected the change in PHPDoc annotations for both `Vector` interface and its extended contracts.
- Ensures consistency with FireHub's access capability interfaces, enhancing modularity and clarity in data structure semantics.
…ption` for absence handling

**Details:**
- Updated `Maybe` abstract type to include a `value()` method, enabling retrieval of the contained value.
- Added `NoValueException` in `Core-Standard/src/Type/Exception/NoValueException.php` to handle attempts to access a value from a `Maybe` instance representing the absence of data.
- Ensures clearer and more robust handling of optional values, adhering to FireHub's principles of immutability, type safety, and modern PHP standards.
… conversion contracts

**Details:**
- Introduced the `Arrayable` interface in `Core-Standard/src/Boundary/Capability/Conversion/Arrayable.php` to define a contract for converting objects to array representations via the `toArray()` method.
- Added the `Jsonable` interface in `Core-Standard/src/Boundary/Capability/Conversion/Jsonable.php` to specify a contract for JSON conversion using the `toJson()` method.
- Incorporated PHP generics (`@template`) in `Arrayable` for enhanced type safety in array key and value definitions.
- Both interfaces emphasize clarity, modularity, and extensibility while adhering to FireHub's principles of modern PHP standards and ecosystem consistency.

These additions establish foundational conversion contracts for object interoperability, ensuring seamless integration across the FireHub ecosystem.
**Details:**
- Enhanced PHPDoc for the `set` method in `IndexMutation` to document the new `NOT_FOUND` outcome when the index does not exist.
- Improves clarity and completeness of the mutation contract, aligning with FireHub's principles of robust and explicit documentation.
…instances

**Details:**
- Introduced the `Forkable` interface in `Core-Standard/src/Boundary/Capability/Forkable.php` to define a contract for creating independently mutable forks of instances via the `fork()` method.
- Documented the contract's semantics, including initial state sharing, divergence through mutation, and copy-on-write strategies.
- Enhances modularity and immutability principles in the FireHub Core ecosystem, providing a reusable mechanism for safe instance duplication.
…ce for double-ended collections

**Details:**
- Updated `Vector` interface to extend `Linear`, refining its classification as a linear data structure.
- Added a new `Deque` interface to represent double-ended collections, supporting access to both front and back boundaries.
- Documented `Deque`'s semantics, ensuring clarity on its linear, ordered, and boundary-accessible nature.

These changes enhance the FireHub Core ecosystem with clearer data structure contracts, adhering to modularity and extensibility principles.
…in annotations

**Details:**
- Modified the `Deque` interface's PHPDoc to correctly extend `BoundaryAccess` instead of `IndexAccess`.
- Ensures accurate documentation of the `Deque` interface, highlighting its focus on boundary-based access operations.
- Aligns with FireHub's principles of clear, precise, and consistent type contracts.
**Details:**
- Extracted `last()` into a new `BackAccess` interface to define back boundary access.
- Extracted `first()` into a new `FrontAccess` interface to define front boundary access.
- Updated `BoundaryAccess` to extend `FrontAccess` and `BackAccess` for modular composition.
- Ensures clearer separation of concerns and enhanced flexibility in boundary access capabilities, adhering to FireHub's principles of modularity and extensibility.
**Details:**
- Introduced the `Stack` interface for last-in, first-out collections with clear, annotated semantics about its linear structure and top-bound access.
- Adjusted import ordering in `Vector` and `Deque` to align with FireHub's namespace conventions.
- Enhances the Core ecosystem by extending modularity and clarifying type contracts for stack-based data structures.
…ions

**Details:**
- Introduced a new `Queue` interface in `Core-Standard/src/Boundary/Type/DataStructure/Collection/Queue.php` to define a contract for first-in, first-out (FIFO) linear collections.
- Extended `Linear`, `Collection`, and `FrontAccess` interfaces to integrate linearity, collection semantics, and front-bound access capabilities.
- Documented `Queue` semantics, emphasizing its ordered value preservation and deterministic front-access behavior.
- Enhances the FireHub Core ecosystem with a modular, extensible type contract for FIFO-based data structures, adhering to the project's principles of clarity and robust design.
…ifications

**Details:**
- Introduced the `Unordered` interface to classify data structures without positional order semantics, documenting characteristics like membership testing, uniqueness, and multiplicity support.
- Added the `Associative` interface to classify data structures that organize values by key-value association, emphasizing keyed access and mutation capabilities.
- Both interfaces enhance the FireHub Core ecosystem by defining modular and extensible type contracts for structural classification while adhering to project standards of clarity and robust design.
…efactor generic type annotations across data structures

**Details:**
- Introduced the `Map` interface in `Core-Standard/src/Boundary/Type/DataStructure/Collection/Map.php` to describe associative collections maintaining key-value pairs. Documented its semantics with a focus on deterministic access via keys and constraints on key-value associations.
- Updated generic type annotations in `Collection`, `Queue`, `Stack`, `Deque`, `Vector`, and `DataStructure` to include the `TKey` template parameter, enabling support for typed keys in collections.
- Adjusted `Collection` to extend `DataStructure<TKey, TValue>` and `Enumerable<TKey, TValue>` for consistency in hierarchical type contracts.
- Enhances the FireHub Core ecosystem by enabling clearer type safety, extensibility, and modularity while maintaining alignment with project principles of robust design and modern PHP standards.
…ntract

**Details:**
- Removed the `BoundaryAccess` import and inheritance from the `Map` interface in `Core-Standard/src/Boundary/Type/DataStructure/Collection/Map.php`.
- Streamlined `Map` to focus solely on `KeyAccess` for key-based associative collections, aligning with its primary purpose.
- Improves clarity and reduces unnecessary complexity in the `Map` interface, adhering to FireHub's principles of modularity and precise type contracts.
**Details:**
- Eliminated the unnecessary `BoundaryAccess` inheritance from the `Map` interface in `Core-Standard/src/Boundary/Type/DataStructure/Collection/Map.php`.
- Streamlines the `Map` contract to focus exclusively on `KeyAccess` for clarity and reduced complexity.
- Enhances modularity and precision of type definitions, adhering to FireHub's principles of clear and robust design.
…tationOutcome` enum

**Details:**
- Introduced the `Set` interface in `Core-Standard/src/Boundary/Type/DataStructure/Collection/Set.php` to define a contract for unique value collections, documenting membership semantics and enforcing value equality without prescribing internal implementation.
- Added the `ValueAccess` interface to provide a capability for membership testing, ensuring modularity in value retrieval operations.
- Implemented the `ValueMutation` interface for value-based mutation capabilities, defining operations for adding and removing values with clear outcome semantics.
- Extended the `MutationOutcome` enum to include the `ALREADY_EXISTS` case, enhancing mutation result granularity for operations like `add`.
- Enhances the FireHub Core ecosystem by introducing modular and extensible core concepts, adhering to project principles of robust design, clarity, and modern PHP standards.
…tMetrics` interfaces for multiplicity and distinct value operations

**Details:**
- Introduced the `MultiplicityAccess` interface to provide multiplicity-based value access, enabling frequency counting of specific values in objects.
- Added the `MultiplicityMutation` interface to define mutation operations, including adding, removing, and clearing occurrences of values.
- Defined the `Bag` interface as an unordered data structure supporting multiple occurrences of logically equal values, integrating `MultiplicityAccess`, `Unordered`, and `Collection` capabilities.
- Implemented the `DistinctMetrics` interface for measuring the count of distinct values in data structures.
- These additions enrich the FireHub Core ecosystem with modularity, extensibility, and contracts for working with data structures that distinguish between occurrences and distinct values, adhering to project standards of robust design and modern PHP practices.
**Details:**
- Updated the `add`, `remove`, and `removeAll` methods in `MultiplicityMutation` to return `MutationOutcome` instead of primitive types for consistent mutation results.
- Enhanced method documentation with detailed descriptions of possible enum values (`CREATED`, `ALREADY_EXISTS`, `REMOVED`, `UPDATED`, `NOT_FOUND`) for precise outcome semantics.
- Added a `use` statement for the `MutationOutcome` enum to improve code clarity and maintainability.
- Aligns with FireHub Core's design principles of modern PHP practices, robust type safety, and meaningful return types.
**Details:**
- Updated PHPDoc for the `add` method in `MultiplicityMutation` to replace the outcome `ALREADY_EXISTS` with `UPDATED` for scenarios where an existing value is updated with a new occurrence.
- Aligns outcome terminology with the `MutationOutcome` enum semantics for greater precision and consistency in mutation operations.
**Details:**
- Introduced the `Stream` interface in `Core-Standard/src/Boundary/Type/DataStructure/Stream.php` to define a contract for sequences of values that can be produced lazily and consumed incrementally.
- Documented `Stream` characteristics, including support for finite, unbounded, or externally produced sequences without requiring full materialization in memory.
- Extended `DataStructure` and `Enumerable` interfaces, specifying that a `Stream` does not guarantee reusable iteration, known size, or random access.
- Enhances the FireHub Core ecosystem by enabling modular and extensible support for lazy and on-demand data streams, adhering to principles of clarity, robust design, and modern PHP practices.
…presentations

**Details:**
- Introduced the `Record` interface in `Core-Standard/src/Boundary/Type/DataStructure/Record.php` to define a contract for composite values made of logically related components, distinguishing it from collections.
- Added the `Struct` interface in `Core-Standard/src/Boundary/Type/DataStructure/Record/Struct.php` to represent fixed-size keyed records with immutable key sets, extending `Record` and `KeyAccess`.
- Implemented the `Tuple` interface in `Core-Standard/src/Boundary/Type/DataStructure/Record/Tuple.php` to define a fixed-size positional record with zero-based integer indexing, extending `Record`, `Linear`, and access-related interfaces.
- Enhances the FireHub Core ecosystem by providing modular and extensible structures for logically grouped data, adhering to robust design and clarity principles.
**Details:**
- Added the `Unordered` interface to the `Struct` contract in `Core-Standard/src/Boundary/Type/DataStructure/Record/Struct.php`, aligning its definition with unordered classification semantics.
- Removed the redundant `Linear` inheritance from the `Tuple` interface in `Core-Standard/src/Boundary/Type/DataStructure/Record/Tuple.php` to simplify its type hierarchy.
- Enhances the FireHub Core ecosystem by refining structural classifications and ensuring adherence to clear and robust design principles.
**Details:**
- Eliminated the unnecessary `BoundaryAccess` import and inheritance from the `Tuple` interface in `Core-Standard/src/Boundary/Type/DataStructure/Record/Tuple.php`.
- Streamlined the `Tuple` contract to focus solely on `IndexAccess` and other relevant classifications for fixed-size positional records.
- Improves clarity and reduces complexity, aligning with FireHub's principles of modularity and precise type definitions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: Architecture Represent changes that define, enforce, or modify the structural design of the FireHub ecosystem.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Foundation Support

2 participants