{
  "fixtureVersion": "2026-07-26.2",
  "status": "ready_for_target_model_run",
  "articleSlug": "vibe-coding-prompts",
  "synthetic": true,
  "license": "CC0-1.0",
  "repository": "docs/analysis/prompt-content-growth-2026-07-26/vibe-coding-fixture",
  "decisionQuestion": "Does a repository-aware prompt produce changes that meet the task, preserve file scope, and pass the named checks more reliably than a rough request?",
  "runContract": {
    "freshBaselinePerTask": true,
    "executionModel": "openai/gpt-5.6-luna",
    "executionModelVersion": "provider_version_not_returned",
    "samplingSettings": {
      "temperature": null,
      "outputLimit": 2500,
      "reasoning": false
    },
    "runsPerPrompt": 3,
    "responseContract": "full_file_replacement_json_v1",
    "selectionRule": "Keep every run, including provider failures, scope violations, regressions, and changes that still need human review.",
    "humanReviewBoundary": "A passing automated run still requires review for maintainability, naming, and unintended behavior."
  },
  "baselineCommands": [
    "npm test",
    "npm run lint",
    "npm run build"
  ],
  "tasks": [
    {
      "id": "scoped_bug_fix",
      "category": "scoped bug fix",
      "roughPrompt": "Fix the pagination bug.",
      "task": "Make paginate use one-based page numbers. Page 1 should return the first page, and a final partial page should return its remaining items.",
      "allowedFiles": [
        "src/activity.mjs"
      ],
      "acceptanceCommand": "node --test acceptance/scoped-bug-fix.test.mjs",
      "expectedBaselineAcceptance": "fail"
    },
    {
      "id": "feature_change",
      "category": "feature change",
      "roughPrompt": "Add severity filtering to the activity feed.",
      "task": "Export filterEventsBySeverity(events, minimumSeverity). Return events at or above low, medium, or high while preserving input order and without mutating the input array.",
      "allowedFiles": [
        "src/activity.mjs",
        "test/activity.test.mjs"
      ],
      "acceptanceCommand": "node --test acceptance/feature-change.test.mjs",
      "expectedBaselineAcceptance": "fail"
    },
    {
      "id": "bounded_refactor",
      "category": "refactor",
      "roughPrompt": "Clean up the severity code.",
      "task": "Extract and export severityRank(severity) so the activity functions share one severity ordering. Preserve summarizeEvents output. Unknown severities must return -1.",
      "allowedFiles": [
        "src/activity.mjs",
        "test/activity.test.mjs"
      ],
      "acceptanceCommand": "node --test acceptance/refactor.test.mjs",
      "expectedBaselineAcceptance": "fail"
    },
    {
      "id": "test_addition",
      "category": "test addition",
      "roughPrompt": "Add more duration tests.",
      "task": "Add focused tests proving parseDuration rejects decimal hours and zero minutes. Do not change production code.",
      "allowedFiles": [
        "test/duration.test.mjs"
      ],
      "acceptanceCommand": "node --test acceptance/test-addition.test.mjs",
      "expectedBaselineAcceptance": "fail"
    }
  ]
}
