chore(repo): initialize project's repository structure

- Adds src/tests/docs scaffolding
- Preserves Stage 1 planning tasks
- Adds local AI orchestration folders (.agile, tasks)
- Applies GitFlow development base branch
This commit is contained in:
José René White Enciso 2026-02-24 04:42:38 -06:00
commit 0d1921fef1
7 changed files with 126 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.tasks/
.agile/

View File

@ -0,0 +1,32 @@
@startuml
skinparam shadowing false
skinparam packageStyle rectangle
title furniture-domain module map
package "furniture-domain" {
package "Availability" {
class FurnitureAvailabilityPolicy
class AvailabilityComposition
}
package "Abstractions" {
interface IFurnitureDomainDecision
}
}
package "building-block-inventory" {
class InventoryItemLookupResponse
}
package "building-block-catalog" {
class ProductContract
}
InventoryItemLookupResponse ..> AvailabilityComposition
ProductContract ..> AvailabilityComposition
note bottom
Domain decision layer only.
No transport or persistence implementation.
end note
@enduml

View File

@ -0,0 +1,27 @@
# Furniture Domain Repository Charter
## Purpose
`furniture-domain` owns furniture capability decision and composition rules currently held in service application.
## Ownership
- Furniture domain owns availability composition semantics.
- Service remains orchestration-only.
- DAL remains persistence and translation-only.
## Scope
- Availability decision/composition rules
- Domain abstractions for capability aggregation
- Domain invariants and behavior contracts
## Out of Scope
- gRPC/REST transport wiring
- Provider/repository implementation
- BFF edge adaptation
## Dependency Boundary
Allowed direction:
- `blueprint-platform` -> `building-block-inventory` + `building-block-catalog` -> `furniture-domain`
Forbidden:
- Domain references to DAL, Service, or BFF
- Any identity logic ownership outside Thalos

View File

@ -0,0 +1,22 @@
# Furniture Domain Boundary Rules
## Domain Owns
- Availability composition decisions
- Capability aggregation semantics
- Domain invariants
## Service Owns
- Use-case orchestration
- Transport contract adaptation
## DAL Owns
- Persistence/retrieval
- Technical data translation
## BFF Owns
- Edge transport exposure
- Service client adaptation
## Forbidden
- Domain references to DAL/Service/BFF
- Domain runtime wiring concerns

View File

@ -0,0 +1,10 @@
# Behavior Invariants for Domain Extraction
## Invariants
- Availability decision outcome remains unchanged for equivalent inputs.
- Correlation propagation behavior remains unchanged.
- Transport contracts stay stable at service boundary.
## Validation Approach
- Compare pre/post extraction contract examples.
- Keep orchestration path stable while decision ownership moves.

View File

@ -0,0 +1,14 @@
# Furniture Service to Domain Migration Map
## Candidate Migrations
| Current Source | Target Domain Area | Ownership Outcome |
|---|---|---|
| furniture-service availability use case flow | Domain/AvailabilityPolicies | Domain owns decision logic |
| furniture-service contract composition logic | Domain/CompositionRules | Service remains orchestration only |
| service-level decision branches | Domain/DecisionRules | DAL and BFF stay technical |
## Service After Extraction
- Orchestration only
- Delegation to domain abstractions
- No direct decision ownership

View File

@ -0,0 +1,19 @@
# Stage 7 Provisioning Checklist - furniture-domain
## Preconditions
- [ ] Dependency direction verified against rules/15-workspace-dependency-graph.md.
- [ ] Building block contract dependencies identified.
## Provisioning Scope
- [ ] Create domain-only module structure.
- [ ] Define availability domain contracts and abstractions.
- [ ] Publish ownership boundaries with service and DAL.
## Guardrails
- [ ] No runtime wiring changes.
- [ ] No provider/repository implementation.
- [ ] No BFF transport concerns.
## Handoff
- [ ] Service orchestration refactor plan documented.
- [ ] DAL boundary alignment plan documented.