Skip to content

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