diff --git a/docs/goal.md b/docs/goal.md index 9213bb2..e13aa21 100644 --- a/docs/goal.md +++ b/docs/goal.md @@ -1,12 +1,12 @@ # Goal -**Status:** active +**Status:** complete **Created:** 2026-07-15 -**Updated:** 2026-07-15 +**Updated:** 2026-07-16 **Repo:** repository root **Branch:** `codex/grok-frontier-providers` **Validation gate:** `npm run verify` -**Active plan:** `specs/panely-four-frontier-provider-release.html` +**Completed plan:** `specs/panely-four-frontier-provider-release.html` ## Objective @@ -22,4 +22,4 @@ Bring Panely to feature and release-discipline parity with the advisory-board v1 ## Current Validation Gate -The run is complete only after focused tests, `npm run verify`, adversarial final-diff review, green GitHub checks, merged PR, annotated tag, verified GitHub Release, repository-setting verification, and safe worktree/branch cleanup. +Completed on 2026-07-16 with green local and GitHub gates, merged PRs #3 and #4, annotated `v0.7.0`, two successful release runs (create and update), verified repository protection/metadata, and safe checkout cleanup. diff --git a/docs/handoff.md b/docs/handoff.md new file mode 100644 index 0000000..5efaa62 --- /dev/null +++ b/docs/handoff.md @@ -0,0 +1,41 @@ +# Panely handoff + +## START HERE + +Panely `v0.7.0` is released. Start from clean `main` and read `docs/goal.md`, `docs/plans/grok-frontier-release.md`, and the live evidence view at `specs/panely-four-frontier-provider-release.html`. + +## STATE + +- `main` is protected and requires the strict `Verify` check. +- PR #3 shipped four floating frontier selectors and Grok integration. +- PR #4 fixed annotated-tag validation after GitHub checkout dereferencing. +- Annotated `v0.7.0` targets merge commit `6ecfa5b`; the GitHub Release create and update paths both succeeded. +- Draft PR #1 and `codex/durable-workflow-kit` remain open and untouched. + +## DONE + +- Claude `opus`, Codex `auto`, Gemini `pro`, and Grok `grok-build` float at runtime; explicit choices remain pinned. +- Requested and CLI-reported model identities are stored separately. +- Grok execution, health, disclosure, mocks, tests, docs, CI, release automation, repository settings, and cleanup are complete. + +## NEXT + +- Treat `CHANGELOG.md` `[Unreleased]` as the source for the next milestone. +- Review draft PR #1 independently; do not infer that this release approved or superseded it. +- Upgrade local Codex or authenticate Gemini if their current doctor failures need to be cleared on this machine. + +## KEY FILES + +- `src/lib/ai/providers.ts` +- `src/lib/ai/router.ts` +- `src/lib/ai/model-health.ts` +- `RELEASING.md` +- `.github/workflows/ci.yml` +- `.github/workflows/release.yml` + +## GOTCHAS / DON'T-REPEAT + +- The official Grok CLI currently rejects `grok-build` as a literal model ID; Panely preserves it as the semantic selector and omits `--model` so the CLI resolves its maintained default. +- Keep Grok's temporary-home isolation; otherwise user MCP/plugin configuration is inherited. +- GitHub checkout can dereference an annotated tag locally. Keep the explicit remote tag-ref fetch before tag-object validation. +- Do not move a published release tag. Use the idempotent manual release rerun for safe recovery. diff --git a/docs/plans/grok-frontier-release.md b/docs/plans/grok-frontier-release.md index f696b86..30201a6 100644 --- a/docs/plans/grok-frontier-release.md +++ b/docs/plans/grok-frontier-release.md @@ -1,6 +1,6 @@ # Panely Four-Frontier Provider Release -**Status:** implementation verified; final review and publication in progress +**Status:** complete and released **Created:** 2026-07-15 **Live status and evidence:** `specs/panely-four-frontier-provider-release.html` **Candidate version:** `v0.7.0` diff --git a/specs/panely-four-frontier-provider-release.html b/specs/panely-four-frontier-provider-release.html index a64aa3f..62c3082 100644 --- a/specs/panely-four-frontier-provider-release.html +++ b/specs/panely-four-frontier-provider-release.html @@ -18,11 +18,11 @@

