{
  "schema_version": 1,
  "task": "write_story_batch",
  "project_id": "gacmai_20260718_075153",
  "source_outline_sha256": "327f90c4584850857bbb7159fc17af7bdb27afd0e193b0679f37e6f9c0c963f7",
  "source_concept_sha256": "0ac2600ec1e964494a688426ed3f59e1bd0d46d4f34982756cfb539a29bed7a0",
  "part_range": [
    1,
    4
  ],
  "contract": {
    "language": "natural Vietnamese literary audio prose",
    "paragraphs": "exactly 12 paragraphs per part, one per beat, in beat order",
    "target_words": 4800,
    "pov": "close third-person limited only to Võ Thanh Hà; no first-person narrator and no other interiority",
    "exact_named_cast": [
      "Võ Thanh Hà",
      "Nguyễn Hữu Duy",
      "Trần Mộc Lan",
      "Lê Quang Vinh",
      "Phạm Ngọc Thư",
      "Đỗ Minh Khang"
    ],
    "forbidden": [
      "extra named people",
      "scaffold labels or beat IDs in prose",
      "checklist narration",
      "repeated template sentences",
      "supernatural/medical/petroleum/radio/tape/song domains",
      "operational wrongdoing instructions"
    ],
    "evidence": "weave source/custody/authority/limits naturally into scenes; do not recite all four mechanically",
    "consent_privacy": "render actual choices and consequences; no universal disclaimer repeated across paragraphs",
    "audio": "complete grammatical sentences, pronounceable prose, varied cadence, no placeholders or notes to editor"
  },
  "parts": [
    {
      "part_number": 1,
      "title": "Vệt bánh dưới bùn",
      "target_words": 1200,
      "dramatic_objective": "Hà phát hiện bản đồ thửa và tuyến kè dự kiến cắt ngang một lối dùng chung vừa lộ sau nước rút.",
      "beats": [
        {
          "beat_id": "01.01",
          "ordinal": 1,
          "target_words": 100,
          "scene_action": "Hà xuống xe ở mép bãi, thấy hai vệt bánh xe đẩy chạy xuyên qua đường ranh kín trên bản đồ số và tự buộc mình chỉ ghi nhận sai khác, chưa gọi đó là quyền.",
          "causal_result": "Hai vệt bánh biến sai số bản đồ thành một chướng ngại sắp thành hình, kéo Hà rời màn hình xuống tận gờ bùn.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 01.01 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          },
          "evidence": {
            "source": "vệt bánh và lớp địa chính số",
            "custody": "Hà quan sát tại bãi; bản số xuất từ hệ thống huyện",
            "authority": "Hà được đối chiếu sai khác, không xác lập quyền",
            "limits": "hiện trạng một ngày và ranh hành chính"
          }
        },
        {
          "beat_id": "01.02",
          "ordinal": 2,
          "target_words": 100,
          "scene_action": "Cô đi theo vệt bánh đến một gờ bùn bị san phẳng, nơi mặt cắt tuyến kè trên máy tính sẽ dựng thành vật cản; khoảng lệch khiến chuyến kiểm tra từ thủ tục thành cấp bách.",
          "causal_result": "Nguy cơ công trình khóa lối khiến Hà cần ảnh chứng minh ngay, nhưng mái nhà trong khung hình trao cho Lan quyền buộc cô dừng lại.",
          "consent_privacy": {
            "action": "Hà định chụp gờ bùn nhưng khung hình có thể định vị mái nhà; cô chưa bấm máy và phải xin lại phạm vi.",
            "decision_scope": "Chưa có ảnh được phép cho tới khi loại nhà, người và tọa độ khỏi khung."
          }
        },
        {
          "beat_id": "01.03",
          "ordinal": 3,
          "target_words": 100,
          "scene_action": "Khi Hà giơ máy chụp, Lan chắn khung hình vì mái nhà xa có thể bị định vị; Hà hạ máy và hỏi điều kiện ghi nhận cảnh quan.",
          "causal_result": "Việc Hà chấp nhận hạ máy cứu niềm tin vừa chớm, đổi lại cô chỉ được ghi nhận phần địa hình không thể nhận diện cư dân.",
          "consent_privacy": {
            "action": "Lan chặn ảnh có thể định vị; Hà hạ máy và xin phạm vi mới.",
            "decision_scope": "Quyết định riêng tư tại nhịp 01.03."
          }
        },
        {
          "beat_id": "01.04",
          "ordinal": 4,
          "target_words": 100,
          "scene_action": "Lan chỉ cho phép ảnh góc thấp không chứa nhà, người hay tọa độ; Hà chụp vệt mòn cùng thước tỷ lệ và giao bản gốc ngay cho Thư.",
          "causal_result": "Bức ảnh an toàn có giá trị chỉ khi bản rõ rời tay Hà, nên Thư lập tức nhận trách nhiệm giữ nguồn.",
          "consent_privacy": {
            "action": "Lan cho phép ảnh góc thấp; Thư phải xóa siêu dữ liệu trước khi Hà dùng.",
            "decision_scope": "Quyết định riêng tư tại nhịp 01.04."
          }
        },
        {
          "beat_id": "01.05",
          "ordinal": 5,
          "target_words": 100,
          "scene_action": "Thư ghi giờ nhận, mã ảnh và niêm bản rõ; Hà chỉ giữ bản thu nhỏ đã xóa siêu dữ liệu để so với lớp thửa.",
          "causal_result": "Bản thu nhỏ sạch siêu dữ liệu cho phép đối chiếu mà không lộ nơi ở; chính lớp thửa sau đó phơi ra ba ranh riêng cắt cùng một vệt.",
          "consent_privacy": {
            "action": "Thư niêm bản ảnh rõ; Hà chỉ nhận bản thu nhỏ đã xóa siêu dữ liệu để đối chiếu.",
            "decision_scope": "Bản rõ không rời chuỗi giữ; bản dùng việc không được chứa dữ liệu định vị."
          }
        },
        {
          "beat_id": "01.06",
          "ordinal": 6,
          "target_words": 100,
          "scene_action": "Lớp số đặt vệt mòn trong ba thửa riêng liên tiếp, nhưng Hà nhận ra dữ liệu chỉ mô tả ranh hành chính chứ không bác bỏ cách đi chung.",
          "causal_result": "Ranh hành chính không giải thích nổi dấu dùng chung, buộc Hà tìm một biểu hiện vật lý thay cho suy đoán pháp lý.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 01.06 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "01.07",
          "ordinal": 7,
          "target_words": 100,
          "scene_action": "Vinh kéo một khung thuyền qua đúng vệt bánh rồi dừng trước cọc tuyến kè, cho Hà thấy trở ngại vật lý mà bản vẽ không biểu đạt.",
          "causal_result": "Khung thuyền mắc trước cọc biến nét vẽ vô hại thành tổn thất cụ thể, nhưng Vinh chỉ cho đo nếu người sử dụng vẫn vô danh.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 01.07 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "01.08",
          "ordinal": 8,
          "target_words": 100,
          "scene_action": "Hà đo bề rộng bằng những đoạn dây không gắn điểm địa lý; Vinh từ chối kể nhà nào từng qua, khiến cô phải tách quy luật sử dụng khỏi danh tính.",
          "causal_result": "Sự im lặng của Vinh giữ cư dân an toàn đồng thời lấy mất lời kể dễ thuyết phục nhất, đẩy Hà sang phép đo phi định vị.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 01.08 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "01.09",
          "ordinal": 9,
          "target_words": 100,
          "scene_action": "Duy xem mặt cắt công khai và nói khe bảo trì hiện tại quá hẹp cho khung thuyền; Hà ghi đây là nhận định kỹ thuật sơ bộ, chưa phải sửa tuyến.",
          "causal_result": "Cảnh báo sơ bộ của Duy đặt tuyến kè dưới áp lực kỹ thuật, song thiếu căn cứ buộc Hà truy lại thời điểm khảo sát.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 01.09 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "01.10",
          "ordinal": 10,
          "target_words": 100,
          "scene_action": "Cô đối chiếu ngày xuất lớp thửa với ngày khảo sát thiết kế và phát hiện khảo sát diễn ra trước đợt nước rút làm lộ lối.",
          "causal_result": "Khảo sát cũ hơn đợt nước rút làm lộ một khoảng mù có thể chứng minh, nhưng mọi ảnh rõ đều đe dọa phá cam kết với Lan.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 01.10 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "01.11",
          "ordinal": 11,
          "target_words": 100,
          "scene_action": "Hà chọn không gửi ảnh rõ cho huyện dù nó thuyết phục hơn, chỉ lập một phiếu sai khác nêu vùng xung đột đã làm mờ.",
          "causal_result": "Hà hy sinh sức nặng của ảnh để giữ lời, khiến phiếu sai khác chỉ còn sống nếu Khang tìm được cửa thủ tục.",
          "consent_privacy": {
            "action": "Hà quyết định không chuyển ảnh rõ cho huyện, chỉ gửi phiếu sai khác với vùng xung đột đã làm mờ.",
            "decision_scope": "Ảnh rõ tiếp tục do Thư niêm giữ, không được dùng lại hay phát tán; đổi lại phiếu yếu hơn và phải nhờ Khang tìm căn cứ tiếp nhận."
          }
        },
        {
          "beat_id": "01.12",
          "ordinal": 12,
          "target_words": 100,
          "scene_action": "Phiếu sai khác khiến Khang yêu cầu cô chỉ ra căn cứ thủ tục có thể tiếp nhận chứng cứ bổ sung, mở câu hỏi về hồ sơ tham vấn đã đóng.",
          "causal_result": "Yêu cầu căn cứ của Khang đóng đường tắt và buộc Hà quay vào chính hồ sơ đã khép để tìm phần hiện trạng bị bỏ trống.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 01.12 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        }
      ]
    },
    {
      "part_number": 2,
      "title": "Hồ sơ đã khép",
      "target_words": 1200,
      "dramatic_objective": "Hà lần ra khoảng trống tham vấn, nhưng Khang từ chối mở lại khi chưa chứng minh hồ sơ hiện hữu chưa đầy đủ.",
      "beats": [
        {
          "beat_id": "02.01",
          "ordinal": 13,
          "target_words": 100,
          "scene_action": "Tại bàn tiếp nhận, Khang đặt trước Hà mục lục hồ sơ đã đóng; cô thấy mục “lối tiếp cận theo mùa” trống dù biên bản ghi đã khảo sát đủ hiện trạng.",
          "causal_result": "Ô mục trống trao cho Hà dấu hiệu thiếu sót đầu tiên, nhưng mục lục không đủ; cô phải kiểm tấm sơ đồ từng được công khai.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.01 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "02.02",
          "ordinal": 14,
          "target_words": 100,
          "scene_action": "Hà xin xem bản thông báo công khai và nhận ra sơ đồ đính kèm chỉ có đường bộ mùa khô, không có khoảng bãi vừa khảo sát.",
          "causal_result": "Sơ đồ bỏ mất bãi củng cố nghi vấn, còn thẩm quyền hạn hẹp của Khang buộc Hà thôi đòi ông thay quyết định.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.02 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "02.03",
          "ordinal": 15,
          "target_words": 100,
          "scene_action": "Khang phân biệt quyền kiểm tra tính đầy đủ của mình với quyền quyết định của Hội đồng, buộc Hà thôi đề nghị ông “sửa” kết quả.",
          "causal_result": "Bị chặn ở ranh quyền lực, Hà chỉ còn cách dựng một nguồn bổ sung hợp lệ thay vì vận động Khang sửa kết quả.",
          "consent_privacy": {
            "action": "Khang giới hạn việc tiếp nhận tài liệu cư dân vào kiểm tra tính đầy đủ, không dùng nó để tự sửa quyết định.",
            "decision_scope": "Mọi biên bản hoặc mã phép muốn vào thủ tục huyện phải có quyền dùng riêng cho lần mở lại."
          }
        },
        {
          "beat_id": "02.04",
          "ordinal": 16,
          "target_words": 100,
          "scene_action": "Thư mang một bản biên bản đã che tên, nhưng chưa giao vì giấy đồng thuận cũ chỉ cho lưu trữ nội bộ chứ không cho thủ tục huyện.",
          "causal_result": "Giấy phép cũ khóa biên bản ngoài thủ tục huyện, khiến Hà phải nhặt một dữ kiện không nhạy cảm ngay tại chỗ.",
          "consent_privacy": {
            "action": "Thư giữ biên bản vì phép cũ chỉ bao trùm lưu trữ nội bộ.",
            "decision_scope": "Quyết định riêng tư tại nhịp 02.04."
          }
        },
        {
          "beat_id": "02.05",
          "ordinal": 17,
          "target_words": 100,
          "scene_action": "Hà đọc tại chỗ phần tiêu đề không nhạy cảm và nhận ra ngày họp rơi vào lúc lối bãi còn ngập, giải thích vì sao người tham dự không thấy vật cản tương lai.",
          "causal_result": "Ngày họp lúc bãi ngập giải thích khoảng mù mà không cần lời cư dân, mở ra một yêu cầu sử dụng hẹp hơn để Lan cân nhắc.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.05 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "02.06",
          "ordinal": 18,
          "target_words": 100,
          "scene_action": "Cô đề nghị dùng ngày và phạm vi họp, không dùng phát biểu cư dân; Lan hẹn hỏi lại chủ thể kiểm soát sổ thay vì tự mở rộng mục đích.",
          "causal_result": "Lan không cho Hà tự nới mục đích; sự trì hoãn đổi hy vọng mở hồ sơ thành cuộc chạy đua xin phép đúng chủ thể.",
          "consent_privacy": {
            "action": "Lan phải hỏi lại cư dân cho mục đích mở hồ sơ; không ai được suy rộng phép cũ.",
            "decision_scope": "Quyết định riêng tư tại nhịp 02.06."
          }
        },
        {
          "beat_id": "02.07",
          "ordinal": 19,
          "target_words": 100,
          "scene_action": "Khang chỉ cho Hà điều khoản cho phép chứng nhận thiếu thành phần nếu có nguồn hợp lệ, chuỗi giữ rõ và giới hạn sử dụng được ghi.",
          "causal_result": "Điều khoản Khang chỉ ra đặt ba cửa ải nguồn, lưu giữ và giới hạn, kéo Hà trở lại bãi tìm bằng chứng thông báo độc lập.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.07 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "02.08",
          "ordinal": 20,
          "target_words": 100,
          "scene_action": "Hà quay lại bãi kiểm tra dấu thông báo; cọc giấy cũ nằm ở đường trên, ngoài tầm nhìn của người đi lối nước, nhưng cô không suy đoán ai đã bỏ lỡ.",
          "causal_result": "Cọc giấy khuất khỏi lối nước làm thủ tục cũ đáng ngờ, nhưng Hà cần lời chứng giới hạn thay vì suy đoán người đã bỏ lỡ.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.08 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "02.09",
          "ordinal": 21,
          "target_words": 100,
          "scene_action": "Vinh xác nhận ông chỉ có thể nói về tuyến ông tự đi, không đại diện mọi cư dân; giới hạn ấy làm chứng cứ hẹp hơn nhưng đáng tin hơn.",
          "causal_result": "Vinh từ chối đại diện số đông làm chứng cứ nhỏ lại nhưng đủ sạch để Thư đối chiếu với bản thông báo thiếu trang.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.09 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "02.10",
          "ordinal": 22,
          "target_words": 100,
          "scene_action": "Thư phát hiện bản sao thông báo huyện lưu thiếu một trang sơ đồ; bản gốc vẫn ở kho huyện nên cô chỉ lập bảng đối chiếu số trang.",
          "causal_result": "Trang thất lạc tạo vết nứt trong hồ sơ huyện; vì bản gốc chưa được phép động tới, bảng số trang trở thành vật chứng duy nhất.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.10 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          },
          "evidence": {
            "source": "bảng đối chiếu số trang thông báo",
            "custody": "Thư lập từ bản sao; bản gốc do huyện giữ",
            "authority": "Khang kiểm tính đầy đủ thủ tục",
            "limits": "chỉ chứng minh bản sao thiếu trang"
          }
        },
        {
          "beat_id": "02.11",
          "ordinal": 23,
          "target_words": 100,
          "scene_action": "Hà trao bảng đối chiếu cho Khang, người ký xác nhận đã nhận nhưng chưa chứng nhận hồ sơ thiếu cho tới khi nguồn cộng đồng được phép dùng.",
          "causal_result": "Khang nhận bảng nhưng giữ chữ ký, đặt toàn bộ cơ hội mở lại lên quyết định của cộng đồng về ký ức đã lưu.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.11 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "02.12",
          "ordinal": 24,
          "target_words": 100,
          "scene_action": "Bế tắc chuyển từ sự thật địa hình sang quyền sử dụng ký ức: nếu Lan không xác nhận phép mới, Khang không thể mở lại hồ sơ.",
          "causal_result": "Nút thắt chuyển sang quyền dùng dữ liệu; Hà phải bước vào phòng sổ với khả năng Lan nói không và hồ sơ khép vĩnh viễn.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 02.12 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        }
      ]
    },
    {
      "part_number": 3,
      "title": "Quyền được rút",
      "target_words": 1200,
      "dramatic_objective": "Lan thử một cơ chế đồng thuận theo mục đích; một lần rút phép buộc Hà chứng minh cơ chế thật sự có hiệu lực.",
      "beats": [
        {
          "beat_id": "03.01",
          "ordinal": 25,
          "target_words": 100,
          "scene_action": "Lan trải sổ kiểm soát trong phòng hợp tác xã nhưng che cột hộ; Hà chỉ được thấy các mã mục đích và ngày hết hạn.",
          "causal_result": "Cột hộ bị che khiến Hà không thể săn người xác nhận, buộc cô thiết kế một yêu cầu chỉ dựa vào mục đích và thời hạn.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 03.01 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "03.02",
          "ordinal": 26,
          "target_words": 100,
          "scene_action": "Hà soạn yêu cầu hẹp: xác nhận từng có sử dụng lối theo mùa để kiểm tính đầy đủ tham vấn, không yêu cầu tọa độ hay danh tính.",
          "causal_result": "Yêu cầu càng hẹp càng có cơ hội được chấp nhận, nhưng cụm “dùng cho dự án” vẫn đủ rộng để Lan dừng bút.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 03.02 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "03.03",
          "ordinal": 27,
          "target_words": 100,
          "scene_action": "Lan sửa câu “dùng cho dự án” thành “dùng cho lần mở lại hồ sơ”, vì Hà hiểu một chữ rộng có thể biến phép hữu hạn thành kho dữ liệu.",
          "causal_result": "Một chữ bị sửa tước khả năng tái sử dụng về sau, đổi lại mở đường cho Thư tách bản kín khỏi bảng xác nhận.",
          "consent_privacy": {
            "action": "Lan thu hẹp câu chữ tới đúng lần mở lại, người xem và hạn dùng.",
            "decision_scope": "Quyết định riêng tư tại nhịp 03.03."
          }
        },
        {
          "beat_id": "03.04",
          "ordinal": 28,
          "target_words": 100,
          "scene_action": "Thư tạo hai ngăn: bản kín do cộng đồng giữ và bảng xác nhận chỉ có mã đồng thuận, phạm vi, trạng thái; không có khóa nối trong tay Hà.",
          "causal_result": "Hai ngăn dữ liệu bảo vệ danh tính nhưng khiến Hà mất khóa kiểm tra, nên lời Vinh chỉ có thể vào hồ sơ theo điều kiện ông tự chọn.",
          "consent_privacy": {
            "action": "Thư tách bản kín khỏi bảng mã; Hà không giữ khóa nối để tái nhận diện người cho phép.",
            "decision_scope": "Bảng xác nhận chỉ lộ mã, phạm vi và trạng thái; danh tính ở lại ngăn cộng đồng."
          }
        },
        {
          "beat_id": "03.05",
          "ordinal": 29,
          "target_words": 100,
          "scene_action": "Vinh đọc lại bản giải thích thành tiếng theo cách của ông rồi đồng ý cho dùng lời kể về kích thước khung thuyền, không cho dùng lịch trình gia đình.",
          "causal_result": "Vinh cho kích thước nhưng giữ lịch gia đình; lời kể sống được bằng cái giá là không thể chứng minh tần suất sử dụng.",
          "consent_privacy": {
            "action": "Vinh cho phép mô tả khung thuyền nhưng giữ kín lịch trình gia đình.",
            "decision_scope": "Quyết định riêng tư tại nhịp 03.05."
          }
        },
        {
          "beat_id": "03.06",
          "ordinal": 30,
          "target_words": 100,
          "scene_action": "Hà ghi lời Vinh bằng biên bản tóm tắt tại chỗ; ông sửa “đường cố định” thành “dải đi đổi theo nước”, làm giả thuyết kỹ thuật phải đổi.",
          "causal_result": "“Dải đi đổi theo nước” phá giả thuyết đường cố định đúng lúc một nguồn khác rút phép, làm chuỗi mùa sắp thủng.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 03.06 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          },
          "evidence": {
            "source": "biên bản tóm tắt thử khung thuyền",
            "custody": "Vinh sửa và chấp thuận; Thư giữ bản gốc",
            "authority": "Vinh chỉ chứng thực trải nghiệm của mình",
            "limits": "không đại diện hộ khác hay mọi mùa"
          }
        },
        {
          "beat_id": "03.07",
          "ordinal": 31,
          "target_words": 100,
          "scene_action": "Một mục đồng thuận khác bị rút trước khi tổng hợp; Lan đánh dấu vô hiệu và yêu cầu Thư loại cả ghi chú dẫn xuất khỏi bảng.",
          "causal_result": "Quyền rút được thực thi ngay trước mắt Hà; việc xóa cả dẫn xuất buộc cô bỏ một kết luận đang có lợi.",
          "consent_privacy": {
            "action": "Lan thi hành một lần rút; Thư loại nội dung và mọi dẫn xuất liên quan.",
            "decision_scope": "Quyết định riêng tư tại nhịp 03.07."
          }
        },
        {
          "beat_id": "03.08",
          "ordinal": 32,
          "target_words": 100,
          "scene_action": "Hà thấy việc loại mục ấy làm chuỗi mùa thiếu một khoảng quan trọng, nhưng cô xóa kết luận dựa vào nó thay vì xin giữ dưới dạng ẩn danh.",
          "causal_result": "Khoảng trống mùa xuất hiện, và lựa chọn không cứu dữ liệu dưới vỏ ẩn danh đẩy Thư tới việc hủy bản làm việc.",
          "consent_privacy": {
            "action": "Hà thi hành việc rút phép bằng cách xóa kết luận dựa trên nguồn, không giữ lại dưới dạng ẩn danh.",
            "decision_scope": "Nội dung và dẫn xuất mất quyền sử dụng cho lần mở lại; khoảng dữ liệu mùa bị bỏ trống và Thư phải hủy bản làm việc."
          }
        },
        {
          "beat_id": "03.09",
          "ordinal": 33,
          "target_words": 100,
          "scene_action": "Thư lập biên nhận hủy bản làm việc và lưu duy nhất dấu kiểm toán rằng một nguồn đã rút, không lưu nội dung nguồn.",
          "causal_result": "Biên nhận hủy giữ được dấu kiểm toán nhưng xóa mất nội dung Duy cần, khiến độ chắc của mô hình tụt xuống.",
          "consent_privacy": {
            "action": "Thư chỉ lưu dấu kiểm toán về việc rút, không giữ nội dung đã mất phép.",
            "decision_scope": "Quyết định riêng tư tại nhịp 03.09."
          }
        },
        {
          "beat_id": "03.10",
          "ordinal": 34,
          "target_words": 100,
          "scene_action": "Duy cảnh báo thiếu mùa nước cao sẽ làm mô hình kém chắc; Hà đáp bằng cách hạ mức khẳng định thay vì khôi phục dữ liệu.",
          "causal_result": "Duy nêu cái giá kỹ thuật của sự thiếu hụt; Hà chấp nhận hạ lời khẳng định để không phản bội quyền rút.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 03.10 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "03.11",
          "ordinal": 35,
          "target_words": 100,
          "scene_action": "Lan kiểm ngẫu nhiên bảng công khai, không thể suy ngược mã sang hộ, rồi ký xác nhận cơ chế rút đã được thi hành trong lần thử.",
          "causal_result": "Phép thử suy ngược thất bại cho Lan đủ tin để ký cơ chế, trao Hà một nền tảng hẹp nhưng hợp lệ trình Khang.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 03.11 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "03.12",
          "ordinal": 36,
          "target_words": 100,
          "scene_action": "Kết quả không đủ chứng minh toàn tuyến, nhưng đủ cho Hà đề nghị Khang xem xét một khoảng trống tham vấn có kiểm soát.",
          "causal_result": "Chứng cứ chưa phủ toàn tuyến chỉ có thể mở một câu hỏi, nên phần tiếp theo phải biến “đường” thành dải biến đổi có thể đo.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 03.12 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        }
      ]
    },
    {
      "part_number": 4,
      "title": "Dải đi không phải đường",
      "target_words": 1200,
      "dramatic_objective": "Vinh giúp Hà biến ký ức tuyến mùa thành mô tả theo vùng mà không phơi điểm nhạy cảm.",
      "beats": [
        {
          "beat_id": "04.01",
          "ordinal": 37,
          "target_words": 100,
          "scene_action": "Hà gặp Vinh bên khung thuyền; ông đặt ba thanh gỗ tượng trưng mép nước ở ba mùa thay vì vẽ đường lên bản đồ.",
          "causal_result": "Ba mép nước làm tan ý niệm một đường duy nhất, thúc Hà tìm cách ghi độ rộng mà không đóng đinh vị trí.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 04.01 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "04.02",
          "ordinal": 38,
          "target_words": 100,
          "scene_action": "Cô đề nghị ghi các khoảng bề rộng và hướng tương đối; Vinh đồng ý vì biểu diễn ấy không chỉ tới bến hay nhà cụ thể.",
          "causal_result": "Biểu diễn tương đối được Vinh chấp thuận, nhưng một dấu cây lỡ nhắc tới lập tức đe dọa nhận diện nơi neo.",
          "consent_privacy": {
            "action": "Vinh đồng ý biểu diễn tương đối vì cách này không chỉ đến bến hay nhà.",
            "decision_scope": "Quyết định riêng tư tại nhịp 04.02."
          }
        },
        {
          "beat_id": "04.03",
          "ordinal": 39,
          "target_words": 100,
          "scene_action": "Khi ông nhắc một dấu cây có thể nhận diện nơi neo, Hà ngắt ghi và loại dấu ấy khỏi biên bản trước khi Thư tiếp nhận.",
          "causal_result": "Hà cắt bỏ chi tiết quý để giữ phép, khiến cuộc thử phải dựa hoàn toàn vào cọc rời và chuyển động khung thuyền.",
          "consent_privacy": {
            "action": "Hà dừng ghi khi xuất hiện dấu cây nhận diện và loại chi tiết trước chuyển giao.",
            "decision_scope": "Quyết định riêng tư tại nhịp 04.03."
          }
        },
        {
          "beat_id": "04.04",
          "ordinal": 40,
          "target_words": 100,
          "scene_action": "Vinh đẩy khung thuyền qua ba lối mô phỏng bằng cọc rời, cho thấy dải cần uốn theo mực nước chứ không thể là một cổng cố định.",
          "causal_result": "Ba lần luồn khác nhau chứng minh cổng cố định sẽ thất bại, tạo áp lực chuyển số đo sạch cho Duy mà không chuyển tọa độ.",
          "consent_privacy": {
            "action": "Vinh cho phép ghi kết quả ba phép thử bằng cọc rời, không cho gắn chuyển động với bến, nhà hay tọa độ.",
            "decision_scope": "Chỉ hình học dải đi được dùng làm đầu vào; không được tái dựng tuyến cư trú."
          }
        },
        {
          "beat_id": "04.05",
          "ordinal": 41,
          "target_words": 100,
          "scene_action": "Hà đánh mã từng phép thử, Thư giữ phiếu gốc, còn Duy chỉ nhận bảng bề rộng không tọa độ để tránh tái dựng tuyến cư trú.",
          "causal_result": "Duy chỉ nhận những bề rộng vô danh; giới hạn ấy buộc ông kiểm phương án bằng hình học thuần túy.",
          "consent_privacy": {
            "action": "Thư giữ phiếu thử gốc; Hà chỉ chuyển cho Duy bảng bề rộng đã mã hóa, không có tọa độ hay khóa nối.",
            "decision_scope": "Duy chỉ được dùng bảng cho kiểm tra hình học, không được tái dựng tuyến cư trú; vì vậy ông phải làm việc với dữ liệu vô danh."
          }
        },
        {
          "beat_id": "04.06",
          "ordinal": 42,
          "target_words": 100,
          "scene_action": "Duy thử đặt bề rộng nhỏ nhất lên mặt cắt và phát hiện cửa bảo trì vẫn tạo góc cua khiến khung thuyền mắc.",
          "causal_result": "Góc cua làm khung thuyền mắc ngay ở bề rộng tối thiểu, khiến Hà đòi thử thêm trường hợp nước lệch mùa.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 04.06 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "04.07",
          "ordinal": 43,
          "target_words": 100,
          "scene_action": "Hà yêu cầu thử trường hợp nước lệch mùa; kết quả xấu hơn, bác phương án chỉ bảo vệ một vệt hiện tại.",
          "causal_result": "Kết quả xấu hơn xóa bỏ phương án bảo vệ một vệt hiện tại và buộc mô hình thừa nhận chuyển động thật của thuyền.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 04.07 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "04.08",
          "ordinal": 44,
          "target_words": 100,
          "scene_action": "Vinh xem hình khối không nền bản đồ và chỉ ra chỗ mô hình giả định thuyền quay tại chỗ; Hà ghi sửa giả định, không biến ông thành người ký kỹ thuật.",
          "causal_result": "Vinh phá giả định quay tại chỗ nhưng không gánh chữ ký kỹ thuật, trả toàn bộ rủi ro kết luận về cho Duy.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 04.08 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "04.09",
          "ordinal": 45,
          "target_words": 100,
          "scene_action": "Duy xác nhận nhận xét thực địa có giá trị đầu vào, nhưng ông mới là người chịu trách nhiệm kết luận thủy lực và khả thi công trình.",
          "causal_result": "Ranh trách nhiệm rõ ràng cho phép Hà dùng quan sát làm đầu vào, rồi gom chúng thành dải dung sai thay vì phán quyết.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 04.09 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        },
        {
          "beat_id": "04.10",
          "ordinal": 46,
          "target_words": 100,
          "scene_action": "Hà gộp các phép thử thành một dải dung sai; Thư kiểm rằng hình xuất không chứa mốc có thể nối về nguồn kín.",
          "causal_result": "Dải xuất sạch suýt hoàn tất thì Lan phát hiện một con số mang dấu nguồn đã rút.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 04.10 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          },
          "evidence": {
            "source": "bảng dải dung sai đã làm mờ",
            "custody": "Hà tổng hợp; Thư kiểm và giữ bảng nguồn",
            "authority": "Duy chỉ dùng làm đầu vào kỹ thuật",
            "limits": "không cho phép tái dựng tọa độ"
          }
        },
        {
          "beat_id": "04.11",
          "ordinal": 47,
          "target_words": 100,
          "scene_action": "Lan đối chiếu từng đầu vào với mục đích đã cho phép và chặn một con số vốn đến từ mục đã rút ở phần trước.",
          "causal_result": "Việc chặn con số làm phương án cũ mất chỗ dựa cuối cùng, ép Duy cân nhắc tuyến vòng tốn kém hơn.",
          "consent_privacy": {
            "action": "Lan loại con số bắt nguồn từ mục đã rút trước khi dải dung sai được dùng.",
            "decision_scope": "Quyết định riêng tư tại nhịp 04.11."
          }
        },
        {
          "beat_id": "04.12",
          "ordinal": 48,
          "target_words": 100,
          "scene_action": "Dải dung sai sạch dữ liệu làm phương án cũ lộ bất khả dụng, buộc Duy cân nhắc một tuyến vòng thay vì một khe xuyên kè.",
          "causal_result": "Tuyến cũ chết vì chính dữ liệu còn hợp lệ; Duy phải đem hai cái giá—chặn lối hoặc dồn nước—ra so.",
          "consent_privacy": {
            "not_applicable_reason": "Nhịp 04.12 không thu, dùng lại, chuyển giao hay thay đổi phép đối với dữ liệu cư dân."
          }
        }
      ]
    }
  ]
}
