epic-12: after epic audit and init commit

This commit is contained in:
2026-05-16 11:42:00 +04:00
commit c77277af0b
461 changed files with 28958 additions and 0 deletions
@@ -0,0 +1,503 @@
---
name: "Core Transitions Submodule Spec"
description: "Specification for :core:transitions workflow graph engine"
depth: 2
links: ["../index.md", "./core-module-spec.md", "./core-validation-submodule-spec.md"]
---
# :core:transitions module specification
version: 0.1-draft
status: foundational specification
---
# 1. purpose
`:core:transitions` defines the deterministic workflow transition engine for correx.
It is the authoritative subsystem for:
* workflow graph semantics
* transition evaluation
* stage progression
* condition evaluation
* retry semantics
* branching semantics
* deadlock/cycle detection
* execution progression guarantees
`:core:transitions` determines:
* what execution path is legal
* when workflow state may advance
* how failures propagate
* how retries are controlled
---
# 2. responsibilities
`:core:transitions` owns:
* workflow graph contracts
* transition contracts
* transition evaluation semantics
* condition evaluation
* retry policies
* branching semantics
* terminal state semantics
* cycle detection
* deadlock detection
* transition replay semantics
* execution progression guarantees
---
# 3. non-responsibilities
`:core:transitions` MUST NOT own:
* model inference
* tool execution
* persistence implementations
* websocket streaming
* projection persistence
* approval implementation
* context synthesis
* provider management
`:core:transitions` decides legality of progression only.
---
# 4. architectural role
`:core:transitions` acts as:
* deterministic workflow state machine
* execution progression authority
* orchestration legality validator
* workflow graph evaluator
All workflow progression MUST pass through this subsystem.
---
# 5. design principles
## 5.1 transitions are deterministic
Transition evaluation MUST depend only on:
* current projections
* current workflow config
* current event history
Transition evaluation MUST NOT depend on:
* hidden runtime state
* provider internals
* model memory
* nondeterministic mutable state
---
## 5.2 workflow graphs are explicit
All execution paths MUST be explicitly declared.
Implicit execution flow is forbidden.
---
## 5.3 transitions are validated
All transitions MUST be validated before execution.
Invalid transitions MUST fail explicitly.
---
## 5.4 retries are state-aware
Retries MUST evaluate:
* current projections
* side effects
* prior failures
* retry policies
Blind retries are forbidden.
---
# 6. workflow graph model
## graph definition
A workflow graph consists of:
```text id="3d3shm"
Stages
Transitions
Conditions
Terminal states
Retry rules
Failure rules
Approval gates
```
---
## graph guarantees
Workflow graphs MUST be:
* deterministic
* acyclic unless explicitly declared cyclic
* statically validated
* replay-safe
---
# 7. stage model
## stage definition
A stage represents:
* one bounded execution unit
* one orchestration checkpoint
* one validation boundary
Stages MUST have:
* unique identifier
* declared inputs
* declared outputs
* declared transition rules
---
# 8. transition model
## transition definition
A transition represents:
* legal movement between stages
Transitions MUST define:
* source stage
* target stage
* condition set
* retry behavior
* failure behavior
---
## transition guarantees
Transitions MUST:
* emit events
* remain replayable
* remain deterministic
* remain validation-aware
---
# 9. condition evaluation model
Conditions MAY evaluate:
* artifact fields
* projections
* approvals
* validation outcomes
* policy outcomes
* retry counters
---
## condition guarantees
Condition evaluation MUST be:
* side-effect free
* deterministic
* replay-safe
---
## forbidden condition behavior
Forbidden:
* network access
* filesystem mutation
* model execution
* tool execution
* hidden mutable state access
---
# 10. transition DSL requirements
Transition definitions MUST support:
```yaml id="6dqarf"
when:
all:
- artifact.status == "valid"
- projection.open_risks < 2
- approval.tier <= T2
```
Required features:
* boolean composition
* projection queries
* artifact queries
* retry conditions
* approval conditions
---
# 11. retry model
Retries MUST be:
* bounded
* explicit
* evented
* replayable
Retries MUST evaluate:
* prior failures
* side effects
* policy restrictions
* retry budget
---
## retry guarantees
Retries MUST NOT:
* loop infinitely
* ignore state mutation
* bypass validation
* bypass approvals
---
# 12. failure propagation model
Failures MAY:
* retry current stage
* branch to recovery stage
* escalate approval
* terminate session
* pause workflow
Failure behavior MUST be explicitly declared.
---
# 13. branching semantics
Supported branching:
* linear progression
* conditional branching
* recovery branching
* retry branching
* terminal branching
Parallel execution MAY be introduced later but is not required initially.
---
# 14. terminal state semantics
Mandatory terminal outcomes:
```text id="avqvsv"
COMPLETED
FAILED
CANCELLED
BLOCKED
```
Terminal states MUST:
* stop progression
* emit lifecycle events
* preserve replay integrity
---
# 15. cycle detection
Workflow validation MUST detect:
* unintended cycles
* unreachable stages
* dead transitions
* infinite retry loops
Explicit cycles MUST require:
* explicit configuration
* bounded termination conditions
---
# 16. deadlock detection
Transition validation MUST detect:
* approval deadlocks
* retry deadlocks
* dependency deadlocks
* unreachable terminal states
Invalid graphs MUST fail at config load time.
---
# 17. transition execution guarantees
Transitions MUST:
* occur atomically
* emit events
* preserve ordering
* preserve replay consistency
Partial transitions are forbidden.
---
# 18. replay guarantees
Transition replay MUST reproduce:
* stage progression
* branching decisions
* retry decisions
* terminal outcomes
Replay MUST NOT require:
* live models
* live tools
* provider access
---
# 19. observability requirements
`:core:transitions` MUST expose telemetry hooks for:
* transition evaluation
* branching decisions
* retry timelines
* deadlock detection
* graph traversal
* stage duration
* failure propagation
---
# 20. security boundaries
Transition logic defines execution legality boundaries.
Transitions MUST NOT:
* bypass approvals
* bypass validation
* bypass policies
* bypass session lifecycle constraints
Untrusted plugins MUST NOT gain direct transition authority.
---
# 21. extension model
Extensions MAY define:
* custom conditions
* custom retry policies
* custom transition evaluators
* custom branching strategies
Extensions MUST remain:
* deterministic
* replay-safe
* side-effect free
---
# 22. forbidden patterns
Forbidden:
* implicit workflow progression
* hidden branching
* infinite retries
* nondeterministic evaluation
* transition mutation during execution
* replay-dependent branching
* provider-dependent transition legality
---
# 23. persistence expectations
Transition persistence MUST support:
* transition history
* retry history
* branching history
* replay reconstruction
Persistence implementations belong to infrastructure modules.
---
# 24. testing requirements
`:core:transitions` MUST support deterministic testing for:
* graph validation
* condition evaluation
* retry handling
* deadlock detection
* cycle detection
* branching correctness
* replay reconstruction
---
# 25. philosophy summary
`:core:transitions` exists to constrain orchestration into deterministic legal workflow progression.
Reliability emerges from:
* explicit graphs
* deterministic conditions
* bounded retries
* validated branching
* replayable execution flow
not from trusting model autonomy.