diff --git a/TODO.md b/TODO.md index a4d7777..97d7b9b 100644 --- a/TODO.md +++ b/TODO.md @@ -2,10 +2,11 @@ ## Governed architecture roadmap -- [ ] Deliver [ticket-060](project/ticket-060/README.md): align Goal's own +- [x] Deliver [ticket-060](project/ticket-060/README.md): align Goal's own tracked Python strategy with the retry-safe Twine contract while preserving - Node and Rust publishers. State: `IN_PROGRESS / PUBLICATION`; 618 tests - (2 skips), structural checks and governance pass; classification: + Node and Rust publishers. State: `DONE / DONE`; 618 tests (2 skips), + structural checks, governance, protected CI and exact-head Validator + approval pass; PR #100 merged unchanged as `48b8e2c...`; classification: `BUG / P1 / regression`; depends on ticket-059. - [x] Deliver [ticket-059](project/ticket-059/README.md): align the default diff --git a/project/ticket-060/README.md b/project/ticket-060/README.md index 00c6555..039afc3 100644 --- a/project/ticket-060/README.md +++ b/project/ticket-060/README.md @@ -2,8 +2,8 @@ - **ID**: ticket-060 - **Owner**: unresolved:human -- **Status**: IN_PROGRESS -- **Workflow state**: PUBLICATION +- **Status**: DONE +- **Workflow state**: DONE - **Created**: 2026-08-12 ## Goal and scope @@ -23,6 +23,8 @@ strategies must remain byte-for-byte unchanged. `cargo publish` respectively. - [x] AC-04: Structural parsing, full tests and governance pass before protected exact-head delivery. +- [x] AC-05: Protected CI and Validator Agent approve the exact final head; + the unchanged tree is merged and post-merge CI passes. ## Non-goals @@ -43,3 +45,10 @@ strategies must remain byte-for-byte unchanged. `goal.yaml`. - The full suite passes 618 tests with 2 existing skips; governance reports 0 errors/0 warnings and whitespace validation passes. +- PR #100 passed Python 3.12/3.13 and remote lifecycle on exact HEAD + `22eed9c006cafc1aadbdd7274073f29ad02b1e55`. Validator run + `31627588707` and review `4919864176` deterministically approved that SHA. +- PR #100 merged as `48b8e2cee80c0c7a286f86b59eda896c4c00c060`; + its second parent and tree equal the approved candidate. Post-merge CI + `31627788882` passed both supported Python versions and the remote ticket + branch was deleted. diff --git a/project/ticket-060/ai-codex-logs.txt b/project/ticket-060/ai-codex-logs.txt index cff8eb7..d27c25d 100644 --- a/project/ticket-060/ai-codex-logs.txt +++ b/project/ticket-060/ai-codex-logs.txt @@ -3,3 +3,6 @@ 2026-08-12T18:22:00Z scope: one governance-owned goal.yaml scalar; current Python command is stale, while Node npm publish and Rust cargo publish are already correct and must remain unchanged. 2026-08-12T18:23:00Z implementation: changed exactly strategies.python.publish to twine upload --skip-existing dist/goal-{version}*; git numstat is 1 insertion/1 deletion. 2026-08-12T18:23:00Z validation: structural YAML assertions PASS for Python, Node and Rust publishers; 618 full PASS/2 SKIP; governance GOV-PASS 0 errors/0 warnings; git diff --check PASS. +2026-08-12T18:27:26Z protected validation: hosted Python 3.12/3.13 and remote lifecycle PASS; Validator run 31627588707 review 4919864176 deterministically approved exact HEAD 22eed9c006cafc1aadbdd7274073f29ad02b1e55. +2026-08-12T18:28:11Z merge: PR #100 merged as 48b8e2cee80c0c7a286f86b59eda896c4c00c060; merge second parent and tree equal the approved candidate; remote branch deleted. +2026-08-12T18:29:20Z post-merge: CI run 31627788882 PASS on Python 3.12 and 3.13 at exact merge SHA; implementation lifecycle complete. diff --git a/project/ticket-060/ai-codex.md b/project/ticket-060/ai-codex.md index 2860ea2..d987742 100644 --- a/project/ticket-060/ai-codex.md +++ b/project/ticket-060/ai-codex.md @@ -31,6 +31,9 @@ code or the already-correct Node/Rust publishers. strategy values. - Passed 618 full tests (2 existing skips), governance and whitespace validation; moved to PUBLICATION for protected exact-head review. +- Delivered exact candidate `22eed9c...` through hosted CI and deterministic + Validator approval, merged it unchanged as `48b8e2c...`, and confirmed green + post-merge CI before closing the lifecycle. ## Blockers diff --git a/project/ticket-060/changelog.md b/project/ticket-060/changelog.md index b952bfb..ff4716f 100644 --- a/project/ticket-060/changelog.md +++ b/project/ticket-060/changelog.md @@ -8,3 +8,5 @@ declared sibling publisher preservation as acceptance evidence. - Made the Python publisher retry-safe, preserved Node/Rust values, and passed structural, full-suite and governance validation. +- Recorded exact-head Validator approval, unchanged-tree merge and green + post-merge Python 3.12/3.13; closed the implementation lifecycle.