KB-27C0

80000x · 07 — Examples: MARK request and proposal for Điều 37/38/39 (placeholder)

9 min read Revision 1
iu-core80000xexamplesdieu-37dieu-38dieu-39mark-requestmark-proposalcoverage-proofstop-messageplaceholder-sourceapproval-message

07 — Examples: MARK request and proposal for Điều 37 / 38 / 39

All text in this file is placeholder example content for documentation purposes only. No real article body has been copied. The Agent doing real MARK must fetch the actual source from the URL the user provides.

1. Example user request

Đánh dấu cắt Điều 37, 38, 39 từ các link sau:
- Điều 37: https://example.gov.vn/luat/luat-xyz-2024/dieu-37
- Điều 38: https://example.gov.vn/luat/luat-xyz-2024/dieu-38
- Điều 39: https://example.gov.vn/luat/luat-xyz-2024/dieu-39

doc_code: LUAT-XYZ-2024

This is the only input the Agent needs. No SQL, no tags, no piece IDs, no boundaries — those are the Agent's job in MARK.

2. Example operator approval message (Stage 2 → Stage 3 trigger)

Duyệt manifest Điều 37 (manifest_id=01J9XYZABCMARK37, digest=ab12cd34…).
Chạy CUT.

This message is paired with the actual approval record written to KB (see 04 §3); the literal message is what the operator sends to the human/agent driving Stage 3.

3. Example CUT command (Stage 3)

python -m cutter_agent.cut_from_manifest \
  --manifest             approved-manifests/01J9XYZABCMARK37.json \
  --approval-doc-id      knowledge/dev/laws/luat-xyz-2024/mark-reviews/2026-05-25-01J9XYZABCMARK37.md \
  --expect-manifest-digest ab12cd34ef56...                       \
  --principal            workflow_admin                          \
  --apply --reconstruct --verify                                 \
  --out-dir              /tmp/cut-37-$(date -u +%Y%m%dT%H%M%SZ)

4. Example MARK proposal for Điều 37 (illustrative; placeholder pieces)

EXAMPLE — DO NOT TAKE AS REAL SOURCE. Replace with actual source pieces at real MARK time.

{
  "manifest": {
    "manifest_id": "01J9XYZABCMARK37",
    "manifest_digest": "<computed at emit time>",
    "manifest_format_version": "1.0",
    "doc_code": "LUAT-XYZ-2024",
    "created_by": "codex-mark-r1",
    "created_at": "2026-05-25T12:34:56Z",
    "source": {
      "type": "url",
      "url_or_file": "https://example.gov.vn/luat/luat-xyz-2024/dieu-37",
      "retrieved_at": "2026-05-25T12:34:50Z",
      "source_hash": "<sha256 of example body>",
      "source_bytes": 1280,
      "normalization_rule": "whitespace_collapse_v1"
    },
    "articles": [{
      "article_label": "Điều 37",
      "article_number": 37,
      "title": "[EXAMPLE PLACEHOLDER] Tên điều khoản",
      "original_text_hash": "<sha256 of normalized article body>",
      "boundary": {
        "start_quote": "[EXAMPLE] Điều 37. Tên điều khoản. Quy định chung về ...",
        "end_quote":   "[EXAMPLE] ... có hiệu lực kể từ ngày được công bố.",
        "method": "regex_label_match"
      },
      "pieces": [
        {
          "local_piece_id": "lp-001-title",
          "source_position": 1,
          "depth": 0,
          "parent_local_piece_id": null,
          "unit_kind": "law_unit",
          "section_type": "article",
          "piece_role": "title",
          "text": "[EXAMPLE] Điều 37. Tên điều khoản",
          "text_hash": "<sha256>",
          "text_bytes": 34,
          "axis_a": { "source_position": 1, "source_url": "https://.../dieu-37", "source_hash": "<sha256>" },
          "axis_b": { "legal_document": "luat-xyz-2024", "section_type": "article", "unit_kind": "law_unit", "professional_tags": [] },
          "axis_c": { "parent_local_piece_id": null, "depth": 0, "subtree_position": 1 },
          "uncertainty_flags": []
        },
        {
          "local_piece_id": "lp-002-paragraph-1",
          "source_position": 2,
          "depth": 1,
          "parent_local_piece_id": "lp-001-title",
          "unit_kind": "law_unit",
          "section_type": "paragraph",
          "piece_role": "clause",
          "text": "[EXAMPLE] 1. Cá nhân, tổ chức ... có trách nhiệm ...",
          "text_hash": "<sha256>",
          "text_bytes": 78,
          "axis_a": { "source_position": 2, "source_url": "https://.../dieu-37", "source_hash": "<sha256>" },
          "axis_b": { "legal_document": "luat-xyz-2024", "section_type": "paragraph", "unit_kind": "law_unit", "professional_tags": [] },
          "axis_c": { "parent_local_piece_id": "lp-001-title", "depth": 1, "subtree_position": 1 },
          "uncertainty_flags": []
        },
        {
          "local_piece_id": "lp-003-paragraph-2a",
          "source_position": 3,
          "depth": 2,
          "parent_local_piece_id": "lp-002-paragraph-1",
          "unit_kind": "law_unit",
          "section_type": "definition",
          "piece_role": "step",
          "text": "[EXAMPLE] a) Trường hợp ... thì ...",
          "text_hash": "<sha256>",
          "text_bytes": 28,
          "axis_a": { "source_position": 3, "source_url": "https://.../dieu-37", "source_hash": "<sha256>" },
          "axis_b": { "legal_document": "luat-xyz-2024", "section_type": "definition", "unit_kind": "law_unit", "professional_tags": [] },
          "axis_c": { "parent_local_piece_id": "lp-002-paragraph-1", "depth": 2, "subtree_position": 1 },
          "uncertainty_flags": []
        },
        {
          "local_piece_id": "lp-004-paragraph-2b",
          "source_position": 4,
          "depth": 2,
          "parent_local_piece_id": "lp-002-paragraph-1",
          "unit_kind": "law_unit",
          "section_type": "definition",
          "piece_role": "step",
          "text": "[EXAMPLE] b) Trường hợp khác ...",
          "text_hash": "<sha256>",
          "text_bytes": 24,
          "axis_a": { "source_position": 4, "source_url": "https://.../dieu-37", "source_hash": "<sha256>" },
          "axis_b": { "legal_document": "luat-xyz-2024", "section_type": "definition", "unit_kind": "law_unit", "professional_tags": [] },
          "axis_c": { "parent_local_piece_id": "lp-002-paragraph-1", "depth": 2, "subtree_position": 2 },
          "uncertainty_flags": []
        }
      ],
      "uncertainty_flags": []
    }],
    "reconstruction": {
      "method": "concat_by_source_position_then_normalize_v1",
      "expected_digest": "<sha256>",
      "preview": "[EXAMPLE] Điều 37. Tên điều khoản\n\n1. Cá nhân, tổ chức ... có trách nhiệm ...\n\na) Trường hợp ... thì ...\nb) Trường hợp khác ...",
      "rerun_byte_identical": true
    },
    "approval": { "status": "pending", "approved_by": null, "approved_at": null, "approval_doc_id": null, "rejection_reason": null },
    "cut_record": null,
    "verify_record": null,
    "uncertainty_flags": []
  }
}

