Corpus Task-pack Position v1¶
Source schema: doc/schemas/corpus-task-pack-position.v1.schema.json
Where a task-pack loop stands, for the pack's Flow to route its next step (P094-023d1): a projection of the loop and the proposals, reviews, Chair decisions and executions recorded for the query. actionable: step may be taken by its role. waiting: the Chair or a run acts first. blocked: step would be next, but a counter is spent or the deadline passed (an operator's renewal lifts a deadline). stopped: the loop takes nothing more. The position authorizes nothing; every step is checked again when it is taken. Evidence names facts by exact ref and digest, never their content; required items all appear, and optional ones beyond 32 are left out, oldest first, and counted.
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: corpus-task-pack-position.v1 |
|
query/id |
yes |
string | |
binding/ref |
yes |
string | |
loop/state |
yes |
enum: open, deadline-passed, stopped |
|
deadline |
yes |
string | |
limits |
yes |
ref: corpus-task-pack-loop.v1.schema.json#/$defs/limits |
|
spent |
yes |
ref: corpus-task-pack-loop.v1.schema.json#/$defs/spent |
|
status |
yes |
enum: actionable, waiting, blocked, stopped |
|
step |
no |
object | |
waiting |
no |
unspecified | |
blocked |
no |
unspecified | |
stop |
no |
ref: corpus-task-pack-loop.v1.schema.json#/$defs/stop |
|
evidence |
yes |
array | |
evidence/omitted |
no |
integer |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"status": {
"const": "actionable"
}
}
}
Then:
{
"required": [
"step"
],
"not": {
"anyOf": [
{
"required": [
"waiting"
]
},
{
"required": [
"blocked"
]
},
{
"required": [
"stop"
]
}
]
}
}
Rule 2¶
When:
{
"properties": {
"status": {
"const": "waiting"
}
}
}
Then:
{
"required": [
"waiting"
],
"not": {
"anyOf": [
{
"required": [
"step"
]
},
{
"required": [
"blocked"
]
},
{
"required": [
"stop"
]
}
]
}
}
Rule 3¶
When:
{
"properties": {
"status": {
"const": "blocked"
}
}
}
Then:
{
"required": [
"blocked"
],
"not": {
"required": [
"stop"
]
}
}
Rule 4¶
When:
{
"properties": {
"status": {
"const": "stopped"
}
}
}
Then:
{
"required": [
"stop"
],
"not": {
"anyOf": [
{
"required": [
"step"
]
},
{
"required": [
"waiting"
]
},
{
"required": [
"blocked"
]
}
]
}
}
Field Semantics¶
schema¶
- Required:
yes - Shape: const:
corpus-task-pack-position.v1
query/id¶
- Required:
yes - Shape: string
binding/ref¶
- Required:
yes - Shape: string
loop/state¶
- Required:
yes - Shape: enum:
open,deadline-passed,stopped
deadline¶
- Required:
yes - Shape: string
limits¶
- Required:
yes - Shape: ref:
corpus-task-pack-loop.v1.schema.json#/$defs/limits
spent¶
- Required:
yes - Shape: ref:
corpus-task-pack-loop.v1.schema.json#/$defs/spent
status¶
- Required:
yes - Shape: enum:
actionable,waiting,blocked,stopped
step¶
- Required:
no - Shape: object
waiting¶
- Required:
no - Shape: unspecified
blocked¶
- Required:
no - Shape: unspecified
stop¶
- Required:
no - Shape: ref:
corpus-task-pack-loop.v1.schema.json#/$defs/stop
evidence¶
- Required:
yes - Shape: array
evidence/omitted¶
- Required:
no - Shape: integer