[x] Update README/provider docs with selector vs pin semantics, Grok requirements, egress/privacy, health troubleshooting, and provenance meaning.[x] Validate repository description, topics, homepage, default branch, and automatic merged-branch cleanup proposal.[x] npm run verify — complete project gate.[x] release-policy tests — missing/duplicate changelog refusal, annotated tags, and create/update decisions.[x] git diff --check — patch hygiene.[wip] Phase 5: Adversarial Review, PR, Merge, Release, and CleanupPublish only the reviewed staged diff, then safely reconcile repository topology.
[x] Phase 5: Adversarial Review, PR, Merge, Release, and CleanupPublish only the reviewed staged diff, then safely reconcile repository topology.
[x] Run independent final review lenses and a skeptic pass; fix all surviving blockers and rerun affected gates.[] Stage intended files only, commit with review evidence, push, and open a PR.[] Wait for required checks, inspect failures, merge only when green, and verify the exact merge commit.[] This first PR is manually gated because protection does not yet exist. After merge, apply protection using the actual passing CI check name, auto-delete merged branches, and accurate metadata; re-read settings as proof.[] Create/push annotated v0.7.0, wait for release automation, verify notes/tag target/idempotent rerun behavior.[] Record before/after inventories of repositories, remotes, branches, worktrees, and directories. Prove and remove only the empty nested Panely/Panely directory below the primary checkout.[] Preserve draft PR #1 remotely. Move the three original untracked docs to a checksummed sibling preservation directory, switch the primary checkout to main, fast-forward to the verified release commit, then remove only the merged temporary worktree/local release branch. Do not delete the remote PR #1 branch.[x] Stage intended files only, commit with review evidence, push, and open a PR.[x] Wait for required checks, inspect failures, merge only when green, and verify the exact merge commit.[x] This first PR is manually gated because protection does not yet exist. After merge, apply protection using the actual passing CI check name, auto-delete merged branches, and accurate metadata; re-read settings as proof.[x] Create/push annotated v0.7.0, wait for release automation, verify notes/tag target/idempotent rerun behavior.[x] Record before/after inventories of repositories, remotes, branches, worktrees, and directories. Prove and remove only the empty nested Panely/Panely directory below the primary checkout.[x] Preserve draft PR #1 remotely. Move the three original untracked docs to a checksummed sibling preservation directory, switch the primary checkout to main, fast-forward to the verified release commit, then remove only the merged temporary worktree/local release branch. Do not delete the remote PR #1 branch.[x] npm run verify — lint, tests, production build, typecheck, and publish safety.[x] git diff --check — whitespace and conflict-marker hygiene.[] gh pr checks <PR> --watch — GitHub CI evidence.[] git cat-file -t v0.7.0 — annotated tag object.[] gh release view v0.7.0 — generated release evidence.[x] gh pr checks <PR> --watch — GitHub CI evidence.[x] git cat-file -t v0.7.0 — annotated tag object.[x] gh release view v0.7.0 — generated release evidence.--model grok-build?The authenticated official CLI 0.2.101 reports grok-4.5 as its maintained default but rejects grok-build as a literal model ID. Panely will preserve grok-build as the requested selector, omit the literal flag for the floating default, and record the CLI-reported concrete model. Exact overrides continue to pass --model.
grok-frontier → grok-build--model.Provenance contract: requestedModel is always the user's selector/pin; observedModel exists only when a CLI independently reports a concrete model. Absence is rendered as “not reported,” never silently filled from configuration.
The settings surface presents all four official CLI providers, floating selectors, pins, authentication, and probe failures without treating binary presence as readiness. The current machine evidence intentionally includes healthy, unauthenticated, upgrade-required, and transient provider-runtime states.


Expanded end-to-end provenance propagation; added stable ID compatibility and invalid-override policy; added proven ephemeral-HOME Grok isolation and broader failure sanitization; generalized readiness/UX across all four providers with screenshot evidence; and made repository/release cleanup concrete, changelog-required, and non-destructive to PR #1.
The independent second pass found no surviving blocking findings. Phase 1 is complete and provider implementation has started.
All 106 project tests, production build, typecheck, lint, publish-safety scan, six release-policy tests, and diff hygiene passed. Desktop and mobile settings evidence is embedded.
The independent final review found and verified fixes for active pinned-model defaults and unsafe manual release-input interpolation. A second consumer sweep found the remaining deep-dive and opening-message defaults; those were centralized too. The final skeptic pass found no surviving blockers.
Expanded end-to-end provenance propagation; added stable ID compatibility and invalid-override policy; added proven ephemeral-HOME Grok isolation and broader failure sanitization; generalized readiness/UX across all four providers with screenshot evidence; and made repository/release cleanup concrete, changelog-required, and non-destructive to PR #1.
The independent second pass found no surviving blocking findings. Phase 1 is complete and provider implementation has started.
All 106 project tests, production build, typecheck, lint, publish-safety scan, six release-policy tests, and diff hygiene passed. Desktop and mobile settings evidence is embedded.
The independent final review found and verified fixes for active pinned-model defaults and unsafe manual release-input interpolation. A second consumer sweep found the remaining deep-dive and opening-message defaults; those were centralized too. The final skeptic pass found no surviving blockers.
PR #3 and the tag-validation hotfix PR #4 merged with green checks. The remote annotated v0.7.0 tag targets 6ecfa5b. The changelog-driven GitHub Release was created successfully and a second workflow dispatch updated it successfully. Main is protected and green; unrelated PR #1 work was preserved with checksums; only merged/empty temporary structures were removed.