{
  "schema": "martybytes-plan-contract/v1",
  "id": "synthetic-parser-change",
  "version": "1.0.0",
  "phase": "proposed",
  "goal": "Accept an optional synthetic owner field without changing unrelated behavior.",
  "changes": [
    {"path": "src/parser.mjs", "action": "modify"},
    {"path": "test/parser.test.mjs", "action": "modify"}
  ],
  "dependencies": [],
  "testRequirements": [
    {"id": "unit", "command": "node --test test/parser.test.mjs"},
    {"id": "manifest", "command": "node scripts/verify-manifest.mjs"}
  ],
  "executionEvidence": [],
  "rollback": {
    "strategy": "Restore the two changed files from the reviewed pre-change revision.",
    "verification": "Run the unit and manifest checks against the restored tree."
  },
  "stopConditions": [
    "The owner field changes a public schema.",
    "A required change falls outside the declared paths."
  ]
}
