Skip to content

docs: finalize feat_home_first_run_demo_nudge post-PR-188 merge#189

Merged
SoundMindsAI merged 1 commit into
mainfrom
docs/finalize-home-first-run-demo-nudge
May 22, 2026
Merged

docs: finalize feat_home_first_run_demo_nudge post-PR-188 merge#189
SoundMindsAI merged 1 commit into
mainfrom
docs/finalize-home-first-run-demo-nudge

Conversation

@SoundMindsAI

Copy link
Copy Markdown
Owner

Summary

Standard finalization PR for feat_home_first_run_demo_nudge (merged 2026-05-22 as PR #188 squash 21325432 — the 25th MVP1 feature).

  • Moves the feature folder from planned_features/feat_home_first_run_demo_nudge to implemented_features/2026_05_22_feat_home_first_run_demo_nudge (spec + plan + idea + pipeline_status all travel together).
  • Splits the deferred Phase 2 idea (originally phase2_idea.md inside the feature folder) out to its own planned folder at docs/02_product/planned_features/feat_home_demo_reseed_endpoint/idea.md — renamed phase2_idea.mdidea.md, origin pointer + relative paths updated to resolve from the new location. This makes the deferred reseed-endpoint work surface in /pipeline --status as its own planned feature.
  • Updates implementation_plan.md status: DraftComplete (PR #188, merged 2026-05-22 squash 21325432).
  • Updates pipeline_status.md: adds a ## Done block and fills the ## Implementation block with PR number, CI status, story count, cross-model review counts, and Phase 2 split-out pointer.
  • Updates state.md: replaces the in-flight entry with the merged-feature entry; refreshes Last updated header, Branch, and Active feature fields.
  • Regenerates the MVP1 dashboard (89 features across 2 releases — was 88 before the new feat_home_demo_reseed_endpoint folder).

Test plan

  • Folder structure verified: implemented_features/2026_05_22_feat_home_first_run_demo_nudge/ has 4 files; planned_features/feat_home_demo_reseed_endpoint/ has 1; original folder gone.
  • Dashboard regenerated by pre-commit hook (89 features detected).
  • No code changes — docs only.

🤖 Generated with Claude Code

PR #188 squash 2132543 merged 2026-05-22 — 25th MVP1 feature shipped.

- Moves planned_features/feat_home_first_run_demo_nudge →
  implemented_features/2026_05_22_feat_home_first_run_demo_nudge.
- Splits the deferred phase2_idea.md out to its own planned folder at
  planned_features/feat_home_demo_reseed_endpoint/idea.md (renamed +
  origin pointer + relative paths updated to resolve from new location)
  so the deferred reseed endpoint surfaces in /pipeline --status.
- Updates implementation_plan.md status: Draft → Complete (PR #188).
- Updates pipeline_status.md: adds ## Done block.
- Updates state.md: in-flight entry → merged-feature entry; Last-updated
  header, Branch, Active-feature fields updated.
- Regenerates MVP1 dashboard (89 features across 2 releases).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@SoundMindsAI SoundMindsAI merged commit 7b25dc6 into main May 22, 2026
2 checks passed
@SoundMindsAI SoundMindsAI deleted the docs/finalize-home-first-run-demo-nudge branch May 22, 2026 10:35

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request updates the project dashboards and state files to mark the "Home-page first-run demo nudge" feature as complete, signifying the 25th shipped MVP1 feature. It also introduces a new idea specification for a deferred reseed endpoint. Review feedback correctly identified several broken relative paths in the documentation and a regression in the dashboard's dependency resolution logic that incorrectly linked the new idea to completed features.

**Status:** Complete (PR #188, merged 2026-05-22 as squash `21325432`)
**Primary spec:** [`feature_spec.md`](feature_spec.md)
**Deferred-phase tracking:** [`phase2_idea.md`](phase2_idea.md) (Phase 2 = reseed endpoint + UI button; not in this plan)
**Deferred-phase tracking:** Originally `phase2_idea.md` in this folder; split out at finalization (2026-05-22) to [`feat_home_demo_reseed_endpoint/idea.md`](../../planned_features/feat_home_demo_reseed_endpoint/idea.md) so the reseed-endpoint work surfaces in `/pipeline --status` as its own planned feature.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The relative path to the deferred idea is incorrect. ../../ from this directory resolves to docs/00_overview/, but the planned_features folder is located in docs/02_product/.

Suggested change
**Deferred-phase tracking:** Originally `phase2_idea.md` in this folder; split out at finalization (2026-05-22) to [`feat_home_demo_reseed_endpoint/idea.md`](../../planned_features/feat_home_demo_reseed_endpoint/idea.md) so the reseed-endpoint work surfaces in `/pipeline --status` as its own planned feature.
**Deferred-phase tracking:** Originally `phase2_idea.md` in this folder; split out at finalization (2026-05-22) to [`feat_home_demo_reseed_endpoint/idea.md`](../../../02_product/planned_features/feat_home_demo_reseed_endpoint/idea.md) so the reseed-endpoint work surfaces in `/pipeline --status` as its own planned feature.

- CI: green (5/5 jobs: backend lint+typecheck+pytest+coverage, backend unit fast lane, frontend lint+typecheck+vitest+build, docker buildx, operator-path smoke)
- Stories completed: 12 (1 in Epic 1, 4 in Epic 2, 4 in Epic 3, 3 in Epic 4)
- Cross-model review: Gemini Code Assist 3 Medium (2 accepted in `cb0bdc4` — `useClusters({ enabled })` + parity-guard regex broadening; 1 rejected with counter-evidence — `useMemo` would save nothing given React's render model + early-return). Final GPT-5.5: 0 High / 0 Medium / 2 Low (1 fixed in `2cdc44a` — banner-comment accuracy; 1 deferred to this finalization step).
- Phase 2 (reseed endpoint + UI): split out at finalization to a new planned folder [`feat_home_demo_reseed_endpoint`](../feat_home_demo_reseed_endpoint/idea.md) so it surfaces in `/pipeline --status`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The relative path to the new planned folder is incorrect. It should point to docs/02_product/planned_features/.

Suggested change
- Phase 2 (reseed endpoint + UI): split out at finalization to a new planned folder [`feat_home_demo_reseed_endpoint`](../feat_home_demo_reseed_endpoint/idea.md) so it surfaces in `/pipeline --status`.
- Phase 2 (reseed endpoint + UI): split out at finalization to a new planned folder [`feat_home_demo_reseed_endpoint`](../../../02_product/planned_features/feat_home_demo_reseed_endpoint/idea.md) so it surfaces in `/pipeline --status`.

|---|---|---|---|---|
| [feat_agent_propose_search_space](implemented_features/2026_05_21_feat_agent_propose_search_space/feature_spec.md) | Feature | A new read-only agent tool `propose_search_space(template_id, cluster_id, judgment_list_id?, prior_study_id?) → SearchSpace JSON` that emits a deterministic, code-generated search space using the same | — | [PR #175](https://github.com/SoundMindsAI/relyloop/pull/175) merged 2026-05-21 |
| [feat_chat_agent](implemented_features/2026_05_12_feat_chat_agent/feature_spec.md) | Feature | A chat surface at `/chat/{conversation_id}` streams OpenAI completions via SSE. | `feat_agent_propose_search_space` `feat_auto_followup_studies` `feat_cluster_target_filter` `feat_config_repo_baseline_tracking` `feat_contextual_help` `feat_contextual_help_mvp2` `feat_create_study_search_space_builder` `feat_create_study_target_autocomplete` `feat_data_table_primitive` `feat_digest_executable_followups` `feat_digest_proposal` `feat_fts_rank_ordering_mvp2` `feat_github_pr_worker` `feat_github_webhook` `feat_home_first_run_demo_nudge` `feat_judgments_periodic_resume_sweep` `feat_llm_judgments` `feat_orchestrator_zero_streak_abort` `feat_pr_metric_confidence` `feat_proposals_ui` `feat_query_inline_crud` `feat_studies_ui` `feat_study_clone_from_previous` `feat_study_lifecycle` `feat_study_preflight_overlap_probe` `feat_study_target_judgment_mismatch_guard` `infra_adapter_elastic` `infra_arq_subprocess_test_mvp2` `infra_ci_smoke_makeup` `infra_dashboard_regen_pre_commit_conflict` `infra_e2e_seed_completed_study` `infra_e2e_wire_seed_helper_into_studies_spec` `infra_foundation` `infra_frontend_stack_refresh` `infra_make_targets_split_backend_only` `infra_nvmrc` `infra_optuna_eval` `infra_per_trial_timeout` `infra_structlog_test_helpers` `infra_uv_sync_drops_precommit` | [PR #60](https://github.com/SoundMindsAI/relyloop/pull/60) merged 2026-05-12 |
| [feat_chat_agent](implemented_features/2026_05_12_feat_chat_agent/feature_spec.md) | Feature | A chat surface at `/chat/{conversation_id}` streams OpenAI completions via SSE. | `feat_agent_propose_search_space` `feat_auto_followup_studies` `feat_cluster_target_filter` `feat_config_repo_baseline_tracking` `feat_contextual_help` `feat_contextual_help_mvp2` `feat_create_study_search_space_builder` `feat_create_study_target_autocomplete` `feat_data_table_primitive` `feat_digest_executable_followups` `feat_digest_proposal` `feat_fts_rank_ordering_mvp2` `feat_github_pr_worker` `feat_github_webhook` `feat_home_demo_reseed_endpoint` `feat_home_first_run_demo_nudge` `feat_judgments_periodic_resume_sweep` `feat_llm_judgments` `feat_orchestrator_zero_streak_abort` `feat_pr_metric_confidence` `feat_proposals_ui` `feat_query_inline_crud` `feat_studies_ui` `feat_study_clone_from_previous` `feat_study_lifecycle` `feat_study_preflight_overlap_probe` `feat_study_target_judgment_mismatch_guard` `infra_adapter_elastic` `infra_arq_subprocess_test_mvp2` `infra_ci_smoke_makeup` `infra_dashboard_regen_pre_commit_conflict` `infra_e2e_seed_completed_study` `infra_e2e_wire_seed_helper_into_studies_spec` `infra_foundation` `infra_frontend_stack_refresh` `infra_make_targets_split_backend_only` `infra_nvmrc` `infra_optuna_eval` `infra_per_trial_timeout` `infra_structlog_test_helpers` `infra_uv_sync_drops_precommit` | [PR #60](https://github.com/SoundMindsAI/relyloop/pull/60) merged 2026-05-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.

medium

The addition of feat_home_demo_reseed_endpoint to the dependencies of feat_chat_agent (which is already merged and 'Done') is incorrect. Ideas should not be listed as dependencies for completed features, as it breaks the 'Done' status logic in the dependency graph and is chronologically inconsistent. This likely indicates a bug in the dashboard regeneration script's dependency resolution logic.

Suggested change
| [feat_chat_agent](implemented_features/2026_05_12_feat_chat_agent/feature_spec.md) | Feature | A chat surface at `/chat/{conversation_id}` streams OpenAI completions via SSE. | `feat_agent_propose_search_space` `feat_auto_followup_studies` `feat_cluster_target_filter` `feat_config_repo_baseline_tracking` `feat_contextual_help` `feat_contextual_help_mvp2` `feat_create_study_search_space_builder` `feat_create_study_target_autocomplete` `feat_data_table_primitive` `feat_digest_executable_followups` `feat_digest_proposal` `feat_fts_rank_ordering_mvp2` `feat_github_pr_worker` `feat_github_webhook` `feat_home_demo_reseed_endpoint` `feat_home_first_run_demo_nudge` `feat_judgments_periodic_resume_sweep` `feat_llm_judgments` `feat_orchestrator_zero_streak_abort` `feat_pr_metric_confidence` `feat_proposals_ui` `feat_query_inline_crud` `feat_studies_ui` `feat_study_clone_from_previous` `feat_study_lifecycle` `feat_study_preflight_overlap_probe` `feat_study_target_judgment_mismatch_guard` `infra_adapter_elastic` `infra_arq_subprocess_test_mvp2` `infra_ci_smoke_makeup` `infra_dashboard_regen_pre_commit_conflict` `infra_e2e_seed_completed_study` `infra_e2e_wire_seed_helper_into_studies_spec` `infra_foundation` `infra_frontend_stack_refresh` `infra_make_targets_split_backend_only` `infra_nvmrc` `infra_optuna_eval` `infra_per_trial_timeout` `infra_structlog_test_helpers` `infra_uv_sync_drops_precommit` | [PR #60](https://github.com/SoundMindsAI/relyloop/pull/60) merged 2026-05-12 |
| [feat_chat_agent](implemented_features/2026_05_12_feat_chat_agent/feature_spec.md) | Feature | A chat surface at `/chat/{conversation_id}` streams OpenAI completions via SSE. | `feat_agent_propose_search_space` `feat_auto_followup_studies` `feat_cluster_target_filter` `feat_config_repo_baseline_tracking` `feat_contextual_help` `feat_contextual_help_mvp2` `feat_create_study_search_space_builder` `feat_create_study_target_autocomplete` `feat_data_table_primitive` `feat_digest_executable_followups` `feat_digest_proposal` `feat_fts_rank_ordering_mvp2` `feat_github_pr_worker` `feat_github_webhook` `feat_home_first_run_demo_nudge` `feat_judgments_periodic_resume_sweep` `feat_llm_judgments` `feat_orchestrator_zero_streak_abort` `feat_pr_metric_confidence` `feat_proposals_ui` `feat_query_inline_crud` `feat_studies_ui` `feat_study_clone_from_previous` `feat_study_lifecycle` `feat_study_preflight_overlap_probe` `feat_study_target_judgment_mismatch_guard` `infra_adapter_elastic` `infra_arq_subprocess_test_mvp2` `infra_ci_smoke_makeup` `infra_dashboard_regen_pre_commit_conflict` `infra_e2e_seed_completed_study` `infra_e2e_wire_seed_helper_into_studies_spec` `infra_foundation` `infra_frontend_stack_refresh` `infra_make_targets_split_backend_only` `infra_nvmrc` `infra_optuna_eval` `infra_per_trial_timeout` `infra_structlog_test_helpers` `infra_uv_sync_drops_precommit` | [PR #60](https://github.com/SoundMindsAI/relyloop/pull/60) merged 2026-05-12 |

| [chore_test_both_engines](implemented_features/2026_05_13_chore_test_both_engines/idea.md) | Chore | Complete | — | Complete |
| [chore_trial_summary_single_query](implemented_features/2026_05_13_chore_trial_summary_single_query/idea.md) | Chore | Complete | — | Complete |
| [chore_tutorial_polish](implemented_features/2026_05_12_chore_tutorial_polish/feature_spec.md) | Chore | The release tag `v0.1.0` is pushed with: a worked tutorial at `docs/08_guides/tutorial-first-study.md`, sample data (50-query set + sample ES index of ~1,000 docs from the Amazon ESCI subset), README | `feat_agent_propose_search_space` `feat_auto_followup_studies` `feat_chat_agent` `feat_cluster_target_filter` `feat_config_repo_baseline_tracking` `feat_contextual_help` `feat_contextual_help_mvp2` `feat_create_study_search_space_builder` `feat_create_study_target_autocomplete` `feat_data_table_primitive` `feat_digest_executable_followups` `feat_digest_proposal` `feat_fts_rank_ordering_mvp2` `feat_github_pr_worker` `feat_github_webhook` `feat_home_first_run_demo_nudge` `feat_judgments_periodic_resume_sweep` `feat_llm_judgments` `feat_orchestrator_zero_streak_abort` `feat_pr_metric_confidence` `feat_proposals_ui` `feat_query_inline_crud` `feat_studies_ui` `feat_study_clone_from_previous` `feat_study_lifecycle` `feat_study_preflight_overlap_probe` `feat_study_target_judgment_mismatch_guard` `infra_adapter_elastic` `infra_arq_subprocess_test_mvp2` `infra_ci_smoke_makeup` `infra_dashboard_regen_pre_commit_conflict` `infra_e2e_seed_completed_study` `infra_e2e_wire_seed_helper_into_studies_spec` `infra_foundation` `infra_frontend_stack_refresh` `infra_make_targets_split_backend_only` `infra_nvmrc` `infra_optuna_eval` `infra_per_trial_timeout` `infra_structlog_test_helpers` `infra_uv_sync_drops_precommit` | [PR #64](https://github.com/SoundMindsAI/relyloop/pull/64) merged 2026-05-12 |
| [chore_tutorial_polish](implemented_features/2026_05_12_chore_tutorial_polish/feature_spec.md) | Chore | The release tag `v0.1.0` is pushed with: a worked tutorial at `docs/08_guides/tutorial-first-study.md`, sample data (50-query set + sample ES index of ~1,000 docs from the Amazon ESCI subset), README | `feat_agent_propose_search_space` `feat_auto_followup_studies` `feat_chat_agent` `feat_cluster_target_filter` `feat_config_repo_baseline_tracking` `feat_contextual_help` `feat_contextual_help_mvp2` `feat_create_study_search_space_builder` `feat_create_study_target_autocomplete` `feat_data_table_primitive` `feat_digest_executable_followups` `feat_digest_proposal` `feat_fts_rank_ordering_mvp2` `feat_github_pr_worker` `feat_github_webhook` `feat_home_demo_reseed_endpoint` `feat_home_first_run_demo_nudge` `feat_judgments_periodic_resume_sweep` `feat_llm_judgments` `feat_orchestrator_zero_streak_abort` `feat_pr_metric_confidence` `feat_proposals_ui` `feat_query_inline_crud` `feat_studies_ui` `feat_study_clone_from_previous` `feat_study_lifecycle` `feat_study_preflight_overlap_probe` `feat_study_target_judgment_mismatch_guard` `infra_adapter_elastic` `infra_arq_subprocess_test_mvp2` `infra_ci_smoke_makeup` `infra_dashboard_regen_pre_commit_conflict` `infra_e2e_seed_completed_study` `infra_e2e_wire_seed_helper_into_studies_spec` `infra_foundation` `infra_frontend_stack_refresh` `infra_make_targets_split_backend_only` `infra_nvmrc` `infra_optuna_eval` `infra_per_trial_timeout` `infra_structlog_test_helpers` `infra_uv_sync_drops_precommit` | [PR #64](https://github.com/SoundMindsAI/relyloop/pull/64) merged 2026-05-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.

medium

Similar to feat_chat_agent, chore_tutorial_polish should not depend on the feat_home_demo_reseed_endpoint idea.

Suggested change
| [chore_tutorial_polish](implemented_features/2026_05_12_chore_tutorial_polish/feature_spec.md) | Chore | The release tag `v0.1.0` is pushed with: a worked tutorial at `docs/08_guides/tutorial-first-study.md`, sample data (50-query set + sample ES index of ~1,000 docs from the Amazon ESCI subset), README | `feat_agent_propose_search_space` `feat_auto_followup_studies` `feat_chat_agent` `feat_cluster_target_filter` `feat_config_repo_baseline_tracking` `feat_contextual_help` `feat_contextual_help_mvp2` `feat_create_study_search_space_builder` `feat_create_study_target_autocomplete` `feat_data_table_primitive` `feat_digest_executable_followups` `feat_digest_proposal` `feat_fts_rank_ordering_mvp2` `feat_github_pr_worker` `feat_github_webhook` `feat_home_demo_reseed_endpoint` `feat_home_first_run_demo_nudge` `feat_judgments_periodic_resume_sweep` `feat_llm_judgments` `feat_orchestrator_zero_streak_abort` `feat_pr_metric_confidence` `feat_proposals_ui` `feat_query_inline_crud` `feat_studies_ui` `feat_study_clone_from_previous` `feat_study_lifecycle` `feat_study_preflight_overlap_probe` `feat_study_target_judgment_mismatch_guard` `infra_adapter_elastic` `infra_arq_subprocess_test_mvp2` `infra_ci_smoke_makeup` `infra_dashboard_regen_pre_commit_conflict` `infra_e2e_seed_completed_study` `infra_e2e_wire_seed_helper_into_studies_spec` `infra_foundation` `infra_frontend_stack_refresh` `infra_make_targets_split_backend_only` `infra_nvmrc` `infra_optuna_eval` `infra_per_trial_timeout` `infra_structlog_test_helpers` `infra_uv_sync_drops_precommit` | [PR #64](https://github.com/SoundMindsAI/relyloop/pull/64) merged 2026-05-12 |
| [chore_tutorial_polish](implemented_features/2026_05_12_chore_tutorial_polish/feature_spec.md) | Chore | The release tag `v0.1.0` is pushed with: a worked tutorial at `docs/08_guides/tutorial-first-study.md`, sample data (50-query set + sample ES index of ~1,000 docs from the Amazon ESCI subset), README | `feat_agent_propose_search_space` `feat_auto_followup_studies` `feat_chat_agent` `feat_cluster_target_filter` `feat_config_repo_baseline_tracking` `feat_contextual_help` `feat_contextual_help_mvp2` `feat_create_study_search_space_builder` `feat_create_study_target_autocomplete` `feat_data_table_primitive` `feat_digest_executable_followups` `feat_digest_proposal` `feat_fts_rank_ordering_mvp2` `feat_github_pr_worker` `feat_github_webhook` `feat_home_first_run_demo_nudge` `feat_judgments_periodic_resume_sweep` `feat_llm_judgments` `feat_orchestrator_zero_streak_abort` `feat_pr_metric_confidence` `feat_proposals_ui` `feat_query_inline_crud` `feat_studies_ui` `feat_study_clone_from_previous` `feat_study_lifecycle` `feat_study_preflight_overlap_probe` `feat_study_target_judgment_mismatch_guard` `infra_adapter_elastic` `infra_arq_subprocess_test_mvp2` `infra_ci_smoke_makeup` `infra_dashboard_regen_pre_commit_conflict` `infra_e2e_seed_completed_study` `infra_e2e_wire_seed_helper_into_studies_spec` `infra_foundation` `infra_frontend_stack_refresh` `infra_make_targets_split_backend_only` `infra_nvmrc` `infra_optuna_eval` `infra_per_trial_timeout` `infra_structlog_test_helpers` `infra_uv_sync_drops_precommit` | [PR #64](https://github.com/SoundMindsAI/relyloop/pull/64) merged 2026-05-12 |

SoundMindsAI added a commit that referenced this pull request May 22, 2026
…190)

The phase2_idea.md was left behind inside the finalized
implemented_features/2026_05_21_feat_pr_metric_confidence/ folder
when feat_pr_metric_confidence shipped as PR #180 on 2026-05-21,
so the deferred baseline-trial work did not surface in /pipeline --status.

Moves to docs/02_product/planned_features/feat_study_baseline_trial/idea.md.
- Title: refreshed.
- Origin pointer + relative paths resolve from the new location.
- Added a still-needed verification block (4 grep-based checks
  against main HEAD on 2026-05-22 confirming the bug is unfixed:
  baseline_metric column exists but is never written; ComparisonAgainst
  Literal declares "baseline" but only "runner_up" is emitted;
  baseline_trial_id column doesn't exist on the Study model; digest
  worker reads baseline_metric and passes NULL to the LLM prompt).
- Priority: P2.
- Regenerates MVP1 dashboard (89 → 90 features across 2 releases).

No code changes. Mirrors the split-out pattern just used for
phase2_idea.md inside feat_home_first_run_demo_nudge (PR #189).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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