Commit Graph

85 Commits

Author SHA1 Message Date
22719be3c8 discoverability: version→changelog, status pill→status (0.54.0)
- topbar version (vX.Y.Z) is now a button linking to the changelog — the
  natural 'what's new' entry point (moved out of the logo button)
- footer 'All systems operational' pill now links to the status page, with
  a hover lift
- both new utility pages are now reachable from natural entry points
- also audited the full home page on mobile (390px): hero CTAs wrap, flow
  diagram stacks vertically, session preview stacks, live screen renders,
  and zero horizontal overflow — no regressions from recent additions
- verified live: both links route correctly
2026-06-10 07:53:23 +08:00
0c8db141d1 tavern screen shows live platform stats (0.53.0)
- the in-game cyan screen no longer shows a fake chart; it now cycles the
  real CLASSES / ONLINE / SESSIONS counts (big number + label) over a dim
  sparkline, with a cross-fade between metrics
- stats flow from Home into TavernGame via a ref the render loop reads, so
  the canvas animation stays running while data updates
- ties the brand centerpiece to real product data — the tavern's TV shows
  the live business
- verified live: screen renders the live class count legibly
2026-06-10 07:46:20 +08:00
d9a62b4c3c changelog timeline page (0.52.0)
- new #/changelog route: a vivid vertical timeline of releases with version
  badges, titles, dates and highlights (14 entries, 0.30 → 0.51)
- communicates the product's continuous shipping cadence — trust + transparency
- scroll-reveal on each entry; linked from the footer Resources column
  (replaced the placeholder Roadmap link)
- verified live: 14 entries render, latest first
2026-06-10 07:41:21 +08:00
c9ad6407c4 browse: loading skeletons, fix empty-state flash (0.51.0)
- AgentBrowse tracked no loaded state, so on cold load it briefly flashed
  'No agents here yet — be the first' before data arrived
- add a loaded flag: show 3 shimmer skeleton cards while fetching; gate the
  empty-state and 'publish your own' card on loaded
- skeleton shimmer respects prefers-reduced-motion
- also verified (after a stale-Chrome scare) there is NO auth bug: cookieless
  /api/auth/me returns null, fresh logged-out load shows Login (no admin nav),
  and the public-agent Use flow works without login
- verified live: skeletons during load, no flash, real card+add-card after
2026-06-10 07:36:03 +08:00
c9956fbd3f hero: value-prop subline + clear CTAs (0.50.0)
- replace the game-instruction subline with the actual value proposition
  (chatbox / web terminal / public URL · no infrastructure, just skills)
- add prominent hero CTAs: gold primary 'Browse Agents', outlined secondary
  'Publish yours' — visitors no longer have to discover the scene is clickable
- Georgia-styled buttons with hover lift, sit below the animated tavern
- verified live: both CTAs + value prop render
2026-06-10 07:26:58 +08:00
4a6ee29a2e homepage session preview chatbox (0.49.0)
- 'See a session' block: an animated chat widget that plays a scripted
  agent conversation (ship a code change, then expose the preview via
  Showcase) with typing indicator + message pop-in, looping
- shows the core product experience (chatting with/driving an agent) that
  text alone can't convey; clearly labeled 'a scripted preview of a session'
- side copy + 'Browse real agents' CTA; respects prefers-reduced-motion
  (renders the full convo statically) and cleans up its timers
- verified live: widget renders, animates, 0 console errors
2026-06-10 07:21:07 +08:00
3130430874 SEO + crawlability: robots, sitemap, structured data (0.48.0)
- robots.txt (allow all, disallow /api, sitemap link) — was 404
- sitemap.xml listing tavern/docs/git — was 404; served as text/xml
- JSON-LD @graph (Organization + WebSite) for rich search results
- og:image:alt + twitter:image:alt for the (already excellent) share card
- verified live: robots 200 text/plain, sitemap 200 text/xml across
  subdomains, JSON-LD valid, sitemap well-formed
2026-06-10 07:12:24 +08:00
56c85e0c1d homepage flow diagram (0.47.0)
- animated 'You -> amerc edge -> Your users' architecture diagram on the
  home features section: three nodes (broker+agent / relay+proxy+auth /
  chatbox+terminal+url) connected by flowing-dot links
