DS05 — Container chữ ký GCPN: Tài liệu nguồn, FES-Doc, quy trình

Điểm kích hoạt S2, kết thúc Phần I

E1 hiện có ba artefact riêng biệt: tài liệu nguồn (MD), Signatur-Doc (JSON), các sự kiện (JSON). Người xác minh hỏi: Những thứ này liên kết với nhau thế nào? Câu trả lời là GCPN-Signatur-Container — một biến thể của GitCover-PrimaNota-Container (GCPN), gom tất cả artefact của một quy trình chữ ký dưới một container-ID.

GCPN — nguyên lý container

GCPN (GitCover PrimaNota) trong nghiệp vụ chứng từ liên kết tất cả tài liệu của một giao dịch kinh doanh: chứng từ gốc, sidecar, logic ghi sổ. Container chữ ký chuyển nguyên lý này sang quy trình chữ ký:

GCPN-Container (sign)
   ├── Quell-Dokument (MD) + Sidecar
   ├── FES-Signatur-Doc (JSON) + Sidecar        ← referenziert
   ├── FES-Output (PDF/HTML, physisch)          ← nur bei FES-Verfahren
   ├── Events (offered/accepted/signed) + Sidecar
   ├── Facsimile-Grafik-Verweis (SHA-256 + guid-Stempel)
   └── Verifikationsmanifest (SHA-256 aller Glieder)

Tệp container

Bản thân container là một tài liệu Markdown có artefact JSON nhúng (như mọi GitCover-Doc):

{
  "$schema": "https://gitcover.org/schemas/gcpn-signature-1.0.schema.json",
  "docUid": "<deterministische uuidV7>",
  "type": "gcpn-signature",
  "kind": "signature-process",
  "container_id": "GCPN-SIG-260913-001",
  "scope": {
    "tenant": "GCC",
    "entity": "ORG-1",
    "matter": "[GVB](../../glossar.html#gvb "Gesellschafterversammlungsbeschluss — Glossar") 260825 — GF-Vertrag: Selbständigkeit, Ehrenamt",
    "sphere": "wirtschaftlich"
  },
  "artifacts": [
    {
      "role": "source",
      "kind": "markdown",
      "location": "..\\260825-shareholder-meeting-resolution.md",
      "sha256": "<SHA-256>",
      "sidecar": "..\\260825_*.md.gc.md"
    },
    {
      "role": "signature-doc",
      "kind": "json",
      "location": "260913_signature-doc.json",
      "sha256": "<SHA-256>",
      "sidecar": "260913_signature-doc.json.gc.md"
    },
    {
      "role": "event",
      "kind": "json",
      "events": ["offered", "accepted", "signed"],
      "location": "260913_event-*.json",
      "sha256": "<SHA-256 je Event>",
      "sidecar": "260913_event-*.json.gc.md"
    },
    {
      "role": "facsimile-ref",
      "kind": "ref",
      "file": "E1.Signature.transparent.FES.svg",
      "sha256": "8fcffe0b313f8a1e5b44c1c33cd8073e699b338b6450aa1ba9f33f5587501006",
      "docUid": "01a09b48-4580-76f9-b789-024691b989c5",
      "note": "Verweis, nicht Einbettung — Grafik liegt im [PII](../../glossar.html#pii "Personally Identifiable Information — Glossar")-Verzeichnis"
    },
    {
      "role": "fes-doc",
      "kind": "pdf",
      "location": "260913_FES_Envelope-Report.pdf",
      "sha256": "<SHA-256>",
      "note": "Nur bei FES-Verfahren — physisch im Container-Paket (Teil II)"
    }
  ],
  "prev_container": null,
  "next_container": null,
  "verification": {
    "method": "sha256 + jq routine (DS04)",
    "verified_at": "2026-09-13T16:00:00Z",
    "verified_by": "E1"
  }
}

"Ban đầu không có tiền nhiệm/kế nhiệm" — giai đoạn thiết kế

Quan trọng đối với chất lượng saga: Container có các trường prev_container/next_container, nhưng chúng là null. Điều này có chủ đích — hai giai đoạn phát triển:

Giai đoạn prev/next Ý nghĩa
Giai đoạn 1 (hiện nay) null Container gom trọn vẹn một quy trình; không cần liên kết chuỗi giữa các container
Giai đoạn 2 (dự kiến) SHA-256 của container tiền nhiệm Chuỗi container cho các quy trình dài hạn (ví dụ: vòng đời hợp đồng với các phụ lục sửa đổi)

Các trường này đã tồn tại để việc liên kết chuỗi về sau không phá vỡ schema có thể thực hiện được. Một container luôn bất biến — việc liên kết chuỗi tạo ra một container mới với prev_container = sha256(alt).

Container trong ba vai trò

Artefakt Vai trò trong container Giá trị chứng cứ
Tài liệu nguồn Nội dung cần ký Tính toàn vẹn của bản (SHA-256)
Tài liệu chữ ký FES Tuyên bố ý chí (dạng văn bản hoặc FES) Gán nguồn gốc (§ 371a ZPO)
Accept/Deny/Sign-Events Quy trình mang tính tất định Tính công bằng của thủ tục, trình tự thời gian
Facsimile-Tham chiếu Bản vẽ như tham chiếu đồ họa Việc thể hiện rõ (§ 126b (3))
Đầu ra FES (PDF) Bản FES vật lý Chỉ với quy trình FES — được chứa vật lý trong gói container

Đầu ra HTML và gói container

Với đầu ra HTML (website GCBoK, bản xem trước), container được phân phối vật lý dưới dạng gói:

<container-id>.gcpn.zip
   ├── container.md              (dieser Container)
   ├── source.md + .gc.md
   ├── signature-doc.json + .gc.md
   ├── event-*.json + .gc.md
   ├── facsimile.svg             (bei FES: physisch, sonst Verweis)
   └── fes-envelope-report.pdf   (nur bei FES)

Gói này tự xác minh: Người xác minh giải nén nó và chạy routine từ DS04 — không cần truy cập repo, không cần Git.

Tóm tắt


Tạo: 260913 | Phần I, bài DS05 | Chuỗi: digital-signage