Context
#225 moved Stores routes from `/index/` to `/ingest/` and added redirect routes so existing bookmarks keep working. The sidebar's `matchPrefixes` was extended to `['/ingest', '/index']` so the nav item stays active during a back-compat redirect.
The redirect is transitional — it should not survive forever:
```ts
// frontend/src/app/router/routes.ts
{ path: '/index', redirect: '/ingest' },
{ path: '/index/new', redirect: '/ingest/new' },
{ path: '/index/:store', redirect: (to) => `/ingest/${to.params.store}` },
{ path: '/index/:store/edit', redirect: (to) => `/ingest/${to.params.store}/edit` },
{ path: '/index/:store/query', redirect: (to) => `/ingest/${to.params.store}/query` },
```
The current commit says "until all caches are warm", with no explicit drop date. This issue tracks the cleanup so the redirects don't linger past 0.7.0.
Scope
- Remove the 5 `/index/*` redirect routes from `frontend/src/app/router/routes.ts`.
- Remove `'/index'` from `matchPrefixes` in `frontend/src/shared/ui/AppSidebar.vue`.
- Update the router tests in `frontend/src/app/router/router.test.ts` to assert the legacy paths now resolve to the 404 / Stores-list catch-all (whichever is current behaviour).
- Verify no remaining references to `/index` strings in the codebase (`rg '/index'`).
Out of scope
- Backend changes — the redirects are purely client-side.
- Renaming the underlying `stores` SQLite table (it's already correctly named).
Acceptance criteria
When to ship
Target: 0.7.0 (the redesign milestone). 0.6.1 already shipped the `/ingest` paths, so anyone hitting a stale bookmark in the 0.7.0 window has had a full minor-version cycle of grace.
References
Context
#225 moved Stores routes from `/index/` to `/ingest/` and added redirect routes so existing bookmarks keep working. The sidebar's `matchPrefixes` was extended to `['/ingest', '/index']` so the nav item stays active during a back-compat redirect.
The redirect is transitional — it should not survive forever:
```ts
// frontend/src/app/router/routes.ts
{ path: '/index', redirect: '/ingest' },
{ path: '/index/new', redirect: '/ingest/new' },
{ path: '/index/:store', redirect: (to) => `/ingest/${to.params.store}` },
{ path: '/index/:store/edit', redirect: (to) => `/ingest/${to.params.store}/edit` },
{ path: '/index/:store/query', redirect: (to) => `/ingest/${to.params.store}/query` },
```
The current commit says "until all caches are warm", with no explicit drop date. This issue tracks the cleanup so the redirects don't linger past 0.7.0.
Scope
Out of scope
Acceptance criteria
When to ship
Target: 0.7.0 (the redesign milestone). 0.6.1 already shipped the `/ingest` paths, so anyone hitting a stale bookmark in the 0.7.0 window has had a full minor-version cycle of grace.
References