Quy trình vận hành cắt: REQUEST → COPY → MARK → VERIFY MARK → CUT → VERIFY CUT → COMPLETE
Quy trình vận hành cắt — REQUEST → COPY → MARK → VERIFY MARK → CUT → VERIFY CUT → COMPLETE
Date: 2026-05-26
Status: operational draft / runbook tạm để sau này gom vào hệ miếng thông tin
Scope: quy trình vận hành cắt văn bản theo hướng sản xuất, dùng No-Vector Staging Zone + Điều 45 queue + MARK/CUT aliases.
Đây không phải prompt dài cho từng lần cắt. Đây là dây chuyền ngắn, có trạng thái, để sau này tự động hóa bằng DOT/PG trigger/Agent API.
0. Nguyên tắc chính
principles:
- Agent_khong_copy_file_bang_token
- COPY_la_viec_DOT_system_lam
- MARK_chi_lam_tren_file_da_copy_vao_No_Vector_Staging_Zone
- moi_buoc_co_status_ro_rang
- hang_doi_chi_cho_signal_va_ref_khong_cho_body
- du_lieu_tam_o_No_Vector_Staging_Zone
- CUT_chi_chay_sau_VERIFY_MARK_approved
- VERIFY_CUT_bat_buoc_sau_CUT
- COMPLETE_chi_sau_VERIFY_CUT_pass
- cleanup_scheduled_15_days_sau_hoan_tat
Nói ngắn gọn:
Nguồn file → COPY vào vùng tránh vector → MARK → kiểm MARK → CUT → kiểm CUT → hoàn tất → dọn sau 15 ngày.
1. Trạng thái chuẩn của một yêu cầu cắt
cut_request_status:
- requested
- copied
- mark_in_progress
- marked
- mark_verified
- mark_rejected
- cut_in_progress
- cut_done
- cut_verified
- cut_failed
- completed
- cleanup_scheduled
- cleaned
Tối thiểu giai đoạn đầu:
minimal_status:
- requested
- copied
- marked
- mark_verified
- cut_done
- cut_verified
- completed
2. Lệnh vận hành ngắn kỳ vọng
2.1. Tạo yêu cầu cắt
ADD_CUT_REQUEST source_ref=<kb_path_or_url_or_file_ref>
Kết quả:
status: requested
cut_request_id: <uuid>
source_ref: <ref>
2.2. Copy vào vùng cắt / vùng mark
COPY_TO_CUT_ZONE cut_request_id=<uuid>
Yêu cầu:
copy_to_cut_zone:
executor: DOT_system
not_executor: Agent_manual_copy
target: No_Vector_Staging_Zone
vector_excluded: true
queue_payload: signal_only
Kết quả:
status: copied
staging_file_id: <uuid>
source_hash: <hash>
source_bytes: <n>
vector_excluded: true
2.3. Mark file đã copy
MARK_STAGED_FILE staging_file_id=<uuid>
Yêu cầu:
mark:
executor: Agent_Codex_Hermes_later
input: staging_file_id
must_not:
- copy_source_again
- read_source_from_original_link_if_staging_available
- write_pending_MARK_to_KB
- vectorize_pending_MARK
Kết quả:
status: marked
manifest_digest: <hash>
piece_count: <n>
axis_A_B_C_preview: available
2.4. Kiểm MARK
VERIFY_MARK staging_file_id=<uuid>
Kết quả đạt:
status: mark_verified
verdict: approved
axis_a_ok: true
axis_b_ok: true
axis_c_ok: true
ready_for_cut: true
Kết quả không đạt:
status: mark_rejected
reason: <exact_gap>
ready_for_cut: false
2.5. Cắt manifest đã được duyệt
CUT_APPROVED staging_file_id=<uuid>
Điều kiện:
cut_preconditions:
- status == mark_verified
- manifest_approved == true
- source_hash_unchanged_or_locked
- No_Vector_Staging_Zone_record_exists
Kết quả:
status: cut_done
cut_run_id: <uuid>
created_IUs: <n>
2.6. Kiểm CUT
VERIFY_CUT cut_run_id=<uuid>
Kiểm tra bắt buộc:
verify_cut:
- reconstruct_source_text
- Axis_A_source_order
- Axis_B_semantic_section_type_piece_role
- Axis_C_parent_child_grandchild
- no_vector_ok
- no_stuck_job
- no_unsafe_DLQ
Kết quả đạt:
status: cut_verified
verdict: verified
axis_a_ok: true
axis_b_ok: true
axis_c_ok: true
no_vector_ok: true
2.7. Hoàn tất và lên lịch dọn
COMPLETE_CUT cut_run_id=<uuid>
Kết quả:
status: completed
cleanup_scheduled: true
cleanup_after_days: 15
3. Vai trò từng thành phần
roles:
User_Operator:
- dua_source_ref_vao_list_can_cat
- yeu_cau_chay_lenh_ngan
- phe_duyet_neu_can
DOT_system:
- copy_source_to_No_Vector_Staging_Zone
- update_status
- chay_alias_ky_thuat_neu_duoc_cap_quyen
Agent_Codex_Hermes:
- MARK_STAGED_FILE
- khong_copy_file_goc_bang_token
- khong_CUT_neu_chua_VERIFY_MARK
Checker_Claude_DOT:
- VERIFY_MARK
- VERIFY_CUT
- bao_exact_gap_neu_fail
Queue:
- luu_signal_ref_status
- khong_luu_body_file
- khong_luu_vector_or_sensitive_payload
No_Vector_Staging_Zone:
- luu_source_copy_tam
- luu_manifest_mark_report_coverage_proof_tam
- vector_excluded_true
4. Tích hợp với Điều 45 queue
Mỗi bước tương ứng một job signal:
queue_jobs:
- cut.request
- cut.copy_to_staging
- cut.mark
- cut.verify_mark
- cut.cut
- cut.verify_cut
- cut.complete
job_queue chỉ lưu:
job_queue_payload_allowed:
- cut_request_id
- source_ref
- staging_file_id
- manifest_digest
- cut_run_id
- status
- actor
- run_id
Không lưu trong queue:
job_queue_payload_forbidden:
- full_document_body
- raw_large_text
- vector_payload
- private_credential_payload
5. D30/D31 bảo vệ bắt buộc
Điều 30 — hồi quy
D30_regression:
- event_outbox_khong_bi_doi_schema
- Qdrant_khong_bi_touch_neu_chua_bat_vector
- production_documents_absent_or_untouched
- MARK_CUT_alias_contract_unchanged
- no_pg_cron_install
- no_broad_worker_start
- gates_safe_at_exit
Điều 31 — toàn vẹn / refusal
D31_integrity:
- khong_MARK_truoc_COPY
- khong_VERIFY_MARK_truoc_MARK
- khong_CUT_truoc_mark_verified
- khong_COMPLETE_truoc_cut_verified
- queue_payload_body_vector_sensitive_payload_bi_refuse
- stale_worker_khong_bi_mark_healthy_gia
- DLQ_replay_disabled_by_default
6. Quy trình test tiếp theo đề xuất
Không test bằng prompt dài kiểu “cắt Điều 38/39” nữa. Test theo dây chuyền:
next_test:
article: Dieu_38
steps:
1: ADD_CUT_REQUEST
2: COPY_TO_CUT_ZONE
3: MARK_STAGED_FILE
4: VERIFY_MARK
5: CUT_APPROVED_if_MARK_verified
6: VERIFY_CUT
7: COMPLETE_CUT
Sau Điều 38 PASS mới chạy Điều 39, sau đó batch nhỏ 3–5 file.
7. Tiêu chí PASS của quy trình vận hành
operational_pipeline_PASS:
- co_cut_request_id
- COPY_TO_CUT_ZONE_thanh_cong
- staging_file_vector_excluded_true
- MARK_chi_lam_tren_staging_file
- VERIFY_MARK_approved
- CUT_APPROVED_chay_sau_mark_verified
- VERIFY_CUT_verified
- reconstruct_pass
- Axis_A_B_C_pass
- no_vector_ok
- queue_jobs_status_complete
- no_stuck_job
- no_unsafe_DLQ
- completed_status_set
- cleanup_scheduled_15_days
8. Ghi chú tạm thời
Tài liệu này là runbook tạm thời để lưu vào KB trước khi hệ miếng thông tin hoàn tất. Sau này cần cắt lại chính quy trình này thành các miếng thông tin và ghép theo trục:
future_piece_axes:
Axis_A: thu_tu_quy_trinh_van_hanh
Axis_B: nhom_chuyen_mon_COPY_MARK_VERIFY_CUT_QUEUE_NVSZ
Axis_C: me_con_chau_theo_quy_trinh_cat