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 @@ -7,7 +7,7 @@ _Top-level index across MVP1 → GA v1+ as of **2026-06-05**. Click a release na
| Release | Theme | Progress | Status |
|---|---|---|---|
| [MVP1 / v0.1](MVP1_DASHBOARD.md) | The Loop | 98 / 98 scoped done | **Complete** |
| [MVP2 / v0.2](MVP2_DASHBOARD.md) | Three-Engine + Real Signals | 22 / 26 scoped done · 18 remaining | **In progress** |
| [MVP2 / v0.2](MVP2_DASHBOARD.md) | Three-Engine + Real Signals | 22 / 25 scoped done · 17 remaining | **In progress** |
| MVP3 / v0.3 | Observable | — | **Not yet scoped** |
| GA v1 / v1.0 | Production-ready | — | **Not yet scoped** |

Expand Down
15 changes: 6 additions & 9 deletions docs/00_overview/MVP2_DASHBOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ Plan approved; run /impl-execute to ship

| Metric | Value |
|---|---|
| Filed under MVP2 | **44** folders total (done + specced not-done + idea backlog + bugs) |
| Specced features done | **22 / 26** (85%) — of features *past the idea stage* (those with a spec); the idea backlog below is NOT in this denominator, so 100% ≠ release complete |
| Pending work | **20** items (every not-done feat/infra/chore/bug across all priorities) |
| Filed under MVP2 | **43** folders total (done + specced not-done + idea backlog + bugs) |
| Specced features done | **22 / 25** (88%) — of features *past the idea stage* (those with a spec); the idea backlog below is NOT in this denominator, so 100% ≠ release complete |
| Pending work | **19** items (every not-done feat/infra/chore/bug across all priorities) |
| → P0 — do next | **0** unblocking / paying daily cost |
| → P1 | **0** high-value, ready when P0 clears |
| → P2 (default) | 17 important to file, not blocking |
| → P2 (default) | 16 important to file, not blocking |
| → Backlog | 3 captured for record, not planned |
| Open bugs | 7 |
| Legacy "Path to MVP2" | 18 items — scoped-not-done + bugs + chore-ideas only (excludes feat/infra ideas) |
| Legacy "Path to MVP2" | 17 items — scoped-not-done + bugs + chore-ideas only (excludes feat/infra ideas) |
| Backlog ideas | 2 idea-only feat/infra (not yet scoped into MVP2) |
| In flight | 0 feature(s) actively shipping |

Expand Down Expand Up @@ -67,14 +67,13 @@ Plan approved; run /impl-execute to ship

_None._

### Plan (4)
### Plan (3)

