Skip to content

chore(release): finalize changelog and bump version to 3.0.16#795

Merged
derks merged 12 commits into
mainfrom
gsd/phase-6-release-cut-3-0-16
Jul 13, 2026
Merged

chore(release): finalize changelog and bump version to 3.0.16#795
derks merged 12 commits into
mainfrom
gsd/phase-6-release-cut-3-0-16

Conversation

@derks

@derks derks commented Jul 13, 2026

Copy link
Copy Markdown
Member

Release prep: 3.0.16

This is the single release-prep PR for the 3.0.16 cut (Phase 06, Plan 02).
It finalizes the changelog and bumps the version of record. The merged
main commit is what will later be tagged.

Changes

  • CHANGELOG.md — finalize the 3.0.15 - DEVELOPMENT section into a
    released ## 3.0.16 - July 13, 2026 section:
    • Renamed the header (no DEVELOPMENT marker).
    • Added a release-highlights paragraph covering the four locked themes:
      Python 3.10–3.14 matrix (3.8/3.9 dropped), warn-only deprecations with
      3.2.0 removals signposted, the automated GitHub Actions release
      workflow, and fully-typed modernized cement generate templates.
    • Condensed every entry to release-notes altitude while preserving all
      five buckets in order (Bugs, Features, Refactoring, Misc, Deprecations)
      and every entry (including [dev]).
  • cement/core/backend.py — bump the single VERSION tuple to
    (3, 0, 16, 'final', 0) so get_version() returns 3.0.16
    (pyproject.toml / cement/__init__.py derive the version dynamically).
  • tests/core/test_backend.py — update the paired version assertion to
    16.

D-01 git-log cross-check

Cross-checking git log 3.0.14..HEAD (after planning-artifact and
revert-pair filtering) against the populated buckets surfaced three
user-visible changes that were missing; they have been added:

Gates (local, green)

  • make comply — ruff + mypy clean
  • make test — 386 passed, 100% coverage
  • make audit-public-api — public surface byte-identical (exit 0)

Notes for reviewer

  • The DOCS-03 completeness check is a human judgment — please review the
    changelog 3.0.16 section (especially the highlights wording) for
    release-notes accuracy.
  • This branch also carries the Phase 06 planning commits under
    .planning/. The only non-.planning changes are the four files above
    (.gitignore gained a scratchpad/ ignore). Choose the merge method
    accordingly (e.g. squash, or filter .planning/ if you prefer a
    code-only history on main).

Plan: .planning/phases/06-release-cut-3-0-16/06-02-PLAN.md

Summary by CodeRabbit

  • Release

    • Updated the application version to 3.0.16.
    • Published finalized release notes covering bug fixes, features, refactoring, and miscellaneous improvements.
    • Updated supported Python versions to 3.10–3.14.
    • Clarified that SMTPMailHandler.send() now issues warnings, with removal planned for v3.2.0.
  • Documentation

    • Added detailed release planning, validation, provisioning, and verification guidance for the 3.0.16 release.
  • Tests

    • Updated version checks to reflect 3.0.16.

derks and others added 12 commits July 12, 2026 19:28
Five sequential plans for the 3.0.16 release cut: provisioning
checkpoint, release-prep PR, final dry-run, tag handoff + live-run
shepherding, and post-release verification. Runs the Phase 05.4
release machinery; authors only a changelog finalization + one-line
VERSION bump.

