Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/00_overview/DASHBOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ _Top-level index across MVP1 → GA v1+ as of **2026-05-18**. Click a release na

| Release | Theme | Progress | Status |
|---|---|---|---|
| [MVP1 / v0.1](MVP1_DASHBOARD.md) | The Loop | 39 / 39 scoped done · 2 remaining | **In progress** |
| [MVP1 / v0.1](MVP1_DASHBOARD.md) | The Loop | 40 / 40 scoped done · 3 remaining | **In progress** |
| [MVP2 / v0.2](MVP2_DASHBOARD.md) | Observable | 1 / 1 scoped done · 1 remaining | **In progress** |
| MVP3 / v0.3 | Production Stacks | — | **Not yet scoped** |
| MVP4 / v0.4 | Multi-tenant, Multi-LLM | — | **Not yet scoped** |
Expand Down
16 changes: 10 additions & 6 deletions docs/00_overview/MVP1_DASHBOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ Pull from the Idea backlog or capture a new feature spec.

| Metric | Value |
|---|---|
| Scoped items done | **39 / 39** (100%) — feat_/infra_/chore_/epic_ past idea stage |
| Path to MVP1 | **2** items remaining (features + bugs + chores) |
| Scoped items done | **40 / 40** (100%) — feat_/infra_/chore_/epic_ past idea stage |
| Path to MVP1 | **3** items remaining (features + bugs + chores) |
| Open bugs | 0 |
| Open chores | 2 (idea-stage debt) |
| Open chores | 3 (idea-stage debt) |
| Backlog ideas | 1 idea-only feat/infra (not yet scoped into MVP1) |
| In flight | 0 feature(s) actively shipping |

## Pipeline

### Done (48)
### Done (49)