- makes the non-obvious 'agent mercenary layer' model legible at a glance
- horizontal on desktop, stacks vertical on mobile, animation respects
  prefers-reduced-motion; wrapped in the scroll-reveal
- verified live: 3 nodes, 2 links render, visible
2026-06-10 07:06:07 +08:00
84a37bb7ed live system status page (0.46.0)
- new #/status route: probes Tavern/API/Docs/Git/Webagent and shows a
  per-service dashboard (pulsing beacon, colored pills, latency, state)
- same-origin /api/health gives real status+latency; cross-origin services
  use a no-cors reachability probe with a 6s timeout
- auto re-checks every 20s + manual Re-check; honest footer note on method
- linked from the footer Platform column
- audited PM (whiteboards/netdisk/portfolio) via a throwaway admin — all
  clean, no changes needed; account removed after
- verified live: all 5 services operational
2026-06-10 07:02:41 +08:00
c0d67f5c3f homepage motion: scroll-reveal + count-up stats (0.45.0)
- Reveal component: feature & use cards fade-up as they enter the viewport
  (IntersectionObserver, staggered), with a :not(.in) pattern so the card
  hover-lift is never fought by the reveal transform
- Count component: hero stats ease-out count from 0 on load
- both respect prefers-reduced-motion and fall back to always-visible when
  IntersectionObserver is unavailable (no stuck-invisible content)
- verified live: all 3 cards reveal to opacity 1, stats animate
2026-06-10 06:55:42 +08:00
9e762b15ba browse: roster storefront (0.44.0)
- storefront header 'The mercenary roster' with a value-prop subtitle
- emoji category chips (uses TAG_EMOJI) so tags read as a directory
- always-present dashed 'Publish your own' card in the grid — the roster
  never looks empty and it actively drives supply into My Booth
- verified live: header, emoji chips, and add-card all render
2026-06-10 06:50:31 +08:00
0ddc585e49 lean build + booth onboarding (0.43.0)
- remove dead 3D code: App/GemhallScene/SplashScene/ModelScene (unreferenced
  since the 2D pivot) + the three dep and its empty manualChunk
- drop public/models (68MB of unused KayKit/poly-pizza GLBs)
- dist drops ~36MB -> 2.9MB; deploy now extracts to a staging dir and swaps
  atomically (preserving .well-known), so users never see a mixed/stale state
  and stale chunks no longer accumulate (28 -> 7 assets on the server)
- booth: welcoming first-run onboarding (3 steps to go live) replacing the
  bare 'no classes yet' hint
- verified live: 2D home renders, 0 failed requests, booth welcome shows
2026-06-10 06:45:40 +08:00
76ba8dcbb4 gatehouse: split join page with value prop (0.42.0)
- replace the lonely floating login form with a two-column 'Join the tavern' page
- left: pitch — headline, three benefit rows (hire/publish/deliver) with icon
  tiles, cross-app SSO note, live stats
- right: the auth board (login/signup) in a clean static card
- responsive: stacks form-first on mobile (<=860px)
- verified live on desktop + mobile
2026-06-10 06:31:57 +08:00
03b5f631b5 mansion: vivid services hall, compelling logged-out (0.41.0)
- replace barren login gate with a full services hall visible to everyone
- hero banner (emblem, value prop, cyan accent, login CTA)
- Showcase room: LIVE badge, feature chips, subdomain URL preview, and
  'log in to claim a subdomain' CTA when logged out; full register UI in
- Netdisk relay + Hosted webagent as designed SOON rooms (shimmer, feature chips)
- new mansion hall CSS; drop old thin mn-card/mn-soon styles
- verified live logged-out render at desktop width
2026-06-10 06:24:51 +08:00
4ad339a94f installable PWA + branded app icons (0.40.0)
- web app manifest: name, standalone display, theme, app shortcuts
  (Browse/Booth/Mansion), maskable + any icons
- branded gem app icons (192/512/apple-touch) + refreshed favicon.svg
- service worker: network-first navigations (deploys never go stale),
  stale-while-revalidate for hashed assets, hard /api bypass, offline shell
