ZDDC Core ~1.0 · Draft

Technical Reference

The specification for the ZDDC information management convention. Sections 2–7 cover file naming; section 8 covers folder naming. Together they are ZDDC Core — everything else is an extension.

1. Overview

ZDDC — Zero Day Document Control — is an information management convention built on two rules:

  • File naming — every deliverable filename encodes its tracking number, revision, status, and title. This makes each file self-describing and independently searchable without opening it.
  • Folder naming — transmittal folders follow the same convention, date-prefixed so they sort chronologically and can be searched by the tracking numbers of the deliverables they contain.

Together, these two rules mean a plain folder on any shared drive becomes a fully searchable, auditable information management system. No server, no database, no software required to read the archive.

Because every deliverable is self-describing — its identity, revision, and status encoded in the filename itself — the convention works across organisational boundaries without requiring a shared platform. A project adopting ZDDC can extend the same convention to its clients, subcontractors, vendors, and any other party in the project ecosystem. Each party maintains their own archive; the shared naming convention makes every archive mutually intelligible. Adoption can be voluntary or contractually required. The result is a globally scalable, distributed information management system built on nothing more than agreed file naming and standard directory structures.

The tools below implement interfaces around this structure — but they're optional. The structure works without them, and any party can participate using only their file browser.

Versions and conformance. This document is ZDDC Core — sections 2 through 8, the filename and folder-name rules. Core is baked into files already on disk, so changing it is a migration; that is why it is versioned on its own and why the grammar in §2 is frozen while the code tables are registries a project can add to.

Optional on-disk formats — the project workflow, custody signatures — are separate Extensions, each versioned in its own right. The software versions independently again and states which Core and extension versions it implements. If you are writing an implementation, or want the conformance vectors: Implementing ZDDC.

Convention harmonization. The convention is designed to be applied at multiple organisational scopes simultaneously — corporate, client, project, department — and the code registries at each scope should be harmonized so they do not conflict. A corporate discipline code such as HR (Human Resources) does not exist at the project level, so there is no clash. But a code that means one thing corporately and something different on a project would create ambiguity in a unified archive. The ideal is that conventions flow down: corporate establishes the master code registry, projects inherit it and add to it only where gaps exist, and no code is reused with a different meaning at a lower scope.

A note on terminology. "Document control" is the traditional term for managing the flow of project information, inherited from an era when a document meant a literal piece of paper. Today the same discipline applies to any file or dataset — PDFs, models, spreadsheets, native CAD files — and the field has increasingly adopted the term information management to reflect this. ZDDC uses the word deliverable throughout: anything with a tracking number and a revision history, regardless of file format or medium.

2. Filename format

The ABNF-like grammar below is a formal machine-readable definition of the filename format — primarily useful for parsers and AI systems. The human-readable explanation of each field follows in the sections below.

This grammar is the frozen part of the convention: it is what every ZDDC archive, tool and third-party implementation must agree on, and changing it is a migration. The code tables — disciplines and types in §3, statuses in §7 — are registries: separately versioned vocabulary that a project extends to suit its own work, on the terms in §1. Freezing the grammar while letting the vocabulary grow is what lets one convention serve an engineering project and a personal records archive without either becoming a dialect of the other.

filename = trackingNumber "_" revision " (" status ") - " title "." extension trackingNumber = field *("-" field) field = 1*(%x41-5A / %x30-39) ; uppercase alpha or digit; no spaces, no underscores revision = ["~"] baseRevision ["+" modifier] baseRevision = letterRev / numberRev / dateRev letterRev = 1*%x41-5A ; A, B, C… — design/review phase numberRev = 1*%x30-39 ; 0, 1, 2… — construction/record phase dateRev = 4DIGIT "-" 2DIGIT "-" 2DIGIT ; YYYY-MM-DD — recurring/living deliverables modifier = ["~"] modLetter 1*%x30-39 ; e.g. C1, N2, Q1, B1; ~C2 is a draft of the C2 comments modLetter = "C" / "N" / "Q" / "B" status = 1*(%x41-5A / %x30-39 / "-") ; a code from the status registry — §7 ; The grammar fixes the SHAPE of the status field. WHICH codes are meaningful is ; vocabulary, not grammar: the status registry in §7 carries its own version, and ; a project may add to it. ; ; This rule describes what a WRITER produces. A READER is deliberately more ; permissive — it takes whatever sits between the parentheses, so a non-conforming ; name can still be listed, searched and repaired rather than refused. Tolerating ; a name on the way in is not the same as endorsing it: a tool that renames is ; expected to write a conforming one.