Co-Authored-By: Claude Fable 5 <[email protected]>
- Read-only gh api / git refresh of the 12 pre-first-tag items
- Confirms 2 hard blockers still OPEN: Docker secrets (#7), ancestry (#8)
- PyPI publisher (#9) + RTD (#10) remain provider-UI unverifiable
- Items #1-#6 GREEN; #11/#12 close in the release-prep PR (Plan 02)
- Docker Hub secrets DOCKERHUB_USERNAME/DOCKERHUB_TOKEN verified at
  repository scope via gh api (org OAT path per D-11)
- Initial placement was release-environment scope; docker job declares no
  environment, so user re-added at repo scope (env copies may remain,
  harmless shadow duplicates)
- PyPI trusted publisher + RTD integration user-confirmed in provider UIs
- release env reviewer, testpypi env, Actions-PR setting, stable/3.0.x
  unprotected: re-verified live 2026-07-13
- Remaining unchecked: ancestry merge (task 3), pre-tag check, testpypi
  branch restriction (optional hardening), CHANGELOG/VERSION (plan 02)
- User ran the -s ours merge directly on main per D-10 (Pitfall 1: real
  merge commit, not a squashed/rebased PR)
- Verified: merge 8978b39 has two parents (c4dc2df + 0679bf5),
  merge-base --is-ancestor prints FF-OK, zero content drift across merge
- branch-sync fast-forward precondition for REL-03 now holds
Finalize the CHANGELOG.md release-prep section: rename the
'3.0.15 - DEVELOPMENT' header to '3.0.16 - July 13, 2026', add a
release highlights paragraph (Python 3.10-3.14 matrix, warn-only
deprecations with 3.2.0 removals signposted, automated GitHub Actions
release workflow, fully-typed cement generate templates), and condense
every entry to release-notes altitude while preserving all five buckets
and every entry.

The D-01 git-log cross-check (3.0.14..HEAD) surfaced three user-visible
changes missing from the section, now added: an explicit __all__ for
'from cement import *' (#756), the base GitHub Actions PR CI (#757), and
the devbox/direnv development-environment configuration.

Bump the single version of record VERSION to (3, 0, 16, 'final', 0) in
cement/core/backend.py so get_version() returns '3.0.16'; update the
paired tests/core/test_backend.py assertion to match (Rule 1).
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The change documents and coordinates the Phase 6 release cut for 3.0.16, updates the changelog and version constant, records provisioning checks, defines workflow execution plans, and adds post-release verification requirements. It also ignores the scratchpad/ directory.

Changes

Release Cut 3.0.16

Layer / File(s) Summary
Phase scope and execution contracts
.planning/ROADMAP.md, .planning/STATE.md, .planning/phases/06-release-cut-3-0-16/*
Adds Phase 6 execution plans, context, research, discussion records, pattern definitions, and validation templates for the 3.0.16 release.
Provisioning and ancestry checkpoint
.planning/phases/05.4-github-actions-release-workflow/05.4-PROVISIONING.md, .planning/phases/06-release-cut-3-0-16/06-01-*
Records hosted provisioning checks, updates verified checklist items, identifies remaining blockers, and defines the stable-branch ancestry merge.
Changelog and version release preparation
CHANGELOG.md, cement/core/backend.py, tests/core/test_backend.py, .planning/phases/06-release-cut-3-0-16/06-02-PLAN.md
Finalizes the 3.0.16 changelog section, changes the backend version to 3.0.16, updates the version assertion, and specifies release-prep gates.
Dry-run and live release workflow
.planning/phases/06-release-cut-3-0-16/06-03-PLAN.md, .planning/phases/06-release-cut-3-0-16/06-04-PLAN.md
Defines TestPyPI workflow dispatch validation, user-controlled tagging, release approval, publication monitoring, recovery handling, and artifact verification.
Post-release verification and closure
.planning/phases/06-release-cut-3-0-16/06-05-PLAN.md
Defines production-PyPI installation verification, the 3.0.17 development bump, announcement and verification artifacts, traceability updates, and Phase 6 closure.
Repository housekeeping
.gitignore
Adds scratchpad/ to ignored paths.

Estimated code review effort: 3 (Moderate) | ~25 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main release work: finalizing the changelog and bumping the version to 3.0.16.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch gsd/phase-6-release-cut-3-0-16

Warning

Tools execution failed with the following error:

Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

🧹 Nitpick comments (1)
CHANGELOG.md (1)

118-166: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Inconsistent issue reference format across changelog sections.

The Features section uses full markdown links ([Issue #746](https://github.com/datafolklabs/cement/issues/746)) while Bugs, Refactoring, and Misc sections use plain #NNN references (e.g., #756``, (#782`)`). Consider normalizing to one style for a polished release-notes appearance.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CHANGELOG.md` around lines 118 - 166, Normalize issue and pull-request
references throughout the changelog sections to one consistent format, matching
the full Markdown link style already used in the Features entries. Update the
plain references in the Bugs, Refactoring, and Misc sections while preserving
each reference’s existing number and destination.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.planning/phases/06-release-cut-3-0-16/06-01-PLAN.md:
- Around line 112-119: The Task 1 verification in the release plan only checks
that the release environment exists. Expand the verification steps to record
Docker secret presence, stable-to-main ancestry, release reviewer details,
ruleset state, and the complete 12-row GREEN/OPEN/UNVERIFIABLE inventory
matching research items `#1`–#12; keep the task incomplete unless all required
outputs are captured.

In @.planning/phases/06-release-cut-3-0-16/06-01-SUMMARY.md:
- Line 72: Revise the summary sentence in the release-cut completion section to
distinguish the two closed hard blockers from all remaining release-gate work.
Do not state that only Plan-02 items remain; acknowledge the outstanding Plan-02
CHANGELOG/VERSION tasks together with the later Plan-04/pre-tag checks and
tag-rule verification.

In @.planning/phases/06-release-cut-3-0-16/06-05-PLAN.md:
- Around line 112-114: Update the release verification step around the
`get_version()` requirement to invoke the installed/public `get_version()`
accessor from outside the checkout and assert that it returns `3.0.17`. Retain
the existing checks for `backend.py` and the `CHANGELOG.md` development header.
- Around line 83-86: Update the REL-04 clean-venv verification instructions to
execute from a temporary directory rather than the repository root, preventing
the local cement package from being imported. Explicitly configure pip to use
production PyPI and disable caching when installing cement==3.0.16, while
preserving the existing import, version assertion, App().run() round-trip, and
deactivation checks.

In @.planning/phases/06-release-cut-3-0-16/06-PATTERNS.md:
- Around line 76-78: Use the authoritative 3.0.16 release date consistently
across both planning artifacts: update the target release header in
.planning/phases/06-release-cut-3-0-16/06-PATTERNS.md (lines 76-78) and the
command example in .planning/phases/06-release-cut-3-0-16/06-RESEARCH.md (lines
253-257) from July 12 to July 13, 2026.

In @.planning/phases/06-release-cut-3-0-16/06-RESEARCH.md:
- Around line 299-305: Update the REL-04 verification command to execute the
required App(argv=[]).run() round-trip instead of guarding it with a false
condition. Keep the existing version assertion and success output, ensuring the
installed cement==3.0.16 package is actually exercised before printing
completion.

In @.planning/phases/06-release-cut-3-0-16/06-VALIDATION.md:
- Around line 1-33: Complete the validation contract in the phase 6 document by
replacing all placeholders with the repository’s actual pytest configuration,
make comply quick command, make test full-suite command, and realistic runtime
and feedback values. Add the required manual release checks and update the
metadata and final sign-off state, including nyquist_compliant and
wave_0_complete, to reflect the already-passed validation gates.

In @.planning/STATE.md:
- Around line 13-16: Synchronize release-progress metadata with the
authoritative roadmap: update .planning/STATE.md lines 13-16 and 36 to reflect
Phase 05.4 complete, Phase 6 at 1/5, and the matching total/completed plan and
phase counts, removing stale 44/45, 9/11, and in-progress values. Preserve
.planning/ROADMAP.md lines 390-391 as the authoritative values unless both files
are updated consistently.

---

Nitpick comments:
In `@CHANGELOG.md`:
- Around line 118-166: Normalize issue and pull-request references throughout
the changelog sections to one consistent format, matching the full Markdown link
style already used in the Features entries. Update the plain references in the
Bugs, Refactoring, and Misc sections while preserving each reference’s existing
number and destination.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cff4a279-04f4-4594-ba0b-a2226a832ac8

📥 Commits

Reviewing files that changed from the base of the PR and between 8978b39 and 0866cb5.

📒 Files selected for processing (19)
  • .gitignore
  • .planning/ROADMAP.md
  • .planning/STATE.md
  • .planning/phases/05.4-github-actions-release-workflow/05.4-PROVISIONING.md
  • .planning/phases/06-release-cut-3-0-16/06-01-PLAN.md
  • .planning/phases/06-release-cut-3-0-16/06-01-SUMMARY.md
  • .planning/phases/06-release-cut-3-0-16/06-01-provisioning-inventory.md
  • .planning/phases/06-release-cut-3-0-16/06-02-PLAN.md
  • .planning/phases/06-release-cut-3-0-16/06-03-PLAN.md
  • .planning/phases/06-release-cut-3-0-16/06-04-PLAN.md
  • .planning/phases/06-release-cut-3-0-16/06-05-PLAN.md
  • .planning/phases/06-release-cut-3-0-16/06-CONTEXT.md
  • .planning/phases/06-release-cut-3-0-16/06-DISCUSSION-LOG.md
  • .planning/phases/06-release-cut-3-0-16/06-PATTERNS.md
  • .planning/phases/06-release-cut-3-0-16/06-RESEARCH.md
  • .planning/phases/06-release-cut-3-0-16/06-VALIDATION.md
  • CHANGELOG.md
  • cement/core/backend.py
  • tests/core/test_backend.py

Comment on lines +112 to +119
<verify>
<automated>gh api repos/datafolklabs/cement/environments --jq '.environments[].name' | grep -q release</automated>
</verify>
<acceptance_criteria>
- Output records secret presence: DOCKERHUB_USERNAME and DOCKERHUB_TOKEN each shown as SET or ABSENT
- `git merge-base --is-ancestor origin/stable/3.0.x origin/main` exit code recorded (non-zero == ancestry OPEN)
- Environment `release` reviewer presence recorded from `gh api .../environments/release`
- A 12-row state table (GREEN/OPEN/UNVERIFIABLE) is produced for the SUMMARY, matching or updating RESEARCH item numbers #1-#12

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Make Task 1 verification cover its acceptance criteria.

The current command only confirms that a release environment exists; it does not verify the required reviewer, Docker secrets, ancestry result, ruleset state, or the 12-row inventory. Add explicit checks or make the task remain incomplete until those outputs are recorded.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.planning/phases/06-release-cut-3-0-16/06-01-PLAN.md around lines 112 - 119,
The Task 1 verification in the release plan only checks that the release
environment exists. Expand the verification steps to record Docker secret
presence, stable-to-main ancestry, release reviewer details, ruleset state, and
the complete 12-row GREEN/OPEN/UNVERIFIABLE inventory matching research items
`#1`–#12; keep the task incomplete unless all required outputs are captured.


# Phase 06 Plan 01: Pre-First-Tag Provisioning Summary

**Both hard release blockers closed — Docker Hub repo secrets set via org OAT and stable/3.0.x ancestry recorded on main via merge 8978b395 — with PyPI trusted publisher and RTD integration user-confirmed, leaving only Plan-02 items (CHANGELOG/VERSION) open on the pre-first-tag checklist.**

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Clarify the remaining release blockers.

This says only Plan 02 items remain open, but the summary later lists Plan 04/pre-tag checks and tag-rule verification as still open. Reword this sentence to distinguish closed blockers from remaining release-gate work.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.planning/phases/06-release-cut-3-0-16/06-01-SUMMARY.md at line 72, Revise
the summary sentence in the release-cut completion section to distinguish the
two closed hard blockers from all remaining release-gate work. Do not state that
only Plan-02 items remain; acknowledge the outstanding Plan-02 CHANGELOG/VERSION
tasks together with the later Plan-04/pre-tag checks and tag-rule verification.

Comment on lines +83 to +86
Run the REL-04 clean-venv check: create a throwaway venv, `pip install
cement==3.0.16` from production PyPI, import App, assert
get_version()=='3.0.16', run a minimal App().run() round-trip (mirroring
scripts/testpypi-smoke.py's SmokeApp(argv=[]) pattern), then deactivate. If the

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Make the PyPI verification hermetic.

If this runs from the repository root, the local cement/ directory can shadow the installed package. Also, the venv does not guarantee production PyPI if PIP_INDEX_URL or pip configuration is inherited. Run from a temporary directory and explicitly use production PyPI with caching disabled.

Also applies to: 95-99

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.planning/phases/06-release-cut-3-0-16/06-05-PLAN.md around lines 83 - 86,
Update the REL-04 clean-venv verification instructions to execute from a
temporary directory rather than the repository root, preventing the local cement
package from being imported. Explicitly configure pip to use production PyPI and
disable caching when installing cement==3.0.16, while preserving the existing
import, version assertion, App().run() round-trip, and deactivation checks.

Comment on lines +112 to +114
3. Agent confirms main advanced: `git fetch origin main && git show
origin/main:cement/core/backend.py | grep VERSION` shows 3.0.17, and
`git show origin/main:CHANGELOG.md` top header is `## 3.0.17 - DEVELOPMENT`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Verify get_version() explicitly after the dev bump.

The must-have requires get_version() to return 3.0.17, but the verification step only greps backend.py. Invoke the installed/public version accessor from outside the checkout and assert the returned value.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.planning/phases/06-release-cut-3-0-16/06-05-PLAN.md around lines 112 - 114,
Update the release verification step around the `get_version()` requirement to
invoke the installed/public `get_version()` accessor from outside the checkout
and assert that it returns `3.0.17`. Retain the existing checks for `backend.py`
and the `CHANGELOG.md` development header.

Comment on lines +76 to +78
## 3.0.16 - July 12, 2026
```
Date format copies the established convention verbatim: `## 3.0.14 - May 5, 2025`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use one authoritative 3.0.16 release date across the planning artifacts.

The release objective and July 13 provisioning evidence conflict with these July 12 examples. Update both references to the actual release date so the generated changelog and release notes do not carry inconsistent metadata.

  • .planning/phases/06-release-cut-3-0-16/06-PATTERNS.md#L76-L78: change the target header date to the authoritative release date.
  • .planning/phases/06-release-cut-3-0-16/06-RESEARCH.md#L253-L257: update the command example to the same date.
📍 Affects 2 files
  • .planning/phases/06-release-cut-3-0-16/06-PATTERNS.md#L76-L78 (this comment)
  • .planning/phases/06-release-cut-3-0-16/06-RESEARCH.md#L253-L257
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.planning/phases/06-release-cut-3-0-16/06-PATTERNS.md around lines 76 - 78,
Use the authoritative 3.0.16 release date consistently across both planning
artifacts: update the target release header in
.planning/phases/06-release-cut-3-0-16/06-PATTERNS.md (lines 76-78) and the
command example in .planning/phases/06-release-cut-3-0-16/06-RESEARCH.md (lines
253-257) from July 12 to July 13, 2026.

Comment on lines +299 to +305
python -m venv /tmp/cement-rel-check && . /tmp/cement-rel-check/bin/activate
pip install cement==3.0.16
python -c "from cement import App; from cement.utils.version import get_version; \
assert get_version()=='3.0.16', get_version(); \
App(argv=[]).run() if False else None; print('REL-04 OK', get_version())"
deactivate
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Run the required App().run() round-trip instead of skipping it.

App(argv=[]).run() if False else None always evaluates to None, so this verification only checks installation and version metadata; it never exercises the runtime smoke test required by REL-04.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.planning/phases/06-release-cut-3-0-16/06-RESEARCH.md around lines 299 -
305, Update the REL-04 verification command to execute the required
App(argv=[]).run() round-trip instead of guarding it with a false condition.
Keep the existing version assertion and success output, ensuring the installed
cement==3.0.16 package is actually exercised before printing completion.

Comment on lines +1 to +33
---
phase: 6
slug: release-cut-3-0-16
status: draft
nyquist_compliant: false
wave_0_complete: false
created: 2026-07-12
---

# Phase 6 — Validation Strategy

> Per-phase validation contract for feedback sampling during execution.

---

## Test Infrastructure

| Property | Value |
|----------|-------|
| **Framework** | {pytest 7.x / jest 29.x / vitest / go test / other} |
| **Config file** | {path or "none — Wave 0 installs"} |
| **Quick run command** | `{quick command}` |
| **Full suite command** | `{full command}` |
| **Estimated runtime** | ~{N} seconds |

---

## Sampling Rate

- **After every task commit:** Run `{quick run command}`
- **After every plan wave:** Run `{full suite command}`
- **Before `/gsd-verify-work`:** Full suite must be green
- **Max feedback latency:** {N} seconds

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Complete the validation contract before phase closure.

The file is still an unfilled template with placeholder commands and nyquist_compliant: false, while the PR claims the validation gates already passed. Populate the actual pytest configuration, make comply/make test commands, manual release checks, and final sign-off state.

Also applies to: 47-76

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.planning/phases/06-release-cut-3-0-16/06-VALIDATION.md around lines 1 - 33,
Complete the validation contract in the phase 6 document by replacing all
placeholders with the repository’s actual pytest configuration, make comply
quick command, make test full-suite command, and realistic runtime and feedback
values. Add the required manual release checks and update the metadata and final
sign-off state, including nyquist_compliant and wave_0_complete, to reflect the
already-passed validation gates.

Comment thread .planning/STATE.md
Comment on lines 13 to +16
total_phases: 11
completed_phases: 9
total_plans: 45
completed_plans: 45
total_plans: 50
completed_plans: 46

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Synchronize the release-progress counters.

The state files disagree: .planning/ROADMAP.md and 06-01-SUMMARY.md show Phase 05.4 complete and Phase 6 at 1/5, while .planning/STATE.md still says 44/45 plans, 9/11 phases, and Phase 05.4 is in progress. This can cause the planner to resume or gate the wrong phase.

  • .planning/STATE.md#L13-L16: reconcile the total/completed plan and phase counters with the roadmap.
  • .planning/STATE.md#L36-L36: replace the stale 44/45, 9/11, and Phase 05.4-in-progress values.
  • .planning/ROADMAP.md#L390-L391: keep the authoritative Phase 05.4-complete and Phase 6 1/5 values, or update both files consistently.
📍 Affects 2 files
  • .planning/STATE.md#L13-L16 (this comment)
  • .planning/STATE.md#L36-L36
  • .planning/ROADMAP.md#L390-L391
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.planning/STATE.md around lines 13 - 16, Synchronize release-progress
metadata with the authoritative roadmap: update .planning/STATE.md lines 13-16
and 36 to reflect Phase 05.4 complete, Phase 6 at 1/5, and the matching
total/completed plan and phase counts, removing stale 44/45, 9/11, and
in-progress values. Preserve .planning/ROADMAP.md lines 390-391 as the
authoritative values unless both files are updated consistently.

@derks
derks merged commit 1173c46 into main Jul 13, 2026
14 checks passed
derks added a commit that referenced this pull request Jul 13, 2026
Phase 6 executed the live 3.0.16 release cut: provisioning session,
release-prep PR #795, TestPyPI dry-run baseline (run 29262360749),
live tag release (run 29263984129), and post-release close-out.
Includes plan summaries, code review (clean), passed VERIFICATION,
announcement draft, and deferred items (release.yml checklist fix,
RTD trigger check). REL-01..05 / CI-04 / DOCS-03 complete.

Co-Authored-By: Claude Fable 5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant