{
  "eval_id": 1,
  "eval_name": "wiki-init-ingest-query",
  "skill": "wiki",
  "prompt": "I have a new Python project at /tmp/test-project with some markdown docs in a docs/ folder. Initialize a documentation wiki for it with domain 'backend-services', ingest docs/architecture.md (about JWT auth and session management), and then query 'how does authentication work?'.",
  "assertions": [
    {
      "text": "Runs init_wiki.js to create directory scaffold under the project root",
      "passed": null,
      "evidence": null
    },
    {
      "text": "wiki.config.yaml is created with wiki.domain: 'backend-services'",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Directory scaffold includes wiki/, raw/, graph/, audit/, log/, outputs/",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Source file is copied to raw/ (path preserved relative to the ingested root)",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Generated wiki page has frontmatter with non-empty title, type set to 'concept' (or one of concept|index|synthesis|claim|template), sources listing the ingested file, created + updated ISO dates, a non-empty summary, and 4-8 content-only tags",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Tags are content-only concepts (e.g., 'jwt', 'authentication', 'session-management') — no structural/temporal/metadata tags",
      "passed": null,
      "evidence": null
    },
    {
      "text": "summaries.md has a non-stub entry (≥ 20 chars) for the new page",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Query answer includes at least two inline markdown links and each link resolves to a file that actually exists under wiki/",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Query answer mentions at least two concrete facts from the source (e.g., JWT, sessions table, refresh endpoint) — hallucinated answers that cite nonexistent pages must fail",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Answer is archived to outputs/queries/ as a dated .md file",
      "passed": null,
      "evidence": null
    },
    {
      "text": "events.jsonl records separate entries with op='init', op='ingest', and op='query' (one per operation), all with ISO timestamps",
      "passed": null,
      "evidence": null
    },
    {
      "text": "graph/edges.jsonl contains at least one edge with a valid provenance tag (EXTRACTED, INFERRED, or AMBIGUOUS)",
      "passed": null,
      "evidence": null
    }
  ]
}