Rules:

  • Tracking number: no spaces, no underscores, hyphens as separators only
  • Underscore _ separates tracking number from revision
  • Revision: no spaces; may include ~ prefix and/or + modifier
  • Space before (status)
  • Space-dash-space - before title
  • Extension is the original file extension, preserved exactly

Anatomy (from left to right):

123456-EL-SPC-2623 _ B (IFC) - Specification For Switchgear.pdf

Real examples:

123456-EM-MDL-0001_A (IFR) - Master Deliverables List.pdf 123456-EL-SPC-2623_A (IFR) - Specification For Switchgear.pdf 123456-EL-ELY-0003_A+C1 (RSB) - Electrical Room Equipment Arrangement.pdf 123456-EL-ELY-0003_0 (IFC) - Electrical Room Equipment Arrangement.pdf 123456-ME-RFI-0024_A (IFR) - Mechanical Room Size RFI.pdf

3. Tracking numbers

A tracking number is a deliverable's permanent identifier. It never changes — regardless of revision, status, or content changes. Think of it like a passport number: your name can change, your passport number doesn't.

No spaces, no underscores — hyphens as separators only. Format is yours to define; it must be consistent within the scope it covers.

Field definitions (in order)

Tracking numbers are composed of the following fields, in order:

  • originator — Organizational unit responsible for the deliverable
  • project — Project identifier; a recognizable placeholder is used for corporate-scope deliverables
  • [phase] — Optional phase code (e.g., ECI, EPC)
  • [area] — Optional area/budget code
  • discipline — Engineering or functional group (e.g., EL, ME, CV, PM)
  • type — Document category within discipline
  • sequence — Zero-padded integer
  • [suffix] — Optional hyphenated suffix for appendices or sheets

Schema rules

Choose the schema that matches your structure. The fields within brackets [ ] are optional and must be omitted consistently across all tracking numbers when not used.

Schema name Pattern Example
Basic originator-project-discipline-type-sequence ACME-123456-EL-SPC-2623
With Areas originator-project-area-discipline-type-sequence ACME-123456-B02-EL-SPC-2623
With Phases originator-project-phase-discipline-type-sequence ACME-123456-ECI-EL-SPC-2623
Corporate originator-000000-discipline-type-sequence ACME-000000-QC-PRO-0042

Rule: corporate placeholder. The Corporate schema substitutes a placeholder for the project identifier, indicating the document belongs to the originator's corporate library rather than a specific project. The placeholder does not have to be 000000 — any value works as long as it is easily recognizable as a corporate-scope marker and could not be mistaken for a real project number (e.g., 000000, CORP, HQ). Pick one and use it consistently. The same originator code and discipline/type conventions apply, so corporate documents sort naturally alongside project documents in a unified archive.

A sensible default profile. The schemas above are all valid tracking numbers; pick the one that fits your project. A common starting point is the Basic schema (originator-project-discipline-type-sequence), plus the optional per-deliverable [suffix] (a hyphenated part marker such as -A for an appendix). Two conventions are worth knowing:

  • originator follows the party folder. When deliverables are filed under a per-party folder, the originator matches that folder's name — the folder is the single source of truth, so the code can't drift from where the document is filed.
  • phase and area are off by default. Because they are project-wide (all-or-nothing across a project), most projects omit them; a project that needs them adds them to every deliverable.

Discipline codes

Discipline codes identify the engineering or functional group responsible for the document. They are defined per project and should be documented in the Master Deliverables List.

Discipline Description
AR Architecture
CE Cost Estimating
CM Construction Management
CV Civil Engineering
EL Electrical Engineering
EM Engineering Management
EN Environmental and Permitting
FP Fire Protection
HS Health and Safety
IC Instrumentation and Control
ME Mechanical Engineering
NT Networking & Telecommunication
PL Planning / Scheduling
PM Project Management
PS Procurement and Subcontracting
QC Quality Assurance / Quality Control
SE Security
ST Structural Engineering

Type codes

Type codes identify the document category within a discipline. Type codes are scoped per discipline — the same code may mean different things in different disciplines.

