tasks

Run P0 Release Validation And Cutline Check

Historical completion record. This task records fixed P0 candidates from June 2026 and is not current release guidance. Use guidelines/release-execution-and-verification and the current release record for a new release.

Goal

Validate the P0 release cutline at that milestone and record whether Choral Forma was ready to cut or publish a P0 release artifact.

Sources

Context

At that time, the P0 feature baseline was complete enough to stop adding product surface area. The next release-risk reducer was a current-HEAD validation pass that tied existing focused evidence to an explicit release cutline.

In Scope

  • Confirm the candidate branch, commit, and working-tree state.
  • Run the release-validation command matrix for knowledge, Rust, Web, and packaging/build readiness.
  • Use an existing configured starter workspace and smoke-test the P0 user flows: forma config inspect, forma create, forma inspect, forma list, forma check, and local WebApp serving/build readiness where practical.
  • Verify generated or temporary smoke-test artifacts are not left in the shared repository.
  • Record exact command results, failures, environment limits, and the final release-readiness decision.

Out Of Scope

  • Adding product features.
  • Changing P0 scope or architecture decisions.
  • Publishing a release or pushing tags.
  • Fixing newly found defects beyond a small clearly scoped repair approved during the task.
  • Moving Kanban cards without maintainer approval.

Acceptance Criteria

  • The candidate branch and commit are recorded.
  • git status --short --branch is recorded before and after validation.
  • The validation matrix result is recorded for:
    • mise run check:rust
    • mise run test:rust
    • mise run check:pnpm
    • mise run build:pnpm
    • mise run check
  • A starter workspace smoke test records the commands run and whether they passed.
  • Any release blocker has a concrete follow-up task or a recorded no-go decision.
  • If all checks pass, the task states that the P0 cutline is ready for release publishing as a separate approved action.

Relationship Notes

This task should move to Ready only after tasks/audit-p0-release-scope-and-roadmap is accepted or moved to Done.

The blocker is resolved by the accepted P0 scope audit and the approved Kanban move of tasks/audit-p0-release-scope-and-roadmap to Done.

Validation Notes

2026-06-27 Internal Release Candidate

Candidate cutline:

  • Branch: main.
  • Code/documentation baseline before recording this validation note: 848d655 docs: define forma cli agent skill source.
  • Initial status before release-prep documentation update: ## main...origin/main [ahead 87].
  • Latest tag before this candidate: v0.1.0-alpha.5.
  • Recommended next internal tag after review and explicit publishing approval: v0.1.0-alpha.6.

Validation matrix:

  • CI=true mise run check: passed. pnpm tests reported 4 files and 13 tests passed; Rust tests passed across forma-cli, forma-core, and forma-rpc.
  • cargo run -q -p forma-cli -- config inspect --json: passed.
  • cargo run -q -p forma-cli -- check --json: passed with zero errors, warnings, and infos.
  • cargo run -q -p forma-cli -- workspace health --json: passed with zero findings.

Starter workspace smoke test:

  • Workspace: examples/getting-started-workspace.
  • forma config inspect --json: passed.
  • forma check --json: passed with zero errors, warnings, and infos.
  • forma workspace health --json: passed with zero findings.
  • forma skills list --json: passed and returned forma-cli-core, getting-started-workspace-operations, and getting-started-task-selection.
  • forma list --space tasks --json: passed.
  • forma inspect notes/getting-started.md --json: passed.
  • forma serve --bind 127.0.0.1:0: required approved localhost binding and passed at http://127.0.0.1:50349.
  • HTTP root returned the WebApp HTML shell.
  • JSON-RPC workspace.dashboard: passed.
  • JSON-RPC file.render for notes/getting-started.md: passed.
  • JSON-RPC view.render for .forma/views/graph.md: passed.

Notes:

  • The old top-level render CLI smoke commands are no longer part of the current CLI surface; render validation now runs through the local server JSON-RPC surface used by the WebApp.
  • Vite reported chunk-size warnings during the full check, but exited 0.
  • macOS SDK discovery emitted xcrun/xcodebuild cache warnings while finding MacOSX.sdk, but Rust checks and tests exited 0.

Release decision:

  • The current local main cutline is ready for internal review as v0.1.0-alpha.6 after committing these release-prep notes.
  • Publishing remains a separate approved action: do not tag or push as part of this validation step.

2026-06-17 Internal Release Candidate

Candidate cutline:

  • Branch: codex/webapp-v2-dashboard
  • Code/documentation baseline before recording this validation note: 5d7f347 docs: align starter configuration references
  • Initial status before release-prep commit: ## codex/webapp-v2-dashboard...origin/codex/webapp-v2-dashboard [ahead 12]
  • Initial uncommitted files before release-prep commit: README and knowledge release documentation updates plus pnpm-lock.yaml.
  • Latest tag before this candidate: v0.1.0-alpha.4.

Validation matrix:

  • mise run format:pnpm: passed.
  • mise run check:pnpm: passed.
  • mise run build:pnpm: passed. Vite reported chunk-size warnings for large generated chunks, but exited 0.
  • mise run check:rust: passed. This rebuilt WebApp assets, then ran Rust formatting and workspace checks.
  • mise run test:rust: passed. Rust tests passed across forma-cli, forma-core, and forma-rpc.
  • mise run check: passed. pnpm tests reported 4 files and 12 tests passed; Rust workspace tests reported forma-cli 20 unit tests plus 9 CLI tests, forma-core 85 tests, and forma-rpc 15 tests passed.

Starter workspace smoke test:

  • Temporary workspace: /private/tmp/forma-internal-release.q0xC65
  • At the time of this historical validation, the then-available workspace initializer passed and did not create a persistent index artifact. The current P0 surface has removed workspace initialization; future validation should use an existing configured starter workspace until initialization is redesigned.
  • forma config inspect --json: passed.
  • forma create notes --input title=Alpha --input summary=Smoke --json: passed without index-stale warnings.
  • forma inspect notes/alpha.md --json: passed.
  • forma list --space notes --json: passed and returned one note.
  • forma check --json: passed with zero errors, warnings, and infos.
  • forma --help: passed and did not list an index command.
  • forma serve --bind 127.0.0.1:0: required approved localhost binding and passed at http://127.0.0.1:59759.
  • HTTP root smoke check returned the WebApp HTML shell.
  • JSON-RPC workspace.dashboard returned status passed, the notes, todos, and users spaces, and the created Alpha note.
  • JSON-RPC view.render for notes returned status passed, table columns, and the created Alpha row.
  • JSON-RPC file.render for notes/alpha.md in Markdown format returned status passed and Markdown for # Alpha.

Artifact check:

  • git status --short --branch after smoke validation reported only the intended release-prep documentation updates and pnpm-lock.yaml.
  • Smoke-test artifacts stayed under /private/tmp/forma-internal-release.q0xC65; no generated starter files were left in the shared repository.

Release decision:

  • The local branch is validated for the next internal-test release candidate after committing these release-prep notes and lockfile updates.
  • Publishing remains a separate approved action: do not tag or push as part of this validation step.
  • Recommended next internal tag after review and push: v0.1.0-alpha.5.

Open Questions

  • None.