summaryrefslogtreecommitdiff
path: root/frontend/src
Commit message (Collapse)AuthorAgeFilesLines
* Tighten mission/makima top space and use highlighted nav statesoryu-co2026-05-062-18/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CTA row is now a top navbar, so the old 'Close' label on the active panel button is redundant — the button itself should look like the current page. Two fixes here: 1. Replace 'Close' with a persistent active highlight. - LandingPage.tsx: button keeps its label ('Mission' / 'MAKIMA') and gains an is-active class + aria-current="page" when its panel is open. heisei.css renders the active state as a solid amber underline + amber text — same visual language as the hover indicator, just persistent. - The button still toggles the panel closed when clicked again, so the interaction is unchanged; only the labelling moved. 2. Remove the white-space band above mission content. - The legacy .modern-landing-page wrapper from pc98.css pinned itself at top: 120px and height: calc(100vh - 120px), matching the original 120px-tall floating header. The new header is 72px (56px on mobile), which left ~50px of dead space below the navbar before the mission/makima content started. - Override the wrapper to top: 72px / height: calc(100vh - 72px) on desktop and 56px on mobile so it sits flush under the header. - Cover-content padding-top retuned for the new wrapper origin: desktop default 84px, mission-mode 72px (navbar 52 + 20 gap). Mobile default 76px, mission-mode 64px (navbar 48 + 16 gap). Verified at 1280x720: navbar y=72-124 · mission headline starts y=144 · 20px gap ✓ active Mission button: 'taisho-cta is-active', aria-current=page ✓ npm run build passes (CSS 92.6 kB / 18.1 kB gzip). Screenshots in docs/heisei-screenshots/after-*.jpg refreshed against the tightened layout.
* Center mobile navbar buttons (kill leftover pc98 margin-top)soryu-co2026-05-061-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | The bottom-CTA layout in pc98.css had a mobile-specific margin-top: 20px on .taisho-cta, which carried over into the new top navbar and pushed every button 20px below the navbar's vertical center on mobile (visible misalignment at 390x844 — the Mission/MAKIMA/Login pills were sitting near the bottom edge of the bar). - Add margin: 0 !important to .taisho-cta in heisei.css (and to the mobile-block override) so the legacy column-layout margin is wiped on both breakpoints. - Switch buttons to height: 32px + line-height: 32px for stable vertical centering inside the 48px (mobile) / 52px (desktop) navbar. - Force align-self: center on .cta-left/.cta-right so they don't inherit any stretched height from previously-applied rules. Verified via Playwright DOM probe at 390x844: navbar y=56–104 (centerY 80) · buttons y=64–96 (centerY 80) ✓ And at 1280x720: navbar y=72–124 (centerY 98) · buttons y=83–113 (centerY 98) ✓ Screenshots in docs/heisei-screenshots/after-*.jpg refreshed.
* Move CTA row into a top navbar below the floating headersoryu-co2026-05-061-37/+86
| | | | | | | | | | | | | | | | | | | | | Per review feedback, lift Mission / MAKIMA / Login from the bottom of the cover into a fixed navbar that sits flush beneath the floating header — standard site pattern. - .cta-area is now position: fixed, top: 72px, height 52px (top: 56px, height 48px on mobile), with the same frosted-glass + hairline treatment as the header so they read as one stacked nav block. - Buttons become ghost-link items inside the bar with an animated underline-from-center on hover; Login keeps its warm amber→rose primary treatment but compact. - cover-content top padding bumped to 156px (desktop) / 124px (mobile) so the masthead and hero clear both stripes. - bottom-stats no longer needs to dodge a fixed-bottom CTA — pulled back to bottom: 24px (desktop) and ~20px + safe-area (mobile). - npm run build passes (CSS 91.6 kB / 17.9 kB gzip). Screenshots in docs/heisei-screenshots/after-*.jpg refreshed against the new navbar layout (1440x900 desktop, 390x844 mobile, 2x DPR).
* Replace PC-98 landing aesthetic with Heisei Twilight themesoryu-co2026-05-062-0/+525
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Layered new heisei.css (loaded after pc98.css) over the public landing page so the late-2000s/early-2010s anime cue lands subtly without a ground-up rewrite. Internal VN/contracts/daemons screens are untouched. What changed - Twilight gradient backdrop (deep night → dusk plum → horizon rose + amber) replaces the chunky animated GIF background. - Soft bokeh plates and a faint scanline overlay sit behind the content for atmosphere. - Floating header is now frosted glass with a 1px hairline; the system status pills use Inter-tracked uppercase labels with desaturated cyan/magenta indicators. - Vertical kanji masthead becomes a quiet Noto Serif JP column rather than an arcade box; English subtitle picks up a warm amber tone. - Issue badge is a flat pill; LED heart still pulses but in muted rose. - Empty hero state shows a faint tactical reticle (corner brackets) and bilingual JP/EN tagline — Ghost-in-the-Shell SAC HUD vibe. - Mission and MAKIMA panels render as Heisei magazine columns with a Noto Serif JP headline, accent rule (amber for Mission, magenta for MAKIMA), and Inter body copy. - Buttons are flat with hairline borders and a left-edge amber accent sweep on hover; the Login CTA keeps a warm gradient as the primary action. - Bottom Velocity/Energy strip becomes a small HUD pill with corner bracket detailing. - Mobile breakpoint tightens header, padding, headline size, and stacks the secondary CTAs back to a column. - prefers-reduced-motion respected for the heart pulse and image pan. How to verify - cd frontend && npm install && npm run dev - Compare http://localhost:5173 with the live soryu.co (PC-98 build) - Toggle the Mission and MAKIMA panels; resize to 390x844 for mobile. Implementation notes - Single new file: frontend/src/styles/heisei.css (~16 KB). - main.tsx imports heisei.css after pc98.css so the override wins. - No JSX/component changes — design lives entirely in CSS, easy to revert by removing the import line. - npm run build passes (vite v5.4, 91 kB CSS gzipped to 17.8 kB).
* revert PRs #93-#98; enforce strict-linear-DAG + mandatory directive verify ↵soryu2026-04-2810-1313/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#100) * revert: roll back PRs #93-#98 to pre-Lexical baseline Reverts the entire chain of directive document UI work and the homepage redesign, restoring the working tree to the state at 3679ceb (before c8b169d / PR #93). PRs reverted: - #93 c8b169d feat: Document UI for directive orchestration with Lexical editor - #94 d6f01a6 fix: compilation error and warnings already merged via PR #93 - #95 5aa3faf fix: resolve compilation error and warnings in Rust backend - #97 d513f93 feat: document UI with contract blocks, expandable logs, and interaction controls - #96 6366941 feat: Redesign homepage with professional PC-98 styling - #98 d1fdfb1 feat: revert broken directive PRs, re-implement Lexical document orchestrator The directive Document UI experiments produced fragile output and merge artifacts; follow-up commits in this PR change orchestration to favor strictly linear DAGs and add goal/conflict verification so future runs do not require this kind of cleanup. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(directive): strict-linear-DAG planning + mandatory `directive verify` Tightens directive orchestration so the final PR almost never needs a hand-merge: 1. Planning prompts now strongly bias toward strictly linear DAGs. Parallel steps are reserved for genuinely independent work (e.g. disjoint modules); the default for "in doubt" is sequential. Linear chains inherit each previous step's worktree, so the final merge is typically just a rebase against the base branch. 2. New CLI command `makima directive verify` does a local in-memory `git merge-tree` of HEAD against `<remote>/<base>` and exits non-zero with a list of conflicting files if the PR would not merge cleanly. Pure-local — no API call, no working-tree mutation. 3. Completion / PR-creation prompts now mandate three pre-push checks: a. build (`cargo check` and/or `tsc --noEmit`), b. `makima directive verify --base <base_branch>` must exit 0, and c. an explicit goal-alignment self-check against the diff. The orchestrator is told NOT to push, create the PR, or call `makima directive update` until all three pass. Skipping any of them is documented as a directive failure. The combination means that with a linear DAG the final PR-creation task should almost never see a real conflict — when it does, that is treated as a planning bug to escalate rather than something to paper over with `-X theirs`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(frontend): TS errors pre-existing on master - TaskSlideOutPanel: declare missing `selectedFileDiff` / `selectedFilePath` state hooks that were referenced everywhere but never created, and re-balance the JSX so the `<>...</>` fragment in the non-diff branch is closed (the previous indentation/braces would not parse). - api.ts: add a `getWorktreeDiff` thin wrapper around `getTaskDiff` so TaskDetail's per-file click handler type-checks (the per-file slice is a future improvement; today both return the full task diff). - WorktreeFilesPanel: remove unused `isClickable` local; the gating already reads `onFileClick` directly inline. Run after revert: `npx tsc --noEmit` exits 0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat: revert broken directive PRs, re-implement Lexical document ↵soryu2026-04-2828-3861/+106
| | | | | | | | | | | | | | | orchestrator (#98) * feat: soryu-co/soryu - makima: Revert broken directive PRs and verify clean build * feat: soryu-co/soryu - makima: Re-implement frontend: Lexical document editor with feature flag and base components * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Add contract blocks, expandable log rows, and interaction controls * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: End-to-end build verification and integration polish
* feat: Redesign homepage with professional PC-98 styling (#96)soryu2026-04-283-169/+524
| | | | | | | * feat: soryu-co/soryu - soryu: Redesign landing page layout and header for professional style * feat: soryu-co/soryu - soryu: Restyle CSS for professional landing page * feat: soryu-co/soryu - soryu: Integrate and polish landing page styles with component
* feat: document UI with contract blocks, expandable logs, and interaction ↵soryu2026-04-2818-60/+1819
| | | | | | | | | | | | | | | | | | | | | controls (#97) * feat: soryu-co/soryu - makima: Rename tasks to contracts in directive API and types * feat: soryu-co/soryu - makima: Add contract interaction panel with comment and interrupt * feat: soryu-co/soryu - makima: Build expandable contract log feed in StepsDiagram * feat: soryu-co/soryu - makima: Rename tasks to contracts throughout document UI and add contract block support * feat: soryu-co/soryu - makima: Add comment and interrupt controls to expanded step log feed * feat: soryu-co/soryu - makima: Audit and fix Document UI feature flag visibility and missing implementations * feat: soryu-co/soryu - makima: Add expandable step rows with live log feed in StepsDiagram * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Integrate all document UI components and final polish
* feat: Document UI for directive orchestration with Lexical editor (#93)soryu2026-04-2821-4/+2788
| | | | | | | | | | | | | | | * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Save previous goal on update and include history in re-planning prompt * feat: soryu-co/soryu - makima: Install Lexical and create base document editor component * feat: soryu-co/soryu - makima: Create directive file system sidebar and document layout * feat: soryu-co/soryu - makima: Create custom Lexical step diagram block * feat: soryu-co/soryu - makima: Add context menu and goal auto-update integration * WIP: heartbeat checkpoint
* feat: Add daemon page with download binary and Cloudflare Agent setup (#77)soryu2026-02-225-0/+436
| | | | | | | | | | | | | * feat: soryu-co/soryu - makima: Create DaemonList and DaemonDetail page components * feat: soryu-co/soryu - makima: Add daemon page routes, CSS styles, and navigation * feat: soryu-co/soryu - makima: Create daemon page with download and monitoring * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Integrate Cloudflare Agent setup into daemon page
* Add auto_merge_local option for local-only contracts (#50)soryu2026-01-312-0/+4
| | | | | | | | | | | | | | | | | | | | When local_only=true on a contract, all completion actions are skipped. This adds a new option auto_merge_local that, when enabled along with local_only, will automatically merge completed task changes to the master/main branch locally (without pushing or creating PRs). Changes: - Add auto_merge_local column to contracts table (migration) - Add auto_merge_local field to Contract model and summary - Update CreateContractRequest and UpdateContractRequest structs - Update contract repository create/update functions - Add auto_merge_local to WebSocket protocol StartTask command - Pass auto_merge_local through spawn_task and run_task functions - Modify task manager completion logic: if local_only=true AND auto_merge_local=true, execute 'merge' completion action locally - Update all server handlers to retrieve and pass auto_merge_local - Add TypeScript types to frontend components Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* fix: Remove mistaken red team UI from VN frontend (#47)soryu2026-01-295-1102/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: Add Red Team UI to makima/frontend contract creation - Add redTeamEnabled and redTeamPrompt state to contracts page - Add "Enable Red Team Monitoring" checkbox with description - Add conditional "Custom Review Criteria" textarea when enabled - Include redTeamEnabled/redTeamPrompt in CreateContractRequest - Reset red team fields when canceling contract creation - Add redTeamEnabled to ContractSummary and Contract types - Add redTeamEnabled/redTeamPrompt to CreateContractRequest type - Add Red Team badge (🔍) to ContractList for enabled contracts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: Remove mistaken red team UI from VN frontend PR #39 accidentally added red team UI code to the wrong frontend directory (frontend/ instead of makima/frontend/). The correct implementation is already in makima/frontend/. This commit removes the mistaken changes: - Delete ContractCreateModal.tsx (was added by mistake) - Revert ContractList.tsx to remove red team badge and create modal - Revert ContractDetail.tsx to remove red team tab and notifications - Revert types.ts to remove contract/task types - Revert pc98.css to remove red team styling Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * [WIP] Heartbeat checkpoint - 2026-01-29 02:18:40 UTC --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Add Red Team CLI command and frontend UI (#39)soryu2026-01-275-22/+1102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Red Team CLI command and frontend UI Backend additions: - Add `makima red-team notify` CLI command for red team tasks - Add RedTeamCommand enum with Notify subcommand - Add red_team API client module for notify endpoint - Add RedTeamNotifyArgs with severity, task, file, context options Frontend additions: - Add ContractCreateModal with red team toggle and prompt input - Update ContractDetail with red-team tab for notifications - Update ContractList with red team enabled badge - Add TypeScript types for RedTeamNotification and related interfaces Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Add CSS styles for Red Team frontend components Add comprehensive styling for: - Contract list and detail containers - Red team badge styling with gradient backgrounds - Tab navigation with red team specific styling - Red team notifications panel with severity indicators - Contract creation modal form elements - Task badges for supervisor and red team roles Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix missing local_only field in TUI CreateContractRequest Add the missing local_only field to the CreateContractRequest struct initialization in the TUI contract creation handler. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * [WIP] Heartbeat checkpoint - 2026-01-27 03:07:28 UTC --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Move files tab and file pages to be accessible via contracts (#27)soryu2026-01-254-1/+444
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: remove Files from top-level navigation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: update file links to use contract-scoped routes Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: add contract context to FileDetail component - Add contractId, contractName, and onContractClick props to FileDetailProps - Update breadcrumb navigation to show contract name with path separator when viewing file within a contract context - Fall back to "Back to list" when no contract context is provided - This enables the FileDetail component to be used within the /contracts/:contractId/files/:fileId route Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: update routes to nest files under contracts - Add react-router-dom for client-side routing - Create ContractList component to list all contracts - Create ContractDetail component with tabs (overview, files, tasks, repos) - Create FileDetail component to view individual files - Configure routes: - /contracts - list all contracts - /contracts/:id - view contract details with Files tab - /contracts/:contractId/files/:fileId - view file in contract context - Remove standalone file routes (/files, /files/:id) Files are now only accessible through their parent contract. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Task completion checkpoint * Task completion checkpoint * Task completion checkpoint * Task completion checkpoint * Task completion checkpoint * Task completion checkpoint * Task completion checkpoint * Task completion checkpoint --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Update Makima panel in soryu to match makima/frontend descriptionsoryu2026-01-112-17/+19
|
* Add Makima inline icon and mesh copysoryu2025-12-233-13/+22
|
* Add Makima modalsoryu2025-12-233-15/+91
|
* Lower CTA buttons to bottom on desktopsoryu2025-12-231-2/+13
|
* Frontend: remove unused MissionDrawer component after mission screen transformsoryu2025-12-231-120/+0
|
* Frontend: mission screen transform with dimming, auto-pan image; hide stats ↵soryu2025-12-233-19/+238
| | | | in mission mode
* Improve mobile layout and styles\n\n- Move in-app buttons to a fixed bottom ↵soryu2025-12-233-10/+18
| | | | bar on mobile\n- Shrink masthead and volume badge on landing\n- Import mobile stylesheet in app entry\n- Place velocity/energy stats above bottom buttons\n- Adjust dialogue/input spacing to avoid overlap
* Increase mobile breakpoint to 768px for bottom CTA and compact masthead/issuesoryu2025-11-171-0/+47
|
* Refine manga masthead and issue badge; switch volume indicator to small red ↵soryu2025-11-162-1/+26
| | | | glowing heart
* Update masthead looksoryu2025-11-161-15/+87
|
* Landing page redesign: minimalist layout, Mission/Contact buttons, Login ↵soryu2025-11-162-133/+124
| | | | | | redirect; update title and favicon Remove top level backend as it is used. Will be part of this monorepo, but structured differently
* Initial commitsoryu2025-11-1519-0/+6244