Type Description
BLDBlock Diagram
BOEBasis of Estimate
BOMBill of Materials
CBECommercial Bid Evaluation
CBSCable Schedule
CEDCause and Effect Diagram / Description
CLCCalculation
CLYCable Routing / Layout
COICertificate of Insurance
CPOContract Purchase Order
CTNControl Narrative
DCRDesign Criteria
DDGDetail Drawing
DTSDatasheet
ELEElevation / Section Drawing
ELSElectrical Load Summary
ELYArrangement / Equipment Layout Drawing
EQLEquipment List
ESTCost Estimate
EXTProject Extents / Limit Of Disturbance
FABFabrication Drawing
FDNFoundation Design Documents
FINArchitectural Finishing Plan / Schedule
FRMFraming Drawing
GPPGeneral Plot Plan
INVInvoice
IOMInstallation, Operation, and Maintenance Manual
IRCInspection Certificate
IRPInspection Report
KDCKey Document Design Change Note
LGDLogic Diagram
LODLoading Diagram
LSTList
MDLMaster Deliverables List
MOD3D Model / Database
MOMMinutes Of Meeting
MPRMonthly Progress Report
MTOMaterial Take-off
NPTNameplate
OUTOutline Drawing
PCOProject Change Order
PEPProject Execution Plan
PHSPhasing Diagram
PILPiling Plan / Elevation / Detail
PLNPlan Drawing
PMPPortfolio Management Plan
PNPPlan & Profile
PROProcedure
PSRProcurement Status Report
REPReport
RFIRequest For Information
RFPRequest For Proposal
SCDSchematic
SCHProject Schedule
SKTSketch (informal)
SLDSingle Line Diagram
SOVSchedule Of Values
SOWScope Of Work
SPCEquipment / Material / Installation Specification
SSRSupplier / Subcontractor Status Report
STYStudy or Options Comparison
SUBSubmittal
TBETechnical Bid Evaluation
TRNTransmittal
WRDWiring Diagram

Rule: Avoid ambiguity. On multi-discipline projects, type codes with overlapping meanings should be avoided or a cross-discipline registry should be agreed upon and documented.

Sequence numbers

Sequence numbers make the tracking number unique given all the preceding fields. Use zero-padded integers (e.g., 0001, 0042).

A suffix separated by a hyphen can denote appendices or sheets that are structural parts of the same deliverable:

ACME-123456-EL-SPC-2623 ← base document ACME-123456-EL-SPC-2623-A ← Appendix A ACME-123456-EL-SPC-2623-B ← Appendix B ACME-123456-EL-SPC-2623-01 ← Sheet 1 of a multi-sheet drawing ACME-123456-EL-SPC-2623-02 ← Sheet 2

Suffix vs. attachment rule: Use a suffix only for content that is a structural part of the deliverable (appendices, sheets). Files that accompany but are independent of the deliverable should be filed as separate documents with their own tracking numbers — not as suffixes.

Search benefit: Because discipline and type are embedded in every filename, your file browser's search box is already a filter. Search EL-SPC to find all electrical specifications. Sort by name and every document groups with its full history.

4. Revisions

The revision field indicates the iteration stage of the deliverable. It consists of an optional ~ draft prefix, a base revision, and an optional + modifier.

Base revision types

Base revisions are one of three types: letter revisions (A, B, C...), number revisions (0, 1, 2...), or date-based revisions.

Type Format Phase Sort behavior
Letter revision [A-Z]+ Design/review phase Sorts before number revisions ( lexical)
Number revision [0-9]+ Construction/record phase Sorts after letter revisions ( lexical)
Date revision YYYY-MM-DD Recurring or living documents Sorts chronologically (ISO 8601)

Letter revisions (design/review phase)

Letter revisions are used during the design and review phase. They sort lexically, so A < B < C, etc.

Revision Meaning
A First issued revision
B Second issued revision
C, D, … Subsequent revisions

Number revisions (construction/record phase)

Number revisions are used after approval, typically at the Issued For Construction (IFC) stage. They sort lexically after letter revisions.

Revision Meaning
0 First numeric revision (typically after approval, IFC)
1, 2, … Subsequent numeric revisions

Date-based revisions

Date-based revisions apply to documents that are updated in place under a single permanent tracking number, where the date of the revision is the most meaningful piece of information a reader needs.

Rule: Two use cases for date-based revisions:

  1. Recurring documents — issued on a fixed cadence (e.g., meeting minutes). The tracking number is fixed; the revision identifies which occurrence.
  2. Living documents — issued on demand (e.g., schedules, risk registers). The tracking number is fixed; the revision indicates freshness.

