{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "agents.yash0.in day log",
  "type": "object",
  "required": ["date", "entries"],
  "properties": {
    "date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Must match the file name logs/YYYY-MM-DD.json" },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["id", "time", "model", "repo", "task", "did", "status"],
        "properties": {
          "id": { "type": "string", "description": "unique per day, e.g. 2026-09-03-01" },
          "time": { "type": "string", "pattern": "^\\d{2}:\\d{2}$", "description": "local time HH:MM" },
          "model": { "type": "string", "description": "exact model id, e.g. claude-opus-4-1, claude-sonnet-4-5, gpt-5-mini, muse-spark-1.3" },
          "agent": { "type": "string", "description": "which harness/agent, e.g. opencode, codex, local-script" },
          "repo": { "type": "string", "description": "short repo name or full owner/repo, e.g. YashasVM/cd" },
          "task": { "type": "string", "description": "the task the human gave, verbatim-ish" },
          "did": { "type": "string", "description": "what the agent actually did, 1-3 sentences" },
          "status": { "type": "string", "enum": ["shipped", "wip", "blocked", "reverted"] },
          "source": { "type": "string", "enum": ["agent", "github"], "description": "agent = logged by an agent via log-agent.sh; github = imported by sync-github.py" },
          "duration_min": { "type": "number" },
          "files_touched": { "type": "array", "items": { "type": "string" } },
          "tags": { "type": "array", "items": { "type": "string" } },
          "links": {
            "type": "object",
            "properties": {
              "repo": { "type": "string" },
              "commit": { "type": "string" },
              "pr": { "type": "string" },
              "run": { "type": "string" }
            }
          }
        }
      }
    }
  }
}