5. Example Điều 38 — note on a different shape

Suppose Điều 38 in the source has only a title and one undivided paragraph (no sub-points). The Agent emits just 2 pieces:

pieces:
  - { local_piece_id: lp-001-title,        source_position: 1, depth: 0, parent: null,            section_type: article }
  - { local_piece_id: lp-002-paragraph-1,  source_position: 2, depth: 1, parent: lp-001-title,    section_type: paragraph }

That is correct. Do not invent clauses or sub-points to make Điều 38 "look like" Điều 37.

6. Example Điều 39 — note on an uncertainty_flag

Suppose Điều 39 in the source contains a reference like "(theo quy định tại Điều 22)" mid-paragraph. The Agent has three honest options:

  1. Keep the reference inside the paragraph piece. Add uncertainty_flags: ["cross_reference_inline"].
  2. Split the reference into its own piece with piece_role='reference'. Add uncertainty_flags: ["cross_reference_split_proposed"] so reviewer can decide.
  3. If unsure, choose option 1 (more conservative) and flag.

Either way: the Agent stops at MARK, the reviewer decides which approach matches policy for this doc_code.

7. Example multi-article coverage proof

{
  "requested_articles": ["Điều 37", "Điều 38", "Điều 39"],
  "articles_in_manifest": ["Điều 37", "Điều 38", "Điều 39"],
  "missing": [],
  "extra": [],
  "coverage_closed": true
}

If missing is non-empty: the Agent must report which article was not found and stop. If extra is non-empty: the Agent included an article the user did not request — review and remove or get the user to ratify.

8. Example STOP message at end of MARK

MARK_PROPOSAL_READY_FOR_REVIEW
manifest_path: knowledge/dev/laws/luat-xyz-2024/mark-runs/20260525T123456Z/manifest.json
manifest_digest: ab12cd34ef56...
articles_proposed: 3   (Điều 37, 38, 39)
total_pieces: 11
uncertainty_flags: ["dieu-39:cross_reference_inline"]
next_step: operator_review_per_04_review_approval_checklist

Do not print "CUT done" or "IU created". MARK ends here.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-operational-cut-workflow-mark-review-cut-verify/07-examples-dieu-37-38-39-mark-request.md