Skip to main content

Specification-related workflows

This documentation page is a set of guidelines for project maintainers, defining workflows related to specification changes.

polyproto Amendment Workflow (PAW)

Merging a polyproto update/revision request (PURR) into main should always trigger a polyproto amendment workflow. A PAW represents all changes required across https://codeberg.org/polyphony repositories to bring these repositories in line with the changes made by the corresponding PURR.

A PAW should always have the same identifier as the corresponding PURR.

Example regarding naming

Merging PURR-2026-0003: Lorem ipsum would result in PAW-2026-0003: Lorem ipsum.

Create a PAW by creating a new project board at the organization level. The name of this project board should be equal to the name of the PAW.

The PAW project board should have the following issue columns:

  • "Backlog" (default): Issues that are not currently being worked on
  • "In Progress": Issues that are actively being worked on
  • "Done": Issues that have been marked as completed

The PAW project board should have a description text which provides a clickable link to the corresponding PURR.

When the PAW project board is created, every repository potentially affected by the merge of the corresponding PURR should have a tracking (epic) issue created in it. The name of the issue should be equal to the name of the PAW project board.

These issues should then contain sub-issues in the form of a markdown list. Each list item is a link reference to a work-item. The list represents all work-items needing completion in order to bring the repository in line with the changes from the PURR.

If it turns out that a repository is not affected by the PURR, the issue can simply be marked as completed and be moved into the "done" column of the PAW project board. The issue should have a comment indicating that the issue has been closed for this reason.

All PAW-related issues and pull requests (including sub-issues) should be added to the PAW project board.