Skip to content

v0.9.0

Choose a tag to compare

@TBarregren TBarregren released this 14 Aug 13:27
· 75 commits to main since this release

The poll discipline now has one place where its wording is decided. It used to be pinned inside a test file — a poor home for a product decision — and the rules stated only in prose drifted apart, as two agents proved by coming to state the same ban in different words.

Added

  • docs/poll-discipline.md is the poll discipline's canonical statement, and the two consistency suites now read their pinned phrases from it instead of restating them in Python. The literals had been living inside tests/test_poll_discipline_consistency.py, which made a test file the source of truth for a product decision, and every rule stated only in prose was free to drift — as it did: the two poll-owning agents came to state the same new ban in different words, and the binding meant to catch that had to be loosened to accept both. Changing a rule is now one edit in the document plus the matching edit in each surface, and the suites refuse the change until every surface has followed. The surfaces still restate the discipline in full, because an agent definition loaded standalone must carry the whole rule set; what the document adds is one place where the wording is decided, and a pointer to it from each surface. A guard test pins the expected phrase names, so a phrase vanishing from the document reddens rather than quietly disabling its own enforcement.

Changed

  • agents/extract-transfer.md's two poll hard rules are split apart and carry the canonical wording verbatim, matching agents/discovery-classify.md word for word rather than merely in substance.

Full changelog: https://github.com/Kntnt/kntnt-wp-skills/blob/v0.9.0/CHANGELOG.md