| Feature | Type | One-liner | Depends on | Status |
|---|---|---|---|---|
Expand Down Expand Up @@ -56,6 +56,7 @@ Pull from the Idea backlog or capture a new feature spec.
| [chore_cluster_delete_ui](implemented_features/2026_05_13_chore_cluster_delete_ui/idea.md) | Chore | Complete | — | Complete |
| [chore_digest_worker_narrow_except](implemented_features/2026_05_14_chore_digest_worker_narrow_except/idea.md) | Chore | Complete | — | Complete |
| [chore_env_guard_extend_deny_pattern](implemented_features/2026_05_13_chore_env_guard_extend_deny_pattern/idea.md) | Chore | Complete | — | Complete |
| [chore_form_dropdown_primitive](implemented_features/2026_05_18_chore_form_dropdown_primitive/feature_spec.md) | Chore | Ready for Execution | — | [PR #126](https://github.com/SoundMindsAI/relyloop/pull/126) merged 2026-05-16 |

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 PR reference and date for chore_form_dropdown_primitive are incorrect. It should reference PR #136 and the merge date 2026-05-18, as indicated in the PR title and state.md. Additionally, the status should be updated from "Ready for Execution" to "Complete" to maintain consistency with other finished chores in this section.

Suggested change
| [chore_form_dropdown_primitive](implemented_features/2026_05_18_chore_form_dropdown_primitive/feature_spec.md) | Chore | Ready for Execution || [PR #126](https://github.com/SoundMindsAI/relyloop/pull/126) merged 2026-05-16 |
| [chore_form_dropdown_primitive](implemented_features/2026_05_18_chore_form_dropdown_primitive/feature_spec.md) | Chore | Complete || [PR #136](https://github.com/SoundMindsAI/relyloop/pull/136) merged 2026-05-18 |

| [chore_infra_foundation_github_token_file_retirement](implemented_features/2026_05_13_chore_infra_foundation_github_token_file_retirement/idea.md) | Chore | Complete | — | Complete |
| [chore_openapi_contract_validation](implemented_features/2026_05_13_chore_openapi_contract_validation/idea.md) | Chore | Complete | — | Complete |
| [chore_proposals_list_wire_param_e2e_test](implemented_features/2026_05_13_chore_proposals_list_wire_param_e2e_test/idea.md) | Chore | Complete | — | Complete |
Expand Down Expand Up @@ -88,13 +89,14 @@ _None._

_None._

### Idea (3)
### Idea (4)

| Feature | Type | One-liner | Depends on | Status |
|---|---|---|---|---|
| [infra_e2e_wire_seed_helper_into_studies_spec](../02_product/planned_features/infra_e2e_wire_seed_helper_into_studies_spec/idea.md) | Infra | `infra_e2e_seed_completed_study` shipped `POST /api/v1/_test/studies/seed-completed` and the `seedStudyCompletedWithDigest` TypeScript helper. The two consuming E2E tests in `ui/tests/e2e/studies.spec | — | Idea — deferred from `infra_e2e_seed_completed_study` PR #130. The endpoint + helper landed cleanly; the 2 Playwright E2E tests that consume them caused the smoke CI lane to fail (root cause undiagnosed — agent environment had no access to GitHub Actions logs to debug the Playwright report). |
| [chore_data_table_primitive_followups](../02_product/planned_features/chore_data_table_primitive_followups/idea.md) | Chore | `feat_data_table_primitive` shipped with six known non-regression follow-up items captured only in chat transcripts. None block the PR but each is a real improvement that would otherwise evaporate whe | — | Partial — items 1, 2, 4, 6 shipped in PR (TBD) 2026-05-17. Items 3 + 5 remain open (larger refactors touching 8 DataTable consumers each). |
| [chore_form_dropdown_primitive](../02_product/planned_features/chore_form_dropdown_primitive/idea.md) | Chore | The DataTable primitive shipped with a lint-enforced source-of-truth discipline — every enum filter cites a backend `Literal[...]` and every FK filter cites a `useX()` hook. Forms didn't get the same | — | Idea — identified during tutorial UX debugging session 2026-05-17. |
| [chore_extract_shadcn_select_test_mock](../02_product/planned_features/chore_extract_shadcn_select_test_mock/idea.md) | Chore | A factor-and-share refactor was attempted during `chore_form_dropdown_primitive` post-implementation. I extracted the mock to `ui/src/__tests__/helpers/shadcn-select-mock.tsx` exporting `mockShadcnSel | — | Idea — captured during `chore_form_dropdown_primitive` execution (PR pending). |
| [chore_form_dropdown_guide_screenshot_refresh](../02_product/planned_features/chore_form_dropdown_guide_screenshot_refresh/idea.md) | Chore | Each affected guide has a Playwright spec at `ui/tests/e2e/guides/*.spec.ts` that captures screenshots when run against the real backend. The PR's UI changes produce different screenshots: | — | Idea — captured during `chore_form_dropdown_primitive` post-implementation guide-impact assessment. |

## Dependency graph

Expand Down Expand Up @@ -185,6 +187,8 @@ graph LR
class feat_data_table_primitive done;
infra_e2e_seed_completed_study["e2e seed completed study"]
class infra_e2e_seed_completed_study done;
chore_form_dropdown_primitive["form dropdown primitive"]
class chore_form_dropdown_primitive done;
feat_study_lifecycle --> feat_digest_proposal
feat_llm_judgments --> feat_digest_proposal
infra_foundation --> feat_llm_judgments
Expand Down
2 changes: 1 addition & 1 deletion docs/00_overview/dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ <h2>Releases</h2>
<div class="roadmap-row">
<div class="release-name"><a href="mvp1_dashboard.html">MVP1 / v0.1</a></div>
<div class="theme">The Loop</div>
<div class="progress">39 / 39 scoped done · 2 remaining</div>
<div class="progress">40 / 40 scoped done · 3 remaining</div>
<span class="state-pill in_progress">In progress</span>
</div>

Expand Down
42 changes: 35 additions & 7 deletions docs/00_overview/mvp1_dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -384,13 +384,13 @@ <h2>MVP1 Progress</h2>
<div class="kpi-row">
<div class="kpi complete">
<div class="label">Scoped items done</div>
<div class="value">39 / 39</div>
<div class="value">40 / 40</div>
<div class="sub">100% of feat_/infra_/chore_/epic_ items past idea stage</div>
<div class="bar"><span style="width:100%"></span></div>
</div>
<div class="kpi warn">
<div class="label">Path to MVP1</div>
<div class="value">2</div>
<div class="value">3</div>
<div class="sub">items left = features + bugs + chores</div>
</div>
<div class="kpi ">
Expand All @@ -400,7 +400,7 @@ <h2>MVP1 Progress</h2>
</div>
<div class="kpi warn">
<div class="label">Open chores</div>
<div class="value">2</div>
<div class="value">3</div>
<div class="sub">idea-stage chore_* (debt)</div>
</div>
</div>
Expand Down Expand Up @@ -428,7 +428,7 @@ <h2>Pipeline</h2>
</div>
<div class="kanban">
<div class="col idea">
<h3>Idea <span class="count">3</span></h3>
<h3>Idea <span class="count">4</span></h3>

<div class="card infra" data-prefix="infra">
<div class="name"><a href="../../docs/02_product/planned_features/infra_e2e_wire_seed_helper_into_studies_spec">E2E Wire Seed Helper Into Studies Spec</a></div>
Expand All @@ -455,12 +455,24 @@ <h3>Idea <span class="count">3</span></h3>


<div class="card chore" data-prefix="chore">
<div class="name"><a href="../../docs/02_product/planned_features/chore_form_dropdown_primitive">Form Dropdown Primitive</a></div>
<div class="name"><a href="../../docs/02_product/planned_features/chore_extract_shadcn_select_test_mock">Extract Shadcn Select Test Mock</a></div>
<div class="meta">
<span class="badge chore">Chore</span>

</div>
<div class="one-liner">The DataTable primitive shipped with a lint-enforced source-of-truth discipline — every enum filter cites a backend `Literal[...]` and every FK filter cites a `useX()` hook. Forms didn&#x27;t get the same </div>
<div class="one-liner">A factor-and-share refactor was attempted during `chore_form_dropdown_primitive` post-implementation. I extracted the mock to `ui/src/__tests__/helpers/shadcn-select-mock.tsx` exporting `mockShadcnSel</div>


</div>


<div class="card chore" data-prefix="chore">
<div class="name"><a href="../../docs/02_product/planned_features/chore_form_dropdown_guide_screenshot_refresh">Form Dropdown Guide Screenshot Refresh</a></div>
<div class="meta">
<span class="badge chore">Chore</span>

</div>
<div class="one-liner">Each affected guide has a Playwright spec at `ui/tests/e2e/guides/*.spec.ts` that captures screenshots when run against the real backend. The PR&#x27;s UI changes produce different screenshots:</div>


</div>
Expand All @@ -483,7 +495,7 @@ <h3>Implementing <span class="count">0</span></h3>
</div>

<div class="col done">
<h3>Done <span class="count">48</span></h3>
<h3>Done <span class="count">49</span></h3>

<div class="card feat" data-prefix="feat">
<div class="name"><a href="../../docs/00_overview/implemented_features/2026_05_12_feat_chat_agent/feature_spec.md">Chat Agent</a></div>
Expand Down Expand Up @@ -833,6 +845,18 @@ <h3>Done <span class="count">48</span></h3>
</div>


<div class="card chore" data-prefix="chore">
<div class="name"><a href="../../docs/00_overview/implemented_features/2026_05_18_chore_form_dropdown_primitive/feature_spec.md">Form Dropdown Primitive</a></div>
<div class="meta">
<span class="badge chore">Chore</span>
<a class="pr" href="https://github.com/SoundMindsAI/relyloop/pull/126">PR #126</a><span>merged 2026-05-16</span>
</div>
<div class="one-liner">Ready for Execution</div>
Comment on lines +852 to +854

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 PR reference, date, and one-liner for the chore_form_dropdown_primitive card are incorrect. They should reflect PR #136 and the completed status to match the actual state of the project.

Suggested change
<a class="pr" href="https://github.com/SoundMindsAI/relyloop/pull/126">PR #126</a><span>merged 2026-05-16</span>
</div>
<div class="one-liner">Ready for Execution</div>
<a class="pr" href="https://github.com/SoundMindsAI/relyloop/pull/136">PR #136</a><span>merged 2026-05-18</span>
</div>
<div class="one-liner">Complete</div>



</div>


<div class="card chore" data-prefix="chore">
<div class="name"><a href="../../docs/00_overview/implemented_features/2026_05_13_chore_infra_foundation_github_token_file_retirement">Infra Foundation Github Token File Retirement</a></div>
<div class="meta">
Expand Down Expand Up @@ -1151,6 +1175,8 @@ <h2>Dependency graph (feat_ + infra_)</h2>
class feat_data_table_primitive done;
infra_e2e_seed_completed_study[&quot;e2e seed completed study&quot;]
class infra_e2e_seed_completed_study done;
chore_form_dropdown_primitive[&quot;form dropdown primitive&quot;]
class chore_form_dropdown_primitive done;
feat_study_lifecycle --&gt; feat_digest_proposal
feat_llm_judgments --&gt; feat_digest_proposal
infra_foundation --&gt; feat_llm_judgments
Expand Down Expand Up @@ -1306,6 +1332,8 @@ <h2>Dependency graph (feat_ + infra_)</h2>
class feat_data_table_primitive done;
infra_e2e_seed_completed_study[&quot;e2e seed completed study&quot;]
class infra_e2e_seed_completed_study done;
chore_form_dropdown_primitive[&quot;form dropdown primitive&quot;]
class chore_form_dropdown_primitive done;
feat_study_lifecycle --&gt; feat_digest_proposal
feat_llm_judgments --&gt; feat_digest_proposal
infra_foundation --&gt; feat_llm_judgments
Expand Down
Loading