- registered only on production amerc.ai hosts (dev HMR untouched)
- nginx: serve .webmanifest as application/manifest+json (all vhosts)
- verified live: installable criteria met, SW controls page, 0 console errors
2026-06-10 06:17:16 +08:00
c8f6d0f892 public documentation (0.39.0)
- amerc-api: GET /docs + /docs/:id are public (reads); writes still require auth
- DocsApp/ConsoleShell: publicView mode renders docs read-only when logged out,
  with a 'Log in to edit' header CTA; edit/new/delete hidden for anonymous
- Docs nav link now shown to everyone
- seeded 5 quality guides: Quickstart, Publish an agent, Embed a chatbox, Showcase, API reference
2026-06-10 06:08:19 +08:00
e711a7c904 talkable tavern NPCs (0.38.0): Pokémon-style speech bubbles
- hover a character (barkeep / two patrons) -> parchment speech bubble with flavor
- clicking routes to Browse / My Booth / Mansion — adds life + feature discovery
- verified bubble renders on hover
2026-06-10 05:56:15 +08:00
a138ff1ebb agent-use embed polish (0.37.0)
- 'Embed this agent on any website' is now a prominent block with one-click Copy
  (+ copyToast) instead of a buried <details>; usage hint included
- Web PTY mode points to the Backstage/后台 terminal tab
- core loop verified: browse -> Use -> live connected chatbox + embed snippet
2026-06-10 05:51:30 +08:00
adbac1b9f0 Showcase HTTPS (0.36.0): auto per-user wildcard TLS
- server: certbot DNS-01 GoDaddy hooks + showcase-cert.sh issues *.<user>.amerc.ai
  wildcard cert and writes a per-user 443 nginx vhost -> edge
- amerc-api: registration triggers cert provisioning async (idempotent) + returns https URL
- Mansion shows the HTTPS-provisioning note
- verified: https://demo1.artheru.amerc.ai serves over TLS (Let's Encrypt *.artheru cert)
2026-06-10 05:46:28 +08:00
0ecf037b5a account/settings page (0.35.0)
- new #/account: profile card (avatar initials + role badge + quick links),
  change-password, and agent keys consolidated in one place
- topbar username now opens Account; separate logout button
- password change moved out of the tavern signed-in panel into a proper settings surface
2026-06-10 05:39:56 +08:00
0076e57448 social share meta + SEO (0.34.0)
- OpenGraph + Twitter card tags with the concept-art tavern as the preview image
- sharper title/description, theme-color for mobile browser chrome
- removed unused Press Start 2P font request (perf)
- (verified mobile nav/hamburger + layout already responsive — no fix needed)
2026-06-10 05:33:44 +08:00
4afc9337aa cohesive vividness (0.33.0): avatars + pulses in My Booth + agent modal
- agent detail modal header gets the class avatar
- My Booth 'My classes' rows get avatar + online-pulse indicator (matches Browse)
- online instance status dots pulse; consistent visual language across the app
2026-06-10 05:28:27 +08:00
3090ed92b0 toast notifications (0.32.0): elegant feedback for copies/actions
- src/toast.js: dependency-free toast + copyToast helpers
- wired copyToast into all token/accesskey/url/key copy actions (silent before)
- replaces jarring browser dialogs for copy feedback; consistent polished UX
2026-06-10 05:22:16 +08:00
0de81620b0 live activity feed (0.31.0): 'Live in the tavern' on the landing
- /api/agents/activity: derived recent events (classes published, instances run,
  sessions started, showcases opened) — no new schema
- landing feed with per-kind icons + relative time, auto-refreshes every 15s
- social proof / 'platform is alive' on the home page
2026-06-10 05:18:13 +08:00
4bcad5f9c7 landing page: scrollable home with 'How amerc works' (0.30.0)
- tavern hero now scrolls into a product section: 3 feature cards (browse/publish/deliver)
  with CTAs, a 'three ways to use an agent' row (chatbox/web-terminal/reverse-proxy), + footer
