Commit Graph

156 Commits

Author SHA1 Message Date
posimai 7ca153546d feat(station): add posimai-station fullscreen kiosk dashboard
Real-time system monitor for Ubuntu PC HDMI display.
Polls /api/health every 30s for CPU/memory/uptime metrics,
checks all service endpoints, Aurora design with JetBrains Mono clock.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 09:31:44 +09:00
posimai 6c138981a7 fix(posimai-dev): accurate cpu_pct via 100ms dual-sample diff
Single snapshot returns lifetime average (near 0 on idle systems).
Two samples 100ms apart gives real-time cpu usage per core, then averaged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 07:50:16 +09:00
posimai c09d5defd3 feat(posimai-dev): add /api/health endpoint with CORS
Returns cpu_pct, mem_used_mb, mem_total_mb, uptime_s, active_sessions, hostname, node_version, platform, timestamp.
Enables Atlas and other Tailscale-accessible clients to pull realtime Ubuntu PC metrics.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 07:48:01 +09:00
posimai f57125c5b6 fix(posimai-dev): aurora visibility, scrollbar styling
- Force xterm-viewport/screen/canvas to transparent so container aurora shows through
- theme.background: 'transparent' (was rgba with 0 alpha — some renderers ignored it)
- Scrollbar: 5px, violet 40% opacity, thin Firefox fallback via scrollbar-color

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 07:26:06 +09:00
posimai 57fd704497 fix(posimai-dev): dot status indicator, /todo command, hide text badge
- Header dot: grey→green(pulse) on connect, red on disconnect — replaces text badge
- /morning renamed to /todo (今日のタスク)
- Status text badge hidden (dot carries the signal now)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 01:13:59 +09:00
posimai 28b787b0df feat(posimai-dev): slash commands, quick chips, input history, paste fix, voice toggle
- /morning /status /commit /deploy /fix /explain /test /ls — popup with keyboard nav
- Quick chips row: tap to send preset prompts (朝の確認/状況確認/コミット/デプロイ/エラー修正)
- Input history: ArrowUp/Down navigates previous messages (bash-style)
- Paste fix: submitChat keeps focus on chat input so Ctrl+V works immediately
- Right-click on terminal: paste clipboard to shell
- Voice auto-send toggle in settings panel (persisted to localStorage)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 01:04:47 +09:00
posimai d7f38faa59 feat(posimai-dev): voice input, bigger Claude icon, aurora bg, session in settings
- Web Speech API mic button (ja-JP, pulses red while listening, hidden if unsupported)
- Claude bot icon 15px → 20px, button 32px → 36px
- Aurora gradient opacity 7% → 14% (visible through transparent xterm canvas)
- Session ID moved to settings panel (hidden in chat bar)
- Removed chat input placeholder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 00:55:12 +09:00
posimai 170dfaa7e0 fix(posimai-dev): icon-only Claude btn, slim scrollbar, move session badge to chat bar
- Claude 開始 → bot icon only (32x32, same style as settings btn)
- xterm-viewport scrollbar: 4px, translucent violet, rounded
- session badge moved from header to chat bar left edge (mobile-friendly)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 00:48:41 +09:00
posimai 1a00108255 feat(posimai-dev): add sessions viewer, chat bar, Claude button, session logging
- sessions.html: ANSI-stripped log viewer with card list, clickable to expand
- index.html: chat input bar (mobile-friendly), Claude 開始 button, session badge, glassmorphism header
- server.js: session logging to ~/posimai-dev-sessions/, auto-cd to posimai-project, sessions REST API

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 00:42:16 +09:00
posimai 7d6f40e2b7 fix: systemd service — correct node path to /usr/bin/node 2026-03-31 00:28:52 +09:00
posimai b61831d3a2 feat: posimai-dev — aurora terminal, systemd service, atlas sync, master-architecture update 2026-03-31 00:25:44 +09:00
posimai f38b76a9e9 feat: auto-detect Tailscale cert for HTTPS 2026-03-30 23:45:25 +09:00
posimai 8f5c205edd fix: settings panel layout — テーマ as section header 2026-03-30 23:29:39 +09:00
posimai 6f58397f89 feat: add posimai-dev — self-hosted terminal portal with xterm.js 2026-03-30 23:23:28 +09:00
posimai 29c8bb9c9e fix: correct stale references in LEARNINGS.md 2026-03-29 22:57:33 +09:00
posimai 83c159a989 chore: remove stale Synology-era docs and temp patch files 2026-03-29 22:56:28 +09:00
posimai c677924972 docs: restore disaster recovery guide, add to CLAUDE.md and AGENTS.md 2026-03-29 22:30:39 +09:00
posimai b945508314 docs: refactor and slim down AI rule files to reduce token consumption 2026-03-29 22:16:29 +09:00
posimai 19379f0cdc docs: update architecture to 2026 self-hosted auth paradigm, dropping Supabase auth migration 2026-03-29 21:51:20 +09:00
posimai cc8c1cc01d chore: add atlas accent color, fix VPS URL, add atlas/brief/veil to table 2026-03-29 21:26:12 +09:00
posimai 02d6a15b39 docs: add architecture freshness rule + full rewrite of master-architecture.md
- CLAUDE.md/AGENTS.md: add sync rule for docs/master-architecture.md on infra changes
- master-architecture.md: full rewrite (2026-03-11→2026-03-28, 9 apps→23 apps,
  Synology-centric→VPS+Supabase Auth confirmed)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 07:31:55 +09:00
