[ { "id": "F001", "description": "Create harness folder tools/workflow-harness with documented CLI entrypoint", "implemented": true }, { "id": "F002", "description": "Implement CLI argument parsing: --test, --base-url, --tenant, --cookie/--cookie-file, --force, --timeout-ms", "implemented": true }, { "id": "F003", "description": "Implement test discovery by folder path (validate required files exist)", "implemented": true }, { "id": "F004", "description": "Define test runtime context object passed into test.cjs", "implemented": true }, { "id": "F005", "description": "Provide HTTP helper that automatically sets Cookie + x-tenant-id", "implemented": true }, { "id": "F006", "description": "Provide Postgres read helper (required; configurable host/port/password) for assertions", "implemented": true }, { "id": "F007", "description": "Integrate workflow import via existing workflow bundle import API (supports force overwrite)", "implemented": true }, { "id": "F008", "description": "Add workflow export helper (for debug artifacts and optional assertions)", "implemented": true }, { "id": "F009", "description": "Implement waitForRun helper (poll workflow_runs for imported workflow after trigger time)", "implemented": true }, { "id": "F010", "description": "Implement helper to fetch workflow_run_steps and summarize step statuses", "implemented": true }, { "id": "F011", "description": "Standardize pass/fail output format and exit codes", "implemented": true }, { "id": "F012", "description": "Write failure artifacts (run details, steps, errors, server/worker log snippets)", "implemented": true }, { "id": "F013", "description": "Add fixture root ee/test-data/workflow-harness with README and conventions", "implemented": true }, { "id": "F014", "description": "Add a golden path fixture: ticket-created-hello (import → create ticket → assert run SUCCEEDED)", "implemented": true }, { "id": "F015", "description": "Support deterministic fixture workflow keys (fixture.) and always import with --force in docs", "implemented": true }, { "id": "F016", "description": "Provide harness assertion utilities (expect helpers, structured errors, timeout handling)", "implemented": true }, { "id": "F017", "description": "Add harness option to run in debug/verbose mode", "implemented": true }, { "id": "F018", "description": "Add harness option to print a JSON result blob for programmatic consumption", "implemented": true }, { "id": "F019", "description": "Create a fixture scaffolding helper script (generate folder with template bundle.json + test.cjs)", "implemented": true }, { "id": "F020", "description": "Define fixture categories and naming scheme (trigger domain + behavior + assertion type)", "implemented": true }, { "id": "F021", "description": "Add cleanup hooks (ctx.onCleanup) and run cleanup after each test (pass or fail)", "implemented": true }, { "id": "F030", "description": "Create ticket-trigger fixture set (coverage across ticket-related steps and validations)", "implemented": true }, { "id": "F031", "description": "Create project-trigger fixture set (coverage across project actions/validations)", "implemented": true }, { "id": "F032", "description": "Create billing-trigger fixture set (invoice/payment/contract events)", "implemented": true }, { "id": "F033", "description": "Create email-trigger fixture set (inbound/outbound email events)", "implemented": true }, { "id": "F034", "description": "Create scheduling-trigger fixture set (appointments/schedule blocks)", "implemented": true }, { "id": "F035", "description": "Create integration-trigger fixture set (webhooks/sync events) where supported", "implemented": true }, { "id": "F040", "description": "Create node-type coverage fixtures (state.set, transform.assign, control.if, control.tryCatch, control.return, etc.)", "implemented": true }, { "id": "F041", "description": "Create schema-validation fixtures (missing schema, unknown schema, mismatch requires mapping)", "implemented": true }, { "id": "F042", "description": "Create runtime-behavior fixtures (pause/visibility, concurrency limits) where supported", "implemented": true }, { "id": "F043", "description": "Create negative fixtures (expected failure modes with clear errors) where supported", "implemented": true }, { "id": "F050", "description": "Scale fixture suite to ~150–200 cases with broad coverage", "implemented": true } ]