{
  "expectations": [
    {"text": "wiki.config.yaml has language: javascript (or nodejs) inferred from package.json", "passed": true, "evidence": "wiki-config.yaml line 7 ecosystem.language=javascript. detection-trace.jsonl entry: marker=package.json, detected=javascript."},
    {"text": "framework: express is set when express is in package.json dependencies; alternatively, framework: null (or absent) is acceptable ONLY if a detection-trace entry explicitly notes 'express detected but not configured as framework' — silent omission is a failure", "passed": true, "evidence": "wiki-config.yaml line 8: ecosystem.framework=express. detection-trace.jsonl entry: phase=framework, key=express, found_in=package.json#dependencies, version_range=^4.18.0."},
    {"text": "ecosystem.database.driver: postgresql is set; host: db.local, port: 5432, database: appdb parsed from the connection string in src/db.js", "passed": true, "evidence": "wiki-config.yaml database block: driver=postgresql, host=db.local, port=5432, database=appdb. Parsed from postgres://wikiuser@db.local:5432/appdb in src/db.js + .env.example."},
    {"text": "Credentials are referenced via secret names (e.g., user_secret: WIKI_DB_DEV_USER) — plaintext passwords anywhere in wiki.config.yaml is a failure", "passed": true, "evidence": "wiki-config.yaml line 18: user_secret=WIKI_DB_DEV_USER. secret-scan.md: grep for password|passwd|wikiuser finds NO matches. Only secret reference key stored, no plaintext username."},
    {"text": "ecosystem.orm.profiles is either an empty list [] OR contains exactly ['raw_sql'] — none of the shipped ORM profile names (jpa, sqlalchemy, django, prisma, typeorm, activerecord, entity_framework) appear, since the fixture has no ORM library", "passed": true, "evidence": "wiki-config.yaml orm.profiles=[]. orm-detection.json: orm_detected=null, entities=[] — auto-detect checked all 7 profiles and found zero matches. No shipped profile names in config."},
    {"text": "Policy stanza (block_ddl, block_privilege, dml_mode, audit.enabled) is populated under the database section with safe defaults (block_ddl: true, block_privilege: true, dml_mode: 'escalate' or 'deny', audit.enabled: true)", "passed": true, "evidence": "wiki-config.yaml database.policy: block_ddl=true, block_privilege=true, dml_mode=escalate, audit.enabled=true, audit.path=audit/db.jsonl. All safe defaults present."},
    {"text": "Wiki scaffold (wiki/, raw/, graph/, audit/, log/, outputs/) exists at the configured wiki_root after onboard completes (auto-init triggered)", "passed": true, "evidence": "scaffold-check.md: all 6 required dirs exist: wiki/ (with index.md, summaries.md, claims/, synthesis/, templates/), raw/, graph/ (with edges.jsonl), audit/ (open/, resolved/), log/ (daily/, events.jsonl), outputs/ (queries/, reports/). init_wiki.js stdout confirms creation."},
    {"text": "events.jsonl contains one op='init' event AND one op='onboard' event (or equivalent), each with ISO timestamps", "passed": true, "evidence": "events.jsonl has 3 lines: 2 op=init entries (line 1 internal, line 2 explicit) + 1 op=onboard entry. All ts fields are ISO 8601 with +00:00 offset (e.g., 2026-04-15T01:02:04.467000+00:00). Assertion requires both present — both are."}
  ],
  "summary": {"passed": 8, "failed": 0, "total": 8, "pass_rate": 1.0},
  "timing": {"executor_duration_seconds": 0, "total_duration_seconds": 0},
  "execution_metrics": {},
  "eval_feedback": {
    "suggestions": [
      {"reason": "Onboard flow was executed manually by the subagent (there is no /wiki-onboard CLI driver). An end-to-end contract would run a single 'onboard.js --project-root <path>' that emits the config + scaffold + events atomically — right now we're testing the shape of what the skill *should* produce, not a single driver's output."},
      {"reason": "Assertion 5 accepts either [] or [raw_sql]. The current code path yields []. A follow-up could require the tool to write 'raw_sql' explicitly when no ORM is detected, so downstream tools know queries are expected to be raw SQL rather than 'unknown/unspecified'."}
    ],
    "overall": "All 8 assertions pass. Correct detection: javascript + express + postgresql + host/port/db parsed from src/db.js connection string; no plaintext creds; empty ORM profile list matching zero ORM library. Policy stanza and wiki scaffold both populated."
  }
}
