Skip to content

Production versus simulation seam extraction for targeted services #107

Description

@justinrayshort

Summary

Move prototype in-memory and simulation behavior behind explicit repository or harness adapters so production service entrypoints no longer silently depend on heuristic or synthetic runtime behavior.

Primary Architectural Plane

services / workflows / shared

Owning Subsystem

services/governance-service, services/approval-service, services/evidence-service, services/identity-service, services/market-data-service, workflows/quant_strategy_promotion

Architectural References

  • ARCHITECTURE.md
  • docs/architecture/layer-boundaries.md

Integration Boundaries

Allowed touchpoints: targeted services, shared repositories, simulation or local-harness modules, workflow dependency injection.
Explicit non-goals: unrelated domain-service rewrites.

Scope In

  • Extract repository traits for targeted services still holding prototype in-memory state
  • Keep in-memory adapters under test or explicit local-harness or simulation modules
  • Move market-data simulation adapters and synthetic data generation out of default production paths
  • Make quant strategy promotion receive simulation collaborators explicitly
  • Add tests proving production and simulation modes are structurally separated

Scope Out

  • UI runtime work
  • Workspace manifest governance

Acceptance Criteria

  • Touched production service types no longer own prototype persistence directly
  • In-memory or synthetic adapters are explicit harness or simulation choices
  • Added tests prove production mode does not silently route through simulation logic
  • Workspace validation remains green

Validation Requirements

  • cargo fmt --all --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --workspace --all-targets

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions