{
  "schema_version": 1,
  "source_commit": "6aeffec4db524fe8a08235dd377643281b6b2348",
  "source_plan_table_sha256": "cf163ba7926b87755847b3a7f2d069320f72d2b55d87a57d36f1cfd21925dc35",
  "method": "One analyst read each plan finding and its correction, assigning the rubric dimension its consequence would affect. A second reviewer checked all 30 initial E4/E6 plan assignments and 14 other rows: one low finding moved from E4 to E5 and five E6 rationales were clarified. Build records retain the original path rule. Category judgments are inputs; the calculation does not infer them.",
  "judgment_limits": "One analyst, one primary category per record, alternatives recorded where considered; not blinded measurement or statistical confidence. Scope and decomposition findings remain in their held categories.",
  "assignments": [
    {
      "record_id": "author-pr4-build-001",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr4-build-002",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr4-build-003",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr4-build-004",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr4-build-005",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr4-build-006",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr4-build-007",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr4-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "delayed release clears a renewed hold: hold-state logic wrong"
    },
    {
      "record_id": "author-pr4-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "per-entry-point cutover leaves two writers for one entry"
    },
    {
      "record_id": "author-pr4-plan-003",
      "category": "E1",
      "method": "analyst_judgment",
      "rationale": "owner of the reference data Timekeeping needs was undefined"
    },
    {
      "record_id": "author-pr4-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "delayed release clears a renewed hold: hold-state logic wrong"
    },
    {
      "record_id": "author-pr4-plan-005",
      "category": "E1",
      "method": "analyst_judgment",
      "rationale": "CLI and MCP calls assigned a service identity though they carry a user",
      "alternative_considered": "E2"
    },
    {
      "record_id": "author-pr4-plan-006",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "per-entry-point cutover leaves two writers for one entry"
    },
    {
      "record_id": "author-pr4-plan-007",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "per-entry-point cutover leaves two writers for one entry"
    },
    {
      "record_id": "author-pr4-plan-008",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "recovery scenario assumes a state change the observed system does not make"
    },
    {
      "record_id": "author-pr4-plan-009",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (delayed enforcement of settings)"
    },
    {
      "record_id": "author-pr6-build-001",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr6-build-002",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr6-build-003",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr6-build-004",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr6-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "user hard delete not protected for entries not yet in the projection"
    },
    {
      "record_id": "author-pr6-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "generation check rejects the final drain's queued snapshots"
    },
    {
      "record_id": "author-pr6-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "user hard delete not protected for entries not yet in the projection"
    },
    {
      "record_id": "author-pr6-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "retired-concept search check also rejects required mechanisms"
    },
    {
      "record_id": "author-pr6-plan-005",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (seed and demo writer exemption)"
    },
    {
      "record_id": "author-pr27-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/contracts/timekeeping/entry_snapshot_examples.rb"
    },
    {
      "record_id": "author-pr27-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/support/timekeeping/reservation_rules.rb"
    },
    {
      "record_id": "author-pr27-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/support/timekeeping/fake_timekeeping.rb"
    },
    {
      "record_id": "author-pr27-build-004",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: contracts/timekeeping/idempotency.yml"
    },
    {
      "record_id": "author-pr27-build-005",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/support/timekeeping/fake_timekeeping.rb"
    },
    {
      "record_id": "author-pr27-build-006",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/contracts/timekeeping/idempotency_examples.rb"
    },
    {
      "record_id": "author-pr27-build-007",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: contracts/timekeeping/reservations.yml"
    },
    {
      "record_id": "author-pr27-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "planned assertion rejects a correct provider (lock lost after refused prepare)"
    },
    {
      "record_id": "author-pr27-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "key-set check offered as a credential guard; the example cannot detect a nested credential"
    },
    {
      "record_id": "author-pr27-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "operation idempotency scoped to company only, not actor"
    },
    {
      "record_id": "author-pr27-plan-004",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "save-reconciliation row the design marks Contract left uncovered",
      "alternative_considered": "P3"
    },
    {
      "record_id": "author-pr27-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "key-set check offered as a credential guard; the example cannot detect a nested credential"
    },
    {
      "record_id": "author-pr27-plan-006",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "contract examples need a setup hook that does not call the endpoints under test"
    },
    {
      "record_id": "author-pr27-plan-007",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "schema_version dropped from the transmitted snapshot, against the event contract"
    },
    {
      "record_id": "author-pr27-plan-008",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "operation idempotency scoped to company only, not actor"
    },
    {
      "record_id": "author-pr27-plan-009",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "snapshot replay and keyed idempotency rules diverge from the contract"
    },
    {
      "record_id": "author-pr27-plan-010",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "planned assertion rejects a correct provider (lock lost after refused prepare)"
    },
    {
      "record_id": "author-pr27-plan-011",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "planned assertion rejects a correct provider (lock lost after refused prepare)"
    },
    {
      "record_id": "author-pr27-plan-012",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "snapshot replay and keyed idempotency rules diverge from the contract"
    },
    {
      "record_id": "author-pr27-plan-013",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "snapshot replay and keyed idempotency rules diverge from the contract"
    },
    {
      "record_id": "author-pr27-plan-014",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "no example rejects anonymous or user-token callers on service-only routes"
    },
    {
      "record_id": "author-pr27-plan-015",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (snapshot receipt scoping)"
    },
    {
      "record_id": "author-pr30-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/timekeeping/no_committed_secrets_spec.rb"
    },
    {
      "record_id": "author-pr30-build-002",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/reference_facts.rb"
    },
    {
      "record_id": "author-pr30-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "agent token minted without binding the agent to its own user"
    },
    {
      "record_id": "author-pr30-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "secrets-scan spec silently skips large or non-UTF-8 files"
    },
    {
      "record_id": "author-pr30-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "planned route resolves to the wrong controller"
    },
    {
      "record_id": "author-pr30-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "secrets-scan spec silently skips large or non-UTF-8 files"
    },
    {
      "record_id": "author-pr30-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "secrets-scan spec silently skips large or non-UTF-8 files"
    },
    {
      "record_id": "author-pr30-plan-006",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "secrets-scan spec silently skips large or non-UTF-8 files"
    },
    {
      "record_id": "author-pr30-plan-007",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "token-logging test runs with logging below the level that would leak"
    },
    {
      "record_id": "author-pr30-plan-008",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "verify() exposes a clock argument the decoding never uses",
      "alternative_considered": "E2"
    },
    {
      "record_id": "author-pr30-plan-009",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "agent token minted without binding the agent to its own user"
    },
    {
      "record_id": "author-pr30-plan-010",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (namespace-wide fallback route)"
    },
    {
      "record_id": "author-pr30-plan-011",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (namespace-wide fallback route)"
    },
    {
      "record_id": "author-pr31-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/characterization/entry_lookups_and_pdf_totals_spec.rb"
    },
    {
      "record_id": "author-pr31-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "planned rejection assertion cannot pass: controller ignores the supplied user_id"
    },
    {
      "record_id": "author-pr31-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "planned rejection assertion cannot pass: controller ignores the supplied user_id"
    },
    {
      "record_id": "author-pr31-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "planned rejection assertion cannot pass: controller ignores the supplied user_id"
    },
    {
      "record_id": "author-pr31-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "planned rejection assertion cannot pass: controller ignores the supplied user_id"
    },
    {
      "record_id": "author-pr31-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "two conflicting expected results for the draft re-save characterization",
      "alternative_considered": "P1"
    },
    {
      "record_id": "author-pr36-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "background exemption also permits deletes of billed entries"
    },
    {
      "record_id": "author-pr36-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "background exemption also permits deletes of billed entries"
    },
    {
      "record_id": "author-pr36-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "background exemption also permits deletes of billed entries"
    },
    {
      "record_id": "author-pr36-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "background exemption also permits deletes of billed entries"
    },
    {
      "record_id": "author-pr36-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "background exemption also permits deletes of billed entries"
    },
    {
      "record_id": "author-pr36-plan-006",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "rule-removal check cannot verify permissive rules as written"
    },
    {
      "record_id": "author-pr38-build-001",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/queries/timekeeping/entries_query.rb"
    },
    {
      "record_id": "author-pr38-build-002",
      "category": "E4",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/config/initializers/filter_parameter_logging.rb"
    },
    {
      "record_id": "author-pr38-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "allow-listed parameter values and request ids can carry a credential into logs"
    },
    {
      "record_id": "author-pr38-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "allow-listed parameter values and request ids can carry a credential into logs"
    },
    {
      "record_id": "author-pr38-plan-003",
      "category": "P2",
      "method": "analyst_judgment",
      "rationale": "logging unit depends on a controller the next unit creates"
    },
    {
      "record_id": "author-pr38-plan-004",
      "category": "P2",
      "method": "analyst_judgment",
      "rationale": "logging unit depends on a controller the next unit creates"
    },
    {
      "record_id": "author-pr38-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "schema test's equality excludes the version column the migration must add"
    },
    {
      "record_id": "author-pr40-build-001",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/credential_scan.rb"
    },
    {
      "record_id": "author-pr40-build-002",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/entry_command.rb"
    },
    {
      "record_id": "author-pr40-build-003",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/entry_command.rb"
    },
    {
      "record_id": "author-pr40-build-004",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/entry_writer.rb"
    },
    {
      "record_id": "author-pr40-build-005",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/entry_writer.rb"
    },
    {
      "record_id": "author-pr40-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "credential scan reads raw JSON; escapes hide a token the parse restores"
    },
    {
      "record_id": "author-pr40-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "credential scan reads raw JSON; escapes hide a token the parse restores"
    },
    {
      "record_id": "author-pr40-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "credential scan reads raw JSON; escapes hide a token the parse restores"
    },
    {
      "record_id": "author-pr40-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "credential scan reads raw JSON; escapes hide a token the parse restores"
    },
    {
      "record_id": "author-pr40-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "create path has no default for a NOT NULL bill_status"
    },
    {
      "record_id": "author-pr40-plan-006",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "credential scan reads raw JSON; escapes hide a token the parse restores"
    },
    {
      "record_id": "author-pr40-plan-007",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "race cases cannot all fail when their named lock is removed"
    },
    {
      "record_id": "author-pr40-plan-008",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "race cases cannot all fail when their named lock is removed"
    },
    {
      "record_id": "author-pr40-plan-009",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (keyless writes without a receipt)"
    },
    {
      "record_id": "author-pr42-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "baseline comparison accepts [404, {}] before and after a forbidden write"
    },
    {
      "record_id": "author-pr42-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "baseline comparison accepts [404, {}] before and after a forbidden write"
    },
    {
      "record_id": "author-pr43-build-001",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/preflight.rb"
    },
    {
      "record_id": "author-pr43-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fixture calls a generator that re-loads the seed its guard must refuse"
    },
    {
      "record_id": "author-pr43-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "empty-database guard checks only Company; existing users get overwritten"
    },
    {
      "record_id": "author-pr43-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "empty-database guard checks only Company; existing users get overwritten"
    },
    {
      "record_id": "author-pr43-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fixture calls a generator that re-loads the seed its guard must refuse"
    },
    {
      "record_id": "author-pr43-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fixture calls a generator that re-loads the seed its guard must refuse"
    },
    {
      "record_id": "author-pr43-plan-006",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fixture calls a generator that re-loads the seed its guard must refuse"
    },
    {
      "record_id": "author-pr43-plan-007",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "empty-database guard checks only Company; existing users get overwritten"
    },
    {
      "record_id": "author-pr43-plan-008",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "empty-database guard checks only Company; existing users get overwritten"
    },
    {
      "record_id": "author-pr43-plan-009",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "empty-database guard checks only Company; existing users get overwritten"
    },
    {
      "record_id": "author-pr43-plan-010",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "classifier misses unlocked entries with several historical owners"
    },
    {
      "record_id": "author-pr43-plan-011",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (cross-company conflict category)"
    },
    {
      "record_id": "author-pr43-plan-012",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (cross-company conflict category)"
    },
    {
      "record_id": "author-pr44-build-001",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: db/migrate/20261020120000_drop_timesheet_entry_foreign_keys.rb"
    },
    {
      "record_id": "author-pr44-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/db/migrations/drop_timesheet_entry_foreign_keys_spec.rb"
    },
    {
      "record_id": "author-pr44-build-003",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: db/migrate/20261025120000_prepare_monolith_for_timekeeping.rb"
    },
    {
      "record_id": "author-pr44-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "rows written by old processes after the backfill keep company_id NULL"
    },
    {
      "record_id": "author-pr44-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "dropping the foreign key lets a dangling entry reference persist"
    },
    {
      "record_id": "author-pr44-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "schema-loaded databases get no ownership row"
    },
    {
      "record_id": "author-pr44-plan-004",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "schema-loaded databases get no ownership row"
    },
    {
      "record_id": "author-pr44-plan-005",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "reading the owner invents a row instead of detecting missing state",
      "alternative_considered": "E1"
    },
    {
      "record_id": "author-pr44-plan-006",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "rollback decision promises less than the rollback requirement"
    },
    {
      "record_id": "author-pr45-build-001",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/write_metrics.rb"
    },
    {
      "record_id": "author-pr45-plan-001",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "503s for signed-but-expired tokens left out of the operator metric"
    },
    {
      "record_id": "author-pr45-plan-002",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "503s for signed-but-expired tokens left out of the operator metric"
    },
    {
      "record_id": "author-pr45-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "blocked metric upsert delays a committed write's response"
    },
    {
      "record_id": "author-pr45-plan-004",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "503s for signed-but-expired tokens left out of the operator metric"
    },
    {
      "record_id": "author-pr45-plan-005",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (dropping a metric event on lock wait)"
    },
    {
      "record_id": "author-pr46-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "billing control cannot tell provisional from committed reservations"
    },
    {
      "record_id": "author-pr51-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/db/migrations/drop_timesheet_entry_foreign_keys_spec.rb"
    },
    {
      "record_id": "author-pr51-build-002",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr51-plan-001",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "release has no prerequisite for databases that already lost the keys",
      "alternative_considered": "E3"
    },
    {
      "record_id": "author-pr51-plan-002",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "release has no prerequisite for databases that already lost the keys",
      "alternative_considered": "E3"
    },
    {
      "record_id": "author-pr52-build-001",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/controllers/timekeeping/internal/v1/metrics_controller.rb"
    },
    {
      "record_id": "author-pr52-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/services/timekeeping/write_metrics_spec.rb"
    },
    {
      "record_id": "author-pr52-build-003",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/write_metrics.rb"
    },
    {
      "record_id": "author-pr52-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "synchronous fold lets lock waits pile up past the promised response bound"
    },
    {
      "record_id": "author-pr52-plan-002",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "pending metric events stay invisible to operators after the lock clears"
    },
    {
      "record_id": "author-pr52-plan-003",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "pending metric events stay invisible to operators after the lock clears"
    },
    {
      "record_id": "author-pr52-plan-004",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "pending metric events stay invisible to operators after the lock clears"
    },
    {
      "record_id": "author-pr52-plan-005",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "pending metric events stay invisible to operators after the lock clears"
    },
    {
      "record_id": "author-pr52-plan-006",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "pending metric events stay invisible to operators after the lock clears"
    },
    {
      "record_id": "author-pr52-plan-007",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "synchronous fold lets lock waits pile up past the promised response bound"
    },
    {
      "record_id": "author-pr52-plan-008",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "synchronous fold lets lock waits pile up past the promised response bound"
    },
    {
      "record_id": "author-pr52-plan-009",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "synchronous fold lets lock waits pile up past the promised response bound"
    },
    {
      "record_id": "author-pr52-plan-010",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (discarding a timed-out event)"
    },
    {
      "record_id": "author-pr53-build-001",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/relay_outbox_source.rb"
    },
    {
      "record_id": "author-pr53-build-002",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/snapshot_endpoint.rb"
    },
    {
      "record_id": "author-pr53-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "delivery key from positions alone collides across sources"
    },
    {
      "record_id": "author-pr53-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "test expects a retry response the fake cannot give"
    },
    {
      "record_id": "author-pr53-plan-003",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "outbox-lag query placed in the HTTP controller"
    },
    {
      "record_id": "author-pr53-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "unmapped response reason copies a credential into the worker log"
    },
    {
      "record_id": "author-pr53-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "test expects a retry response the fake cannot give"
    },
    {
      "record_id": "author-pr53-plan-006",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "two different responses specified for the same keyed retry"
    },
    {
      "record_id": "author-pr53-plan-007",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "delivery key from positions alone collides across sources"
    },
    {
      "record_id": "author-pr53-plan-008",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (extra field on the relay result)"
    },
    {
      "record_id": "author-pr55-build-001",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/snapshot_delivery_receipts.rb"
    },
    {
      "record_id": "author-pr55-build-002",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/entry_api_client.rb"
    },
    {
      "record_id": "author-pr55-build-003",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/entry_api_client.rb"
    },
    {
      "record_id": "author-pr55-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "generation alone cannot tell legacy from prepared after an aborted cutover"
    },
    {
      "record_id": "author-pr55-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "snapshot with another company's project leaks into that company's reports"
    },
    {
      "record_id": "author-pr55-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "review_status replaced by a fabricated not_required"
    },
    {
      "record_id": "author-pr55-plan-004",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "generation alone cannot tell legacy from prepared after an aborted cutover"
    },
    {
      "record_id": "author-pr55-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "review_status replaced by a fabricated not_required"
    },
    {
      "record_id": "author-pr55-plan-006",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "snapshot endpoint skips the replay contract it must implement"
    },
    {
      "record_id": "author-pr55-plan-007",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "legacy paused-delivery test requires a row to be present and absent"
    },
    {
      "record_id": "author-pr55-plan-008",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "legacy paused-delivery test requires a row to be present and absent"
    },
    {
      "record_id": "author-pr55-plan-009",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "one multi-row upsert cannot apply two snapshots of one entry"
    },
    {
      "record_id": "author-pr55-plan-010",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "one multi-row upsert cannot apply two snapshots of one entry"
    },
    {
      "record_id": "author-pr55-plan-011",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "generation alone cannot tell legacy from prepared after an aborted cutover"
    },
    {
      "record_id": "author-pr55-plan-012",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "snapshot with another company's project leaks into that company's reports"
    },
    {
      "record_id": "author-pr63-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/v1/reservations_spec.rb"
    },
    {
      "record_id": "author-pr63-build-002",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/db/migrate/20260401000000_create_invoice_operations.rb"
    },
    {
      "record_id": "author-pr63-build-003",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/app/services/timekeeping/reservation_operations.rb"
    },
    {
      "record_id": "author-pr63-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "two stored references to the owning operation, unconstrained"
    },
    {
      "record_id": "author-pr63-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "new HS256 service tokens bypass the credential scan"
    },
    {
      "record_id": "author-pr63-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "new HS256 service tokens bypass the credential scan"
    },
    {
      "record_id": "author-pr64-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/services/timekeeping/entry_writer_race_spec.rb"
    },
    {
      "record_id": "author-pr64-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "reference-removal check also bans the historical migration that must stay"
    },
    {
      "record_id": "author-pr64-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "reference-removal check also bans the historical migration that must stay"
    },
    {
      "record_id": "author-pr65-build-001",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/handoff/monolith_store.rb"
    },
    {
      "record_id": "author-pr65-plan-001",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "stop condition and open question give different answers to one failed test"
    },
    {
      "record_id": "author-pr65-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "load has no rollback boundary inside a caller's transaction"
    },
    {
      "record_id": "author-pr65-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "load has no rollback boundary inside a caller's transaction"
    },
    {
      "record_id": "author-pr71-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/meta/timekeeping_entry_snapshot_request_specs_spec.rb"
    },
    {
      "record_id": "author-pr78-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/financial_snapshot_4_spec.rb"
    },
    {
      "record_id": "author-pr78-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "mutation tests demand exactly one difference where PDF totals add more"
    },
    {
      "record_id": "author-pr78-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "mutation tests demand exactly one difference where PDF totals add more"
    },
    {
      "record_id": "author-pr78-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "mutation tests demand exactly one difference where PDF totals add more"
    },
    {
      "record_id": "author-pr79-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "read-purpose token still authorizes writes"
    },
    {
      "record_id": "author-pr79-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "read-purpose token still authorizes writes"
    },
    {
      "record_id": "author-pr80-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/contracts/timekeeping/prepare_table_policy_spec.rb"
    },
    {
      "record_id": "author-pr80-plan-001",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "value type both normalizes and preserves its entries list",
      "alternative_considered": "E2"
    },
    {
      "record_id": "author-pr80-plan-002",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "value objects freeze the record but not the nested values"
    },
    {
      "record_id": "author-pr80-plan-003",
      "category": "P2",
      "method": "analyst_judgment",
      "rationale": "work order allows a unit before the unit it depends on"
    },
    {
      "record_id": "author-pr80-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "existing separate-connection tests left untagged"
    },
    {
      "record_id": "author-pr80-plan-005",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (architecture doc edits, untagged control)"
    },
    {
      "record_id": "author-pr80-plan-006",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (architecture doc edits, untagged control)"
    },
    {
      "record_id": "author-pr80-plan-007",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (architecture doc edits, untagged control)"
    },
    {
      "record_id": "author-pr83-build-001",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/models/invoice_line_item.rb"
    },
    {
      "record_id": "author-pr83-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "pending linked ids never mark the line changed, so the resolver never runs"
    },
    {
      "record_id": "author-pr83-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "pending linked ids never mark the line changed, so the resolver never runs"
    },
    {
      "record_id": "author-pr83-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "pending linked ids never mark the line changed, so the resolver never runs"
    },
    {
      "record_id": "author-pr83-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "candidate entries not scoped by the stored company column"
    },
    {
      "record_id": "author-pr83-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "candidate entries not scoped by the stored company column"
    },
    {
      "record_id": "author-pr83-plan-006",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "candidate entries not scoped by the stored company column"
    },
    {
      "record_id": "author-pr83-plan-007",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "PATCH direct-id response guarantee untested"
    },
    {
      "record_id": "author-pr85-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/monolith_store_spec.rb"
    },
    {
      "record_id": "author-pr85-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge drops the live isolation-settings check"
    },
    {
      "record_id": "author-pr86-build-001",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/controllers/concerns/ownership_moving_response.rb"
    },
    {
      "record_id": "author-pr86-build-002",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/invoice_payment/paypal_capture_fulfillment.rb"
    },
    {
      "record_id": "author-pr86-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/billing_fence_spec.rb"
    },
    {
      "record_id": "author-pr86-build-004",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/controllers/api/v1/invoices_controller.rb"
    },
    {
      "record_id": "author-pr86-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "failed destroy inside the shared transaction commits child deletions"
    },
    {
      "record_id": "author-pr86-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "payment link sent to the customer before its storage is accepted"
    },
    {
      "record_id": "author-pr86-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "payment link sent to the customer before its storage is accepted"
    },
    {
      "record_id": "author-pr86-plan-004",
      "category": "E1",
      "method": "analyst_judgment",
      "rationale": "mailer update_columns writes sit outside the billing fence"
    },
    {
      "record_id": "author-pr86-plan-005",
      "category": "E1",
      "method": "analyst_judgment",
      "rationale": "mailer update_columns writes sit outside the billing fence"
    },
    {
      "record_id": "author-pr86-plan-006",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "PayPal webhook controller does not inherit the refusal handler"
    },
    {
      "record_id": "author-pr86-plan-007",
      "category": "E1",
      "method": "analyst_judgment",
      "rationale": "mailer update_columns writes sit outside the billing fence"
    },
    {
      "record_id": "author-pr86-plan-008",
      "category": "E1",
      "method": "analyst_judgment",
      "rationale": "mailer update_columns writes sit outside the billing fence"
    },
    {
      "record_id": "author-pr86-plan-009",
      "category": "E1",
      "method": "analyst_judgment",
      "rationale": "mailer update_columns writes sit outside the billing fence"
    },
    {
      "record_id": "author-pr86-plan-010",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "failed destroy inside the shared transaction commits child deletions"
    },
    {
      "record_id": "author-pr87-plan-001",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "new rejection of unknown override keys beyond the requested extraction"
    },
    {
      "record_id": "author-pr90-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/legacy_source_5_spec.rb"
    },
    {
      "record_id": "author-pr90-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/legacy_source_3_spec.rb"
    },
    {
      "record_id": "author-pr90-build-003",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/reservation_derivation.rb"
    },
    {
      "record_id": "author-pr90-build-004",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/reservation_derivation.rb"
    },
    {
      "record_id": "author-pr90-build-005",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/handoff/legacy_source.rb"
    },
    {
      "record_id": "author-pr90-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "legacy named author converted to an anonymous system actor"
    },
    {
      "record_id": "author-pr90-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "no conversion rule for destroy audits",
      "alternative_considered": "E5"
    },
    {
      "record_id": "author-pr90-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "two conflicting timestamp rules for correction snapshots"
    },
    {
      "record_id": "author-pr90-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "seeded export tests need a non-transactional setup that keeps the seed"
    },
    {
      "record_id": "author-pr91-build-001",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/handoff/timekeeping_store.rb"
    },
    {
      "record_id": "author-pr91-plan-001",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "Docker copies the new path gem after bundle install"
    },
    {
      "record_id": "author-pr91-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "correction snapshot consumes the version the next write reuses"
    },
    {
      "record_id": "author-pr91-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "test cleanup leaves committed invoice_operations rows"
    },
    {
      "record_id": "author-pr91-plan-004",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "handoff error mapping placed in the shared service base controller"
    },
    {
      "record_id": "author-pr91-plan-005",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "one request with a duplicated entry writes two corrections"
    },
    {
      "record_id": "author-pr91-plan-006",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "plan both fixes and defers the gem's dependency declaration"
    },
    {
      "record_id": "author-pr91-plan-007",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "no test loads a monolith export into Timekeeping's real tables"
    },
    {
      "record_id": "author-pr91-plan-008",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "no test loads a monolith export into Timekeeping's real tables"
    },
    {
      "record_id": "author-pr92-build-001",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/handoff/reconciliation.rb"
    },
    {
      "record_id": "author-pr92-build-002",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/handoff/reconciliation.rb"
    },
    {
      "record_id": "author-pr92-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "a listed correction excuses unrelated changes to the same row"
    },
    {
      "record_id": "author-pr92-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "a listed correction excuses unrelated changes to the same row"
    },
    {
      "record_id": "author-pr92-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "company missing from both money snapshots passes the money check"
    },
    {
      "record_id": "author-pr92-plan-004",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "company missing from both money snapshots passes the money check"
    },
    {
      "record_id": "author-pr92-plan-005",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "projection rows matched by entry id without the company"
    },
    {
      "record_id": "author-pr92-plan-006",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "reduced difference type does not fit the existing money event"
    },
    {
      "record_id": "author-pr92-plan-007",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "intent rows not compared in full after the handoff"
    },
    {
      "record_id": "author-pr92-plan-008",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "reduced difference type does not fit the existing money event"
    },
    {
      "record_id": "author-pr92-plan-009",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "intent rows not compared in full after the handoff"
    },
    {
      "record_id": "author-pr93-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stop condition demands failures from examples unrelated to the mutation"
    },
    {
      "record_id": "author-pr93-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "linked-entry assertion does not prove nothing was linked"
    },
    {
      "record_id": "author-pr93-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stop condition demands failures from examples unrelated to the mutation"
    },
    {
      "record_id": "author-pr94-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "example-count baseline off by one"
    },
    {
      "record_id": "author-pr104-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/meta/invoice_entry_company_scope_request_specs_spec.rb"
    },
    {
      "record_id": "author-pr104-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge drops the no-echo and 'not found' assertions"
    },
    {
      "record_id": "author-pr104-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stop condition also rejects the valid success example"
    },
    {
      "record_id": "author-pr104-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge drops the no-echo and 'not found' assertions"
    },
    {
      "record_id": "author-pr104-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stop condition also rejects the valid success example"
    },
    {
      "record_id": "author-pr111-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/jobs/relay_job_worker_spec.rb"
    },
    {
      "record_id": "author-pr111-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/jobs/relay_job_worker_spec.rb"
    },
    {
      "record_id": "author-pr112-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "race example's evidence does not prove the post-wait read"
    },
    {
      "record_id": "author-pr112-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "race example's evidence does not prove the post-wait read"
    },
    {
      "record_id": "author-pr112-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "release-before-join order left ambiguous in the test helper"
    },
    {
      "record_id": "author-pr113-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/billing_fence_2_spec.rb"
    },
    {
      "record_id": "author-pr113-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "mutation check never reaches the tax-row comparison"
    },
    {
      "record_id": "author-pr113-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "mutation check never reaches the tax-row comparison"
    },
    {
      "record_id": "author-pr113-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "mutation check never reaches the tax-row comparison"
    },
    {
      "record_id": "author-pr113-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "negated compound matcher is not supported"
    },
    {
      "record_id": "author-pr114-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "consolidation drops distinct inputs (multi-position mark, wrong-bearer pause)"
    },
    {
      "record_id": "author-pr114-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "consolidation drops distinct inputs (multi-position mark, wrong-bearer pause)"
    },
    {
      "record_id": "author-pr114-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "consolidation drops distinct inputs (multi-position mark, wrong-bearer pause)"
    },
    {
      "record_id": "author-pr114-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "consolidation drops distinct inputs (multi-position mark, wrong-bearer pause)"
    },
    {
      "record_id": "author-pr114-plan-005",
      "category": "P2",
      "method": "analyst_judgment",
      "rationale": "sequencing rule contradicts the endpoint unit's declared independence"
    },
    {
      "record_id": "author-pr114-plan-006",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "consolidation drops distinct inputs (multi-position mark, wrong-bearer pause)"
    },
    {
      "record_id": "author-pr116-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/mobile/collections/billing_fence_spec.rb"
    },
    {
      "record_id": "author-pr116-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/mobile/collections/billing_fence_spec.rb"
    },
    {
      "record_id": "author-pr116-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "unit's assertion list narrower than the shared baseline rule"
    },
    {
      "record_id": "author-pr117-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/v1/entry_writes_spec.rb"
    },
    {
      "record_id": "author-pr117-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/services/timekeeping/entry_decision_spec.rb"
    },
    {
      "record_id": "author-pr118-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/db/committed_data_mode_spec.rb"
    },
    {
      "record_id": "author-pr119-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/v1/reservations_auth_3_spec.rb"
    },
    {
      "record_id": "author-pr119-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/v1/reservation_request_helpers_spec.rb"
    },
    {
      "record_id": "author-pr119-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/v1/reservation_writes_spec.rb"
    },
    {
      "record_id": "author-pr119-build-004",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/support/reservation_requests.rb"
    },
    {
      "record_id": "author-pr119-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "matrix checks counts at the end, not state after each refusal"
    },
    {
      "record_id": "author-pr119-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "matrix checks counts at the end, not state after each refusal"
    },
    {
      "record_id": "author-pr119-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "helper requirement covers requests the plan leaves unchanged"
    },
    {
      "record_id": "author-pr120-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/webhooks/billing_fence_spec.rb"
    },
    {
      "record_id": "author-pr120-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "Stripe checkout path has no handoff refusal test"
    },
    {
      "record_id": "author-pr121-build-001",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/projection_consumer.rb"
    },
    {
      "record_id": "author-pr121-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/internal/v1/metrics_spec.rb"
    },
    {
      "record_id": "author-pr121-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/projection_consumer_spec.rb"
    },
    {
      "record_id": "author-pr121-build-004",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/internal/v1/timekeeping/entry_snapshots_spec.rb"
    },
    {
      "record_id": "author-pr121-build-005",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/lib/timekeeping/test_hooks_spec.rb"
    },
    {
      "record_id": "author-pr121-build-006",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/metrics_client.rb"
    },
    {
      "record_id": "author-pr121-plan-001",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "Existing stale-generation refusals are not collected, so operators miss the required alert."
    },
    {
      "record_id": "author-pr121-plan-002",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "image context includes local Bundler configuration"
    },
    {
      "record_id": "author-pr121-plan-003",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "Evaluating only the newest window can raise premature alerts and hide a completed outage interval."
    },
    {
      "record_id": "author-pr121-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "custom-bucket test moves the alert threshold without saying how"
    },
    {
      "record_id": "author-pr121-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "live server inherits the monolith's Bundler environment"
    },
    {
      "record_id": "author-pr121-plan-006",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "The p95 overflow bucket has no result, hiding alerts during severe latency."
    },
    {
      "record_id": "author-pr121-plan-007",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "The reference-failure alert does not enforce the five-minute observation condition."
    },
    {
      "record_id": "author-pr121-plan-008",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "An unfinished observation window can raise an alert before the required duration."
    },
    {
      "record_id": "author-pr121-plan-009",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "gather result cannot tell a failed metrics read from an absent source",
      "alternative_considered": "E6"
    },
    {
      "record_id": "author-pr121-plan-010",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (four alert sources left unavailable)"
    },
    {
      "record_id": "author-pr127-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "503 example constructs the client through the already-stubbed constructor"
    },
    {
      "record_id": "author-pr127-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "503 example constructs the client through the already-stubbed constructor"
    },
    {
      "record_id": "author-pr129-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: gems/timekeeping_relay/spec/timekeeping_relay/support_doubles_spec.rb"
    },
    {
      "record_id": "author-pr129-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "plan both forbids and requires scripted consumer-status responses"
    },
    {
      "record_id": "author-pr138-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: gems/timekeeping_rules/spec/timekeeping_rules/reservation_decision_spec.rb"
    },
    {
      "record_id": "author-pr138-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge drops the mixed-token allowed-operation assertion"
    },
    {
      "record_id": "author-pr138-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge drops the mixed-token allowed-operation assertion"
    },
    {
      "record_id": "author-pr141-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/support/company_scope_request_spec_scan.rb"
    },
    {
      "record_id": "author-pr141-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "request-builder scan counts comments as calls"
    },
    {
      "record_id": "author-pr148-build-001",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/local_owner.rb"
    },
    {
      "record_id": "author-pr148-build-002",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/local_owner.rb"
    },
    {
      "record_id": "author-pr148-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/entry_reader_spec.rb"
    },
    {
      "record_id": "author-pr148-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "acting user's company membership and role never resolved from reference facts"
    },
    {
      "record_id": "author-pr148-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "monolith tests parse the service's source to compare lock keys"
    },
    {
      "record_id": "author-pr148-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "acting user's company membership and role never resolved from reference facts"
    },
    {
      "record_id": "author-pr148-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "acting user's company membership and role never resolved from reference facts"
    },
    {
      "record_id": "author-pr148-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "API response and outbox snapshot given one field list; the contract has two"
    },
    {
      "record_id": "author-pr148-plan-006",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "Missing transaction checkpoint prevents testing a failure after the rules-checking step.",
      "alternative_considered": "E4 was the initial assignment; evidence review classified the omitted failure-injection checkpoint as testability (E5)."
    },
    {
      "record_id": "author-pr148-plan-007",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "refusal precedence contradicts the unconditional 409 during handoff"
    },
    {
      "record_id": "author-pr148-plan-008",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "tenancy fixture needs two entries with one primary key"
    },
    {
      "record_id": "author-pr148-plan-009",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "nil source/bill_status rejected on bodies that omit them"
    },
    {
      "record_id": "author-pr148-plan-010",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (unused service-permission helper)"
    },
    {
      "record_id": "author-pr149-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/models/timekeeping_ownership_concurrency_spec.rb"
    },
    {
      "record_id": "author-pr149-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/users/destroy_spec.rb"
    },
    {
      "record_id": "author-pr149-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/models/timekeeping_ownership_spec.rb"
    },
    {
      "record_id": "author-pr149-build-004",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/db/seeds_handoff_refusal_spec.rb"
    },
    {
      "record_id": "author-pr149-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "user delete not serialized with the handoff step change"
    },
    {
      "record_id": "author-pr149-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "seed script recreates a missing ownership row instead of refusing"
    },
    {
      "record_id": "author-pr149-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "seed script recreates a missing ownership row instead of refusing"
    },
    {
      "record_id": "author-pr149-plan-004",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "seed script recreates a missing ownership row instead of refusing"
    },
    {
      "record_id": "author-pr149-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fresh-database seed test lacks a valid company fixture"
    },
    {
      "record_id": "author-pr149-plan-006",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "seed script recreates a missing ownership row instead of refusing"
    },
    {
      "record_id": "author-pr149-plan-007",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "seed script recreates a missing ownership row instead of refusing"
    },
    {
      "record_id": "author-pr150-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/internal/v1/handoff_refusals_spec.rb"
    },
    {
      "record_id": "author-pr150-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/internal/v1/handoff_refusals_spec.rb"
    },
    {
      "record_id": "author-pr150-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/services/timekeeping/handoff/service_store_spec.rb"
    },
    {
      "record_id": "author-pr150-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merged tables drop the empty-body and pre-written-corrections cases"
    },
    {
      "record_id": "author-pr150-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merged tables drop the empty-body and pre-written-corrections cases"
    },
    {
      "record_id": "author-pr150-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "refused-caller unit compares state after the matrix, not per request"
    },
    {
      "record_id": "author-pr150-plan-004",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "requirement R3 demands all four example forms on every surface, unlike the ticket"
    },
    {
      "record_id": "author-pr150-plan-005",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "requirement R3 demands all four example forms on every surface, unlike the ticket"
    },
    {
      "record_id": "author-pr151-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: gems/timekeeping_rules/spec/timekeeping_rules/entry_rules/change_decision_2_spec.rb"
    },
    {
      "record_id": "author-pr151-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/entry_api_client_spec.rb"
    },
    {
      "record_id": "author-pr151-build-003",
      "category": "P1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/architecture/timekeeping-soa.md"
    },
    {
      "record_id": "author-pr151-plan-001",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "plan and disclosure claim the raised role lifts a rule it never reaches"
    },
    {
      "record_id": "author-pr151-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "raised token role lets an employee-first admin edit reserved and billed time"
    },
    {
      "record_id": "author-pr151-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "raised token role lets an employee-first admin edit reserved and billed time"
    },
    {
      "record_id": "author-pr151-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "raised token role lets an employee-first admin edit reserved and billed time"
    },
    {
      "record_id": "author-pr151-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "raised token role lets an employee-first admin edit reserved and billed time"
    },
    {
      "record_id": "author-pr151-plan-006",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "owner-before-admin order unspecified for the privileged role"
    },
    {
      "record_id": "author-pr152-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/timekeeping_store_spec.rb"
    },
    {
      "record_id": "author-pr152-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "route table reads described_class while the group is defined"
    },
    {
      "record_id": "author-pr152-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "tables called deeply frozen are row-frozen"
    },
    {
      "record_id": "author-pr152-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stubs derive expected paths from the constants under test"
    },
    {
      "record_id": "author-pr153-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/invoices/bulk_deletion_spec.rb"
    },
    {
      "record_id": "author-pr153-build-002",
      "category": "P9",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: docs/solutions/conventions/give-each-destroy-a-savepoint-inside-a-shared-transaction.md"
    },
    {
      "record_id": "author-pr153-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/invoices/bulk_deletion_spec.rb"
    },
    {
      "record_id": "author-pr154-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/internal/v1/handoff_correction_values_spec.rb"
    },
    {
      "record_id": "author-pr154-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/internal/v1/handoff_refusals_spec.rb"
    },
    {
      "record_id": "author-pr154-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "unbounded metadata depth commits a correction the relay cannot parse",
      "alternative_considered": "E2"
    },
    {
      "record_id": "author-pr154-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "sharing the project_id predicate rejects decimal-string ids the API accepts"
    },
    {
      "record_id": "author-pr154-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "sharing the project_id predicate rejects decimal-string ids the API accepts"
    },
    {
      "record_id": "author-pr154-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "sharing the project_id predicate rejects decimal-string ids the API accepts"
    },
    {
      "record_id": "author-pr154-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "sharing the project_id predicate rejects decimal-string ids the API accepts"
    },
    {
      "record_id": "author-pr156-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/db/committed_data_mode_spec.rb"
    },
    {
      "record_id": "author-pr156-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/db/committed_data_mode_spec.rb"
    },
    {
      "record_id": "author-pr156-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/db/committed_data_mode_spec.rb"
    },
    {
      "record_id": "author-pr156-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "notification fallback cannot satisfy the required negative control"
    },
    {
      "record_id": "author-pr156-plan-002",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (learning document rewrites)"
    },
    {
      "record_id": "author-pr156-plan-003",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (learning document rewrites)"
    },
    {
      "record_id": "author-pr160-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/invoices/outbox_delivery_spec.rb"
    },
    {
      "record_id": "author-pr160-build-002",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/invoices/operation_coordinator.rb"
    },
    {
      "record_id": "author-pr160-build-003",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/jobs/recover_invoice_operation_intents_job.rb"
    },
    {
      "record_id": "author-pr160-build-004",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/invoices/operation_coordinator.rb"
    },
    {
      "record_id": "author-pr160-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "adapter lookup raises before the delivery step that counts the attempt"
    },
    {
      "record_id": "author-pr160-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "adapter lookup raises before the delivery step that counts the attempt"
    },
    {
      "record_id": "author-pr160-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "adapter lookup raises before the delivery step that counts the attempt"
    },
    {
      "record_id": "author-pr160-plan-004",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "returned refusal lets the invoice commit without its reservation"
    },
    {
      "record_id": "author-pr160-plan-005",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "adapter lookup raises before the delivery step that counts the attempt"
    },
    {
      "record_id": "author-pr160-plan-006",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "returned refusal lets the invoice commit without its reservation"
    },
    {
      "record_id": "author-pr160-plan-007",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "returned refusal lets the invoice commit without its reservation"
    },
    {
      "record_id": "author-pr160-plan-008",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "returned refusal lets the invoice commit without its reservation"
    },
    {
      "record_id": "author-pr160-plan-009",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "returned refusal lets the invoice commit without its reservation"
    },
    {
      "record_id": "author-pr160-plan-010",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "returned refusal lets the invoice commit without its reservation"
    },
    {
      "record_id": "author-pr161-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "authorization mutation fails the status check before the state check"
    },
    {
      "record_id": "author-pr161-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "authorization mutation fails the status check before the state check"
    },
    {
      "record_id": "author-pr170-build-001",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/entry_write_client.rb"
    },
    {
      "record_id": "author-pr170-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/support/timekeeping/fake_timekeeping_jwt_spec.rb"
    },
    {
      "record_id": "author-pr170-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/timesheet_entries/gateway_spec.rb"
    },
    {
      "record_id": "author-pr170-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "lookup call cannot carry X-Request-Id"
    },
    {
      "record_id": "author-pr170-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fake ignores If-Match on delete, so the billing race is untested"
    },
    {
      "record_id": "author-pr170-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "forwarded update erases an entry's recorded source"
    },
    {
      "record_id": "author-pr170-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "lookup call cannot carry X-Request-Id"
    },
    {
      "record_id": "author-pr170-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "new client errors have no handler path to the promised statuses"
    },
    {
      "record_id": "author-pr170-plan-006",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "lookup call cannot carry X-Request-Id"
    },
    {
      "record_id": "author-pr170-plan-007",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fake does not enforce the delegated locked-entry rule"
    },
    {
      "record_id": "author-pr170-plan-008",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "prepared-state test expects one call where update needs two"
    },
    {
      "record_id": "author-pr170-plan-009",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "unknown-owner test blocked by the database check constraint"
    },
    {
      "record_id": "author-pr174-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/user_token_spec.rb"
    },
    {
      "record_id": "author-pr174-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "batch example loses the second privileged role"
    },
    {
      "record_id": "author-pr179-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/services/timekeeping/handoff/service_store_spec.rb"
    },
    {
      "record_id": "author-pr179-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/services/timekeeping/handoff/service_store_spec.rb"
    },
    {
      "record_id": "author-pr179-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/internal/v1/handoff_checkpoint_spec.rb"
    },
    {
      "record_id": "author-pr179-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "metadata boundary tests exceed the checkpoint encoder's nesting limit"
    },
    {
      "record_id": "author-pr179-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "checkpoint load accepts a non-positive version"
    },
    {
      "record_id": "author-pr179-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "metadata boundary tests exceed the checkpoint encoder's nesting limit"
    },
    {
      "record_id": "author-pr180-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/invoices/operation_coordinator_spec.rb"
    },
    {
      "record_id": "author-pr180-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/jobs/recover_invoice_operation_intents_job_spec.rb"
    },
    {
      "record_id": "author-pr180-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "collector-removal grep is not recursive"
    },
    {
      "record_id": "author-pr180-plan-002",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "requirement adds 'and nothing beyond that', excluding a check the plan keeps"
    },
    {
      "record_id": "author-pr180-plan-003",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "requirement adds 'and nothing beyond that', excluding a check the plan keeps"
    },
    {
      "record_id": "author-pr181-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/services/timekeeping/entry_writer_spec.rb"
    },
    {
      "record_id": "author-pr181-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "refusing commit and abort leaves a reservation with no recovery path"
    },
    {
      "record_id": "author-pr181-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "refusal tests lack the released-entry and abort cases"
    },
    {
      "record_id": "author-pr181-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "refusal tests lack the released-entry and abort cases"
    },
    {
      "record_id": "author-pr182-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/reconciliation_spec.rb"
    },
    {
      "record_id": "author-pr182-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/reconciliation_spec.rb"
    },
    {
      "record_id": "author-pr182-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/reconciliation_spec.rb"
    },
    {
      "record_id": "author-pr182-build-004",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/reconciliation_spec.rb"
    },
    {
      "record_id": "author-pr189-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/local_owner_spec.rb"
    },
    {
      "record_id": "author-pr189-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/contracts/timekeeping/local_owner_spec_helpers_spec.rb"
    },
    {
      "record_id": "author-pr189-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/contracts/timekeeping/local_owner_spec_helpers_spec.rb"
    },
    {
      "record_id": "author-pr189-build-004",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/local_owner_spec.rb"
    },
    {
      "record_id": "author-pr189-build-005",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/local_owner_spec.rb"
    },
    {
      "record_id": "author-pr189-build-006",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/local_owner_fence_spec.rb"
    },
    {
      "record_id": "author-pr189-build-007",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/local_owner_tenancy_spec.rb"
    },
    {
      "record_id": "author-pr189-build-008",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/local_owner_spec.rb"
    },
    {
      "record_id": "author-pr189-build-009",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/local_owner_spec.rb"
    },
    {
      "record_id": "author-pr189-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fault check removes one of two company filters"
    },
    {
      "record_id": "author-pr189-plan-002",
      "category": "P2",
      "method": "analyst_judgment",
      "rationale": "core merge may delete tests before their replacements land"
    },
    {
      "record_id": "author-pr189-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "fault check removes one of two company filters"
    },
    {
      "record_id": "author-pr192-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/meta/timekeeping_alerts_specs_spec.rb"
    },
    {
      "record_id": "author-pr192-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge drops the per-request zero-delay assertion"
    },
    {
      "record_id": "author-pr192-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge drops the per-request zero-delay assertion"
    },
    {
      "record_id": "author-pr192-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge drops the per-request zero-delay assertion"
    },
    {
      "record_id": "author-pr192-plan-004",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "stop condition forbids the temporary edits the execution note requires"
    },
    {
      "record_id": "author-pr194-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/local_outbox_source_spec.rb"
    },
    {
      "record_id": "author-pr194-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "clear-text HTTP delivery exposes the service token and snapshots"
    },
    {
      "record_id": "author-pr194-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "clear-text HTTP delivery exposes the service token and snapshots"
    },
    {
      "record_id": "author-pr194-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "wrong-token test changes the receiver's token too"
    },
    {
      "record_id": "author-pr194-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "negative-zero assertion asks jsonb for a lost sign"
    },
    {
      "record_id": "author-pr194-plan-005",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "receiver's to_f turns the subnormal duration to zero"
    },
    {
      "record_id": "author-pr194-plan-006",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "receiver's to_f turns the subnormal duration to zero"
    },
    {
      "record_id": "author-pr194-plan-007",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "wrong-token test changes the receiver's token too"
    },
    {
      "record_id": "author-pr194-plan-008",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "wrong-token test changes the receiver's token too"
    },
    {
      "record_id": "author-pr196-build-001",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/alert_signals.rb"
    },
    {
      "record_id": "author-pr196-build-002",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/invoices/operation_coordinator.rb"
    },
    {
      "record_id": "author-pr196-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/invoices/operation_coordinator_spec.rb"
    },
    {
      "record_id": "author-pr196-plan-001",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "prepare refusal unrecorded when the caller rescues and commits, so no alert"
    },
    {
      "record_id": "author-pr196-plan-002",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "prepare refusal unrecorded when the caller rescues and commits, so no alert"
    },
    {
      "record_id": "author-pr196-plan-003",
      "category": "E6",
      "method": "analyst_judgment",
      "rationale": "prepare refusal unrecorded when the caller rescues and commits, so no alert"
    },
    {
      "record_id": "author-pr196-plan-004",
      "category": "P2",
      "method": "analyst_judgment",
      "rationale": "first unit requires a state only the second unit creates"
    },
    {
      "record_id": "author-pr196-plan-005",
      "category": "P2",
      "method": "analyst_judgment",
      "rationale": "first unit requires a state only the second unit creates"
    },
    {
      "record_id": "author-pr197-build-001",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/tasks/timekeeping.rake"
    },
    {
      "record_id": "author-pr197-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/models/timekeeping_ownership_spec.rb"
    },
    {
      "record_id": "author-pr197-build-003",
      "category": "E3",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: lib/timekeeping/handoff/runner.rb"
    },
    {
      "record_id": "author-pr197-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "failed admit or timed-out cutover leaves the owner fenced with no resumable step"
    },
    {
      "record_id": "author-pr197-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "failed admit or timed-out cutover leaves the owner fenced with no resumable step"
    },
    {
      "record_id": "author-pr197-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "failed admit or timed-out cutover leaves the owner fenced with no resumable step"
    },
    {
      "record_id": "author-pr197-plan-004",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "correction writes make the repeated legacy checkpoint load fail"
    },
    {
      "record_id": "author-pr197-plan-005",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "step table rows carry no completion check"
    },
    {
      "record_id": "author-pr197-plan-006",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "freeze order prevents previous-generation snapshots from draining"
    },
    {
      "record_id": "author-pr197-plan-007",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "freeze order prevents previous-generation snapshots from draining"
    },
    {
      "record_id": "author-pr197-plan-008",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "freeze order prevents previous-generation snapshots from draining"
    },
    {
      "record_id": "author-pr197-plan-009",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "freeze order prevents previous-generation snapshots from draining"
    },
    {
      "record_id": "author-pr197-plan-010",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "resume rules demand checkpoint metadata before the step ran"
    },
    {
      "record_id": "author-pr197-plan-011",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "step table rows carry no completion check"
    },
    {
      "record_id": "author-pr197-plan-012",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "failed admit or timed-out cutover leaves the owner fenced with no resumable step"
    },
    {
      "record_id": "author-pr197-plan-013",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "correction writes make the repeated legacy checkpoint load fail"
    },
    {
      "record_id": "author-pr198-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/mcp/handle_spec.rb"
    },
    {
      "record_id": "author-pr198-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/initializers/mcp_spec.rb"
    },
    {
      "record_id": "author-pr198-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/mcp/stdio_transport_spec.rb"
    },
    {
      "record_id": "author-pr198-build-004",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/mcp/client_spec.rb"
    },
    {
      "record_id": "author-pr198-plan-001",
      "category": "E4",
      "method": "analyst_judgment",
      "rationale": "declared seam names the SDK argument, not the wrapper's"
    },
    {
      "record_id": "author-pr198-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stdio test never calls open, so an arity change passes"
    },
    {
      "record_id": "author-pr198-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stdio test never calls open, so an arity change passes"
    },
    {
      "record_id": "author-pr198-plan-004",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (documentation refresh)"
    },
    {
      "record_id": "author-pr198-plan-005",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (documentation refresh)"
    },
    {
      "record_id": "author-pr201-build-001",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/invoices/legacy_reservations.rb"
    },
    {
      "record_id": "author-pr201-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/invoices/create_spec.rb"
    },
    {
      "record_id": "author-pr201-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/mailers/invoice_mailer_spec.rb"
    },
    {
      "record_id": "author-pr201-build-004",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/invoices/reservation_decision_spec.rb"
    },
    {
      "record_id": "author-pr201-build-005",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/invoices/create_spec.rb"
    },
    {
      "record_id": "author-pr201-build-006",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/requests/api/v1/invoices/create_spec.rb"
    },
    {
      "record_id": "author-pr201-build-007",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/seed_disposition_recorder_spec.rb"
    },
    {
      "record_id": "author-pr201-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "successor draft cannot release an entry the old retained holding lists"
    },
    {
      "record_id": "author-pr201-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "FOR UPDATE after FOR KEY SHARE deadlocks concurrent creates"
    },
    {
      "record_id": "author-pr201-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "successor draft cannot release an entry the old retained holding lists"
    },
    {
      "record_id": "author-pr201-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "holding set computed before the invoice lock"
    },
    {
      "record_id": "author-pr201-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "conflict check ignores untouched kept invoices"
    },
    {
      "record_id": "author-pr201-plan-006",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "characterization examples fail in the planned commit order"
    },
    {
      "record_id": "author-pr201-plan-007",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "characterization examples fail in the planned commit order"
    },
    {
      "record_id": "author-pr201-plan-008",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "registry keyed by an id the invoice does not have yet"
    },
    {
      "record_id": "author-pr201-plan-009",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (registration timing)"
    },
    {
      "record_id": "author-pr201-plan-010",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "non-draft saves skip the conflict check; duplicate billing"
    },
    {
      "record_id": "author-pr201-plan-011",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "non-draft saves skip the conflict check; duplicate billing"
    },
    {
      "record_id": "author-pr201-plan-012",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "non-draft saves skip the conflict check; duplicate billing"
    },
    {
      "record_id": "author-pr201-plan-013",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "non-draft saves skip the conflict check; duplicate billing"
    },
    {
      "record_id": "author-pr201-plan-014",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "non-draft saves skip the conflict check; duplicate billing"
    },
    {
      "record_id": "author-pr201-plan-015",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "non-draft saves skip the conflict check; duplicate billing"
    },
    {
      "record_id": "author-pr201-plan-016",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "non-draft saves skip the conflict check; duplicate billing"
    },
    {
      "record_id": "author-pr207-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/models/agent_spec.rb"
    },
    {
      "record_id": "author-pr207-build-002",
      "category": "E1",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/timekeeping/service_token.rb"
    },
    {
      "record_id": "author-pr207-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "operation id per generation replays an old detach receipt"
    },
    {
      "record_id": "author-pr207-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "operation id per generation replays an old detach receipt"
    },
    {
      "record_id": "author-pr207-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "operation id per generation replays an old detach receipt"
    },
    {
      "record_id": "author-pr207-plan-004",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "operation id per generation replays an old detach receipt"
    },
    {
      "record_id": "author-pr208-build-001",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/imports/harvest_time_entries_importer.rb"
    },
    {
      "record_id": "author-pr208-build-002",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/imports/harvest_time_entries_importer.rb"
    },
    {
      "record_id": "author-pr208-build-003",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/imports/harvest_time_entries_importer.rb"
    },
    {
      "record_id": "author-pr208-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "failed import reports zero rows after committing some"
    },
    {
      "record_id": "author-pr208-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "retry key hashes a value that changes between retries"
    },
    {
      "record_id": "author-pr208-plan-003",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "retry skips an identical row that never committed"
    },
    {
      "record_id": "author-pr208-plan-004",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "two points named for reading the expected generation"
    },
    {
      "record_id": "author-pr208-plan-005",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (duplicate policy for fresh imports)"
    },
    {
      "record_id": "author-pr208-plan-006",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (duplicate policy for fresh imports)"
    },
    {
      "record_id": "author-pr210-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/v1/entry_writes_spec.rb"
    },
    {
      "record_id": "author-pr210-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "older service treats the replay-only request as a real delete"
    },
    {
      "record_id": "author-pr210-plan-002",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "disclosure promises a receipt expiry nothing enforces"
    },
    {
      "record_id": "author-pr210-plan-003",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (header on every write route)"
    },
    {
      "record_id": "author-pr218-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/tasks/timekeeping_alerts_spec.rb"
    },
    {
      "record_id": "author-pr218-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "completion rule and grep check forbid helpers the plan keeps"
    },
    {
      "record_id": "author-pr218-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "completion rule and grep check forbid helpers the plan keeps"
    },
    {
      "record_id": "author-pr218-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "verification command skips the live examples it claims to prove"
    },
    {
      "record_id": "author-pr218-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "verification command skips the live examples it claims to prove"
    },
    {
      "record_id": "author-pr218-plan-005",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "requested helper name listed as a missing repository symbol"
    },
    {
      "record_id": "author-pr218-plan-006",
      "category": "P1",
      "method": "analyst_judgment",
      "rationale": "requested helper name listed as a missing repository symbol"
    },
    {
      "record_id": "author-pr219-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/invoices/reservation_outcome_spec.rb"
    },
    {
      "record_id": "author-pr219-build-002",
      "category": "E2",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: app/services/invoices/prepared_reservations.rb"
    },
    {
      "record_id": "author-pr219-plan-001",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "commit promotes a provisional row beside its own retained row"
    },
    {
      "record_id": "author-pr219-plan-002",
      "category": "E3",
      "method": "analyst_judgment",
      "rationale": "commit promotes a provisional row beside its own retained row"
    },
    {
      "record_id": "author-pr219-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "unresolved_operation reason dropped from the retryable answer"
    },
    {
      "record_id": "author-pr219-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "reservation checks ignore entries claimed through kept-invoice lines"
    },
    {
      "record_id": "author-pr219-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "test expectations contradict the design (abort after commit, zero reservations)"
    },
    {
      "record_id": "author-pr219-plan-006",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "test expectations contradict the design (abort after commit, zero reservations)"
    },
    {
      "record_id": "author-pr221-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merged helper cannot send the foreign company's URL"
    },
    {
      "record_id": "author-pr221-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merged helper cannot send the foreign company's URL"
    },
    {
      "record_id": "author-pr221-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merged helper cannot send the foreign company's URL"
    },
    {
      "record_id": "author-pr221-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "token-mode example loses stored-state and outbox checks"
    },
    {
      "record_id": "author-pr223-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/services/timekeeping/entry_command_spec.rb"
    },
    {
      "record_id": "author-pr223-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/timekeeping/gateway_spec.rb"
    },
    {
      "record_id": "author-pr223-build-003",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: timekeeping/spec/requests/v1/entry_writes_spec.rb"
    },
    {
      "record_id": "author-pr223-plan-001",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "timed-out create can commit after the agent is deleted"
    },
    {
      "record_id": "author-pr223-plan-002",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "timed-out create can commit after the agent is deleted"
    },
    {
      "record_id": "author-pr223-plan-003",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "timed-out create can commit after the agent is deleted"
    },
    {
      "record_id": "author-pr223-plan-004",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "forwarded agent entries lose pending_review"
    },
    {
      "record_id": "author-pr223-plan-005",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "forwarded agent entries lose pending_review"
    },
    {
      "record_id": "author-pr223-plan-006",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "forwarded agent entries lose pending_review"
    },
    {
      "record_id": "author-pr223-plan-007",
      "category": "E1",
      "method": "analyst_judgment",
      "rationale": "review default left in the model that no longer owns the write",
      "alternative_considered": "E2"
    },
    {
      "record_id": "author-pr223-plan-008",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "timed-out create can commit after the agent is deleted"
    },
    {
      "record_id": "author-pr223-plan-009",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "forwarded agent entries lose pending_review"
    },
    {
      "record_id": "author-pr223-plan-010",
      "category": "E2",
      "method": "analyst_judgment",
      "rationale": "timed-out create can commit after the agent is deleted"
    },
    {
      "record_id": "author-pr224-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/contracts/timekeeping/forwarded_timekeeping_helpers_spec.rb"
    },
    {
      "record_id": "author-pr224-build-002",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/jobs/data_import_job_spec.rb"
    },
    {
      "record_id": "author-pr224-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "zero-copy search runs before the duplicate groups are deleted"
    },
    {
      "record_id": "author-pr224-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "zero-copy search runs before the duplicate groups are deleted"
    },
    {
      "record_id": "author-pr224-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "rerun merge drops the first-row-retried-first assertion"
    },
    {
      "record_id": "author-pr230-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "race examples cannot detect a flag read before the lock wait"
    },
    {
      "record_id": "author-pr230-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "race examples cannot detect a flag read before the lock wait"
    },
    {
      "record_id": "author-pr230-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "race examples cannot detect a flag read before the lock wait"
    },
    {
      "record_id": "author-pr230-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "race examples cannot detect a flag read before the lock wait"
    },
    {
      "record_id": "author-pr238-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/runner_legacy_handoff_spec.rb"
    },
    {
      "record_id": "author-pr238-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "correction-loss mutation leaves both examples green"
    },
    {
      "record_id": "author-pr238-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "correction-loss mutation leaves both examples green"
    },
    {
      "record_id": "author-pr238-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "promised uninterrupted control run never executed"
    },
    {
      "record_id": "author-pr238-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "company-coverage assertion fails on always-empty tables"
    },
    {
      "record_id": "author-pr238-plan-005",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "company-coverage assertion fails on always-empty tables"
    },
    {
      "record_id": "author-pr239-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/services/invoices/prepared_reservations_spec.rb"
    },
    {
      "record_id": "author-pr239-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge rule, final-state scope and fault check inconsistent"
    },
    {
      "record_id": "author-pr239-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge rule, final-state scope and fault check inconsistent"
    },
    {
      "record_id": "author-pr239-plan-003",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge rule, final-state scope and fault check inconsistent"
    },
    {
      "record_id": "author-pr239-plan-004",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "merge rule, final-state scope and fault check inconsistent"
    },
    {
      "record_id": "author-pr239-plan-005",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (learning-document citations)"
    },
    {
      "record_id": "author-pr239-plan-006",
      "category": "P3",
      "method": "analyst_judgment",
      "rationale": "plan goes beyond the issue (learning-document citations)"
    },
    {
      "record_id": "author-pr240-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "failure-injection logging and error-wrapping rules conflict"
    },
    {
      "record_id": "author-pr240-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "failure-injection logging and error-wrapping rules conflict"
    },
    {
      "record_id": "author-pr243-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/runner_incomplete_checks_spec.rb"
    },
    {
      "record_id": "author-pr244-build-001",
      "category": "E5",
      "method": "existing_path_rule",
      "rationale": "Original ordered path rule applied to the recorded source location: spec/lib/timekeeping/handoff/runner_legacy_handoff_spec.rb"
    },
    {
      "record_id": "author-pr247-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "MCP shared setup moves the owner so local rows are never written"
    },
    {
      "record_id": "author-pr247-plan-002",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stop condition contradicts the role and credential tables"
    },
    {
      "record_id": "author-pr250-plan-001",
      "category": "E5",
      "method": "analyst_judgment",
      "rationale": "stop condition forbids the required layout-expectation change"
    }
  ]
}
