____12DS — Lược đồ gcpn-container-2.7: Tổng quan
Trình kích hoạt S6
Quy trình ký thực tế đầu tiên (GVB-Zeichnung) ban đầu tạo ra
các tệp .json độc lập trong thư mục res/ — một
cách làm việc khiến Git-Repo phình to (phát hiện AP: "việc này làm phình to
Git-Repo một cách không cần thiết"). Phát hiện này dẫn đến việc sửa đổi: Tất cả
tạo tác JSON trong MỘT Container-Doc (.gcpn.md, phần mở rộng lâu dài), và
bản thân container trở thành lược đồ JSON quy phạm —
gcpn-container-2.7.
Tổng quan về lược đồ
{
"$schema": "https://gitcover.org/schemas/gcpn-container-2.7.schema.json",
"container_id": "GCPN-SIG-YYMMDD-NNN",
"docUid": "<deterministisch aus ts + doc-sha256>",
"kind": "signature-process",
"tenant": { … },
"referenced_doc": { … },
"actor": { … },
"attendees": [ … ],
"persons": { … },
"retention": { … },
"signature": { … },
"events": { "flags_set": { … }, "events_result": 0, "enum_ref": "<uuidV7>" },
"summary": { … },
"prev_container": null,
"next_container": null
}
Phân định ranh giới: GCPN không phải Ur-Doc và không phải Sidecar; một
.gcpn.md.gc.mdriêng không còn. Tài liệu nguồn mang<artefakt>.<orig-ext>.gc.mdriêng của nó; container tham chiếu nó quareferenced_doc(sha256) và mang GCPN-docUid riêng.
Tính duy nhất của tạo tác (phát hiện AP1)
Mỗi thực thể được mô tả đúng một lần:
| Tạo tác | Số lượng | Cơ chế tham chiếu |
|---|---|---|
referenced_doc |
1× | Tất cả các tham chiếu tiếp theo dựa trên sha256 (không lặp lại tiêu đề/đường dẫn) |
actor |
1× (mỗi bên tham gia) | Events/chữ ký tham chiếu qua actor_ref → actor_id |
retention |
1× | Theo từng Container, không lặp lại theo từng tạo tác |
attendees |
n× | Các tham chiếu (actor_ref/tenant_ref), không phải cá nhân |
persons |
n× | Cầu nối PII được giả danh |
signature |
1× | actor_ref + các tham chiếu bằng chứng |
events |
1× (đối tượng cờ) | Bit + events_result |
summary |
1× | thay thế các lặp lại văn bản MD |
Các quy tắc rút ra từ phát hiện
- JSON luôn được nhúng (MD-Fence trong container) — không có tệp
.jsonđộc lập trong cây repo (tránh phình to). - Bổ sung thay vì tạo mới: Mỗi bước quy trình mới đặt một cờ,
nhúng tạo tác mới, cập nhật
summary— các tạo tác JSON đã được nhúng vẫn bất biến. - Bảo đảm truy vết sửa đổi nhờ Git: Lịch sử container nằm trong lịch sử Git của repo (mã băm commit = bằng chứng toàn vẹn).
- Tài liệu có thể thay đổi, tạo tác JSON bất biến: MD của container có thể chỉnh sửa (phát triển theo quy trình); nội dung JSON là bất biến — thay đổi = tạo tác mới với SHA mới.
- Chỉ commit qua E1 (NO-AUTO-COMMIT).
Tài liệu nguồn được lập danh mục qua lược đồ Sidecar
Một „lược đồ Ur-Doc" riêng là không cần thiết: Lược đồ
v7g-sidecar-2.0 (.gc.md) là lược đồ JSON thực sự cho một
tài liệu gốc/nguồn số — nó lập danh mục tài liệu nguồn qua
sha256 (ID tài liệu, luôn nhận diện mọi lúc mọi nơi, kể cả khi di chuyển),
locations (lịch sử UNC), v7g_taxonomy (lớp) và obsolescence/
lưu trữ. Container (referenced_doc) tham chiếu đến đó — hai
tầng lược đồ, không dư thừa: Sidecar = lập danh mục tài liệu nguồn,
Container = quy trình/quá trình.
Vì sao cần hai mã định danh — V7GUID là sổ đăng ký loại tài liệu, uuidV7 là Ref-Doc-UID
Điều này cũng làm rõ hơn, vì sao mỗi mã định danh lại cần thiết:
| Mã định danh | Vai trò sổ đăng ký | Mục đích (tính tất định) |
|---|---|---|
| V7GUID | Sổ đăng ký loại tài liệu | Phân loại (đó là loại tạo tác gì?), xếp lớp (vào phân loại/lĩnh vực), xác định quy trình làm việc và phương pháp luận — lớp quyết định những thủ tục nào áp dụng |
| uuidV7 | Ref-Doc-UID (bảo đảm truy vết sửa đổi theo thời gian) | Mã định danh thực thể của hành vi lập danh mục với dấu thời gian 48 bit — khi nào được phân loại, có thể sắp xếp theo thứ tự thời gian |
Sự phức tạp thoạt nhìn có vẻ như vậy (hai mã định danh thay vì một) lại chính là đòn bẩy cho tuân thủ dựa trên Git-Repo mà không bị khóa nhà cung cấp: Mọi thứ đều có thể được suy ra từ các repo (xác định một cách tất định) — không chỉ trạng thái tài liệu (chuỗi SHA-256, biểu thức cờ), mà còn cả lịch sử và thay đổi (lịch sử Git của container: bước nào được bổ sung khi nào; lịch sử Sidecar: hồ sơ phân loại kèm dấu thời gian). Không hệ thống độc quyền nào lưu giữ trạng thái — bản thân repo chính là trạng thái, và mọi kiểm tra viên có thể lặp lại việc suy ra bằng các công cụ mở.
Xác minh không dư thừa
Quy trình xác minh (DS04) vẫn giữ nguyên — nó làm việc với manifest
trong container: sha256sum cho từng tạo tác đối chiếu với events.flags_set[].sha256
hoặc referenced_doc.sha256; chuỗi qua chain_valid; Facsimile-SHA
đối chiếu với bảng trong SIGNATURE_BLOCK.md.
Biên bản kết quả nghiên cứu (AP)
| AP | Phát hiện | Đặc điểm lược đồ |
|---|---|---|
| AP1 | Repo phình to do tệp riêng lẻ | Nhúng JSON-Fence; referenced_doc (không có trường Sidecar riêng) |
| AP2 | Dư thừa ở các bên tham gia lặp lại | Cơ chế tham chiếu actor_ref |
| AP3 | Lưu trữ/obsolescence nhiều lần | retention 1× mỗi Container |
| AP4 | Lặp lại văn bản trong MD | Tạo tác summary |
Tạo: 260913 | Phần III, Bài viết ____12DS | Loạt bài: digital-signage