Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
Accelerator
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Type
/
to search
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
btravstack
/
entity
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
3
Code
Issues
5
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
feat!: abstract roots and union classes
- #46
#46
Merged
btravers
merged 12 commits into
main
btravstack/entity:main
from
worktree-feat-abstract-roots-and-union-classes
btravstack/entity:worktree-feat-abstract-roots-and-union-classes
Copy head branch name to clipboard
Aug 8, 2026
Conversation
Commits
12
(12)
Checks
Files changed
Merged
feat!: abstract roots and union classes
#46
btravers
merged 12 commits into
main
btravstack/entity:main
from
worktree-feat-abstract-roots-and-union-classes
btravstack/entity:worktree-feat-abstract-roots-and-union-classes
Copy head branch name to clipboard
Commits
Commits on Aug 8, 2026
refactor: move extend and its declaration record into base.ts
btravers
committed
ad7a5ba
View commit details
Copy full SHA for ad7a5ba
Browse repository at this point
feat: add Entity.abstract, a tagless root that carries shared behaviour
btravers
committed
8cfc486
View commit details
Copy full SHA for 8cfc486
Browse repository at this point
feat!: entities are final — extend moves to Entity.abstract
btravers
committed
9f8c73a
View commit details
Copy full SHA for 9f8c73a
Browse repository at this point
feat: return a class from Entity.union, so a union is a type with statics
btravers
committed
a8f9b8a
View commit details
Copy full SHA for a8f9b8a
Browse repository at this point
test: model the billing documents as a root and a union class
btravers
committed
921a3bd
View commit details
Copy full SHA for 921a3bd
Browse repository at this point
test: state the extend merge rule and tighten the root's coverage
btravers
committed
8bd0583
View commit details
Copy full SHA for 8bd0583
Browse repository at this point
test: guard that a root's abstract member binds every variant
btravers
committed
5bfd666
View commit details
Copy full SHA for 5bfd666
Browse repository at this point
docs: cover abstract roots, union classes, and the extend migration
btravers
committed
3ba6b63
View commit details
Copy full SHA for 3ba6b63
Browse repository at this point
refactor(example): split the billing domain so the root crosses a module boundary
Show description for b2f1de2
btravers
committed
b2f1de2
View commit details
Copy full SHA for b2f1de2
Browse repository at this point
test: pin what a root does not carry into a variant
Show description for 8983323
btravers
committed
8983323
View commit details
Copy full SHA for 8983323
Browse repository at this point
docs: state what a root does not carry, and re-attach the union's doc block
Show description for d48f670
btravers
committed
d48f670
View commit details
Copy full SHA for d48f670
Browse repository at this point
test: make the sibling-variant equality pin discriminate
Show description for 316adbe
btravers
committed
316adbe
View commit details
Copy full SHA for 316adbe
Browse repository at this point
You can’t perform that action at this time.