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

Trình kích hoạt S2, kết thúc Phần I

E1 giờ đây có ba Artefakt riêng biệt: tài liệu nguồn (MD), Doc chữ ký (JSON), các Events (JSON). Người kiểm tra hỏi: Tất cả liên kết với nhau như thế nào? Câu trả lời chính là container chữ ký GCPN — một biến thể của container GitCover-PrimaNota (GCPN), tập hợp tất cả Artefakt của một quy trình chữ ký dưới một Container-ID.

GCPN — nguyên tắc container

Trong lĩnh vực chứng từ, GCPN (GitCover PrimaNota) kết nối tất cả tài liệu của một giao dịch kinh doanh: chứng từ gốc, Sidecar, logic hạch toán. Container chữ ký chuyển nguyên tắc 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 với một Artefakt JSON được nhúng bên trong (giống như mọi GitCover-Doc):

{
  "$schema": "https://gitcover.org/schemas/gcpn-signature-1.0.schema.json",
  "uuidV7": "<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.v7g.md"
    },
    {
      "role": "signature-doc",
      "kind": "json",
      "location": "260913_signature-doc.json",
      "sha256": "<SHA-256>",
      "sidecar": "260913_signature-doc.json.v7g.md"
    },
    {
      "role": "event",
      "kind": "json",
      "events": ["offered", "accepted", "signed"],
      "location": "260913_event-*.json",
      "sha256": "<SHA-256 je Event>",
      "sidecar": "260913_event-*.json.v7g.md"
    },
    {
      "role": "facsimile-ref",
      "kind": "ref",
      "file": "E1.Signature.transparent.FES.svg",
      "sha256": "8fcffe0b313f8a1e5b44c1c33cd8073e699b338b6450aa1ba9f33f5587501006",
      "guid_stamp": "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 đang là null. Điều này là có 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 tập hợp trọn vẹn một quy trình; không cần nối 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 thủ tục dài hạn (ví dụ: vòng đời hợp đồng với các lần bổ sung)

Các trường này đã tồn tại sẵn để việc nối chuỗi sau này có thể thực hiện mà không làm vỡ schema. Một container vẫn giữ nguyên tính bất biến — việc nối 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 văn (SHA-256)
Doc chữ ký FES Tuyên bố ý chí (hình thức văn bản hoặc FES) Gán nguồn gốc (§ 371a ZPO)
Accept/Deny/Sign-Events Quy trình tất định Tính công bằng của thủ tục, trình tự thời gian
Tham chiếu Facsimile Bản vẽ dưới dạng tham chiếu đồ họa Việc làm rõ nhận diện (§ 126b (3))
FES-Output (PDF) Bản FES vật lý Chỉ trong thủ tục FES — được chứa vật lý trong gói container

HTML-Output và gói container

Với HTML-Output (website GCBoK, Preview), 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 + .v7g.md
   ├── signature-doc.json + .v7g.md
   ├── event-*.json + .v7g.md
   ├── facsimile.svg             (bei FES: physisch, sonst Verweis)
   └── fes-envelope-report.pdf   (nur bei FES)

Gói này có khả năng tự kiểm chứng: Người kiểm tra giải nén và thực thi quy trình trong 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 viết DS05 | Loạt bài: digital-signage