Wikifreedia
All versions

Status events let authorised parties update the lifecycle state of a task, milestone, or other event without modifying the original. The most recent status by timestamp is considered current, but only events from authors with a direct relationship to the target — its author, referenced events, or mentioned pubkeys — are treated as authoritative. Priority can be set or changed in the same event.

Status Event (kind 1983)

Purpose: Sets the status of any Nostr event (defaults to task events).

Required Tags

  • ["e", "<event_id>"] (the normal event being updated) OR ["a", "<kind>:<pubkey>:<d-identifier>"] (the addressable event being updated)
  • ["status", "<status_value>"]

Optional Tags

  • ["priority", "<priority_value>"] — for task targets: urgent | high | medium | low. Omit to leave priority unchanged or unset.

Example

{
  "kind": 1983,
  "tags": [
    ["a", "37060:<task-author-pubkey>:<task-d>"],
    ["status", "in-progress"],
    ["priority", "high"]
  ]
}

Status Values

Task Statuses

  • open: Default status for new tasks
  • backlog: Task is not yet scheduled
  • in-progress: Task is actively being worked on
  • in-review: Task is ready for review/approval
  • closed: Task is completed
  • canceled: Task was abandoned or no longer needed
  • duplicate: Task duplicates another; see related task

Project & Milestone Statuses

  • open: Project/milestone is active, work not yet complete
  • closed: Project/milestone is fully complete
  • canceled: Project/milestone was abandoned

Percentage (optional, projects and milestones only) An optional ["percentage", "<0-100>"] tag MAY accompany a status event targeting a kind:30315 (Project) or kind:30316 (Milestone) event. It records the author’s explicit completion estimate as an integer from 0 to 100.

Clients that compute progress automatically (e.g. closed-tasks ÷ total-tasks) SHOULD prefer the computed value and only fall back to the stored percentage when no task data is available.

{
  "kind": 1983,
  "tags": [
    ["a", "30315:<project-author-pubkey>:<project-d>"],
    ["status", "open"],
    ["percentage", "42"]
  ]
}

Resolution

The status event with the largest created_at is considered the current status. If that event has a priority tag, it is the current priority; otherwise the previous priority (if any) remains, or there is no priority.

Authorization

By default, only status events from the following sources are considered authoritative: - The author of the target event - The author of any event referenced by the target event (e tags) - The author of any addressable event referenced by the target event (a tags) - Any person mentioned in the target event’s p tags

Clients MAY implement additional authorization logic based on their specific use cases.