posimai 8902828a5d fix: update public URL log to api.soar-enrich.com 2026-03-26 23:06:06 +09:00
posimai 7454b0eda5 feat: add Magic Link + Passkey (WebAuthn) authentication to server.js
- Add JWT session auth (jsonwebtoken v9) alongside legacy API key auth
- Magic Link: POST /auth/magic-link/send + GET /auth/magic-link/verify
- Passkey: register/begin+finish, login/begin+finish endpoints
- Session: GET /auth/session/verify, DELETE /auth/session
- Passkey management: GET/DELETE /auth/passkeys
- New DB tables: magic_link_tokens, passkey_credentials, auth_sessions,
  magic_link_rate_limit, webauthn_user_handles
- Users table: add email + email_verified columns (migration)
- Rate limiting on magic link sends (3 per 10min per email)
- Resend email integration (stubbed until DNS verified)
- SimpleWebAuthn v13 (ESM) loaded via dynamic import
- authMiddleware: JWT-first, fallback to API key (backward compat)
- WEBAUTHN_RP_ID/ORIGINS/JWT_SECRET configurable via env vars

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 08:31:11 +09:00
posimai 034ebf2c1e fix: update deploy-server.sh to target VPS instead of Synology 2026-03-25 23:23:31 +09:00
posimai db4674df36 fix: update public URL to posimai.soar-enrich.com in server.js log 2026-03-25 23:23:02 +09:00
posimai ae912344e4 chore: add Roadmap app registration to new app checklist; clarify pre-impl steps 2026-03-22 23:43:53 +09:00
posimai f6488eaf43 docs: update new app checklist — add git/Vercel steps, fix categories, logo.png step
- Add numbered steps 1 (git init/Gitea/GitHub push) and 2 (Vercel connect)
- Fix Step 0 categories to match actual APP_CATEGORIES ids/labels (add routine, business, ideas; fix create label)
- Add Step 10: logo.png deploy after user provides the file
- Renumber downstream steps accordingly (1→3, 2→4, etc.)
- Same changes applied to AGENTS.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 18:28:10 +09:00
posimai df0e1b66ad fix: TTS pre-warm — prioritize user requests, fix cache key mismatch
- Split preWarmBusy from ttsBusy so user requests are never blocked by pre-warm
- /tts endpoint waits up to 6s for pre-warm synthesis then proceeds
- Pre-warm skips articles when user is actively using TTS
- Fix text format to match Brief exactly (remove substring(60), fix source fallback)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 18:23:29 +09:00
posimai fa7da98511 fix: clarify vercel git connect is AI responsibility on new app creation 2026-03-22 17:58:19 +09:00
posimai c73f4f3180 feat: add /feed/media CRUD endpoints to server.js
Adds GET/POST/PATCH/DELETE for feed_media table, bringing git in sync
with the deployed Synology version. Safe to deploy-server.sh after this.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 17:06:14 +09:00
posimai 1e0d7f602e fix: Gitea repo auto-creation via git credential store — no manual step needed 2026-03-22 16:51:56 +09:00
posimai 3897a2ad33 docs: add posimai-roadmap to project table in CLAUDE.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 16:39:32 +09:00
posimai de5f398711 docs: add App Browser to new app checklist (step 2)
App Browser (/apps) and Asset Map (projects.json) are managed separately.
Both must be updated when a new app is created.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 15:20:56 +09:00
posimai 32fdd6debe docs: add APP_IDEAS.md, reference in CLAUDE/AGENTS, fix ponshu APK link 2026-03-22 13:27:56 +09:00
posimai 863f22c4ca docs: add logo.png prompt rule to new app checklist 2026-03-22 12:14:04 +09:00
posimai cb97ddbc1d docs: add posimai-brief to project table in CLAUDE.md 2026-03-21 13:38:52 +09:00
posimai cf686ce6a4 chore: add posimai-veil to project table 2026-03-21 11:00:15 +09:00
posimai e7ccd829f6 fix: Pulse UPSERT COALESCE — prevent partial POST from wiping other metrics
ON CONFLICT DO UPDATE now uses COALESCE($3, pulse_log.mood) etc.
so sending only {mood:3} no longer sets energy/focus to NULL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 23:01:18 +09:00
posimai db5b3a3961 docs: add 'no-action-needed' section to CLAUDE.md / AGENTS.md (Lucide defer etc.)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 22:16:03 +09:00
posimai edea24a903 chore: add posimai-ui to .gitignore (individual repo) 2026-03-19 11:31:00 +09:00
posimai 47e7a2d79d docs: track docs/ in git, add api-key-architecture, remove stale handoffs 2026-03-19 11:07:12 +09:00
posimai c8a141ba22 feat: add posimai-ui design system, update template and docs 2026-03-19 10:10:11 +09:00
posimai 4c3308ccdd chore: allow Write and Edit tools in settings 2026-03-19 10:02:47 +09:00
posimai b8b26373dd chore: update claude-settings.json (memory-push hook) and server.js backup 2026-03-18 00:07:40 +09:00
posimai 749d1483f3 chore: update claude-settings.json (add memory-push PostToolUse hook) 2026-03-17 22:25:29 +09:00
posimai 82fb93fb3b feat: add memory-push.sh hook and aider-run.sh for Synology 2026-03-17 22:25:14 +09:00
posimai 148041ed07 feat: add create-app.sh, _template-minimal, update deploy-server.sh (passwordless), update CLAUDE.md 2026-03-17 22:13:39 +09:00
posimai 862fd00374 chore: sync AGENTS.md with CLAUDE.md - mandatory Timeline update rule 2026-03-17 21:49:32 +09:00
posimai 50e5a01f0b fix: correct double separator and sync rule wording in CLAUDE.md and AGENTS.md
- Remove duplicate --- separator (copy-paste artifact from previous session)
- Update sync rule: "same content" -> "equivalent content" to allow AI-specific tool names
- Add explicit rule for when search tools are unavailable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 21:47:47 +09:00
posimai 4dd1231832 chore: make Dashboard Timeline update mandatory for all code changes 2026-03-17 21:34:47 +09:00