correct wants docs
This commit is contained in:
parent
042526ea8c
commit
efed281a5a
1 changed files with 11 additions and 12 deletions
|
|
@ -8,26 +8,25 @@ Wants declare intent to have partitions exist. The graph continuously reconciles
|
||||||
|
|
||||||
## Want Identity
|
## Want Identity
|
||||||
|
|
||||||
Wants are idempotent through deterministic ID generation:
|
Wants use UUID-based identity:
|
||||||
|
|
||||||
```protobuf
|
```protobuf
|
||||||
message PartitionWant {
|
message WantCreateEventV1 {
|
||||||
string want_id = 1; // Hash(partition_ref + data_timestamp + source)
|
string want_id = 1; // UUID generated at creation time
|
||||||
string root_want_id = 2; // Original user want
|
repeated PartitionRef partitions = 2; // Partitions this want requests
|
||||||
string parent_want_id = 3; // Want that triggered this
|
uint64 data_timestamp = 3; // Business time (e.g., "2024-01-01" → midnight UTC)
|
||||||
PartitionRef partition_ref = 4;
|
uint64 ttl_seconds = 4; // From data_timestamp
|
||||||
uint64 data_timestamp = 5; // Business time (e.g., "2024-01-01" → midnight UTC)
|
uint64 sla_seconds = 5; // From data_timestamp
|
||||||
uint64 ttl_seconds = 6; // From data_timestamp
|
EventSource source = 6; // Origin: job, API, CLI, web app...
|
||||||
uint64 sla_seconds = 7; // From data_timestamp
|
optional string comment = 7;
|
||||||
WantSource source = 8;
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Multiple identical want requests produce the same `want_id`, preventing duplication.
|
Want IDs are UUIDs generated at creation time. Duplicate prevention is handled at the scheduling layer: the orchestrator checks canonical partition state before scheduling jobs, so multiple wants for the same partition simply observe the same build progress rather than triggering redundant work.
|
||||||
|
|
||||||
## Execution Flow
|
## Execution Flow
|
||||||
|
|
||||||
1. **Want Registration**: User/trigger creates wants with deterministic IDs
|
1. **Want Registration**: User/trigger creates wants (UUIDs assigned at creation)
|
||||||
2. **Immediate Dispatch**: Graph attempts execution without checking dependencies
|
2. **Immediate Dispatch**: Graph attempts execution without checking dependencies
|
||||||
3. **Runtime Discovery**: Jobs fail with `MissingDependenciesError(partitions)`
|
3. **Runtime Discovery**: Jobs fail with `MissingDependenciesError(partitions)`
|
||||||
4. **Want Propagation**: Graph creates upstream wants from missing dependencies
|
4. **Want Propagation**: Graph creates upstream wants from missing dependencies
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue