Skip to content

release: showcase workspace completion v0.2.23 (E1–E6, #406)#422

Merged
w7-mgfcode merged 44 commits into
mainfrom
dev
Jun 13, 2026
Merged

release: showcase workspace completion v0.2.23 (E1–E6, #406)#422
w7-mgfcode merged 44 commits into
mainfrom
dev

Conversation

@w7-mgfcode

@w7-mgfcode w7-mgfcode commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Release v0.2.23 — showcase workspace completion (umbrella #406)

Cuts dev → main to release the six showcase-completion epics, all merged to dev and verified by the E7 release gate (#420):

release-please will bump v0.2.22 → v0.2.23 (pre-1.0 feat: → PATCH) on merge.

E7 gate evidence: #420. All five CI gates green on dev.

Summary by CodeRabbit

  • New Features

    • Added workspace management: save, rename, tag, pin, archive, and search demo runs.
    • Workspace export with checksums and artifact health monitoring.
    • Replay lineage tracking and confirmation dialogs for safe replay operations.
    • Advanced seed configuration with store/product focus selection.
    • Run configuration panel for model selection and backtest customization.
    • Reject button and approval history for HITL decisions.
    • Workspace comparison view for side-by-side analysis.
  • Documentation

    • Updated API contracts and domain model documentation for workspace features.

w7-mgfcode and others added 30 commits June 12, 2026 17:29
chore(release): back-merge v0.2.22 release commit into dev
chore(ci): back-merge dependabot action bumps into dev
docs(docs,repo): showcase workspace e5 release gate — runbook + domain model + prp (#401)
feat(api,ui): add showcase workspace delete endpoint and panel action (#404)
…5-prps

docs(repo): track showcase-completion e1-e5 prps (#406)
…etadata-provenance

feat(api,db): showcase-completion E1 — workspace metadata & provenance backbone (#407)
…afe-replay-lifecycle

feat(api,ui): showcase-completion E2 — safe replay & workspace lifecycle (#408)
…eed-config-scope

feat(api,ui): showcase advanced seed config and scope selection (#409)
w7-mgfcode and others added 14 commits June 13, 2026 05:24
…e-controls

feat(api,ui): showcase-completion E4 — run-config phase controls (#410)
…gent-rag-story

feat(api,ui): showcase-completion E5 — agent/hitl + rag story capture (#411)
POST /demo/workspaces/{id}/export writes a checksum-validated bundle
(manifest.json + scenario-plan snapshots + sha256sum-compatible
checksums.sha256) under artifacts/showcase/<workspace_id>/, validating
every checksum before returning. Soft references resolve over in-process
HTTP; model artifacts are referenced (uri + registry hash + live verify),
never copied. Dangling refs are reported, not fatal; 404 missing, 409
while running, deterministic overwrite on re-export. Stateless: no
migration, no DB writes. Traversal guard + chunked sha256 mirror
registry/storage.py (pattern, not import).
Per-row Export button (between Replay and the actions menu) calls
POST /demo/workspaces/{id}/export via a new useExportWorkspace mutation.
Non-destructive, so no confirmation dialog; success toast shows the
bundle path, file count, checksum state, and any unresolved-reference
count; failure surfaces the problem-details message. Self-contained
block to survive an E2 row restyle. Adds WorkspaceExportResult /
ExportFileEntry / UnresolvedReference types.
API_CONTRACTS: add the POST /demo/workspaces/{id}/export row. RUNBOOKS:
add the export-semantics bullet to the showcase-workspace section
(overwrite-on-re-export, dangling-ref warnings, gitignored artifacts/,
sha256sum -c verification) and move export bundles off the out-of-scope
list (import/restore remains out).
…xport-bundle

feat(api,ui): showcase-completion E6 — export bundle mvp (#412)
docs(repo): showcase-completion E7 release-gate — domain-model reconciliation + gate PRP (#420)

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 20000 lines

@coderabbitai

coderabbitai Bot commented Jun 13, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 281fd973-c2e7-428a-8074-34cd110716a5

📥 Commits

Reviewing files that changed from the base of the PR and between bb4b583 and 2332459.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (86)
  • .env.example
  • PRPs/PRP-showcase-completion-E1-metadata-provenance-backbone.md
  • PRPs/PRP-showcase-completion-E2-safe-replay-lifecycle.md
  • PRPs/PRP-showcase-completion-E3-seed-config-scope.md
  • PRPs/PRP-showcase-completion-E4-run-config-phase-controls.md
  • PRPs/PRP-showcase-completion-E5-agent-rag-story-capture.md
  • PRPs/PRP-showcase-completion-E7-release-gate.md
  • PRPs/PRP-showcase-workspace-E5-release-gate.md
  • alembic/versions/b7c1d9e3f204_add_showcase_workspace_run_config.py
  • alembic/versions/d45cf40dfe47_add_showcase_workspace_metadata_provenance.py
  • app/core/config.py
  • app/features/demo/export.py
  • app/features/demo/hitl.py
  • app/features/demo/link_health.py
  • app/features/demo/models.py
  • app/features/demo/pipeline.py
  • app/features/demo/routes.py
  • app/features/demo/schemas.py
  • app/features/demo/tests/test_export.py
  • app/features/demo/tests/test_hitl.py
  • app/features/demo/tests/test_link_health.py
  • app/features/demo/tests/test_models.py
  • app/features/demo/tests/test_pipeline.py
  • app/features/demo/tests/test_routes.py
  • app/features/demo/tests/test_schemas.py
  • app/features/demo/tests/test_workspace.py
  • app/features/demo/workspace.py
  • app/features/model_selection/schemas.py
  • app/features/model_selection/service.py
  • app/features/model_selection/tests/test_capabilities.py
  • app/features/model_selection/tests/test_service.py
  • app/features/seeder/schemas.py
  • app/features/seeder/service.py
  • app/features/seeder/tests/test_routes.py
  • app/features/seeder/tests/test_service.py
  • app/shared/model_taxonomy.py
  • app/shared/seeder/overrides.py
  • app/shared/seeder/tests/test_overrides.py
  • app/shared/tests/test_model_taxonomy.py
  • docs/_base/API_CONTRACTS.md
  • docs/_base/DOMAIN_MODEL.md
  • docs/_base/RUNBOOKS.md
  • frontend/src/App.tsx
  • frontend/src/components/champion-selector/candidate-model-picker.test.tsx
  • frontend/src/components/demo/DemoBacktestSettingsForm.test.tsx
  • frontend/src/components/demo/DemoBacktestSettingsForm.tsx
  • frontend/src/components/demo/ReplayConfirmDialog.test.tsx
  • frontend/src/components/demo/ReplayConfirmDialog.tsx
  • frontend/src/components/demo/RunConfigPanel.test.tsx
  • frontend/src/components/demo/RunConfigPanel.tsx
  • frontend/src/components/demo/ScopeSelector.test.tsx
  • frontend/src/components/demo/ScopeSelector.tsx
  • frontend/src/components/demo/SeedConfigPanel.test.tsx
  • frontend/src/components/demo/SeedConfigPanel.tsx
  • frontend/src/components/demo/WorkspaceArtifactsPanel.test.tsx
  • frontend/src/components/demo/WorkspaceArtifactsPanel.tsx
  • frontend/src/components/demo/WorkspaceEditDialog.test.tsx
  • frontend/src/components/demo/WorkspaceEditDialog.tsx
  • frontend/src/components/demo/WorkspaceLineageStrip.test.tsx
  • frontend/src/components/demo/WorkspaceLineageStrip.tsx
  • frontend/src/components/demo/WorkspacePanel.test.tsx
  • frontend/src/components/demo/WorkspacePanel.tsx
  • frontend/src/components/demo/WorkspaceStoryPanel.test.tsx
  • frontend/src/components/demo/WorkspaceStoryPanel.tsx
  • frontend/src/components/demo/demo-step-card.test.tsx
  • frontend/src/components/demo/demo-step-card.tsx
  • frontend/src/components/demo/index.ts
  • frontend/src/components/demo/replay-request.test.ts
  • frontend/src/components/demo/replay-request.ts
  • frontend/src/components/demo/run-config-utils.test.ts
  • frontend/src/components/demo/run-config-utils.ts
  • frontend/src/components/demo/workspace-name.ts
  • frontend/src/hooks/index.ts
  • frontend/src/hooks/use-approval-events.test.ts
  • frontend/src/hooks/use-approval-events.ts
  • frontend/src/hooks/use-model-selection.test.ts
  • frontend/src/hooks/use-workspaces.test.ts
  • frontend/src/hooks/use-workspaces.ts
  • frontend/src/lib/constants.ts
  • frontend/src/pages/ops.tsx
  • frontend/src/pages/showcase.tsx
  • frontend/src/pages/visualize/champion.test.tsx
  • frontend/src/pages/workspace-compare.test.tsx
  • frontend/src/pages/workspace-compare.tsx
  • frontend/src/types/api.ts
  • tests/test_e2e_demo.py

📝 Walkthrough

Walkthrough

Adds showcase workspace metadata, replay, health, export, HITL, and run-config support across backend APIs, persistence, frontend UI, and contract documentation. It also updates seeder/model-selection flows and expands test coverage for the new showcase lifecycle.

Changes

Showcase completion

Layer / File(s) Summary
Contracts and rollout docs
.env.example, PRPs/*, docs/_base/API_CONTRACTS.md, docs/_base/DOMAIN_MODEL.md, docs/_base/RUNBOOKS.md
Adds showcase PRP specs plus API, domain, runbook, and environment contract updates for replay, lifecycle, health, export, HITL, and run-config behavior.
Workspace schema and persistence
alembic/versions/*, app/core/config.py, app/features/demo/models.py, app/features/demo/schemas.py, app/shared/*
Extends workspace storage, public schemas, migration state, and shared allow-list/override types for showcase metadata, provenance, story slots, and run configuration.
Seeder and model catalog
app/features/seeder/*, app/features/model_selection/*, app/shared/tests/test_model_taxonomy.py
Adds curated seed overrides and runtime model enablement overlays, with matching service and schema tests.
Demo backend orchestration
app/features/demo/{export.py,hitl.py,link_health.py,pipeline.py,routes.py,workspace.py}, app/features/demo/tests/*
Implements export, HITL relay, link-health probing, workspace lifecycle endpoints, and pipeline changes for replay, story capture, and run-config handling, with route/pipeline/workspace coverage.
Showcase frontend
frontend/src/{App.tsx,lib/constants.ts,hooks/*,pages/*,components/demo/*}
Adds replay confirmation, lineage/story panels, seed/scope/run-config controls, workspace management UI, compare page routing, and the supporting hooks and utilities.
Frontend and backend tests
frontend/src/**/test*, frontend/src/**/tests/*, app/features/**/tests/*
Expands coverage for the new showcase workflows, including replay, export, health, lineage, HITL, run-config, seeding, and compare views.

Sequence Diagram(s)

Included in the hidden review stack artifact.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Possibly related PRs

Suggested reviewers

  • w7-learn

Poem

🐇 I hop through workspaces, bright and new,
With replay trails and badges too.
Seeds, scopes, and stories line the way,
A compare view glows in soft display.
Hop-hop—your showcase now can say: “Okay!”

✨ 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 dev

@w7-mgfcode w7-mgfcode merged commit 5b09ec6 into main Jun 13, 2026
11 of 12 checks passed
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