Rule: Contra-indication. Documents that get a new tracking number each period (e.g., monthly progress reports where each month is a distinct deliverable) use normal letter and number revisions, not date-based revisions.

Cadence Revision format Example
Quarterly YYQX 25Q1 = Q1 2025
Monthly YYMM 2503 = March 2025
Twice monthly YYMM-XX 2503-01, 2503-02
Daily YYYY-MM-DD 2025-03-14 = 14 March 2025
ACME-123456-PM-MOM-0001_2503 (IFI) - Project Steering Committee Minutes.pdf ACME-123456-PM-MOM-0001_2504 (IFI) - Project Steering Committee Minutes.pdf ACME-123456-PM-MOM-0001_2505 (IFI) - Project Steering Committee Minutes.pdf ACME-123456-PM-SCH-0001_2503-07 (IFI) - Master Project Schedule.pdf ACME-123456-PM-SCH-0001_2503-21 (IFI) - Master Project Schedule.pdf ACME-123456-PM-SCH-0001_2505-14 (IFI) - Master Project Schedule.pdf ACME-123456-PM-LST-0001_2503-07 (IFI) - Critical Milestones List.pdf ACME-123456-PM-LST-0001_2506-02 (IFI) - Critical Milestones List.pdf

Date-based revisions sort lexically in the correct chronological order — your file browser will list them in date order when sorted by name.

5. Draft prefix (~)

The ~ prefix indicates a working draft, not yet formally issued.

Field Meaning Effect on filename
~ position Prepends the base revision, or the modifier when it is the modifier that is in draft (§6) ~A, ~B, A+~C2
Sort position Sorts immediately before the revision it is a draft of ~B sorts just before B; A+~C2 just before A+C2
Status field Intended status when issued Shows what status the draft will carry when issued

Examples:

123456-EL-SPC-2623_~A (IFR) - Working draft — will be issued for review 123456-EL-SPC-2623_A (IFR) - Rev A — formally issued for review 123456-EL-SPC-2623_~B (IFC) - Working draft of Rev B, for construction 123456-EL-SPC-2623_B (IFA) - Rev B — issued for approval 123456-EL-SPC-2623_~0 (IFC) - Working draft of Rev 0, construction issue 123456-EL-SPC-2623_0 (IFC) - Rev 0 — Issued For Construction

6. Revision modifiers (+)

Revision modifiers associate a file with a base revision without incrementing the revision. Used for comments, backup material, native source files, and quality records. Sorts after the base revision in alphabetical order.

The number after the modifier letter — +C1, +C2, and so on — is simply a sequence counter for uniqueness. If two reviewers each return a separate set of comments, they become +C1 and +C2. The same applies to all modifiers: the number distinguishes multiple files of the same type attached to the same revision.

A modifier can itself be in draft. A+~C2 is a working draft of the second set of comments on Rev A, and sorts immediately before A+C2 — the same rule as a draft revision in §5, applied to the modifier instead of the base. Modifiers on the same revision sort by letter in the order B, C, N, Q, then by number.

Modifier table

Modifier Meaning Typical status Sort position
+C1, +C2 Comments on the base revision RSA RSB RSC RSD After base revision
+B1, +B2 Backup material supporting base content IFI After base revision
+N1, +N2 Native format files (editable source, e.g., CAD or source files) IFI After base revision
+Q1, +Q2 Quality check records RSA RSI After base revision

Every project team already does the things described below. ZDDC just gives each one a consistent place in the filename. Start with the formal revisions — the rest follows naturally.

The formal revisions

Filename What it is
123456-EL-SPC-2623_~A (IFR) Working draft — intended for issue for review
123456-EL-SPC-2623_A (IFR) Rev A — formally issued for review
123456-EL-SPC-2623_~B (IFR) Working draft of Rev B, incorporating reviewer comments
123456-EL-SPC-2623_B (IFA) Rev B — issued for approval
123456-EL-SPC-2623_~0 (IFC) Working draft of construction issue
123456-EL-SPC-2623_0 (IFC) Rev 0 — Issued For Construction
123456-EL-SPC-2623_~1 (IFC) Working construction revision — field change
123456-EL-SPC-2623_1 (IFC) Rev 1 — construction revision issued
123456-EL-SPC-2623_~2 (REC) Working as-built — being prepared for record
123456-EL-SPC-2623_2 (REC) Rev 2 — Issued For Record (as-built)

+ Native source files

Native source files are saved alongside the published PDF, tied to exactly the revision they produced.

