This file describes foundation versions. It is historical and non-normative.
Unreleased
- Configures engineering skills to use GitHub Issues, the default triage labels, and one domain context backed by the existing decision records.
- Uses structured issue reads and explicit list limits so triage does not omit queued work.
- Adds
P20to require English for all deliverables, communications, documentation, code comments, logs, and other technical content. - Applies the principles of ASD-STE100 and applicable ISO/IEC/IEEE 24765 terminology without declaring formal conformance with ASD-STE100.
- Propagates the rule to adapters, documentation gates, and generated-pack tests.
- Migrates maintained documentation, templates, validation messages, and the Nimbus locale from French to English.
- Documents the invariant, its limited preservation cases, and its verification in ADR-0006.
- Adds
P21to require safe, structured, and actionable first-party runtime log records. - Requires a stable event name for machines and a short controlled-English message for people. It keeps public error codes separate from internal event names.
- Defines portable
DEBUG,INFO,WARN, andERRORsemantics from operational effect. It requires one final failure record and prohibits message-text consumers. - Adds data-minimization, correlation, audit separation, sampling, volume-protection, and alerting boundaries.
- Applies the logging contract to project templates, profiles, completion gates, bootstrap guidance, and generated-pack tests. ADR-0007 records the decision and external references.
- Adds an audience-filtered Nimbus publication build and rejects content outside the authorized visibility set.
- Publishes public and reference documentation through GitHub Pages with the correct repository base path. Internal and archive content remain excluded.
- Clears Astro and Nimbus content caches before each build so a filtered publication cannot retain a page from a previous complete build.
- Records the Project Foundation publication decision in ADR-0008 and links the deployed Nimbus site from the README.
0.5.2 - 2026-07-30
- Runs
scripts/check_compose.pydirectly in the Foundation workflow and the generated project workflows before the canonical gate. - Makes the documentation checker reject removal of the Compose integration from
scripts/verify.shor.github/workflows/verify.yml. - Adds two adversarial tests that remove each call from a generated project.
- Keeps the trust boundary explicit. Only a GitHub rule that makes the workflow required prevents simultaneous changes to the check and workflow.
0.5.1 - 2026-07-30
- Runs the Compose documentation job in an anonymous workspace and mounts source files as read-only.
- Prevents the job that runs as root from leaving files that the runner user cannot replace during tag verification.
- Replaces
v0.5.0as the recommended version. Itsmainrun passes, but its tag run identified this Linux permission error.
0.5.0 - 2026-07-30
- Adds
P19, an invariant that requires a rootcompose.yamlfile and Docker Compose as the canonical path for integrated local execution. - Adds
scripts/check_compose.pyto reject missing files, empty durable packs, external images without a digest, and long-running services without a health check. - Generates
compose.yaml, the Compose checker, and a GitHub Actions workflow in all four packs. - Adds a finite service that is pinned by digest to verify the foundation documentation in Compose.
- Tests bypass attempts that remove the file, checker, or workflow. Also tests mutable images and missing health checks.
- Documents the decision in ADR-0005 and the migration from
v0.4.0. - Records the first actual adoption. Parkventory uses the
v0.4.0snapshot, remains independent after a clean public clone, and passes its CI gate at SHAd9a50adb04ad1c7e038d7c672723c6dd4bba07d4. - Marks adoption-test phase F02 as
donebefore the Parkventory upgrade to this release.
0.4.0 - 2026-07-30
- Adds
P18, an invariant that requires a commit and push for each coherent and verified work unit when the task permits repository changes. - Requires
mainas the direct target when it is writable. Requires a dedicated branch when the canonical branch is protected or requires review. - Prevents a local exception from silently keeping completed work only in the worktree or local history.
- Aligns
AGENTS.mdadapters, the definition of done, bootstrap, delivery evidence, adoption, and the release process with this discipline. - Adds a bootstrap test that verifies propagation of
P18and its operational implementation to all packs. - Documents the decision in ADR-0004 and the migration from
v0.3.1.
0.3.1 - 2026-07-27
- Corrects Nimbus guide links so that they remain valid in a generated project and do not depend on files specific to the Project Foundation repository.
- Adds the Nimbus build, search, and lint for a generated Full pack to the bootstrap tests.
- Verifies that the copied Nimbus lockfile remains identical to the release lockfile.
- Replaces
v0.3.0as the recommended version for each new adoption.
0.3.0 - 2026-07-27
- Makes Nimbus mandatory in all packs, including Minimal.
- Adds the official Nimbus
0.6.3scaffold, pinned@cloudflare/nimbus-docs0.8.2, and its npm lockfile. - Pins
yaml2.9.0to resolve the security advisory in the scaffold version. - Adds a generic adapter that generates the Nimbus collection from classified Markdown files.
- Adds conversion tests, type checking, build, Pagefind, and Nimbus lint to
verifyand CI. - Automatically enables
documentation-nimbusduring bootstrap and prevents its local removal. - Supersedes ADR-0002 with ADR-0003 and documents the incompatible migration from
v0.2.0. - Requires Node
22.12.0or later and npm to verify an adopted project. - Makes
CHANGELOG.mdmandatory in all packs and requires an ADR to trace important product decisions.
0.2.0 - 2026-07-27
- Adds a contract that classifies each maintained Markdown file as public, internal, reference, or archive.
- Adds a manifest, complete catalog, and orphan Markdown check to all packs.
- Adds the Nimbus profile as an optional default for durable published documentation, without a web dependency in the core.
- Adds a procedure for adoption from the official repository and upgrade by tag and SHA.
- Prohibits silent changes to the vendored snapshot. A foundation challenge requires a change in the Project Foundation Git repository and a new release.
- Publishes the repository and its tags on
nclsppr/project-foundationwithout adding a default license.
0.1.0 - 2026-07-26
- Creates invariants, defaults, and bootstrap rules.
- Adds the definition of done for each change type.
- Adds profiles for web, backend and data, production infrastructure, and experiments.
- Adds profiles for generated artifacts and dependency changes.
- Adds templates for the project, brief, status, roadmap, agents, ADR, design, runbook, and delivery evidence.
- Adds Minimal, Standard, Full, and Critical packs with a safe initializer.
- Adds local and CI verification for the foundation.
- Rejects bootstrap from a dirty worktree and removes credentials from provenance.
- Verifies structure, profiles, and placeholders in generated projects.
- Adds a canonical version that is checked against the repository, changelog, and tag.
- Documents the cross-audit of Surplasse, the personal website, Papers Empire, and the VPS runbook.