Skip to main content

DRS Schema Reference

DRS ships one standard-suite manifest (DRS.manifest.toml) and one adopter-facing project manifest schema (DesktopApplicationRelease.manifest.schema.toml).

DRS.manifest.toml

The standard manifest for DRS itself.

[standard]
id = "drs"
title = "Desktop Application Release Standard"
abbreviation = "DRS"
status = "active"
maturity = "reference"
version = "1.0.2"
description = "Governs desktop application release notes, manifests, artifacts, hashes, verification, and release evidence."

[governance]
meta_standard = "SFDS"
workspace_standard = "WGS"
scope = "Desktop application release readiness and evidence."
non_goals = ["Project proposal creation", "CLI command output contracts", "website deployment", "dataset provenance"]

[artifacts]
specification = "Desktop Application Release Standard.md"
schema = "DesktopApplicationRelease.manifest.schema.toml"
templates = "templates"
examples = "examples"
adoption_guide = "Adoption-Guide.md"
validation_checklist = "Validation-Checklist.md"
changelog = "CHANGELOG.md"
validators = ["drs.ps1"]
governance_notes = ["Governance-Boundary.md", "SFDS-Adoption-Note.md"]
reference_examples = ["examples/MiniVault"]

[adopter_artifacts]
schemas = ["DesktopApplicationRelease.manifest.schema.toml"]
manifest_templates = ["templates/ProjectName.manifest.toml"]
document_templates = [
"templates/Release-Note.md",
"templates/Release-Checklist.md",
"templates/Trust-Security-Model.md",
"templates/Dependency-Provenance.md",
"templates/Build-Reproducibility-Guide.md",
"templates/Threat-Model.md",
"templates/Integrity-Validation-Matrix.md",
"templates/Data-Migration-Contract.md",
"templates/Withdrawn-Release.md"
]

[lifecycle]
created = "2026-06-10"
last_updated = "2026-06-11"
maintainer = "Herb"

[agent]
read_first = ["README.md", "Desktop Application Release Standard.md", "DRS.manifest.toml", "SFDS-Adoption-Note.md"]
notes = "DRS is the reference pattern for practical Aptlantis documentation suites under SFDS v1.0. Preserve DRS release behavior while using SFDS for suite governance."
  • [standard] identifies DRS at reference maturity, v1.0.2.
  • [governance] records the meta-standard (SFDS), workspace standard (WGS), scope, and non-goals.
  • [artifacts] indexes the specification, schema, templates, examples, validators (drs.ps1), and governance notes.
  • [adopter_artifacts] lists everything a desktop application adopting DRS actually copies: the manifest schema, the manifest template, and all nine document templates.
  • [lifecycle] and [agent] record authorship and the recommended agent read-first order.

DesktopApplicationRelease.manifest.schema.toml

The project manifest schema — every DRS-governed desktop application's [ProjectName].manifest.toml should satisfy this shape. Required top-level sections: project, metadata, runtime, release.

title = "Desktop Application Release Standard — Project Manifest Schema v1.0"
type = "object"
required = ["project", "metadata", "runtime", "release"]

[properties.project]
type = "object"
required = ["id", "title", "type", "stage"]

[properties.project.properties.type]
type = "string"
enum = ["service", "tool", "generator", "pipeline", "library", "dataset", "ui", "dashboard", "infrastructure"]

[properties.project.properties.stage]
type = "string"
enum = ["concept", "prototype", "active", "near-complete", "production", "archived"]

[properties.metadata]
type = "object"
required = ["created", "language_primary"]

[properties.state]
type = "object"

[properties.state.properties.stability]
type = "string"
enum = ["experimental", "unstable", "mostly-stable", "stable", "hardened"]

[properties.runtime]
type = "object"
required = ["platform"]

[properties.runtime.properties.platform]
type = "string"
enum = ["desktop", "server", "cli", "container", "web", "library"]

[properties.release]
type = "object"
required = ["version", "name", "date", "installer", "verified"]
description = "The canonical release record for the current verified or published version. Must be updated as part of every release — never describes an unreleased version."

[properties.release.properties.status]
type = "string"
enum = ["draft", "candidate", "local-verified", "published", "superseded", "withdrawn"]

[properties.release.properties.installer]
type = "object"
required = ["path", "runtime", "package_version", "sha256"]
description = "Installer artifact metadata. sha256 is the minimum integrity requirement."

[properties.release.properties.installer.properties.sha256]
type = "string"
description = "SHA-256 hash of the installer artifact — uppercase hex, no separators. Must match the release document."

[properties.release.properties.installer.properties.blake3]
type = "string"
description = "Optional BLAKE3 hash — preferred for security-sensitive releases"

[properties.release.properties.verified]
type = "object"
required = ["date", "tests", "installer_build"]
description = "Factual record of what was tested and when, for the current release."

[properties.documentation]
type = "object"
description = "Paths to documentation files, relative to project root. All paths that exist must be valid."

[properties.documentation.properties.release_notes]
type = "string"
description = "Path to release note for the current version (required)"

Section groups in the full schema (abbreviated above for readability):

  • project — id, title, description, type, stage, version, tags. type and stage are constrained enums.
  • metadata — created/updated/completed dates, maintainer, license, primary and secondary languages.
  • state — completion percent, stability, active development flag, technical debt, maintenance burden, known gaps.
  • runtime — platform (desktop/server/cli/container/web/library), environment string, services, storage.
  • capabilities — free-form boolean flags describing what the application can do.
  • release — the canonical release record: version, name, date, installer (path, runtime, package_version, size, sha256, optional blake3, signing), and verified (date, tests, installer_build, install_check, data_safety, upgrade_check).
  • interfaces, relationships, artifacts, datasets, persistence, scripts, generation — optional structural metadata for more complex projects.
  • documentation — paths to README, release notes, release checklist, trust model, threat model, dependency provenance, build guide, integrity matrix.
  • schemas, semantic, visual, observability, distribution, links, structure, automation, notes — optional metadata sections shared with the broader Aptlantis entity-manifest family.

See templates/ProjectName.manifest.toml (in Templates) for a fully annotated, fillable version of this schema, and the MiniVault example for a completed instance.