Filename What it is
123456-EL-SPC-2623_A+N1 (IFI) Native source files for Rev A (e.g., CAD or Word ZIP)
123456-EL-SPC-2623_B+N1 (IFI) Native source files for Rev B
123456-EL-SPC-2623_0+N1 (IFI) Native source files for Rev 0
123456-EL-SPC-2623_1+N1 (IFI) Native source files for Rev 1
123456-EL-SPC-2623_2+N1 (IFI) Native source files for as-built record

+ Internal quality checks

Quality check records are kept in the archive, attached to the revision they checked, without cluttering the main sequence.

Filename What it is
123456-EL-SPC-2623_A+Q1 (RSA) Quality check of Rev A draft — approved
123456-EL-SPC-2623_B+Q1 (RSA) Quality check of Rev B draft — approved
123456-EL-SPC-2623_0+Q1 (RSA) Quality check of Rev 0 — approved
123456-EL-SPC-2623_1+Q1 (RSA) Quality check of Rev 1 — approved
123456-EL-SPC-2623_2+Q1 (RSA) Quality check of as-built — approved

+ Client or reviewer comments

Comments come back from reviewers anyway — as marked-up PDFs, emails, spreadsheets. The +C modifier gives each set of comments a place in the archive alongside the revision it applies to. The number suffix (+C1, +C2…) simply distinguishes between multiple sets of comments on the same revision.

Filename What it is
123456-EL-SPC-2623_A+C1 (RSB) Reviewer comments on Rev A — incorporate and resubmit
123456-EL-SPC-2623_B+C1 (RSA) Reviewer comments on Rev B — approved, no further review

7. Status codes

Status codes indicate the approval or review state of a deliverable. They appear in parentheses in the filename.

Primary status codes

Primary status codes are used on formally issued deliverables. The status field in a draft filename shows the intended status when issued.

Rule: the status codes are a registry, not a closed set. The table below is the base registry — the codes every ZDDC archive is expected to understand. A project may add codes to it under the harmonization rule in §1: add only where a gap exists, and never reuse an existing code with a different meaning. The base registry carries its own version, so adding a code to your project does not change the convention, and a future addition to the base registry does not change the filename grammar in §2.

Rule: No DFT status. Draft status is not encoded as a status field. It is indicated by the ~ prefix on the revision, and must also be physically marked in the file itself (e.g., a DRAFT watermark or stamp).

Code Meaning Action required
IFA Issued For Approval Formal sign-off required before proceeding
IFB Issued For Bid Price to this — binding scope
IFC Issued For Construction Build to this — approved
IFD Issued For Design Rely-upon inputs for downstream design. Confirmed items may be used to proceed. Items marked as holds are issued for awareness only and must not be relied upon until the hold is lifted.
IFI Issued For Information No action required — for awareness only
IFP Issued For Purchase Procurement may proceed to this version
IFR Issued For Review Please review and return comments
IFU Issued For Use Approved for operational use
REC Issued For Record Final as-built or archived version
TBD To Be Determined Planned or forecast deliverable — issue status not yet decided. Used as a placeholder when a transmittal folder is set up ahead of the document; assign a real status before issuing.
--- No status Working version — status not yet assigned

Review status codes

Review status codes are used as the status on +C (client or reviewer comments) and +Q (internal quality check) files. They record the outcome of the review — what the reviewer concluded and what action is required on the base document.

Rule: review codes require a modifier. A review status code is only valid on a file whose revision carries a + modifier — that is, on +C and +Q files. A review outcome belongs to the review, never to the deliverable itself. This is a rule about which codes are meaningful where, so it lives here with the registry rather than in the §2 grammar.

Code Meaning Consequence
RSA Review Status A No comments — approved as submitted
RSB Review Status B Incorporate comments, resubmit for record
RSC Review Status C Incorporate comments, resubmit before proceeding
RSD Review Status D Rejected — resubmit per stated requirements
RSI No Review Required Supplemental information only

Typical review cycles

Cycle type Sequence Notes
Typical IFR → RSA Reviewer approved without comments
Extended IFR → RSC → IFA → RSB Comments require resubmission, then approval, then final record

8. Folder naming

Transmittal folders follow the same convention as filenames — date-prefixed so folders sort chronologically:

folder = date "_" trackingNumber " (" status ") - " title date = 4DIGIT "-" 2DIGIT "-" 2DIGIT

Format: YYYY-MM-DD_trackingNumber (status) - title

