Define and generate the kernel execution surface (ports + application orchestration) that executes “business behavior” through deterministic flows, unit-of-work boundaries, and event publication—without coupling to any particular shell (API/CLI/worker).
This plan emphasizes the port-driven kernel: shells translate inputs into commands/queries; the kernel routes and executes.
| ADR ID | Decision Title | Impact on This Plan |
|---|---|---|
| ADR-033 | Kernel-Shell Architecture | Kernel must be runnable/testable independent of shells. |
| ADR-003 | Foundational Isomorphism | Runtime behavior is generated from semantic flows. |
| PRD ID | Requirement Title | Satisfied By (SDS) | Acceptance Criteria |
|---|---|---|---|
| PRD-023 | SEA™ Platform Integration | SDS-013, SDS-048 | REQ-060 (kernel independence) |
| SDS ID | Service/Component | Bounded Context | SEA-DSL Spec File | Implementation Status |
|---|---|---|---|---|
| SDS-013 | Semantic Execution System Architecture | shared |
N/A | Designed |
| SDS-048 | Platform UI Integration | sea-api |
N/A | Draft |
graph TD
ADR33[ADR-033: Kernel-Shell] --> PRD23[PRD-023: Platform Integration]
PRD23 --> SDS13[SDS-013: Execution Architecture]
PRD23 --> SDS48[SDS-048: UI Integration]
1
2
3
4
5
6
7
/
├── libs/sea/
│ ├── domain/src/gen/** # generated domain primitives
│ ├── ports/src/gen/** # generated port interfaces
│ ├── application/src/gen/** # generated use-case handlers
│ └── adapters/src/gen/** # generated adapter wiring (shell-facing)
└── docs/specs/** # semantic source-of-truth
| Cycle | Branch | Wave | Files Modified | Files Created | Specs Implemented |
|---|---|---|---|---|---|
| C1A | cycle/p004-c1a-kernel-ports |
1 | docs/specs/** (kernel flows/policies) |
libs/sea/**/src/gen/** |
ADR-033 + PRD-023 REQ-060 |
| C1B | cycle/p004-c1b-uow-and-events |
1 | tools/schemas/* (if needed) |
libs/sea/**/src/gen/** |
Transaction + outbox semantics |
| C2A | cycle/p004-c2a-shell-agnostic-tests |
2 | docs/specs/shared/tests/* or tests/* |
— | Kernel independence validation |
docs/specs/** inputs, generated libs/sea/**/src/gen/**@tx, @idempotency, @outbox semantics as required by flow contractdocs/specs/**, tools/flow_lint.py, generated libs/sea/**/src/gen/**libs/sea/* can be compiled/tested standalonetests/** (or an existing spec test harness location)tools/flow_lint.py --strict.**/src/gen/**apps/* (PRD-023 REQ-060)@tx) or a first-class concept? @tx annotation on Flowtests/ vs docs/specs/**/tests/) to keep drift checks clean? Collocated *.spec.ts| Risk | Likelihood | Impact | Mitigation Strategy |
|---|---|---|---|
| Kernel semantics leak into shells | Medium | High | Enforce boundaries (P000) + generate thin adapters only. |
| Hard-to-test generated kernel | Medium | Medium | Generate stable test seams (ports) and test via fakes. |
| Type | ID | Document |
|---|---|---|
| SDS | SDS-013 | docs/specs/shared/sds/013-semantic-execution-architecture.md |
| SDS | SDS-048 | docs/specs/shared/sds/048-platform-ui-integration.md |