| # | Priority | Feature | Type | One-liner | Depends on | Status |
|---|---|---|---|---|---|---|
| 1 | P2 | [feat_apply_path_normalizer_declaration](planned_features/02_mvp2/feat_apply_path_normalizer_declaration/feature_spec.md) | Feature | The winning normalizer ships as a **structured, language-agnostic manifest** in the config-repo PR — not just prose. | — | — |
| 2 | P2 | [feat_query_normalizer_typed_pipeline](planned_features/02_mvp2/feat_query_normalizer_typed_pipeline/feature_spec.md) | Feature | A new typed search-space member `NormalizerPipelineParam` lets a template declare an **ordered list of normalization steps**; the Optuna loop samples over the powerset of declared steps and proposes t | — | — |
| 3 | P2 | [chore_demo_seeding_integration_tests_rewrite](planned_features/02_mvp2/chore_demo_seeding_integration_tests_rewrite/feature_spec.md) | Chore | The 9 skipped cases are rewritten to the async "POST + poll-until-terminal" shape, the timeout case is re-homed to the worker layer, a new `AC-Async` case asserts the `running → complete` polling tran | — | [PR #286](https://github.com/SoundMindsAI/relyloop/pull/286) |
| 4 | P2 | [chore_studies_post_arq_spy_fixture](planned_features/02_mvp2/chore_studies_post_arq_spy_fixture/feature_spec.md) | Chore | A reusable `arq_pool_spy` integration fixture that records every `enqueue_job(name, *args)` call, letting studies-POST tests positively assert `spy.calls == []` on rejection and `spy.calls == [("start | — | — |

### Spec (0)

Expand Down Expand Up @@ -114,8 +113,6 @@ graph LR
classDef idea fill:#f1f5f9,stroke:#334155,color:#334155;
chore_demo_seeding_integration_tests_rewrite["demo seeding integration tests rewrite"]
class chore_demo_seeding_integration_tests_rewrite plan;
chore_studies_post_arq_spy_fixture["studies post arq spy fixture"]
class chore_studies_post_arq_spy_fixture plan;
feat_apply_path_normalizer_declaration["apply path normalizer declaration"]
class feat_apply_path_normalizer_declaration plan;
feat_query_normalizer_typed_pipeline["query normalizer typed pipeline"]
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 @@ -392,7 +392,7 @@ <h2>Releases</h2>
<div class="roadmap-row">
<div class="release-name"><a href="mvp2_dashboard.html">MVP2 / v0.2</a></div>
<div class="theme">Three-Engine + Real Signals</div>
<div class="progress">22 / 26 scoped done · 18 remaining</div>
<div class="progress">22 / 25 scoped done · 17 remaining</div>
<span class="state-pill in_progress">In progress</span>
</div>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Implementation Plan — `arq_pool_spy` fixture for POST /api/v1/studies integration tests

**Date:** 2026-06-02
**Status:** Ready for Execution
**Status:** Complete (PR #476, squash-merged `ed85d84` 2026-06-05)
**Primary spec:** [`feature_spec.md`](feature_spec.md)
**Policy source(s):** [`CLAUDE.md`](../../../../../CLAUDE.md) (Integration Test Mocking Policy, test layers); [`docs/05_quality/testing.md`](../../../../05_quality/testing.md)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Pipeline Status — `arq_pool_spy` fixture for POST /api/v1/studies tests

**Release:** mvp2

## Idea
- Status: Complete (preflighted 2026-06-02)
- File: idea.md
Expand All @@ -20,4 +22,10 @@
- Phases covered: 1 of 1 (single-phase)

## Implementation
- Status: Not started
- Status: Complete
- Date: 2026-06-05
- PR: #476 (squash-merged `ed85d84`)
- CI: all 19 `pr.yml` checks green (smoke skipped — opt-in/off)
- Stories completed: 2 of 2 (1.1, 1.2)
- Cross-model review: GPT-5.5 unreachable in this env → Opus self-review substitution (test-only, zero production diff) — clean
- Gemini Code Assist: 1 theme / 2 line comments — 1 accepted (drop redundant `@pytest.mark.asyncio`), 1 rejected with cited evidence (module `pytestmark` unnecessary under `asyncio_mode = "auto"`)
31 changes: 7 additions & 24 deletions docs/00_overview/mvp2_dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -397,13 +397,13 @@ <h2>MVP2 Progress</h2>
<div class="kpi-row">
<div class="kpi ">
<div class="label">Specced features done</div>
<div class="value">22 / 26</div>
<div class="sub">85% specced · 44 filed under MVP2</div>
<div class="bar"><span style="width:85%"></span></div>
<div class="value">22 / 25</div>
<div class="sub">88% specced · 43 filed under MVP2</div>
<div class="bar"><span style="width:88%"></span></div>
</div>
<div class="kpi warn">
<div class="label">Pending work</div>
<div class="value">20</div>
<div class="value">19</div>
<div class="sub">every not-done feat/infra/chore/bug across all priorities</div>
</div>
<div class="kpi bug">
Expand All @@ -425,7 +425,7 @@ <h2>MVP2 Progress</h2>
</div>
<div class="kpi">
<div class="label">P2 (default)</div>
<div class="value">17</div>
<div class="value">16</div>
<div class="sub">important to file, not blocking</div>
</div>
<div class="kpi">
Expand All @@ -435,7 +435,7 @@ <h2>MVP2 Progress</h2>
</div>
<div class="kpi">
<div class="label">Legacy "Path to MVP2"</div>
<div class="value">18</div>
<div class="value">17</div>
<div class="sub">scoped not-done + bugs + chore-ideas only (excludes feat/infra ideas)</div>
</div>
</div>
Expand Down Expand Up @@ -680,7 +680,7 @@ <h3>Spec <span class="count">0</span></h3>
</div>

<div class="col plan">
<h3>Plan <span class="count">4</span></h3>
<h3>Plan <span class="count">3</span></h3>

<div class="card feat" data-prefix="feat" data-priority="P2">
<div class="name"><a href="../../docs/00_overview/planned_features/02_mvp2/feat_apply_path_normalizer_declaration/feature_spec.md">Apply Path Normalizer Declaration</a></div>
Expand Down Expand Up @@ -718,19 +718,6 @@ <h3>Plan <span class="count">4</span></h3>
<div class="one-liner">The 9 skipped cases are rewritten to the async &quot;POST + poll-until-terminal&quot; shape, the timeout case is re-homed to the worker layer, a new `AC-Async` case asserts the `running → complete` polling tran</div>


</div>


<div class="card chore" data-prefix="chore" data-priority="P2">
<div class="name"><a href="../../docs/00_overview/planned_features/02_mvp2/chore_studies_post_arq_spy_fixture/feature_spec.md">Studies Post Arq Spy Fixture</a></div>
<div class="meta">
<span class="badge chore">Chore</span>
<span class="badge priority" data-priority="P2">P2</span>

</div>
<div class="one-liner">A reusable `arq_pool_spy` integration fixture that records every `enqueue_job(name, *args)` call, letting studies-POST tests positively assert `spy.calls == []` on rejection and `spy.calls == [(&quot;start</div>


</div>

</div>
Expand Down Expand Up @@ -1069,8 +1056,6 @@ <h2>Dependency graph (feat_ + infra_)</h2>
classDef idea fill:#f1f5f9,stroke:#334155,color:#334155;
chore_demo_seeding_integration_tests_rewrite[&quot;demo seeding integration tests rewrite&quot;]
class chore_demo_seeding_integration_tests_rewrite plan;
chore_studies_post_arq_spy_fixture[&quot;studies post arq spy fixture&quot;]
class chore_studies_post_arq_spy_fixture plan;
feat_apply_path_normalizer_declaration[&quot;apply path normalizer declaration&quot;]
class feat_apply_path_normalizer_declaration plan;
feat_query_normalizer_typed_pipeline[&quot;query normalizer typed pipeline&quot;]
Expand Down Expand Up @@ -1128,8 +1113,6 @@ <h2>Dependency graph (feat_ + infra_)</h2>
classDef idea fill:#f1f5f9,stroke:#334155,color:#334155;
chore_demo_seeding_integration_tests_rewrite[&quot;demo seeding integration tests rewrite&quot;]
class chore_demo_seeding_integration_tests_rewrite plan;
chore_studies_post_arq_spy_fixture[&quot;studies post arq spy fixture&quot;]
class chore_studies_post_arq_spy_fixture plan;
feat_apply_path_normalizer_declaration[&quot;apply path normalizer declaration&quot;]
class feat_apply_path_normalizer_declaration plan;
feat_query_normalizer_typed_pipeline[&quot;query normalizer typed pipeline&quot;]
Expand Down
Loading
Loading