2025-10-31_123456-EM-SUB-0001 (IFR) - General Arrangement for Review 2025-10-31_123456-EL-TRN-0043 (IFC) - Electrical Design Issued For Construction

Two tracking numbers in play

Two tracking numbers are always in play:

  • Deliverable tracking number — embedded in each filename; permanent; unchanged across all packages it ever travels in
  • Submittal package tracking number — in the folder name; reused by the response (same number, different date/status/optionally different title); a resubmittal gets a NEW tracking number

Submittal, response, and resubmittal rules

Action Submittal tracking number Revision date Status
Initial submittal New tracking number Issue date Issued For Review
Response Reuses original tracking number Response date Review outcome (RSA, RSC, RSB, or RSD)
Resubmittal New tracking number Resubmittal date Typically Issued For Approval
2025-10-31_123456-ST-SUB-0026 (IFR) - Structural Steelwork for Review 2025-11-14_123456-ST-SUB-0026 (RSC) - Structural Steelwork for Review 2025-12-01_123456-ST-SUB-0031 (IFA) - Column Base Plate Detail — Resubmittal 2025-12-09_123456-ST-SUB-0031 (RSB) - Column Base Plate Detail — Resubmittal

The status on a package folder is the lowest review outcome across all deliverables inside it. It summarises the package; it does not override the outcome of any individual deliverable.

Tracking individual deliverables

Search the deliverable's own tracking number across all transmittal folders in issued/ and received/. Every folder containing that number is part of its history: which package first carried it, what the response was, which resubmittal carried the revision, and what the final outcome was.

9. Project layout (Workflow Extension)

Core stops at names. How those files are arranged into a working project — and the procedure that moves a deliverable from draft to permanent record — is specified separately, as the Workflow Extension.

It was part of this document until 2026-09; it moved because it mandates how an implementation behaves (a write-once archive, a commit operation, a document-controller role) rather than what a name looks like. Those are real rules, but they are rules you can decline while still using ZDDC names, and mixing the two made it unclear which parts of this page an archive had to obey.

Two things from it are load-bearing here, so they stay:

  • A ZDDC archive is conventionally organised into working/, reviewing/, staging/ and archive/, each scoped by party one level down, with staging/ the mutable twin of the write-once archive/.
  • A submittal and its response share one tracking number, which is what keeps the two linked as one thread — the rule the folder-naming section above depends on (see §8).

Read the Workflow Extension →

10. Conformance and extensions

Everything above — sections 2 through 8 — is ZDDC Core: what a filename means and what a folder name means. An archive conforms to Core by producing and reading names that follow those rules. Nothing in Core requires particular software, a server, or a database.

Conformance levels: reader and writer

Core asks different things of software that reads names and software that writes them, so an implementation declares which it is. Most tools are both.

  • Reader. Parses names, orders revisions, and is deliberately tolerant: it accepts whatever sits between the parentheses as the status — (ifr), even (Issued For Review) — and returns it exactly as written, so a name that does not conform can still be listed, searched and repaired.
  • Writer. Composes names and produces only names that follow the grammar in §2 and §8 exactly. Given a field that breaks the grammar — a lowercase status, a tracking number with a space — it refuses to write the name rather than writing it anyway.

Both levels have conformance vectors; every vector names the level it tests. Tolerating a name on the way in is not the same as endorsing it: a reader that is also a writer still writes conforming names, including when it renames a file it could only just read.

Within Core, the grammar in §2 is the frozen part. The code tables — disciplines and types in §3, statuses in §7 — are registries, versioned separately, which a project adds to where it has a gap under the harmonization rule in §1.

Extensions

Optional on-disk formats layer on top of Core. You need not implement any of them; an archive using only Core is a complete ZDDC archive. But if you do implement one, doing it as written is what makes it interoperate rather than merely work.

Extension Covers Status
Workflow Project layout, the staging/-to-archive/ commit, the transmittal workflow — what was §9 of this document Draft
Custody Signed manifests and envelopes — verifying who issued a record, decades later Draft (~1.0)

Writing an implementation

The ZDDC tools are a reference implementation, not the definition of ZDDC. The on-disk conventions are the contract, and anything that follows them interoperates. If you are building software that reads or writes ZDDC archives — or you want the conformance vectors, the version scheme, or the extension catalogue — that material is on its own page:

Implementing ZDDC →

Looking for the tools themselves? They are on the releases page, which is generated from the versions that actually exist.