Skip to content

Add Nova Fabric, Home Mode, and hardened workspace startup#709

Open
goodmorningmrj wants to merge 70 commits into
outsourc-e:mainfrom
goodmorningmrj:feature/nova-skin
Open

Add Nova Fabric, Home Mode, and hardened workspace startup#709
goodmorningmrj wants to merge 70 commits into
outsourc-e:mainfrom
goodmorningmrj:feature/nova-skin

Conversation

@goodmorningmrj

Copy link
Copy Markdown

Summary

  • Add Nova Fabric and Nova Wants review spine with safe persistence, degraded/corrupt-file handling, and protected self-state review gating
  • Add Home Mode classifier/helper/skill/docs and Mission Control panels for control loops, trust ledger, NotebookLM bridge, and richer dashboard aggregation
  • Harden workspace startup/responsive shell: safer Hermes binary resolution, no auto-start --replace, constrained dashboard auto-detect, compact/tablet breakpoint fixes

Verification

  • pnpm vitest run src/lib/home-mode.test.ts src/server/nova-wants-store.test.ts src/server/nova-fabric-store.test.ts --reporter=default
  • targeted pnpm eslint on changed Fabric/Wants/Home Mode/workspace files
  • pnpm build
  • git diff --check
  • staged secret/risky pattern scans clean
  • staged mojibake scans clean

Nova added 21 commits July 3, 2026 16:39
Add Nova Fabric and Nova Wants stores, API routes, dashboard cards, and tests. Harden protected self-state flows with review proposals, approved-review receipts, atomic JSON writes, backups, and degraded/corrupt-file handling.
Add Home Mode classifier, helper, skill/docs, dashboard cards for control loops, trust ledger, NotebookLM bridge, and richer Mission Control overview aggregation. Refresh dashboard layout/catalog and visual polish while preserving source-of-truth boundaries.
Prefer known Hermes installer binaries before PATH fallback, avoid destructive gateway replacement during auto-start, constrain dashboard auto-detect to known loopback ports with a short timeout, and align responsive shell breakpoints for compact/tablet layouts.
Nova added 8 commits July 8, 2026 15:51
Surface Mission Control live source status from existing real endpoints: Hermes gateway, model route, skills, cron, Google OAuth, Obsidian/vault, Neon Moon job board, kanban, route/cost analytics, and pending GitHub/agent wiring. Adds dashboard overview tests and the Live Systems card without introducing write paths.
Append server-side Fabric receipt events when review statuses change, linking the receipt back to the reviewed item and marking approved reviews as Taylor-approved evidence. Adds regression coverage so browser/local approval state is not treated as durable proof without a server Fabric receipt.
Derive a Mission Control Agent Workforce overview from existing swarm mission receipts, including worker status, blockers, review queues, and recent missions. Adds a dashboard card and tests without adding dispatch, cancel, or review write paths.
Expose local branch cleanliness, ahead/behind counts, latest commit, configured remotes, upstream, and optional PR receipt in Mission Control. The panel reads local git state only and does not push, open PRs, or mutate GitHub.
@goodmorningmrj

Copy link
Copy Markdown
Author

Nova containment pass pushed: commit 486d30d.\n\nSummary:\n- restored global Hermes branding/theme surfaces that had been Nova-skinned\n- kept Nova Mission Control cockpit styling local to the dashboard wrapper via data-nova-mission-control + local CSS variables\n- removed dashboard mobile theme behavior that forced global scifi/Nova theme state\n- restored shared/task/onboarding/mobile/settings copy where Nova skin leaked outside Mission Control\n\nVerification:\n- git diff --cached --check: passed\n- staged secret/mojibake scan: passed\n- pnpm build: passed\n- pnpm test src/screens/tasks/tasks-ux.test.ts: passed\n\nFull pnpm test was also run and still fails in existing/broader baseline areas outside this staged slice: 19 failed / 114 passed test files. The staged slice does not touch those failing server/API/chat-message-list areas.

