Asset Atlas (v0.4.5): top-level Assets view with a live system map - #49
Merged
Conversation
Assets are the main work surface but were only reachable through a
product. This adds a first-class Assets view to the sidebar with three
ways in:
- Map (default): a system map drawn live from the inventory — products
as columns, assets as nodes with shipped-version chips, dependency
edges as curves styled per type (solid depends_on, dashed
integrates_with, dotted aggregates). Lenses recolor the map by
health, debt, or activity; hovering an asset highlights its blast
radius and dims the rest; click navigates to the asset. Hand-rolled
deterministic layout (barycenter-ordered columns), HTML nodes over an
SVG underlay — no graph library.
- Grid: cards with health dot, version, active plans / debt /
capabilities counts, debt-score bar, owners.
- Table: sortable by name, product, debt, active plans, last shipped.
Stats strip, name/tag search, type + health filters; respects the
global product scope and ?product= like other views.
Data: getAssetInventory(userId, {productId?}) — every visible asset
with effective debt score, open item/debt counts, active plan targets,
capability count, latest shipped version stamp, and owners, plus the
dependency edges among them (edges leaving the scope are dropped).
3 new tests (201 total). Docs: app-spec route + query, README feature
row + roadmap v0.4.5, site tour 'Asset Map' tab + screenshot; asset-
record spec Phases B/C renumbered to v0.4.6/v0.4.7; version 0.4.5.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y7FhGxYjnJHJ7m9MpH2dgJ
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.
Resolves the products/assets UX tension: assets are the tool's main work surface but were only reachable by drilling through a product. This adds a first-class Assets entry to the sidebar, landing on a view designed to be a differentiator.
The Map (default view)
A system map drawn live from data the tool already has — no diagramming, no upkeep:
asset_dependenciesedges as curves, line style per dependency type (solid depends on, dashed integrates with, dotted aggregates), arrowheads at the target, with a legend.Grid & Table
Both share a stats strip (totals, health breakdown, open debt, active plan targets), name/tag search, and type/health filters. The view respects the global product scope and
?product=, like every other view.Data layer
getAssetInventory(userId, { productId? })— one org-scoped query shape: every visible asset with effective debt score (manual override or severity-weighted), open item/debt counts, active plan targets, capability count, latest shipped version stamp, and owners, plus the dependency edges among them (edges crossing out of scope are dropped so the map always matches the node set). 3 new tests (201 total).Docs & versioning
/assetsroute + query row + corrected sidebar nav list; README feature row + roadmap.package.json→ 0.4.5; asset-record spec Phases B/C renumbered to v0.4.6/v0.4.7 to keep the 4.x line sequential.Verified in the browser against the demo dataset: map + lenses + hover highlighting, grid, and table all captured and reviewed; production build clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Y7FhGxYjnJHJ7m9MpH2dgJ
Generated by Claude Code