Repository navigation
Deploy diagram, live-stream proxy fix, and UI polish - #14
Merged
Merged
Conversation
…dduser removed) Debian 13 (trixie) slim dropped `adduser` from the base image, so the floating `debian:stable-slim` tag started failing the gateway runtime build with "adduser: not found" (exit 127). Pin the gateway runtime to bookworm and install the `adduser` package explicitly on both the gateway and engine runtime stages, so the user-creation step works regardless of which Debian the slim tag points at.
…trols Landing (door): - Neutral grey background (#F5F5F5) replacing the yellow-cream #FDFCF8 across the @theme tokens, theme.ts mirror, and the WebGL wolf fill. - Sidebar is now a viewport-fixed overlay (with scrim) that stays put on scroll and layers on top; a persistent fixed hamburger opens it. - Meet-the-Pack wolf heads shrunk (BASE_SCALE 0.34 -> 0.28 + smaller static-fallback sizes) for more breathing room. - Hero typewriter slower and pinned to one line (whitespace-nowrap) so it never wraps mid-typing. - Intake "Chat session" now scrolls messages + footer together, so the formation card and "Yes, send it" stay reachable at short heights. Hunt (territory): - Pack activity is now a collapsible plain-text log under the spend line, expanded only by its chevron; per-beat titles derived client-side from the wolf role + action (beat-title.ts). Drops the old chat-feed activity line and the WolfActivityLine component. - Back / New Hunt now leave territory via a hard nav instead of only stripping the URL slug (the door-mounted territory never remounted). - Reward reading view gains a right-side control rail: zoom in/out and incremental step-scroll up/down. History/spend (local-first, no auth): - New lib/local-history.ts keeps a per-browser index of this browser's hunt ids; /hunts and /spend are filtered to owned rows and the spend total recomputed, so visitors no longer see each other's shared-DB data. Clear/Reset now clear the local index only.
…planner attribution
The hunt live-stream never connected when VITE_GATEWAY_URL is a same-origin
relative path (e.g. "/ws" behind nginx or a tunnel): the code passed the bare
path straight to new WebSocket(), which requires an absolute ws(s):// URL, so
the socket failed and no events ever reached the browser. The hunt then sat
frozen on "forming the pack…" because the plan_proposed event that flips it to
the formation card never arrived.
- use-hunt-stream: resolveGatewayBase() rebases a relative gateway path onto the
page origin as ws://host or wss://host (https pages -> wss, avoiding a
mixed-content block). Absolute ws(s):// / http(s):// values pass through. Fixes
live streaming behind both the prod nginx /ws proxy and a Cloudflare tunnel.
- vite.config: dev server gains host + allowedHosts + a /api and /ws proxy, so
the whole app can be served from one origin (needed to tunnel it as a single URL).
Copy fix: the planning status said "Alpha is forming the pack…" but Beta is the
planner (supervisor: beta.think("plan")). Corrected to "Beta is forming the
pack…" in the footer and the canvas forming toast.
…yment board Verified all six diagrams against the real code and fixed the inaccuracies: - deployment: new detailed board — the ECS box broken into its 3 containers (nginx :80, engine :8000, gateway :8080), with the three Alibaba touchpoints (ECS, Qwen/Model Studio, OSS) marked in black. - backend: wolf pack shows Warden (the real standing healer), not the retired Doctor; web tools/providers corrected to DuckDuckGo + Jina readers (the old "18 providers: Tavily, Exa…" line was stale after the DuckDuckGo-only refactor). - frontend: the six routed pages (artifacts, tracks, scorecard, library, memory, spend) are live features now, not stubs. - ERD: memory.text + memory.status; documents.kind + documents.text (were mislabelled "body"); hunts.parent_hunt_id (self-referential lineage). - sequence: real event names — wolf_spawned, tool_called, tool_result. - ARCHITECTURE.md: deployment leads, every image present with an accurate caption.
The six architecture PNGs are the deliverable; the HTML sources + bundled fonts were ~900 lines of build scaffolding. Trim ARCHITECTURE.md's regeneration section and the now-dead diagram-src gitignore rules to match.
A sweep across the backend and frontend cutting comments down to what a reader actually needs: the load-bearing "why", the bug-history notes, the ordering and race warnings — and cutting the multi-sentence narration, the restated-code comments, and the internal doc/version tags (Doc 0X §Y, v2/v3, F14, B11). No executable code changed; verified comments/docstrings-only against the AST. Also folds in the real Figma submission link and a type="button" on the benchmark launch (it was submitting its parent form and reloading the page).
…octor + phantom Hunter)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings main up to date with the submission-ready branch: