Repository navigation
Releases: dialectic-playground/sdlc-curriculum
Release list
v1.7.0
Repository tooling and formatting. Specification version unchanged: 1.0.0. No specified behavior, test, or fixture changes; every tool's help text is unchanged.
- Pre-commit hooks (
.pre-commit-config.yaml): formatting and linting (ruff, ruff-format, Prettier, doctoc, markdownlint-cli2, proselint, codespell), type checking (ty), secret and credential scanning (gitleaks, detect-aws-credentials, detect-private-key), EditorConfig enforcement, and file-integrity checks. New configuration files:.markdownlint-cli2.yamland.proselintrc.json. - Formatting: specifications, user manuals, project READMEs, and
shared/CLI-CONVENTIONS.mdare reformatted (generated tables of contents, aligned tables) with no change in wording; normative help text is preserved verbatim. The reference models and tooling are formatted with ruff. - Repository hygiene: an extended
.gitignore, EditorConfig and linter settings that keep raw test fixtures untouched, and aligned conditional assignments in theMakefile.
Language repositories should pin their sdlc-curriculum submodule to this tag. Repositories upgrading from v1.5.0 or earlier also need a workspace for each of Projects 11–52 (added in v1.6.0).
v1.6.0
Adds the applications-programming track: Projects 11–52, adapted from R. Johnsonbaugh and M. Kalin, Applications Programming in ANSI C (3rd ed., 1996). Specification version unchanged: 1.0.0. Nothing changes for Projects 00–10, so existing implementations need no changes.
- 42 new projects (
11-kinder…52-spacecraft), siblings of Projects 00–10. Each has a URD, SRS, user manual, 10 public and 10 hidden black-box tests, a reference model per tool, and anassignment/workspace. They add 53dp-tools (65 in total), and the suites grow to 1060 tests. - CLI-CONVENTIONS §10 (CONV-32 … CONV-38), for Projects 11–52: tokens and line numbers, integer/real grammars, located data diagnostics,
FIX/GENnumber formatting, optional prompts on stderr (--prompt), the Ctrl-Z end-of-file marker, and the ANSI Crand()generator with--seed. Also: CONV-25 names thewrite errordiagnostic, CONV-34 allows continuing diagnostics, and CONV-18 listsdp-chk-sort. - Textbook data files (
bargraph.in,students.dat,sched.in,films.dat,sales.rpt,names.dat,distance.dat) are included byte-for-byte as fixtures.
Language repositories should pin their sdlc-curriculum submodule to this tag and add a workspace for each new project (their check-repository target requires one for every project in curriculum.toml).
v1.5.0
Tooling and CI hardening found during the Project 00 implementations. Specification version unchanged: 1.0.0. No specification, test, or fixture changes.
- CI template (
shared/ci/cross-platform-ci.yml): CI result now checks every job of its run attempt through the Actions API (a matrix job's combined result can hide a cancelled leg), and CI runs weekly to catch toolchain drift. Language repositories should apply the sameci-resultjob andscheduletrigger. - Language skeleton Makefile: the
TEMPLATE:marker check searches only git-tracked files, so dependency folders inside a project are never searched.
Language repositories should pin their sdlc-curriculum submodule to this tag.
v1.4.0
Clarifications from the first round of implementations. Specification version unchanged: 1.0.0.
- CONV-12 (scan order): only option syntax errors compete with
--help/--versionduring the scan; operand and option-value errors are detected after it. Project 00 FR-07/FR-09 updated, and hidden test 10 gains a step (dp-hello extra --helpprints the help). Implementations that reported the operand must be updated. - CONV-31 (resource limits): NFR memory limits apply to native builds; managed and interpreted runtimes are measured above their runtime baseline.
Language repositories should pin their sdlc-curriculum submodule to this tag.
v1.3.0
Script launchers on every OS. Specification version unchanged: 1.0.0.
- The black-box runner runs
#!script tools on Windows by starting their interpreter directly (resolved on PATH), never throughcmd.exe. Interpreted-language implementations can ship a#!launcher instead of an.exe. - New self-test (
make launchers, part ofmake check) verifies this on Linux, macOS, and Windows. BASE-MAKEFILE:BIN_DIRmay contain#!scripts; newLIBDIR($(PREFIX)/lib/dialectic-playground) for script payloads.
Language repositories should pin their sdlc-curriculum submodule to this tag.
v1.2.1
Tooling fixes. Specification version unchanged: 1.0.0.
- Native macOS CI (curriculum and the language CI template) installs current GNU Make; macOS ships 3.81, below BASE-MAKEFILE's 3.82 minimum.
- The language skeleton's toolchain example no longer uses
tee /dev/stderr(unsupported by some Windows toolchains).
Language repositories should pin their sdlc-curriculum submodule to this tag.
v1.2.0
Language repository skeleton. Specification version unchanged: 1.0.0. No implementation changes are required.
shared/templates/language/: the standard rootMakefilefor language repositories.make checkcovers the repository, the toolchain versions, and every project listed inIMPLEMENTED; it also providesroundtrip.shared/ci/cross-platform-ci.yml: make-driven CI (containermake check; nativemake check roundtripon Linux, macOS, and Windows) that needs no edits as projects are implemented.
Language repositories should pin their sdlc-curriculum submodule to this tag.
v1.1.0
Container-first tooling. Specification version unchanged: 1.0.0. No implementation changes are required.
BASE-MAKEFILEis container-first: every goal runs in the language repository's toolchain container (Podman, then Docker, then the local system; override withDP_RUNTIME=podman|docker|local).install,uninstall, andhelpstay on the host.- New shared tooling:
tools/dp-runandtools/container.mk(byte-identical to the canonical copies indialectic-playground/.github). - Language CI template: a container job per project plus native jobs on Linux, macOS, and Windows, with a shared-tooling drift check.
- Assignment templates document the
Containerfilerequirement: the language's official image (pinned by digest) plusmakeandpython3. - Versioning policy: release tags are now separate from
spec_version.
Language repositories should pin their sdlc-curriculum submodule to this tag.
v1.0.0
First release of the specification-driven SDLC curriculum.
- Eleven projects (
00-hello-world…10-sys-monitor): URD, SRS, user manual, and 10 public plus 10 hidden byte-exact black-box tests each. - Shared CLI conventions (CONV-01 … CONV-30), the language-neutral
BASE-MAKEFILEcontract, white-box document templates, and the cross-platform CI template for language repositories. - Spec version
1.0.0(curriculum.toml), matching every tool's--versionoutput.
Language repositories should pin their sdlc-curriculum submodule to this tag.