- scroll cue under the hero; explains the product to first-time visitors
2026-06-10 05:14:17 +08:00
7b3ee02de6 site footer with live service status (0.29.0)
- footer on all inner pages: wordmark, tagline, link columns (Product/Resources/Platform)
- live status pill (checks /api/health + shows N online · N live sessions) with green pulse
- sticky-bottom layout; makes the app feel complete + builds trust
2026-06-10 05:09:16 +08:00
7d62877808 self-service agent keys (0.28.0): users mint their own Bearer keys
- amerc-api: owner column migration + /api/keys GET/POST/DELETE (user-scoped)
- My Booth: 'My agent keys' card — mint, list, revoke, with Bearer usage hint
- unblocks any user wiring their own agent to amerc docs/netdisk/platform (was admin-only)
2026-06-10 05:04:32 +08:00
c6127747ed vividness pass: agent avatars + online pulse + getting-started empty state (0.27.0)
- generated gradient avatars w/ tag-based category emoji on agent cards
- pulsing online-status indicator
- actionable 3-step 'getting started' empty state on Browse (publish -> run -> use)
2026-06-10 04:58:49 +08:00
099fd7616f Showcase reverse-proxy + amerc Mansion UI (0.26.0)
- amerc-api /api/showcase: register subdomain + GoDaddy per-user wildcard DNS automation
- server/showcase-edge: ngrok-style HTTP+WS reverse tunnel (ws), broker-token verified
- nginx: apex /showcase/ws (broker) + wildcard vhost for *.<user>.amerc.ai showcases
- Mansion page: services hub, Showcase registration + kebab delivery-center instructions
- verified on the public internet (http://demo1.artheru.amerc.ai/ via local-port tunnel)
- reference broker sent to kebab for their delivery center + ws/http demo
2026-06-10 04:50:16 +08:00
ae4455ea34 tavern: high-res 32px LPC art + animated characters; PM admin-only; hover fix
- TavernGame rebuilt with LPC Base Assets (CC-BY-SA): 32px detailed tiles (brick walls,
  wood floor, red rug, barrels, victorian furniture, curtains) + animated 64px characters
  (princess dancer spotlit, armored bartender + patrons). Higher-res, less pixelated.
- PM nav link + pm.amerc.ai gated to admins only (Docs gated to logged-in)
- stronger button hover visibility; Georgia fonts; CC-BY-SA attribution in repo + public
2026-06-10 04:34:27 +08:00
4d82fc07a4 tavern: real 2D-RPG game scene from CC0 game tiles (Kenney Tiny Dungeon)
- TavernGame renders an actual tile-based RPG tavern: brick walls, floor,
  bar(吧台)+bartender(酒保)+bottles, tables(圆桌)+patrons, rug, dancer(舞女, spotlit+sway),
  barrels(酒桶), and the cyan amerc screen(屏幕) — animated fire/screen/dust
- tiles downloaded from kenney.nl (CC0), bundled as public/scene2d/dungeon.png
- credit added to README
2026-06-10 01:57:25 +08:00
564ce38c9c frontpage: use the painterly concept art as the hero, Georgia fonts
- Home is now the concept tavern art composed in layers (background image +
  interactive hotspot layer for nav/Browse Agents/Enter My Booth + live stat chips)
  instead of procedural canvas art
- fonts switched to Georgia serif site-wide (matches the art); topbar hidden on home
- removed unused TopDownTavern procedural renderer

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 23:31:44 +08:00
af7f9addbf visual overhaul: painterly top-down tavern + RPG login frame + readable Gitea theme
- TopDownTavern rewritten as smooth high-res canvas (warm lighting, hearth, bar,
  bottle shelves, patterned rug, banners, vignette) cohesive with painted NPCs
- RPG wooden building-block login across docs/pm; hero readability backing
- Gitea: forced readable gitea-dark + minimal amerc accent (fixed unreadable theme)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 22:31:27 +08:00
f85301c33d agent platform (class/instance/session) + top-down RPG tavern + Gitea SSO + tests
- agent_classes/instances/sessions API w/ lifecycle (heartbeat->online->lost->down)
- TopDownTavern (3/4 tile RPG scene) + Browse Agents + Booth dashboard + live stats
- /api/auth/verify SSO bridge (nginx auth_request -> Gitea reverse-proxy auth)
- RPG-themed login across docs/pm; webagent broker login
- server/platform-tests.mjs: 41 assertions, all passing

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 22:08:39 +08:00
b055663372 amerc suite: 2D pixel tavern + zero-dep auth/admin/docs/pm backend
- Scene2D pixel tavern (replaces three.js 3D scene)
- amerc-api: node:http+node:sqlite+node:crypto, auth/admin/docs/files/boards
- docs.amerc.ai + pm.amerc.ai (whiteboard mindmap + netdisk) apps
- agent API keys for fleet read/write

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 06:03:40 +08:00