mirror of
https://github.com/codeflash-ai/codeflash-internal.git
synced 2026-05-04 18:25:18 +00:00
## Summary - Adds `/roadmap` page with visual flowchart showing codeflash-python and codeflash-agent planned work - Gated behind `isTeamMemberCheck` (same auth pattern as `/observability`) - Sidebar link visible only to team members - Status tracking with distinct visual treatments: compact left-accent for shipped, hero cards with glow for in-progress, dashed wireframe for planned ## Test plan - [ ] Visit `/roadmap` as a team member — page renders with status cards - [ ] Visit `/roadmap` as a non-team member — redirects to `/` - [ ] Sidebar shows roadmap link only for team members - [ ] Build passes (`npm run build`) - [ ] All tests pass (`npm test` — 39/39)
3 KiB
3 KiB
| date | branch |
|---|---|
| 2026-04-01 | main |
Accomplished
- Created an internal employee-only
/roadmappage in cf-webapp (Next.js) - Gated behind existing
isTeamMemberCheckin middleware + server-sideisTeamMember()check - Added
/roadmaptoConditionalLayoutexclusion 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
ConditionalLayoutexclusion, 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
- Create a feature branch and commit all changes (currently on main, user hasn't asked to commit yet)
- Pull latest from origin/main (7 commits behind) and resolve any conflicts
- Run the dev server (
npm run devin js/cf-webapp) and visually verify the page - Consider adding more planned items to the roadmap as they're defined
- The roadmap data structure supports
FlowRowwith "single" and "branch" types, so new items can be added as rows that connect vertically