Skip to content

Releases: product-on-purpose/product-lifecycle-templates

v0.7.0

Choose a tag to compare

@jprisant jprisant released this 13 Sep 04:53
b5c2a43

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.md states 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-sdk mode 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 / manual fill-method vocabulary is defined. strip-template.py has
    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.md now 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.md and choosing-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, printed OK 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, a STATE.md row saying a tool that exists does not, and a README still announcing v0.5.0.
  • user-persona no longer points readers at a prototype-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 remain beta.
  • 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

Choose a tag to compare

@jprisant jprisant released this 06 Sep 20:39
ca174fc

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 one pip 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.py removes the guidance comments and
    stamps who filled it, how, and when; validate-fill.py checks 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 a future: 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

Choose a tag to compare

@jprisant jprisant released this 03 Sep 18:58
aaa1bc2

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 epic bundle (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 queued build backlog that is actually used. atlas/state-overrides.json shipped a queued block in August and never held an entry. epic was 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-doc can 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-docs family contract states its own membership correctly at 0.1.3, with epic placed 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.py computed the floor as "every built bundle except rfc", a hardcoded exception that was correct only while rfc was the single Tier-2 bundle in existence. epic was 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

Choose a tag to compare

@jprisant jprisant released this 22 Aug 04:30
e501e04

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-template runs
    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 add route 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. .gitattributes pinned *.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-doc has 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 add route 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

Choose a tag to compare

@jprisant jprisant released this 09 Aug 03:49
ad42e75

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.0 had 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 own metadata.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
    and STATE.md were all corrected on main one 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.0 entry 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

Choose a tag to compare

@jprisant jprisant released this 08 Aug 23:41
2264820

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, not beta. beta is 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 add reported 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 add route 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.md was 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

Choose a tag to compare

@jprisant jprisant released this 08 Aug 03:00
d0ac358

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

Choose a tag to compare

@jprisant jprisant released this 08 Aug 02:54
9d9e3d2

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-notes lean
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-case and user-persona, completing discovery-docs. The persona bundle defines the
    Recurring Analyst, a character referenced across 19 files that no bundle had ever defined.
  • definition-of-done and runbook, completing standing-standards, the first family whose two
    members take different values on the same axis.
  • incident-postmortem and sprint-retrospective-notes, completing process-docs. They landed
    together because the family exists to contrast them.
  • status-report, completing communication-docs and 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.py reads 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 in STATE.md.
  • A claim in the shipped acceptance-criteria bundle 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

Choose a tag to compare

@jprisant jprisant released this 17 Jul 12:57
f6abb5a

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 a lean or full template, and fill it with
    the guidance sitting inline in the file. delivery-docs covers prd, user-stories,
    acceptance-criteria, and release-notes, whose examples chain across one feature so the family
    reads as a single traceable set. decision-docs covers rfc (propose a decision) and adr (record
    it), which are a sequence rather than a choice.
  • A six-step quickstart: the README now takes you from git clone to a shipped document without
    an install, an account, or a tool.
  • A governance gate you can run yourself: python tools/check-bundles.py applies nine structural
    checks to every bundle in one command, and python tools/check-links.py proves every link and
    anchor in the repository resolves. Both run in CI on every push and pull request, and main is
    branch-protected on them, so a bundle that breaks them cannot merge.
  • The Product Artifact Atlas: atlas/atlas.html is 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.md documents 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-docs bundles 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, and pairs_with / related_templates must point at things that exist.

Fixed

  • 28 citation defects across the four delivery-docs bundles, 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 a docs/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".