---
date: 2026-04-01
branch: main
---

## Accomplished
- Created an internal employee-only `/roadmap` page in cf-webapp (Next.js)
- Gated behind existing `isTeamMemberCheck` in middleware + server-side `isTeamMember()` check
- Added `/roadmap` to `ConditionalLayout` exclusion list so it renders as a standalone page (no sidebar)
- Added "Roadmap" link with Map icon to the sidebar, visible only to team members (same block as Observability)
- Built a visual flowchart UI with amber-themed nodes, dot-grid background, numbered badges linking to detail cards below
- Merged codeflash-python and codeflash-agent planned items into a single unified flow (3 branching nodes feed into 1 node below)
- Wrote a rationale section explaining: original CLI's single-language design + fragile multi-lang bolt-on, the codeflash-python + codeflash-core rewrite, the OptimizationSession API gap (building blocks done, experiment loop stubbed), and the goal of making codeflash-python the autonomous orchestrator
- Added a two-track strategy section: Consumer (codeflash --file / --all unchanged) vs B2B/Enterprise (agentic capabilities)
- Applied avoid-ai-writing skill to clean up language: killed em dash overuse, hollow intensifiers, compulsive triads, indirect phrasing, vague B2B copy

## Current State
- Branch: `main` (behind origin/main by 7 commits)
- Uncommitted changes:
  - `js/cf-webapp/src/app/roadmap/page.tsx` (new file - the roadmap page)
  - `js/cf-webapp/src/middleware.ts` (added /roadmap to team gate + matcher)
  - `js/cf-webapp/src/components/conditional-layout.tsx` (added /roadmap to standalone page list)
  - `js/cf-webapp/src/components/dashboard/sidebar.tsx` (added Roadmap link + Map icon import)
  - `.tessl/RULES.md` (modified by tessl, not related to our work)
- Tests: not run (TypeScript type-check passes clean via `npx tsc --noEmit`)

## Key Decisions
- Used the same auth pattern as `/observability` (middleware redirect + server-side check) rather than inventing a new gate
- Page renders standalone (no sidebar) via `ConditionalLayout` exclusion, same as observability
- Roadmap data is hardcoded in the component as a TypeScript array, easy to edit manually
- Used amber/gold accent color (not blue) to differentiate planned items and give a forward-looking feel
- Unified all planned items (codeflash-python + codeflash-agent) into one flow rather than separate sections, per user preference
- Rationale text explains the rewrite motivation: original CLI was Python-only, multi-language was bolted on, architecture doesn't support autonomous operation

## Blockers
- None

## Next Steps
1. Create a feature branch and commit all changes (currently on main, user hasn't asked to commit yet)
2. Pull latest from origin/main (7 commits behind) and resolve any conflicts
3. Run the dev server (`npm run dev` in js/cf-webapp) and visually verify the page
4. Consider adding more planned items to the roadmap as they're defined
5. The roadmap data structure supports `FlowRow` with "single" and "branch" types, so new items can be added as rows that connect vertically
