Skip to content

Improve Engine: rename project, add Cratis packages, introduce ConceptAs types, and model Constraints - #3

Draft
einari with Copilot wants to merge 3 commits into
mainfrom
copilot/improve-engine-project
Draft

Improve Engine: rename project, add Cratis packages, introduce ConceptAs types, and model Constraints#3
einari with Copilot wants to merge 3 commits into
mainfrom
copilot/improve-engine-project

Conversation

Copilot AI commented Feb 26, 2026

Copy link
Copy Markdown
Contributor
  • Rename VerticalSlices.Engine.csproj to Engine.csproj and update all references
  • Add Cratis.Fundamentals, Cratis.Chronicle, and Cratis.Arc to Directory.Packages.props and Engine.csproj
  • Create ConceptAs<> implementations for all primitive string types
  • Add ConstraintType enum; update domain records to use concept types; enhance Constraint
  • Remove redundant static implicit operator T(ConceptAs<T>) from all concept files — already provided by ConceptAs<> base class
  • Update concept instructions to clarify the base class already provides the ConceptAs<T>T conversion

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

…tAs types, enhance Constraint

Co-authored-by: einari <134365+einari@users.noreply.github.com>
Copilot AI changed the title [WIP] Refactor project name and add new dependencies Improve Engine: rename project, add Cratis packages, introduce ConceptAs types, and model Constraints Feb 26, 2026
@einari

einari commented Feb 26, 2026

Copy link
Copy Markdown
Contributor

@copilot Great. The operator overload for converting to the primitive type is implemented in the base type ConceptAs<>, so this is not needed. Add this to the concept instructions.

…date concept instructions

Co-authored-by: einari <134365+einari@users.noreply.github.com>

Copilot AI commented Feb 26, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Great. The operator overload for converting to the primitive type is implemented in the base type ConceptAs<>, so this is not needed. Add this to the concept instructions.

Removed the redundant ConceptAs<T> → T implicit operators from all concept files in 66ca434. Also updated the concept instructions to clarify that ConceptAs<T> already provides both directions of conversion, so only the string → ConceptXxx operator needs to be defined explicitly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants