{
  "lexicon": 1,
  "id": "net.bisks.mutualpulse.act",
  "defs": {
    "main": {
      "type": "record",
      "description": "One act on mutualpulse (mutualpulse.bisks.net), a live pulse-board of mutual aid — food shared, rides given, skills taught, a fence fixed, company kept — logged by whoever gave or received it. Any atproto account may write one; the site reads the whole network for this collection (com.atproto.sync.listReposByCollection + Jetstream) and turns it into a glowing, ambient feed. Deliberately not a ledger: no amount, no dollar value, no per-person leaderboard — the point is that care isn't a debt to be tallied, just a pulse worth noticing. Written and read by mutualpulse (https://mutualpulse.bisks.net).",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["category", "text", "createdAt"],
        "properties": {
          "category": {
            "type": "string",
            "enum": ["food", "ride", "repair", "care", "skill", "shelter", "other"],
            "description": "What kind of act this is. food (a meal, groceries, a shared table), ride (a lift, a tow, help getting somewhere), repair (fixed something — a fence, a tire, a leak), care (company, a check-in, someone who listened or sat with you), skill (a lesson, a haircut, teaching a trade), shelter (a place to stay, a spare room, warmth), other (anything else worth a pulse)."
          },
          "text": {
            "type": "string",
            "maxLength": 300,
            "maxGraphemes": 140,
            "description": "One line: what happened. Plain and specific — 'brought soup for three days', 'fixed my neighbor's fence, no charge'. Not a story, just the pulse."
          },
          "place": {
            "type": "string",
            "maxLength": 100,
            "description": "Optional, and deliberately loose — a neighborhood, a city, 'my block'. This is not a map of where anyone lives; keep it vague on purpose."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this act happened or was logged, as an ISO 8601 datetime."
          },
          "tags": {
            "type": "array",
            "maxLength": 8,
            "description": "DIDs of people who helped, tagged so they can see this pulse acknowledging them. Optional; a pulse can name more than one person.",
            "items": {
              "type": "string",
              "format": "did"
            }
          }
        }
      }
    }
  }
}
