docs(19.8-06): v0.4.2 released, demo roadmap synced, phase gate green
This commit is contained in:
@@ -3,13 +3,44 @@ phase: 19.8-console-commands-overhaul
|
||||
plan: 06
|
||||
subsystem: release
|
||||
tags: [release, v0.4.2, changelog, demo-roadmap, gate]
|
||||
status: draft
|
||||
status: complete
|
||||
gap_closure: true
|
||||
requires:
|
||||
- phase: 19.8-05
|
||||
provides: the eleven review fixes and the Release impact table
|
||||
provides:
|
||||
- "SummerCMS v0.4.2: annotated tag 60b13ae on ead8e42, on origin with master fast-forwarded to it"
|
||||
- "Changelog post https://summercms.io/changelog/summercms-0-4-2 (id 37)"
|
||||
- "sm-demo-app roadmap snapshot synced to origin/master ead8e42 (aa4de22, pushed)"
|
||||
- "Phase 19.8 --all gate green with Docker required"
|
||||
affects: [applications and plugins pinning SummerCMS (fixes available from v0.4.2), demo roadmap deck]
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns: []
|
||||
key-files:
|
||||
created: []
|
||||
modified:
|
||||
- .planning/phases/19.8-console-commands-overhaul/19.8-06-SUMMARY.md
|
||||
- ../sm-demo-app/plugins/demo/content/ROADMAP.md
|
||||
key-decisions:
|
||||
- "Reply 'release' read as the proposed tag v0.4.2"
|
||||
- "Tagged the commit that records the go-ahead (ead8e42, planning-only on top of the proposal) after vet, short tests and the docs checker passed there"
|
||||
- "No plugin require bumps or application regenerate commits: no row of plan 05's Release impact table asks for one"
|
||||
- "No Polish name needed: the roadmap change adds no phase (19.6.1 already had one, 762bb90)"
|
||||
requirements-completed: [D-26]
|
||||
actuals:
|
||||
tokens: 4000 # chars/4 over the realized diff (this SUMMARY and the 6-line roadmap snapshot change)
|
||||
tasks: 3
|
||||
commits: 2 # MEASURED: git rev-list --count plan_head_before..HEAD before the final docs commit
|
||||
plan_head_before: 8020b177ffc70f1b980ae769b80f55598998ce77
|
||||
plan_head_after: ead8e422113d43c9ee828a92a628783634f65294
|
||||
duration: 35min
|
||||
completed: 2026-10-22
|
||||
---
|
||||
|
||||
# Phase 19.8 Plan 06: Release of the Review Fixes Summary (draft)
|
||||
# Phase 19.8 Plan 06: Release of the Review Fixes Summary
|
||||
|
||||
**Draft. Task 1 (the release go-ahead) is waiting for the user's reply. Nothing has been pushed or tagged.**
|
||||
**SummerCMS v0.4.2 is tagged and on origin, with its changelog post at https://summercms.io/changelog/summercms-0-4-2. The tag is annotated, on ead8e42, and master was fast-forwarded to exactly that commit. The demo roadmap snapshot follows the published roadmap, and the phase 19.8 `--all` gate is green with Docker required. Nothing was deployed or force-pushed.**
|
||||
|
||||
## Release proposal
|
||||
|
||||
@@ -90,3 +121,109 @@ The user's reply, verbatim:
|
||||
> release
|
||||
|
||||
Read as the recommended option with the proposed tag: **release v0.4.2** (RELEASE_TAG=v0.4.2). The reply authorises an annotated tag v0.4.2 on the tested commit, a fast-forward push of exactly that commit to origin master followed by the tag, the same-day changelog post, the sm-demo-app roadmap snapshot commit and its push (when it is the only unpushed commit there), then the `--all` gate. No force push, no deploy.
|
||||
|
||||
The reply was recorded in `ead8e42 docs(19.8-06): record the go-ahead: release v0.4.2` before anything was tagged or pushed. That commit is the one tagged.
|
||||
|
||||
## Task 2: published
|
||||
|
||||
### Range check after a fresh fetch
|
||||
|
||||
- `git fetch origin`: exit 0, no output. origin/master was still `6c2164a`, so no other session had pushed.
|
||||
- Newest tag: still **v0.4.1**, and origin had only v0.4.0 and v0.4.1 in `v0.4.*`. The proposed tag was still correct.
|
||||
- `git log --format='%h %s' origin/master..ead8e42`: **20 commits**. These are the 18 classified in the proposal, plus `cf06185` (the proposal, which touches only `19.8-06-SUMMARY.md`) and `ead8e42` (the reply, the same file). Class totals: 12 plan 05 code commits, 8 planning documents of this phase, **0 planning documents of other sessions, 0 other code**.
|
||||
- `git merge-base --is-ancestor origin/master ead8e42`: the push is a fast-forward.
|
||||
|
||||
### Checks at the tested commit `ead8e42`
|
||||
|
||||
GOCACHE pointed at the session scratchpad (tmpfs) for every go command. `go clean` was not run.
|
||||
|
||||
| Check | Result |
|
||||
|-------|--------|
|
||||
| `go vet ./...` | PASS |
|
||||
| `go test -count=1 -short ./...` | PASS (exit 0, every package ok) |
|
||||
| `go run ./cmd/summer docs:build --check` | PASS ("docs:build: no problems found") |
|
||||
|
||||
### Tag
|
||||
|
||||
- `git tag -a v0.4.2 ead8e42`: tag object **`60b13aee5dca32b7202e35f92e605652f66b8a97`**, `git cat-file -t v0.4.2` = `tag`, `v0.4.2^{commit}` = `ead8e422113d43c9ee828a92a628783634f65294`.
|
||||
- Message: `SummerCMS v0.4.2`, then "Fixes from the review of the 0.4 console.", then a Fixed list of nine bullets in user words and an Added list (`bonfire.WithExitCode`, `bonfire.Sanitize`). It has no finding IDs and no planning or quick codes.
|
||||
|
||||
### Pushed ranges
|
||||
|
||||
| Repository | Push | Range |
|
||||
|------------|------|-------|
|
||||
| summercms (framework) | `git push origin ead8e42…:refs/heads/master` | `6c2164a..ead8e42` (fast-forward, 20 commits) |
|
||||
| summercms (framework) | `git push origin v0.4.2` | new tag v0.4.2. `git ls-remote --exit-code --tags origin v0.4.2` → `60b13ae… refs/tags/v0.4.2` |
|
||||
| sm-demo-app | `git push origin HEAD:refs/heads/master` | `762bb90..aa4de22` (1 commit, see Task 3) |
|
||||
|
||||
The Task 2 verify command (`ls-remote` the tag, fetch, the tagged commit is an ancestor of origin/master, the tag is annotated) passed.
|
||||
|
||||
### Changelog
|
||||
|
||||
- `scripts/changelog-post.py source v0.4.2` (from ../sm-summercmsio-app): TAG v0.4.2, DATE 2026-10-22T02:54:37+02:00, PREVIOUS v0.4.1, and 21 commit subjects.
|
||||
- The notes file is in the session scratchpad (`v0.4.2-notes.md`). It has a one-line intro, `## Fixed` (nine bullets) and `## Added` (the two new functions). It has no H1, no planning IDs and no quick codes.
|
||||
- `scripts/changelog-post.py publish v0.4.2 <notes> --excerpt "Console fixes for 0.4: ordered output under spinners, terminal restored on Ctrl+C, exit codes passed through by summer."` answered `posted id=37 https://summercms.io/changelog/summercms-0-4-2 (published_at 2026-10-22T00:54:37+00:00)`.
|
||||
- **Post URL: https://summercms.io/changelog/summercms-0-4-2** (HTTP 200 right after publishing). The script read the token file itself. The token was never printed, copied or minted.
|
||||
|
||||
### Plugins and applications
|
||||
|
||||
Plugins and applications: nothing to publish. No row of plan 05's Release impact table asks for a require bump or a regenerate. The `--all` gate's plugins and apps stages confirm that every shared plugin and application still builds against the local framework, and that `summer build` leaves the generated main.go and plugins.gen.go unchanged.
|
||||
|
||||
## Task 3: demo roadmap and the gate
|
||||
|
||||
### Roadmap snapshot
|
||||
|
||||
- After the push, `ROADMAP_REF=origin/master ../sm-demo-app/scripts/sync-roadmap.sh --check` failed as expected: the snapshot differed from origin/master. This is 19.8's own plan list and progress.
|
||||
- sm-demo-app before the change: `git status --porcelain` was empty and `origin/master..master` was empty after a fetch. Its HEAD was `762bb90 feat(demo): Polish name for roadmap phase 19.6.1`, already pushed by another session.
|
||||
- `ROADMAP_REF=origin/master scripts/sync-roadmap.sh` wrote the snapshot from origin/master (ead8e42): `plugins/demo/content/ROADMAP.md`, 4 insertions and 2 deletions.
|
||||
- TestRoadmapParse, TestRoadmapDeckOrder, TestRoadmapNoClientNames and TestRoadmapPolishTitles: PASS. No new phase, so **no Polish-name commit was needed**.
|
||||
- Commit **`aa4de22 chore: sync the ROADMAP.md snapshot (summercms ead8e42)`**. It touches only `plugins/demo/content/ROADMAP.md` and was the only unpushed commit. It was pushed `762bb90..aa4de22`, and `origin/master..master` is now empty. Nothing was deployed.
|
||||
|
||||
### `--all` gate
|
||||
|
||||
`PHASE198_REQUIRE_DOCKER=1 TESTCONTAINERS_HOST_OVERRIDE=127.0.0.1 bash scripts/check-phase19.8.sh --all` ran with GOCACHE and TMPDIR in the session scratchpad and Docker reached directly (no `sudo -u golem`). Exit 0. The landing pre-check `sync-roadmap --check` printed ok.
|
||||
|
||||
| Stage | Result | Notes |
|
||||
|-------|--------|-------|
|
||||
| self-test | PASS | |
|
||||
| go | PASS | vet, short and the named tests: diary 30, sunscreen 2, bonfire 42, docsite 2, conga 5, lagoon 7, surf 13, flare 1, dev 4, cmd/summer 6. Race stage over diary, sunscreen, bonfire and docsite |
|
||||
| hello | PASS | vet, 13 tests, then 5 named tests |
|
||||
| docs | PASS | TestDocsTree; docs:build reported no problems; 67 files contain no client name; all 35 summer commands have examples |
|
||||
| plugins | PASS | 15 shared plugins |
|
||||
| apps | PASS | 5 applications (sm-demo-app, sm-bm-app, sm-grzybyfunkcjonalne-app, sm-summercmsio-app, fonoteka.go): build, generated files unchanged, `list` and `help migrate` exit 0 |
|
||||
| landing | PASS | nuxt generate, tap 38/38, 4 terminal tests. **NOT RUN TestTerminalCommands** (allowed: needs network, Docker and ports; `SUMMERCMS_TERMINAL_CHECK=1`). 4 roadmap tests; "roadmap: snapshot matches origin/master" |
|
||||
| docker | PASS | TestServeLifecycle; 6 lagoon tests including TestMigrateAppliedLines; 3 cabana tests |
|
||||
|
||||
Final line: **`Phase 19.8 gate passed`**. No line starts with `FAIL` or `NOT RUN docker`. The full log is `check-phase19.8-06.log` in the session scratchpad.
|
||||
|
||||
### Suggested g15office comment (for the orchestrator)
|
||||
|
||||
> Phase 19.8 review fixes released as SummerCMS v0.4.2 (changelog: https://summercms.io/changelog/summercms-0-4-2); phase gate green; ready for /msd-verify-work
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
**1. [Rule 3 - Blocking] Build cache on tmpfs.** `/home` is at 99% (5.1G free) and `/media/nvme` is at 99%. Every go command, including the gate, ran with `GOCACHE` (and, for the gate, `TMPDIR`) in the session scratchpad on tmpfs. The user did not ask for space to be freed, so `go clean` was not run.
|
||||
|
||||
**2. Tagged commit.** The plan tags "master HEAD". HEAD at release time was `ead8e42`, the planning-only commit that records the reply. It was committed before the checks, so the checks ran on exactly the commit that was tagged and pushed.
|
||||
|
||||
Otherwise the plan was executed as written.
|
||||
|
||||
## Known Stubs
|
||||
|
||||
None.
|
||||
|
||||
## Threat Flags
|
||||
|
||||
None. The pushes, the tag, the post and the demo snapshot are the surfaces in the plan's threat register. T-19.8-34 to T-19.8-37 were mitigated as planned:
|
||||
- a fetch and range classification came before the push
|
||||
- the push was a fast-forward of exactly the tested, tagged commit
|
||||
- the token stayed in its file
|
||||
- TestRoadmapNoClientNames passed before the snapshot commit
|
||||
|
||||
## Final docs commit
|
||||
|
||||
This SUMMARY's completion commit is **local only**. The plan does not push it, and it is not part of v0.4.2.
|
||||
|
||||
## Self-Check: PASSED
|
||||
|
||||
Found: cf06185, ead8e42 (local and origin/master), tag object 60b13ae (local and on origin as refs/tags/v0.4.2), sm-demo-app aa4de22 (on origin/master), changelog post (HTTP 200).
|
||||
|
||||
Reference in New Issue
Block a user