Skip to content

Commit 2510af6

Browse files
committed
docs: record task 15 (changelog key disambiguation) in plan tasks
Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
1 parent 4ef8a89 commit 2510af6

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

docs/superpowers/plans/2026-09-03-release-process-v2.md.tasks.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,13 @@
124124
13
125125
],
126126
"description": "**Goal:** Prove the whole v2 release path end-to-end against the dev OBS before trusting the CI path.\n\n**USER-ORDERED GATE \u2014 NON-SKIPPABLE.** This task was requested by the user in the current conversation. It MUST NOT be closed by walking around it, by declaring it \"verified inline\", or by substituting a cheaper check. Close only after every item in `acceptanceCriteria` has been re-validated independently, with output captured.\n\n**Files:**\n- None (verification only; -P dev, NEVER -P isv)\n\n**Acceptance Criteria:**\n- [ ] sync release --dry-run exits 0 on a prepared scratch release tree (output shows 'release dry-run passed').\n- [ ] Full sync release run completes: drain line, '(builds frozen)' per project, 'released' lines for top level + every subproject, 'packages landed' lines, '(builds restored)' per project.\n- [ ] Source project meta on dev OBS byte-identical before vs after (empty diff of /source/<prj>/_meta captures).\n- [ ] A deliberately broken rehearsal (red package or removed mirror) aborts with the documented hard error, builds end unfrozen/restored.\n\n**Verify:** venv/bin/python -m percona_obs -P dev sync release <scratch-release-project> --dry-run && venv/bin/python -m percona_obs -P dev sync release <scratch-release-project>; captured outputs for all four criteria; scratch commits reverted.\n\n```json:metadata\n{\"files\": [], \"verifyCommand\": \"venv/bin/python -m percona_obs -P dev sync release <scratch-release-project> --dry-run && venv/bin/python -m percona_obs -P dev sync release <scratch-release-project>\", \"acceptanceCriteria\": [\"dry-run exits 0 with 'release dry-run passed'\", \"full run shows frozen/released/landed/restored lines for every project\", \"source project meta byte-identical before vs after (empty diff)\", \"broken input aborts with hard error and builds end unfrozen/restored\"], \"modelTier\": \"standard\", \"userGate\": true, \"tags\": [\"user-gate\"], \"requireEvidenceTokens\": [[\"dry-run passed\", \"dry run\"], [\"builds restored\", \"landed\"]]}\n```"
127+
},
128+
{
129+
"id": 15,
130+
"subject": "Task 15: changelog distinguishes same-named subproject packages",
131+
"status": "completed",
132+
"description": "**Goal:** Release changelog distinguishes top-level vs subproject same-named packages (e.g. percona-postgresql vs extras/percona-postgresql).\n\n**Files:**\n- Modify: percona_obs/cmd_project.py\n- Test: tests/test_project_release.py\n\n**Acceptance Criteria:**\n- [x] Subproject package versions keyed '<pkg> (<subproject>)' symmetrically on source and release sides\n- [x] Service/URL lookup resolves the subproject's own _service first for suffixed keys\n- [x] Collision test asserts entry separation and URL provenance both ways\n\n**Verify:** venv/bin/python -m pytest tests/test_project_release.py -q\n\n```json:metadata\n{\"files\": [\"percona_obs/cmd_project.py\", \"tests/test_project_release.py\"], \"verifyCommand\": \"venv/bin/python -m pytest tests/test_project_release.py -q\", \"acceptanceCriteria\": [\"symmetric suffixed keys\", \"targeted service lookup\", \"collision test both ways\"], \"modelTier\": \"standard\"}\n```"
127133
}
128134
],
129-
"lastUpdated": "2026-09-03T15:08:37.163540+00:00"
135+
"lastUpdated": "2026-09-03T15:52:05.885688+00:00"
130136
}

0 commit comments

Comments
 (0)