# Remove frontend cooker route

Removed the experimental `/frontend-cooker` page from the Next.js app and cleaned up repository references that still listed it as a public route or scanner candidate.

2026-05-29 09:51 EDT Beads: islandflow-dk5 Scope: web route removal

## Summary

The frontend cooker prototype is no longer routable in the web app. Its page component and CSS module were deleted, and the attack-surface documentation now reflects the remaining public pages.

## Changes Made

- Deleted `apps/web/app/frontend-cooker/page.tsx`.
- Deleted `apps/web/app/frontend-cooker/frontend-cooker.module.css`.
- Removed `/frontend-cooker` from the architecture entrypoint inventory.
- Removed `/frontend-cooker` from the public routes authorization matrix.
- Removed stale scanner candidate entries for the deleted page from `piolium/attack-surface/candidates-summary.md` and `piolium/attack-surface/candidates.jsonl`.

## Context

The removed page was an experimental visual exploration route with several mock terminal variations. It was still exposed by file-system routing and listed in security inventory artifacts even though it was not part of the core Islandflow terminal workflow.

## Important Implementation Details

Next.js removes the route when the corresponding folder no longer contains a page file. No redirects or replacement route were added, so requests to `/frontend-cooker` will now fall through to the app's not-found behavior.

The existing local modification to `apps/web/next-env.d.ts` was left untouched because it predated this task.

## Relevant Diff Snippets

The repo asks for `@pierre/diffs` output by default. Attempting `bunx @pierre/diffs --help` failed because the package does not expose a runnable CLI executable, so this document includes a labeled plain unified diff fallback.

    diff --git a/apps/web/app/frontend-cooker/page.tsx b/apps/web/app/frontend-cooker/page.tsx
    deleted file mode 100644
    --- a/apps/web/app/frontend-cooker/page.tsx
    +++ /dev/null
    @@ -1,55 +0,0 @@
    -"use client";
    -
    -import { useMemo, useState } from "react";
    -import styles from "./frontend-cooker.module.css";
    -...
    -export default function FrontendCooker() {
    -  const [active, setActive] = useState(0);
    -  const current = variations[active];
    -  const nav = useMemo(() => variations.slice(0, 5), []);
    -  return <div className={styles.cookerShell}>...</div>;
    -}

    diff --git a/piolium/attack-surface/architecture-entrypoints.md b/piolium/attack-surface/architecture-entrypoints.md
    @@ -12,7 +12,7 @@
     ### Web app (`apps/web/app`, Next.js on port 3000)
    -- Pages: `/`, `/tape`, `/signals`, `/charts`, `/news`, `/options`, `/replay`, `/frontend-cooker`.
    +- Pages: `/`, `/tape`, `/signals`, `/charts`, `/news`, `/options`, `/replay`.

    diff --git a/piolium/attack-surface/public-routes-authz-matrix.md b/piolium/attack-surface/public-routes-authz-matrix.md
    @@ -29,7 +29,7 @@
    -| 17 | Next public pages `/`, `/tape`, `/signals`, `/charts`, `/news`, `/options`, `/replay`, `/frontend-cooker` | ...
    +| 17 | Next public pages `/`, `/tape`, `/signals`, `/charts`, `/news`, `/options`, `/replay` | ...

## Expected Impact for End-Users

Users will no longer be able to open the experimental frontend cooker page. The production terminal routes remain unchanged: `/`, `/tape`, `/signals`, `/charts`, `/news`, `/options`, and `/replay`.

## Validation

Passed: `bun --cwd=apps/web run build`. The resulting Next.js route list did not include `/frontend-cooker`.

Also checked the repository with `rg -n "frontend-cooker|Frontend Cooker|/frontend-cooker" -S .`; no remaining references were found after the cleanup.

## Issues, Limitations, and Mitigations

No runtime redirect was added. That is intentional for a removal request, but any external bookmark to `/frontend-cooker` will now receive the app's not-found response.

The `@pierre/diffs` CLI was not available through `bunx`, so the diff section uses a plain unified diff fallback.

## Follow-up Work

No follow-up issue was filed because the requested route and known references were removed, and validation passed.