Nova and others added 29 commits July 9, 2026 14:44
Recognize the current hermes_cli plus gateway layout, retain legacy webapi support, and add Windows installer binary/path handling for local dev startup.\n\nVerified: pnpm test src/server/claude-agent.test.ts; pnpm build.
Use gateway.run instead of the retired webapi uvicorn entrypoint when a modern source checkout has no CLI binary.\n\nVerified: pnpm test src/server/claude-agent.test.ts; pnpm build.
Separate systems across depth/scale, cap overview labels with collision
culling, encode project color on rings/rims, and weight edge/focus fly-to
so the map reads as a navigable working universe instead of an orange blob.
Focus mode was expanding tag budgets across every system, flooding the
map with ~90 labels on large hubs. Cap expansion to the selected/hovered
system only and cover it with a regression test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…va's list)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Post-migration eslint pass on Task 3's changes: reorder the new
STATUS_TONE import ahead of type-only imports in the 5 migrated cards,
and cast FAMILY's lookup in STATUS_TONE so the unknown-status ??
fallback isn't flagged as unreachable by @typescript-eslint (the cast
input is untyped server data, so the fallback is real at runtime).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ection

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…e helpers

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ember sizing, slow rotation + parallax, RAF lifecycle, perf budget

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…, neon-blue edge flare

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ocus mode

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-week recency filter

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…visible

The cockpit token wrapper used min-h-full under a non-full parent, so
the Hermes shell background (teal on claude-nous) bled into the cockpit
below the cards — now min-h-[100dvh]. Dust points were sub-pixel
untextured squares (size 0.22) reading as empty space at overview
distance; now soft-sprite textured at 0.72/0.62 opacity so the spiral
visibly carries the scene (dust-forward).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…dust-forward demo

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Root cause of 'the old colors keep coming through': folderTintFor and
FOLDER_TINTS in nova-galaxy-model still carried the pre-canon palette
(mustard/rust/rose/olive with a GREEN default for unknown folders) and a
green rim light in the renderer — every ember and cluster tint was
repainted with those on every frame regardless of the theme passes.
All tints now come from the canon neon-blue/amber family, the rim light
is deep blue, and a tint tripwire test locks folderTintFor to canon so
this class of regression is dead.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The dense center stacked additive near-white dust into a cyan-green
hotspot. Core dust stop is now warm gold (FFD27A) and dust opacity drops
0.62→0.40 / size 0.72→0.62 so dense regions saturate amber instead of
clipping to white-teal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…trol is mounted

The active shell theme (claude-nous) is teal-green (#041c1c bg, #06282a
sidebar, #8fff89 success pills) and framed the cockpit in green through
every prior fix. dashboard-screen now stamps data-nova-cockpit on <html>
while mounted, and a final styles.css override block (higher specificity
than every [data-theme] block) retints the ENTIRE viewport — sidebar,
status pills, header — to the Nova navy/amber canon. Leaving the
dashboard restores the shell theme untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Pixel-audit driven: (1) skin stamp moved from dashboard-screen to
WorkspaceShell so EVERY module renders navy/amber (chat was 91.9%
teal, tasks 94%, memory 59% — all now <0.6%); (2) chat/composer/
tool-card/code vars covered (chat theme vars are separate from
--theme-*); (3) warm scrollbars/selection; (4) SPIRAL_BLEND 0.25→0.88
so note embers live ON their spiral arms — the legacy settled-system
layout no longer dominates the scene.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Upstream's lazy ChatPanel const sat mid-import-block since the merge,
tripping import/first on every import after it. Lazy consts now follow
the import block; AuthStatus is a top-level type import.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…rors in workspace-shell

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ows with the vault

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The right-rail cards (Obsidian reflection / System inspector /
Planetary systems) used hardcoded rgba(22,23,42)/rgba(13,14,24)
surfaces — #16172A-family indigo darks from the original bible that
ignored the token system and read as purple cards. All 18 now use
var(--theme-panel)/var(--theme-card). Right-rail purple pixel density
0.88% → 0.23% (residue = text antialiasing blends, no purple elements).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant