Releases: product-on-purpose/product-lifecycle-templates
Release list
v0.7.0
title: "product-lifecycle-templates v0.7.0"
description: "The MCP install fix reaches users at last, the CI check that never verified anything now does, and the pull queue opens with a page that does not flatter it"
audience: both
level: beginner
doc_type: release-notes
size: lean
owner: "jprisant"
status: published
doc_version: "0.7.0"
created: "2026-09-12"
updated: "2026-09-12"
related_links:
- ../../CHANGELOG.md
- ../how-to/installing.md
- ../reference/pull-queue.md
source_template: release-notes
source_template_version: 0.1.1
filled_by: "agent:claude-opus-5"
fill_method: batch
fill_date: 2026-09-12
product-lifecycle-templates v0.7.0
Release date: 2026-09-12. This project follows Semantic Versioning.
Summary
If you installed the MCP server during v0.6.0 and it would not start, this release is why, and the fix
is one command: python3 -m pip install "mcp<2". The install instructions shipped in v0.6.0 told you to
run pip install mcp, which has installed an incompatible major version since 2026-07-28. The CI check that
should have caught it had never actually verified the server could start.
Beyond that fix, this release opens the pull queue - three issue forms, three labels and a page that states
plainly how a request is weighed - and adds a tracked plan for a documentation site.
New
- The pull queue is open. Three issue forms
for requesting a document type, reporting real usage, or correcting a claim, each with the fields that
actually get read.docs/reference/pull-queue.mdstates the rule without
flattering it: the build order is the maintainer's own preference and need, a recorded request does not
set position, and a queued type is not a commitment. All three queue views are currently empty, and the
page says so rather than omitting it. - A
--require-sdkmode on the MCP self-test, which turns a silently skipped assertion into a build
failure. This is what makes the CI check mean something (see Fixed). - The
interview/batch/manualfill-method vocabulary is defined.strip-template.pyhas
enforced those three values since it shipped and nothing said what they meant. The rule is that the test
is where the content came from, not who ran the command. - A tracked site plan and the decision adopting it (ADR 0046),
plus a Tier-2 spec sheet with four document types specified. Nothing is built; these are plans, and
they say so.
Improved
docs/how-to/installing.mdnow explains why the version pin is required, rather than giving a command
and leaving you to discover the failure. The selftest is named as the way to confirm the server can
actually serve.- Four catalog counts this repository states about itself are now generated rather than retyped, so the
next time they drift, CI fails instead of the numbers quietly ageing. This is the sixth occurrence of that
defect and the first time it got a check instead of another correction. - The pull queue is reachable from the README,
CONTRIBUTING.mdandchoosing-a-template.md, which
previously told readers there was "no in-product request queue."
Fixed
- The MCP server could not start for anyone who followed its own install instructions. The MCP Python
SDK released v2 on 2026-07-28 and renamed the class this server imports. Four places said
pip install mcp, which resolves to that v2: the error message, the selftest output,
docs/how-to/installing.md, and CI itself. All four now pin"mcp<2". If you are affected,
python3 -m pip install "mcp<2"is the entire fix. - The CI check that was supposed to catch it had never verified the server starts. It skipped its one
SDK-dependent assertion, printedOK 43 assertion(s) passed, and exited 0. It now reports 44 and fails
when the SDK cannot be imported. Recorded as DF-7. - Nine claims across this repository's own documents had aged into being false and are corrected,
including a roadmap row describing that CI check as a working gate, catalog counts that were wrong in all
three figures, aSTATE.mdrow saying a tool that exists does not, and a README still announcingv0.5.0. user-personano longer points readers at aprototype-brief, a document type refused on 2026-08-05
by ADR 0035. Prose only; no
template changed.
What this release does not prove
Unchanged from v0.6.0, and stated because it stays true until it does not:
- Still zero real fills. Every filled artifact in this repository is an authored example, this release
note included. All 27 bundles remainbeta. - The MCP server is fixed, not validated. It now provably starts in CI. No agent outside this repository
has used it, and nothing scores whether its search ranks well. - The site is planned, not built, and the four Tier-2 document types are specified, not built.
- A green gate is not a quality claim. It proves structure and research integrity, never that a document
helped anyone.
v0.6.0
product-lifecycle-templates v0.6.0
Release date: 2026-09-06. This library follows Semantic Versioning, applied to
the library rather than to any one bundle. Minor, because it adds an agent surface, a tool and a gate
check, and breaks neither the bundle contract nor the meta schema.
Summary
This release gives agents a proper door into the library: an MCP server that searches 27 bundles, fetches
any of 58 template variants, and validates a document you filled from one, without you telling it where
any file lives. It also fixes two descriptions that had been quietly lying about the library at the exact
moment someone decides whether to install it.
New
- An MCP server, so your agent can find the right template without being told where to look: ask for
"acceptance criteria for a story" in your own words and it returns three candidates with the token cost
of each, fetches the one you pick, hands back the grading rubric when you want to check your draft, and
validates the finished document against the template's real section list. Five tools, installed with the
plugin, nothing to configure beyond onepip install. See
installing.md. - A way to check the whole library before you push, that admits what it skipped:
tools/run-gate.py
runs every step CI runs, taken from the workflow file itself rather than from a list anyone maintains by
hand, and prints each step it could not run with the reason. It deliberately has no output line saying
everything passed, because the failure it exists to prevent is a confident summary over a partial run. - Two tools for finishing a filled document:
strip-template.pyremoves the guidance comments and
stamps who filled it, how, and when;validate-fill.pychecks it against the template's declared
sections and refuses a document that still has an unfilled placeholder in it.
Improved
- Searching the catalog now reaches all 27 bundles. The filter was designed around a single "phase"
field, and 10 bundles carry a "classification" instead, so a third of the library could not be found by
filtering. It returned results the whole time, which is why nobody noticed. - Asking for three search results costs about 685 tokens instead of 1,194. The long "which size should
I use" guidance moved off the search results, where you have not chosen a bundle yet, onto the fetch,
where you have. - There is now one document to read about cutting a release instead of two. The second one was not linked
from anywhere and held three things the first did not, including the check that keeps a release from
quietly falsifying every "not yet built" sentence in the repository.
Fixed
- The description you read before installing was wrong in both places it appears. The plugin listing
said the library runs 28 continuous-integration checks when it runs 31, and the machine-readable
manifest said 26 bundles when there are 27, and claimed every bundle ships a full-size template when 26
of the 27 do. Both are corrected, and a check now reads them on every push, because this had gone stale
once before. - A template that told a filled document the wrong version of itself. The
acceptance-criteria
bundle stamped a template version into every document filled from it that did not match the version the
bundle actually shipped, so the provenance line in your document pointed at the wrong thing. - Labels marking built templates as "coming soon". Several bundles cross-referenced their siblings as
future work after those siblings had shipped. The gate now fails on afuture:label whose target
exists.
What this release does not prove
- Not that any template has been used. Every filled document in this repository is an authored
example. Zero people outside the author have filled one, and that is published as zero. - Not that the MCP server is good. No check scores how well it ranks a search. Its test suite asserts
contracts - the right field names, that all 58 variants can be fetched, that it agrees with the
command-line tools it wraps - and says so in its own output. - Not that the templates work. Quality has been measured four times. Three runs were void. The fourth,
on 2026-09-03, cleared every validity gate over two scenarios of one bundle out of 27, which is too
narrow to support a claim about the library.
v0.5.0 - the first release whose feature exists because the maintainer wanted it
title: "product-lifecycle-templates v0.5.0"
description: "The first template built because the maintainer wanted it, an epic bundle whose own research argues against the easy version of the document, and a counter that had quietly assumed this release would never happen"
audience: both
level: beginner
doc_type: release-notes
size: lean
owner: "product-on-purpose"
status: published
doc_version: "0.5.0"
created: "2026-09-03"
updated: "2026-09-03"
related_links:
- ../../CHANGELOG.md
- ../../STATE.md
- ../../templates/epic/
- ../internal/decisions/0042-epic-joins-delivery-docs.md
- ../internal/decisions/0041-maintainer-preference-sets-the-build-order.md
source_template: release-notes
source_template_version: 0.1.1
product-lifecycle-templates v0.5.0
Summary
The library has a 27th bundle, epic, and it is the first one built because the maintainer wanted it rather than because a plan said so. Two decision records made that possible: ADR 0041 made the maintainer's own preference set the build order, and ADR 0042 admitted epic to the delivery-docs family after the first attempt to build it stopped on a gate neither record had removed.
The bundle's research is the part worth reading, because it argues against the easy version of the document it ships. The 2020 Scrum Guide contains zero occurrences of the word "epic", confirmed by literal string search rather than by summary. XP substitutes a splitting rule, the Kanban Method has no product-sized work unit at all, and LeSS Huge partitions one flat backlog instead. Only SAFe formalizes the artifact. In its native habitat an epic is a tracker record, not a document, and the bundle says so on its own catalog card rather than overselling itself.
Nothing here changes an existing template, a meta field, or the bundle contract. Upgrading is safe.
The honest caveat, unchanged since the library existed: no one outside this repository has filled one of these templates yet. 27 bundles is a bigger library, not a used one, and evals/usage-log/ still holds only its README. Template quality was measured on three bundles in August and returned VOID all three times, which means the instrument discriminates and the question is still open.
New
- The
epicbundle (templates/epic/), eight files, two variants. Lean carries the five things a tracker's own fields cannot: what the work is and who it serves, the larger effort it ladders up to, its boundaries, the stories it splits into, and the bar for calling it done. Full adds Out of Scope, Dependencies with a named owner on both sides, and a Link Upward section that refuses to pretend the tier above an epic has a settled name. - A scored quality rubric for epics, eight rows on a 0/1/2 scale with a variant scope table. The library is now 16 scored-table and 11 checklist guides across 27.
- A
queuedbuild backlog that is actually used.atlas/state-overrides.jsonshipped aqueuedblock in August and never held an entry.epicwas the first, and the file now records the full round trip, including the part nobody had written down: an entry is removed when its build lands.
Improved
plt-grade-doccan grade one more document type, and one more of the types it grades now supplies its own scored scale rather than borrowing the grader's.- The
delivery-docsfamily contract states its own membership correctly at 0.1.3, withepicplaced in the chain sentence between the artifact that opens the chain and the stories that decompose it. Its header also stopped claiming to be version 0.1.1 while its change note documented 0.1.2.
Fixed
- The Tier-1 floor count was about to start lying.
tools/check-counts.pycomputed the floor as "every built bundle exceptrfc", a hardcoded exception that was correct only whilerfcwas the single Tier-2 bundle in existence.epicwas the second, so the counter folded it into the floor and reported it as 26 of 27 with 1 remaining. The floor is 25 of 27, with two types refused on the record. Tier now comes from the catalog's own derived data, which CI already gates for freshness. - The
templates/folder inventory was missing the new bundle, caught by the Standard's conformance gate rather than by any check in this repository.
v0.4.0
title: "product-lifecycle-templates v0.4.0"
description: "A second skill that grades documents you already have, the first eval that could run, and four claims the library was making about itself that were not true"
audience: both
level: beginner
doc_type: release-notes
size: lean
owner: "product-on-purpose"
status: published
doc_version: "0.4.0"
created: "2026-08-21"
updated: "2026-08-21"
related_links:
- ../../CHANGELOG.md
- ../../STATE.md
- ../how-to/installing.md
- ../../skills/plt-grade-doc/
- ../../evals/results/2026-08-21_first-runnable.md
source_template: release-notes
source_template_version: 0.1.1
product-lifecycle-templates 0.4.0
Released 2026-08-21. This project follows Semantic Versioning.
Summary
This is the first release with a feature in it rather than a correction, and the feature is for people
who are not using the library.
plt-grade-doc takes a product document you already have and grades it
against that document type's own researched rubric, quoting your own text back as evidence. You do not
have to adopt a template to get something out of it. Its first run graded this repository's own
governance and found a defect no automated check here looks for.
The other half of this release is less flattering and more useful. The eval harness had never run, and
not because nobody tried. One line in .gitattributes made it mechanically impossible on Windows. Once
fixed, it ran, and it produced this project's first real cost figure. Four separate claims the library
published about itself turned out to be false, and they were found by running things rather than by
reading them.
If you are deciding whether to use this library, the honest position is unchanged: nobody outside its
author has filled a template. Zero real fills. That is stated in STATE.md and it is still true today.
New
plt-grade-doc, a second skill that reviews instead of writes. Point
it at a PRD, an ADR, an RFC, a test plan, a postmortem, a risk register or any of 26 document types and
it returns an itemized report card: what the rubric asked for, what your document did, the anti-patterns
it hit, and the three fixes worth an hour.plt-fill-templateruns
template to document; this runs document to rubric.- The first eval run this project has been able to perform.
Four blind arms over one scenario, 20 agents, 11 minutes. It reports the cost, which nobody here has
ever known: 1.2M subagent tokens for one scenario. - A first decision triage, recorded in
STATE.md. It found that this project's own
decision SLA has a loophole: it binds decisions with a stated resolution cost, so omitting the
estimate is the exemption.
Improved
- The demand rule now says what it means. A decision taken on 2026-08-14 turned the pull queue from a
gate on what may be built into a signal for what gets built first, and the rules had been left in their
old permission wording under a note asking readers to reinterpret them. They now read as priority rules,
and the one that is genuinely still a block says so in its own text. - The install guide's numbers are true again. It told you the
npx skills addroute lands "two files,
roughly 12 KB". It lands eight files and about 47 KB, and has since the second skill shipped. - The gate that watches the installer is no longer a version behind. It simulates the CLI from a copy
of that tool's internal search list. The tool added a directory between two patch releases and the copy
had not noticed.
Fixed
- The eval harness could not start on Windows, and nothing could see it.
.gitattributespinned*.js
to LF and not*.mjs, so a checkout produced a file the runner rejected as containing control
characters. The rule's own comment names that exact failure, three lines above the pattern that
misses it. The committed files were always correct, so no check, no diff and no CI run could detect it. - The eval's analysis script called a zero-width interval a wide one. On a single-scenario run it
printed "the interval is wide" directly beneath a table of identical upper and lower bounds. It now
refuses that reading and says no result may be published from such a run. - A decision record had been marked "the first unaccepted record in this library" for a week after it was
accepted, in one of the three places that track it. - Four documents described this library as shipping one skill, in sentences that never name a skill, so
searching for the new one found none of them.
Security
None in this release. No security-relevant fix shipped in 0.4.0.
Breaking changes and upgrade notes
None. Nothing in this release changes the bundle contract, the meta schema, or any path a consumer
depends on. Upgrading is a pull or a re-install.
One thing to know if you installed via npx skills add before today: you now get two skills rather
than one, and about 47 KB rather than 12 KB. That is the intended result, not a defect, and
installing.md tells you how to confirm it.
Known issues
- The grader's calibration is untested.
plt-grade-dochas graded
exactly one document, by hand, by its own author, and gave a carefully written record a C. No
workaround: treat its letter grade as one reader's opinion with its reasoning shown, which is the
part that holds regardless. The itemized findings are more trustworthy than the letter. - The
npx skills addroute installs skills without the library. About 47 KB of instructions land and
none of the 26 bundles. Workaround: use the Claude Code plugin route, which clones everything, or
give the skill network access so it can fetch the one file it needs. Both skills detect the absence and
stop rather than inventing content. - No efficacy claim is supported. Three eval runs have returned VOID on discrimination. No
workaround, and none is being implied: the templates' benefit is argued and researched, not measured. - The decision SLA has a known loophole, found by this release's first triage: it binds only decisions
that state a resolution cost, so omitting the estimate avoids the rule. Recorded, not yet fixed.
If you would like to test the grader, point it at a document you already have and tell us where it was
wrong. That single act is the thing this project most needs and cannot manufacture, and there is a
five-question form in the skill for exactly it. The known issues above are honest about what you would be
testing: a rubric nobody outside its author has ever disagreed with.
v0.3.1 - the tag that stopped denying its own evidence
title: "product-lifecycle-templates v0.3.1"
description: "A documentation patch - the v0.3.0 tag shipped four documents saying there are no efficacy evaluations, in a tree containing two of them"
audience: both
level: beginner
doc_type: release-notes
size: lean
owner: "product-on-purpose"
status: published
doc_version: "0.3.1"
created: "2026-08-08"
updated: "2026-08-08"
related_links:
- ../../CHANGELOG.md
- ../../RELEASE-NOTES.md
- ../../STATE.md
- ../../evals/results/2026-08-08_matched-rerun.md
source_template: release-notes
source_template_version: 0.1.1
product-lifecycle-templates 0.3.1
Released 2026-08-08. This project follows Semantic Versioning.
Summary
No template changed and no feature shipped. This release exists because the previous one published
documentation that the same tree contradicted.
The doc-honesty sweep landed one commit after the v0.3.0 tag. So the tagged tree, which is the tree the
marketplace pins and hands to users, told readers in four places that "there are no efficacy
evaluations" while carrying evals/results/ containing two of them. A published tag is not moved, so
the correction is a new release.
If you installed v0.3.0, nothing you use behaves differently. If you read v0.3.0's documentation
to decide how much to trust this library, read it again: it understated what is known, in the direction of
looking less tested than it is, and then a second document overstated it in the other direction.
New
None in this release.
Improved
- The changelog is navigable. Three of its four version headings were rendering as literal bracketed
text rather than links, because they were reference-style links with no matching definition. Only
0.1.0had one. - The skill's declared version and the tag it downloads from agree. The installed skill fetches its
templates from the release tag matching its ownmetadata.version, so those two moving together is what
makes a version pin mean anything.
Fixed
- The published release said there were no efficacy evaluations, and shipped two.
AGENTS.md, what
the gate proves, getting
started andSTATE.mdwere all corrected onmainone commit too
late to be in the tag. This release publishes those corrections. - The release-notes page contradicted itself within one screen. Its standing "What this library does
not claim" section said template quality "has not been measured", three headings below its own
v0.3.0entry reporting that two independent runs returned VOID. - An internal decision record described a test that had already been run. ADR
0036 called the install retest one
that "has never been run" and said it "stays open", in two places, after the retest had run and its
consequences had been written into the next record. Marked in place with a dated correction rather than
rewritten, because both statements were true when written.
Security
No security-relevant changes in this release. No dependency changed; the gate's two dependencies
(PyYAML, jsonschema) are unmoved.
Known issues
Unchanged from v0.3.0, and none of them is fixed here:
- Efficacy is measured and the result does not support a quality claim. Two independent blinded runs
both returned VOID, on three of the 26 bundles.
The result. - The eval's probe set is saturated. The control arm scored 5.00 out of 5 in every session of both
runs, so the probe gap can currently show harm and cannot show help. No workaround; do not read the
probe numbers as evidence of benefit. - No template here has been filled by anyone but the author. By the library's own tier rule, nothing
has graduated. - The marketplace listing pins a commit and goes stale silently. If you installed through the Product
on Purpose registry, you receive whatever commit it currently pins, which is not automatically the
newest tag. Check the pinned version before assuming you have this release.
Upgrading
Nothing here is breaking. No bundle content, no template, no metadata schema and no gate check
changed. If you pinned v0.3.0 deliberately, the only thing you gain by moving is documentation that
agrees with itself.
The skill's name changed in v0.2.0 from product-lifecycle-templates to plt-fill-template. That
remains the only rename, and it is unchanged in this release.
v0.3.0 - Gold tier, a withdrawn finding, and two install defects
title: "product-lifecycle-templates v0.3.0"
description: "Gold tier on the Advanced Skill Library Standard, an efficacy finding withdrawn, and two defects found by running the install for the first time"
audience: both
level: beginner
doc_type: release-notes
size: lean
owner: "product-on-purpose"
status: published
doc_version: "0.3.0"
created: "2026-08-08"
updated: "2026-08-08"
related_links:
- ../../CHANGELOG.md
- ../../STATE.md
- ../how-to/installing.md
- ../../evals/results/2026-08-08_matched-rerun.md
source_template: release-notes
source_template_version: 0.1.1
product-lifecycle-templates 0.3.0
Released 2026-08-08.
Summary
This release is mostly the library finding things wrong with itself, and one of them was a number it had
published four hours earlier.
Three things happened. The library reached Gold on the Advanced Skill Library Standard, measured by the
Standard's own gate running in this repository's CI rather than declared. The efficacy pilot's alarming
headline, a held-out gap of -0.81 that read as evidence these templates suppress decision-usefulness,
was withdrawn: it was an artifact of the measurement, and matched properly the number is -0.03. And
the install was executed for the first time since it shipped, which took thirty minutes and produced two
real defects plus one refuted belief.
If you use the library, the change that affects you is the install. There are two routes and they do
not deliver the same thing. docs/how-to/installing.md is new and says which to
pick.
If you were waiting for evidence the templates work, this release does not provide it. Two blinded runs
both returned VOID.
New
- Gold tier (advanced) on the Advanced Skill Library Standard. Measured, not declared: CI clones the
Standard's toolkit at a pinned tag and runs its conformance gate on every push. Declared advanced,
measured advanced, zero blockers, zero errors. - An install guide. Three routes, what each actually delivers, and how to
check that it worked. This did not exist before, and the difference between the routes turned out to
matter more than anyone knew. - A matched arm in the efficacy eval, plus bootstrap confidence intervals on every gap and a check that
holds the two arm prompts byte-identical where they must be. - Two new CI checks, taking the pipeline to 24 steps: one asserting the published skill surface matches
what the library declares, one holding the eval arms comparable.
Improved
- The skill now refuses to work from memory. If it cannot reach the library it indexes, it stops and
says so instead of producing a plausible document with nothing behind it. It can also fetch the manifest
and the single template it needs, pinned to the release tag matching its own version. - The skill's declared status is
experimental, notbeta.betais not a word the Standard accepts,
so this is mostly a translation. It is also the more accurate one: efficacy is measured and void, the
install ships no library on one route, and nobody outside this repository has filled a template. - The counts check stopped forcing dated documents to lie. It gated
docs/releases/against the
current tree, which would have made the v0.2.0 note's true sentence "the gate grew from 15 CI steps to
20" false. Release notes are dated snapshots and are now exempt, printed on every run.
Fixed
- The install shipped a maintainer-internal skill.
npx skills addreported two skills and installed
both; the second builds this repository and says in its own description that it is not for library
users. Fixed, and now gated so it cannot recur through any of the installer's 31 scanned directories. - The
npx skills addroute delivered a skill without the library it indexes. Twelve kilobytes, no
bundles, no manifest, every internal link dangling. The skill now detects this and stops. The plugin
route was never affected, because it clones the whole repository. STATE.mdwas false in the section that ends with the words "Keep this section honest". Five clauses
had been wrong for three weeks while every automated check ran green, because none of them sat near a
marker any check reads.- Stale README badges, including a version badge two releases behind and a bundle count of 19 against a
real 26.
What this release does not claim
Nothing here is evidence that the templates improve documents. Two independent blinded runs both
returned VOID on the discrimination gate. What the runs do show, consistently, is that documents written
with these templates score well above a strong generic-prompt control on the templates' own criteria
and no better on decision-usefulness criteria drawn from neither the template nor its guide. That pattern
has a name in the protocol, the circularity signature, and it is a finding
about the bundles rather than about the measurement.
Three bundles of twenty-six were tested. Zero templates here have been filled by anyone but the author.
Upgrading
The skill's name changed in v0.2.0 from product-lifecycle-templates to plt-fill-template. If you
pinned the old name, re-point it. The plugin's name is unchanged.
Nothing else is breaking. No bundle content changed in this release.
v0.2.1: Standard-bound at tier universal
Adds library.json binding the Advanced Skill Library Standard 0.12 at tier universal (Bronze), verified by running the Standard's own conformance gate (exit 0) rather than by self-declaration.
Required by clause L3 of the Product on Purpose marketplace listing contract: a repository with no library.json is "loose components" and is not eligible for listing. Clause L4 requires every manifest version to agree with the release tag, which is why this is a patch release rather than an amendment to v0.2.0 - a published tag is not moved.
Known convergence backlog, recorded honestly: the gate reports findings at the convergent tier, above the declared ceiling. The largest is that 25 decision records carry no ## TL;DR block. None of these gate at universal.
No bundle content changed since v0.2.0.
v0.2.0: the Tier-1 floor is complete
title: "product-lifecycle-templates v0.2.0"
doc_type: release-notes
size: lean
owner: "product-on-purpose"
status: published
doc_version: "0.2.0"
created: "2026-08-07"
updated: "2026-08-07"
related_links:
- ../../CHANGELOG.md
- ../../STATE.md
- ../../SKILL.md
source_template: release-notes
source_template_version: 0.1.1
Dogfood note. This release note was written by filling this library's own
release-noteslean
template, as v0.1.0 was. That is the point: a template library that does not use its own
templates has not tested them. The comparative sections below are filled normally this time, because
unlike v0.1.0 there is a previous release to compare against.
product-lifecycle-templates v0.2.0
Summary
The Tier-1 floor is complete. Every one of the 25 templatable document types in the catalog's must-have
set now ships as a full bundle, across nine complete families.
26 bundles, 25 of 25 templatable Tier-1 types, 9 families.
Two things changed in kind, not just in count. The library got a front door: its first user-facing
documentation, after a year in which all 62 documentation files lived under docs/internal/ and a new
reader had the README and nothing else. And it became installable: until this release npx skills add
cloned the repository and installed nothing, because the skills ecosystem takes exactly one unit, the
skill, and this repository shipped no SKILL.md.
What has not changed is the honest part. Template quality is still argued and gate-enforced rather than
measured. There are still no efficacy evaluations. No template here has been filled by anyone but the
author, so by the catalog's own rule (Tier 2 requires surviving one real usage cycle) nothing has
graduated. Every bundle remains beta, and for those reasons.
New
Seven bundles, completing three families and the floor:
business-caseanduser-persona, completingdiscovery-docs. The persona bundle defines the
Recurring Analyst, a character referenced across 19 files that no bundle had ever defined.definition-of-doneandrunbook, completingstanding-standards, the first family whose two
members take different values on the same axis.incident-postmortemandsprint-retrospective-notes, completingprocess-docs. They landed
together because the family exists to contrast them.status-report, completingcommunication-docsand the floor itself.
A front door. docs/getting-started.md,
docs/choosing-a-template.md,
docs/filling-a-template.md,
docs/what-the-gate-proves.md, plus CONTRIBUTING.md and AGENTS.md at the
root. The last of those is the machine-consumption path: how an agent selects from manifest.json, budgets
context from approx_tokens, and loads one file rather than eight.
An installable surface. SKILL.md and .claude-plugin/plugin.json.
Findings worth more than the bundles they came from. Several of this release's most useful results are
absences, established by reading primary text rather than summarising it:
- The word "timeline" appears zero times in the Google SRE chapter that everyone cites for postmortems.
It exists only as a heading in a separately linked appendix. - The 2020 Scrum Guide contains no occurrence of "action item", requires no written retrospective
output at all, and in 2020 softened the 2017 requirement that an improvement reach the next Sprint
Backlog into a permission. - The most detailed published RAG scheme in circulation, the UK IPA's Delivery Confidence Assessment,
defines Red, Amber and Green and then explicitly declines to define Amber-Red and Amber-Green - the
two colours doing the most delicate signalling work.
Improved
The gate grew from 15 CI steps to 20, and two of the additions exist because a check that looked green
was not.
20 CI steps; 20 research logs gated across 796 sources.
- CI now runs on every branch. A pull-request event once took twenty-three minutes to dispatch, during
which a PR had no required check and was merged with--admin, overriding this repository's own rule. A
push dispatches immediately. check-counts.pyreads every marker in a file rather than only the first. Prose-count drift has
recurred eight times here with identical geometry: a stale sentence a hundred or more lines from the one
marker at the top of its file. An author can now pin the sentence.- Research logs are generated rather than retyped, closing two bugs that destroyed evidence silently.
- Decision procedure 11 requires a family contract sentence to declare whether it is an obligation, a
claim about the world, or the library's own position.
Fixed
- Eight unsourced claims across seven family contracts. A back-audit tested every assertion in every
contract against the research logs of the members actually built. Two of every three failures were
labelling rather than error: correct content stated as though the field had discovered it. All are
relabelled in place, dated, and no obligation changed, so no bundle fell out of contract. - A stale count in the README that no marker was tracking, plus a self-contradicting cell and a stale
decision-record count inSTATE.md. - A claim in the shipped
acceptance-criteriabundle that the Scrum Guide contradicts, corrected
against the primary text.
Upgrading
Nothing to do. This is a content and documentation release; no template's structure changed
incompatibly, and every bundle keeps its template_version. If you have copied a bundle, the only reason
to re-copy it is to pick up a corrected claim, and each bundle's _history.md says what changed.
If you previously cloned the repository to use it, you can now install it instead. See
SKILL.md.
v0.1.0
title: "product-lifecycle-templates v0.1.0"
doc_type: release-notes
size: lean
owner: "product-on-purpose"
status: published
doc_version: "0.1.0"
created: "2026-07-17"
updated: "2026-07-17"
related_links:
- ../../CHANGELOG.md
- ../../STATE.md
- ../../templates/release-notes/release-notes_template-lean.md
source_template: release-notes
source_template_version: 0.1.0
product-lifecycle-templates v0.1.0
Release date: 2026-07-17. This project follows Semantic Versioning. The
changelog format follows Keep a Changelog 1.1.0.
Summary
The first tagged release. Six document types now ship as governed bundles, each with a blank template
in two sizes, a researched explainer, an operator card, a worked example, and a machine manifest. A
nine-check gate runs on every push and blocks merges, so the quality bar is enforced rather than
described. This is a beta release: everything here is gate-green and cited to raw sources, and
nothing here has yet been filled in anger by anyone but the author.
New
- Six governed bundles, in two families: you can pick a document type, read a one-minute guide
that tells you whether it is even the right tool, copy aleanorfulltemplate, and fill it with
the guidance sitting inline in the file.delivery-docscoversprd,user-stories,
acceptance-criteria, andrelease-notes, whose examples chain across one feature so the family
reads as a single traceable set.decision-docscoversrfc(propose a decision) andadr(record
it), which are a sequence rather than a choice. - A six-step quickstart: the README now takes you from
git cloneto a shipped document without
an install, an account, or a tool. - A governance gate you can run yourself:
python tools/check-bundles.pyapplies nine structural
checks to every bundle in one command, andpython tools/check-links.pyproves every link and
anchor in the repository resolves. Both run in CI on every push and pull request, andmainis
branch-protected on them, so a bundle that breaks them cannot merge. - The Product Artifact Atlas:
atlas/atlas.htmlis a self-contained interactive map of all 205
catalog types. Open it in any browser to see the whole territory before choosing what to build. - A published authoring methodology:
templates/methodology.mddocuments the process, the
citation standard, and the per-bundle Definition of Done, so the bar is inspectable rather than
implied.
Improved
- Citations you can actually check. Every source in the four
delivery-docsbundles was fetched
and compared against the claim citing it. Each reference is now one source (never two bundled under
one number), states how it was retrieved, and says so in the reference itself when it is paywalled,
blocked, or a print book. Nothing is quoted that was not read at source. - The gate got stricter in the places that were quietly failing: citations are now checked in both
directions (a reference nothing cites is a failure, not a decoration), heading nesting compares
depth as well as text, the meta is scanned for unfilled placeholders, the history must document the
version the meta claims, andpairs_with/related_templatesmust point at things that exist.
Fixed
- 28 citation defects across the four
delivery-docsbundles, all of which had been passing the
gate green for weeks. Among them: two wrong dates (Gherkin dated 2007 when it arrived with Cucumber
in 2008; a Cagan essay dated 2007 that is from 2006, in a sentence about how long he had held the
position), two quotations from sources that could not be read at all (one paywalled, one on a domain
that times out), and several claims attributed to authors who do not make them. - A front door that oversold the product. The README claimed an agent could "select and fill
deterministically", which was false: there is no metadata schema and no machine-consumption path. It
called a family "complete" and "verified" days before 28 defects were found in it. It listed four
bundles when six exist, and pointed at adocs/decisions/path that does not exist and that the
org's own scaffolder forbids. All corrected, and the honest position now has a section of its own. - A bug in the link gate, found when it flagged a broken link in a file whose links were all fine:
it did not skip fenced code blocks, so a documented example containing[Title](URL)was read as a
real link to a path named "URL".