ACL Application Context Language

Define intent. AI builds the stack.

tasks.schema.acl

Preview for juice.tasks

:::ACL_METADATA
DOMAIN: juice.tasks
CONTEXT: Schema
VERSION: 1.0.0
:::

SCHEMA Task {
  DESCRIPTION: "A trackable unit of work with priority, ownership, and lifecycle state."

  ATTRIBUTES:
    id: uuid required generated immutable
      DESCRIPTION: "Globally unique identifier assigned at creation."
    title: string required min(1) max(200)
      DESCRIPTION: "Short summary describing the work to be done."
    description: string optional max(4000)
      DESCRIPTION: "Detailed explanation, acceptance criteria, or notes."
    status: enum(todo, in_progress, done, archived) required default(todo)
      DESCRIPTION: "Lifecycle state governing task visibility and available transitions."
    priority: enum(low, medium, high, urgent) required default(medium)
      DESCRIPTION: "Relative importance used for sorting and triage."
    assignee: string optional max(64)
      DESCRIPTION: "Display name of the person responsible for this task."
    dueDate: date optional
      DESCRIPTION: "Target completion date. Null means no deadline."
    createdAt: datetime required generated immutable
    updatedAt: datetime required generated

  CONSTRAINTS:
    - A task with status=archived is not resolvable by public list contracts.
    - Status transitions follow: todo -> in_progress -> done -> archived.
    - Only admin may archive or delete tasks belonging to other users.

  IMMUTABLE:
    - id
    - createdAt
}