{
  "checker": {
    "claims": [
      {
        "claim": "vdirsyncer synchronizes calendars between a local folder and a second storage",
        "command": "<guest-path> -c <guest-path> sync",
        "evidence": "Syncing work/work\n",
        "expected": "sync reports work/work",
        "input": "config pair work with filesystem storages",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Syncing work/work",
        "returncode": 0,
        "source": "Vdirsyncer is a command-line tool for synchronizing calendars and addressbooks",
        "source_checked": true,
        "source_file": "README.rst",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "the systemd timer runs vdirsyncer sync every 15 minutes",
        "command": "<guest-path> -c <guest-path> sync",
        "evidence": "Syncing work/work",
        "expected": "one sync cycle reports work/work",
        "input": "config pair work",
        "kind": "cycle",
        "method": "run-once: manual invocation of the service command, no systemd in guest, no fake clock",
        "outcome": "Triggered one cycle by hand (run-once: manual invocation of the service command, no systemd in guest, no fake clock; normal trigger: systemd timer, 15 minute interval after activation): Syncing work/work",
        "returncode": 0,
        "schedule": "systemd timer, 15 minute interval after activation",
        "source": "contrib/vdirsyncer.timer",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "-c",
        "<guest-path>",
        "sync"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "Syncing work/work",
      "stdout": "",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "discovery of collections for configured pairs",
        "command": "<guest-path> -c <guest-path> discover",
        "deferred": false,
        "evidence": "Discovering collections for pair work\nwork_local:\n  - \"work\"\nwork_copy:\n  - \"work\"\nSaved for work: collections = [\"work\"]",
        "expected": "collection work saved for pair work",
        "input": "discover -c demo config",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "docs/tutorial.rst",
        "verdict": "yes"
      },
      {
        "claim": "offline unit and system test suite from the Makefile ci-test target",
        "command": "<guest-path> -q -p no:cacheprovider tests/unit tests/system",
        "deferred": false,
        "evidence": "          194      2     28      3    98%   20, 173->exit, 223\nvdirsyncer/utils.py                      121     23     50     10    76%   32-39, 62, 69, 85, 88, 122, 140, 165->170, 195, 198-203, 211, 218-220\nvdirsyncer/vobject.py                    211      7     84      5    95%   110->113, 163, 172, 204->217, 227-228, 232-234\n----------------------------------------------------------------------------------\nTOTAL                                   3022    835    824    101    70%\n\n5 files skipped due to complete coverage.\n\u001b[32m\u001b[32m\u001b[1m150 passed\u001b[0m, \u001b[33m2 xfailed\u001b[0m\u001b[32m in 55.17s\u001b[0m\u001b[0m",
        "expected": "all tests pass, 2 xfail",
        "input": "tests/unit tests/system",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "Makefile",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "Workspace had no git metadata; ran the pinned git init/fetch/reset steps before installing so setuptools_scm could version the package.",
    "discover prompts interactively to create a missing destination collection; pre-created demo/b/work so the run is non-interactive.",
    "README is README.rst (not README.md); the claim source quote is taken from it.",
    "Demo data lives in <guest-path> outside the checkout; no product source was edited."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Install vdirsyncer from the source checkout and run a local calendar sync between two filesystem storages with vdirsyncer discover and vdirsyncer sync",
  "operation_scope": "Local filesystem storages only (no CalDAV/CardDAV servers, no credentials, no browser). Python 3.12.3 in venv <guest-path>, pip install -e .[test]. Pinned commit ceee70d1a15bab19b9691beff86d23bf072ea7dc.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "git init; git remote add origin https://github.com/pimutils/vdirsyncer; git fetch --depth 1 origin ceee70d1a15bab19b9691beff86d23bf072ea7dc; git reset --mixed FETCH_HEAD",
    "python3 -m venv <guest-path>; <guest-path> install -e '.[test]' (docs/installation.rst manual installation)",
    "Write config with [general] status_path, [pair work], two [storage] filesystem blocks (fileext .ics)",
    "vdirsyncer -c <guest-path> discover",
    "vdirsyncer -c <guest-path> sync (copied meet-001.ics into b/work)",
    "pytest -q -p no:cacheprovider tests/unit tests/system (Makefile ci-test): 150 passed, 2 xfailed"
  ],
  "stuck_step": null,
  "suggested_fix": null
}
