Skip to main content

PPS Schema Reference

PPS ships one standard-suite manifest and one adopter-facing proposal-manifest schema.

PPS.manifest.toml

The standard manifest for PPS itself: identity, governance, artifact index, and agent read-first notes for the suite.

[standard]
id = "pps"
title = "Project Proposal Standard"
abbreviation = "PPS"
status = "active"
maturity = "candidate"
version = "0.2.2"
description = "Governs project proposals, design boundaries, success criteria, failure criteria, constraints, risks, roadmaps, and project creation records."

[governance]
meta_standard = "SFDS"
workspace_standard = "WGS"
scope = "Project creation, revival, pre-build clarity, proposal readiness, and intent preservation."
non_goals = ["Release packaging", "workspace root governance", "command output formats"]

[artifacts]
specification = "Project Proposal Standard.md"
schema = "ProjectProposal.manifest.schema.toml"
templates = "templates"
examples = "examples"
adoption_guide = "Adoption-Guide.md"
validation_checklist = "Validation-Checklist.md"
changelog = "CHANGELOG.md"
validators = []
governance_notes = []
reference_examples = [
"examples/PPS-Suite-Map.md",
"examples/Example-CLI-Project-Proposal.md",
"examples/Example-Desktop-Project-Proposal.md",
"examples/Example-Website-Project-Proposal.md",
"examples/Example-Dataset-Project-Proposal.md",
"examples/Example-Standard-Project-Proposal.md"
]

[adopter_artifacts]
schemas = ["ProjectProposal.manifest.schema.toml"]
manifest_templates = ["templates/PROJECT.manifest.toml"]
document_templates = ["templates/Project-Proposal.md"]

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

[agent]
read_first = ["README.md", "Project Proposal Standard.md", "PPS.md"]
notes = "Use PPS before starting, reviving, expanding, or rescoping projects. PPS is the north star; WGS places the project; delivery standards govern execution."
  • [standard] identifies PPS and its maturity (candidate, v0.2.2).
  • [governance] records the meta-standard (SFDS), workspace standard (WGS), scope, and explicit non-goals.
  • [artifacts] indexes every suite document, including the reference examples used to demonstrate filled proposals.
  • [adopter_artifacts] lists the schema and templates that downstream projects actually copy and fill in.
  • [lifecycle] and [agent] track authorship metadata and the read-first order for agents picking up the standard.

ProjectProposal.manifest.schema.toml

The machine-readable shape a filled proposal manifest must follow.

title = "Aptlantis Project Proposal Manifest Schema"
type = "object"
required = ["proposal", "project", "criteria", "constraints"]

[properties.proposal]
required = ["id", "status", "created"]

[properties.project]
required = ["name", "type", "mission"]

[properties.criteria]
required = ["success", "failure"]

[properties.constraints]
required = ["technical", "scope"]
  • proposal requires an id, status, and creation date.
  • project requires a name, type, and mission statement.
  • criteria requires both success and failure criteria — one without the other is incomplete under PPS.
  • constraints requires technical and scope guardrails.

project.manifest.toml (APTlantis Entity Manifest v2.4)

The generic entity-manifest shape shared across workspace, directory, project, standard, service, dataset, document, and artifact entities. PPS projects use this as their manifest baseline; templates/PROJECT.manifest.toml is the filled-in starting point for a new project.

title = "APTlantis Entity Manifest v2.4"
type = "object"
required = ["manifest", "entity"]
description = "Default Aptlantis TOML manifest shape for workspace, directory, project, standard, service, dataset, document, and artifact entities. Domain-specific manifests may add sections, but must keep [manifest] and [entity]."

[properties.manifest]
type = "object"
required = ["schema", "schema_version", "manifest_type", "canonical_name", "last_updated", "maintainer"]

[properties.manifest.properties.schema]
type = "string"
const = "APTlantis Entity Manifest"

[properties.manifest.properties.schema_version]
type = "string"
const = "2.4"

[properties.manifest.properties.manifest_type]
type = "string"
enum = ["workspace", "directory", "project", "standard", "service", "dataset", "document", "artifact"]

[properties.manifest.properties.canonical_name]
type = "string"
description = "Expected filename, such as WORKSPACE.manifest.toml, DirectoryName.manifest.toml, ProjectName.manifest.toml, or StandardName.manifest.toml."

[properties.entity]
type = "object"
required = ["id", "title", "kind", "class", "status", "description"]

[properties.entity.properties.kind]
type = "string"
enum = ["workspace", "directory", "project", "standard", "service", "dataset", "document", "artifact"]

[properties.workspace]
type = "object"
description = "Present when manifest_type is workspace. Registers governed roots and standards."

[properties.directory]
type = "object"
description = "Present when manifest_type is directory. Describes a governed root or category directory."

[properties.project]
type = "object"
description = "Present when manifest_type is project. Describes a project that produces artifacts."

[properties.governance]
type = "object"
description = "Governing standards, proposal/release requirements, and child-manifest policy."

[properties.lifecycle]
type = "object"
description = "Created, reviewed, updated, state, owner, and completion metadata."

[properties.structure]
type = "object"
description = "Required files/directories for directory entities, or repo/docs/data paths for projects."

[properties.paths]
type = "object"
description = "Project path information."

[properties.documentation]
type = "object"
description = "Human-readable documentation pointers."

[properties.runtime]
type = "object"
description = "Runtime, language, services, and storage information for projects or services."

[properties.relationships]
type = "object"
description = "Parent, children, dependencies, related directories, and related projects."

[properties.policy]
type = "object"
description = "Directory and workspace policy flags."

[properties.state]
type = "object"
description = "Stability, active development, known gaps, and technical debt."

[properties.agent]
type = "object"
description = "Agent read-first instructions, authority, safety, and notes."

[properties.notes]
type = "object"
additionalProperties = true
  • [manifest] is the fixed header every entity manifest carries: schema name, schema version (2.4), manifest type, canonical filename, and maintenance metadata.
  • [entity] is the required identity block: id, title, kind, class, status, and description.
  • The remaining sections (workspace, directory, project, governance, lifecycle, structure, paths, documentation, runtime, relationships, policy, state, agent, notes) are conditionally present depending on manifest_type — a PPS project manifest will typically populate project, governance, lifecycle, relationships, state, and agent.