Skip to content

docs: navigation overhaul, AI-agent access, and design pass - #627

Open
MagicLex wants to merge 125 commits into
logicalclocks:mainfrom
MagicLex:docs-ai-native-artifacts
Open

docs: navigation overhaul, AI-agent access, and design pass#627
MagicLex wants to merge 125 commits into
logicalclocks:mainfrom
MagicLex:docs-ai-native-artifacts

Conversation

@MagicLex

@MagicLex MagicLex commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Documentation overhaul: navigation, AI-agent access, and a design pass.

Navigation

  • Column drill-in nav: the left rail shows one level at a time (flat, no deep indent), with an up-header and a left/right slide between levels.
  • navigation.prune + navigation.path (breadcrumbs) keep deep trees scannable; navigation.indexes section hubs.
  • Sidebar collapse toggle (plain show/hide, no icon rail).
  • Divider now meets the header; nav scrollbar hidden.
  • Logo keeps its aspect ratio; search magnifier visible on the light field.

Docs for AI agents

  • New page documenting the machine-readable surface: llms.txt / llms-full.txt, per-page .md, Copy-for-LLM, and the hosted MCP server at mcp.hopsworks.ai.
  • mcp-server/ gains a hosted streamable-HTTP transport (per-IP rate limit, configurable allowed hosts), live reindex on docs change, and a Dockerfile + entrypoint that syncs the docs from main.

Diagrams

  • Docs diagrams run on a shared inline-SVG viz kit (docs/css/custom.css + docs/js/hops-viz.js): design tokens, semantic tone families, DATA and COMPUTE node families, animated scenes where the mechanism is the message, static kit SVG for structure.
  • Figures live as files under diagrams/ mirroring each page path, pulled in with snippet includes.
  • Edge finish: docs/js/diagram-edges.js lifts edges to paint above nodes; a standard concave arrow marker; play-once animation with a replay control; a code surface for inline expressions; social-card tooltips.
  • Type scale raised one step for legibility, with every diagram refit to the new size.
  • The data transformations page reworked end to end: animated taxonomy with code surfaces, the on-demand duality, a data-over-time placement scene, a split FTI waterfall, a feature-store and storage view, and the tooling quadrant.
  • .claude/docs/viz_overlap_check.py measures every diagram's text against its box and the viewBox (monospace advance, skipping transformed text) and fails on overflow; run across the fleet with zero overflows.

Content and chrome

  • Drop the Community forum (nav, social, index); refresh the Slack invite.
  • Self-hosted Umami analytics.
  • Remove unused brewer_* config variables from the generated configuration reference.

For agents

  • Design-system charter in .claude/docs/design-system.md, wired into CLAUDE.md: tokens, logo, nav conventions, and the diagram kit (node families, code surface, tone persistence, the overlap floor and checker).

🤖 Generated with Claude Code

MagicLex and others added 30 commits July 31, 2026 09:56
…for-LLM)

Emit machine-readable artifacts for AI agents from the mkdocs build, with no
new pip dependency (pure build hook):

- llms.txt: curated index following the site nav, HTML + .md links per page
- llms-full.txt: full Markdown corpus in one file
- <page>.md: raw Markdown source served next to every rendered HTML page (338)
- "Copy for LLM" per-page action (progressive enhancement over the static .md)

Validated against `mkdocs build -s` (strict, CI parity).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Self-contained MCP 2.0 server (mcp-server/) that indexes the docs/ Markdown
tree and exposes retrieval tools to AI agents. Read-only by design: no write
path, no network, reads confined to docs/, 12k-char output cap, read_only_hint
on every tool.

Tools: search_docs (BM25), get_page, list_sections, get_section, list_pages.
Page titles come from the mkdocs nav (208 mapped) with a filename fallback.
Tools whose data doesn't exist yet (error catalogue, sizing, config validation)
are intentionally omitted, not stubbed.

Smoke-tested against the real docs/ tree: index build, tool registration and
every tool call.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Theme-aware, in-repo, diffable diagrams. Unblocks most of the missing concept
visuals without adding asset files. Validated: a mermaid fence renders as a
diagram (class=mermaid) in the built output, not a code listing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Four documented defaults contradicted the shipped defaults in
hopsworks-ee Settings.java (verified against source):

- superset_enabled: documented true, ships false
- superset_user_roles: documented "Gamma,sql_lab,Dataset,Examples", ships "Gamma,sql_lab"
- superset_admin_users: phantom key; the real key is superset_admin_roles (SUPERSET_ADMIN_ROLES)
- trino_enabled: documented true, ships false

Both enabled flags read on-by-default while the product ships them off.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Stream API sentence claimed data arrives at-most-once (implies loss),
while describing the exact mechanism (idempotent online writes + Hudi
deduplication) that upgrades Kafka's at-least-once delivery to exactly-once.
Internally contradictory; corrected to state the at-least-once to exactly-once
upgrade. Matches the book (Ch09).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…esign

Draft for review on the branch. Aligns the Concepts section with the framing
in the book (Dowling, MLFS), verified against the source chapters.

Concepts:
- New concepts/fti.md: the FTI (feature/training/inference) pipeline
  architecture and the four classes of AI system, with a mermaid diagram.
  Every agent review flagged this as the missing top of the section.
- New concepts/index.md: section landing page with the reading path.
- fg_overview: foreign keys as index columns (not features), feature groups
  store untransformed data, vector index as a third store, RonDB named,
  online store "only latest" qualified as the default, partitioning moved to
  a collapsible.
- fv_overview: root and label feature groups, graph traversal, and serving
  keys (a feature view has no primary key).
- online_api: retrieve by serving keys (foreign keys of the label feature
  group), not "primary keys", fixing a direct contradiction with the book.
- model_monitoring: distribution comparison detects feature drift, not skew;
  skew is a code difference and is prevented, not monitored.
- feature_pipelines, fv/statistics: "feature shift" -> "feature drift" (the
  book's term; it rejects "shift").
- nav: Concepts landing + FTI page wired in.

Home:
- Apply the validated grid-cards redesign (Material native cards, no new CSS):
  start-here, hello-world, deployment models, by role, by task, reference.
- Surface the machine-readable layer (llms.txt) and fix the dark-mode homepage
  (was blanked to "switch to the light theme").
- Delete marctech.css (1073 lines, single-use) and its dark-mode override.

Validated: mkdocs build -s clean, markdownlint 0 errors.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…codes

Two reference surfaces generated from the hopsworks-ee product source, closing
gaps where the docs had zero coverage. Both generators are stdlib-only parsers
(no Java build), mirroring the existing gen_helm_values marker-injection pattern.

- REST API Status Codes (docs/reference/rest_error_codes.md): 1003 codes across
  37 categories from RESTCodes.java, with resolved 6-digit code, name, HTTP
  status and message. scripts/gen_error_codes.py. Bracketed regex messages are
  escaped so mkdocs does not mangle them; the Schema Registry 5-digit exception
  and one dynamic-status code are footnoted.
- Cluster Configuration Variables Reference
  (docs/setup_installation/admin/configuration_reference.md): 502 keys from
  Settings.java, CAConf.java, KubeSettings.java and VariablesHelper.java, with
  type, default and source module. scripts/gen_config_vars.py, registered as a
  hopsworks-docs CLI command. Computed (non-literal) defaults and cross-source
  duplicate/divergent keys are flagged rather than guessed. No description
  column: the source carries no description field, so one would be invented;
  it is unlocked by a 4-arity constructor in Settings.java (follow-up).

Validated: mkdocs build -s clean, markdownlint 0 errors, ruff clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The serverless product no longer exists; it is a SaaS at run.hopsworks.ai.

- Getting Started nav and the home start-here card point to run.hopsworks.ai
  instead of the Colab quickstart notebook.
- Rename the 'Serverless' deployment card to 'SaaS'.
- Replace app.hopsworks.ai with run.hopsworks.ai across the home, tutorials
  intro, and the feature monitoring / data validation guides.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the off-palette single-use architecture.svg on the platform concept
page with an inline SVG on the product design-system palette (teal for the
Hopsworks-owned data layer, blue for external engines and frameworks, neutral
for structure). Uses currentColor for text and strokes plus tinted fills, so
it adapts to light and dark themes without the white-box image hack. Renders
full width, verified in both themes.

Keeps the information of the old diagram (feature engineering, feature store
and MLOps, model training, multi-tenant platform) in a cleaner, less busy
layout. Delete the orphaned architecture.svg.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Each box in the platform diagram links to its concept page (feature groups,
feature views, vector index, registry, serving, monitoring, training,
governance, pipelines). Uses version-safe relative hrefs and a hover state.
Navigation verified with a real click: Feature Groups reaches fg_overview.

Establishes the pattern: diagrams of this type are navigation, not decoration.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e SVG

Extract the architecture diagram styles into a reusable .hops-diagram kit in
custom.css (theme-adaptive: currentColor for text and strokes, tinted brand
fills, no inline styles). The platform diagram now uses the kit.

Convert the FTI page diagram from mermaid to an inline SVG in the same kit, so
its nodes are clickable navigation (feature pipeline, feature store, training,
registry, inference, predictions, logs each link to their concept page).
Mermaid stays for non-navigational illustrations: its click directives break
rendering under Material's strict security level, so navigational diagrams use
the SVG kit instead.

Verified in the browser: both diagrams render full width, and clicks navigate
(FTI Training pipeline reaches mlops/training).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the off-palette architecture.svg on the Feature Store concept page with
an inline SVG in the shared diagram kit: a feature pipeline writes to feature
groups (online and offline stores), feature views read from them and serve
through the online API (operational models) and offline API (training data,
batch scoring). Each box links to its concept page. Verified in the browser:
renders full width and Online API navigates to feature_view/online_api. Delete
the orphaned architecture.svg.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ning)

Add three inline-SVG diagrams in the shared kit, on concept pages that were
walls of text with no visual:

- model_monitoring: drift detection over time. Training-dataset distribution as
  the reference, a detection window sliding over logged inference data, and the
  distance metric crossing an alert threshold.
- offline_api: the point-in-time correct join. For each label row, the join
  picks the most recent feature row whose event_time is at or before the label,
  and marks newer rows as excluded.
- fv/versioning: a feature-view-version by training-dataset-version grid showing
  which training data each model was pinned to.

Explanatory, not navigation, so no clickable nodes. Theme-adaptive via the kit,
verified rendered in the browser. Structural validation: mkdocs build -s clean,
markdownlint 0 errors.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
27 concept pages opened with no H1 (or an orphan ### under nothing),
so the per-page TOC was built from sub-headings and pages were not
self-identifying from search. Add an H1 matching the concept to each,
and demote the six pages that opened at ### by one level so the
outline nests correctly. prediction_services.md left for the AI
Systems reframe.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The page split the world into analytical vs operational ML, which
classifies by who consumes the prediction, the exact criterion the
book rules out, and left streaming and agentic systems with no home.
Reframe on the book's definition: an AI system is feature + training +
inference pipelines connected via a feature store and model registry,
classified by how it computes predictions. Four classes (real-time,
batch, stream, agentic); the two existing figures now illustrate the
batch and real-time classes. Rename nav Prediction Services -> AI
Systems. Use inference store, not database sink.

Add a Deployment API section to serving.md: it, not the model
signature, is the versioned client contract; serving keys vs request
parameters; SLO framing. Reframe the opener as deploying an online
inference pipeline, of which the model is one part.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rename 'Training Serving Skew' to 'Offline-Online Feature Skew' and
state it as a code difference (invisible to distribution comparison),
per the book's definition; 'training-serving skew' is not the book's
term.

The CI/CD versioning list said deployments are versioned. The book is
explicit that a deployment is the one mutable, unversioned asset:
new deployments get a new name, upgrade/rollback is blue/green, and
clients version against the deployment API. Also state the model-to-
feature-view coupling (fallacy logicalclocks#7).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The book uses vector index because it is a property of an online-
enabled feature group, a third store alongside online and offline,
not a separate service. Rename across hopsworks.md, opensearch.md,
storage.md and the nav. Reframe opensearch.md to lead with what a
vector index is and when you want one, with OpenSearch as the backing
implementation. Fix typos (nmslib, OpenSearch, vector similarity).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Feature monitoring was two ~90% identical pages (FG and FV). Merge
into one page that names what each level detects: FG monitoring =
data ingestion drift, FV monitoring against the training dataset =
feature drift. Fold in the training-data statistics page. Delete
fs/feature_view/feature_monitoring.md and .../statistics.md.

Versioning was spread across three partial lists (fg, fv, cicd).
Merge into one page: FG schema + data versioning (with the two ASOFs,
ingestion-time vs event-time), FV + training-data versioning (keeps
the grid diagram), models + deployments. Delete
fs/feature_view/versioning.md; reduce cicd Versioning to a link.

Connector API and External Feature Groups rendered the same SVG
twice. Keep the diagram on external_fg.md, link to it from write_apis.

Also finish the vector-index rename in governance.md and index.md.

32 concept pages -> 29.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The nav taught concepts before their prerequisites: FTI architecture
was on the second-to-last page, Projects on page 20 but assumed from
page 2, the transformation taxonomy last but needed early, Spine
before the point-in-time join that explains it.

Restructure into reading-order tiers: Platform (incl. Projects and
FTI up front) -> Feature Store (Data Transformations pulled in) ->
Feature Views (Spine and On-Demand moved here, after the joins that
motivate them) -> Data Quality -> Versioning and Lifecycle -> Models
and Serving (AI Systems now the capstone, not the opener) -> More.
Page files unmoved; nav paths only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- On-demand features: add the shift-left vs shift-right decision
  (precompute vs compute at request time) and its trade-off.
- Spine Group: state the label feature group as the default and add
  the book's discouragement (spines externalise work to clients, can
  only be root/label FG, best for batch inference).
- Model Training: define a training pipeline, its five steps, and the
  evaluation (test-set metric) vs validation (pass/fail gate, bias
  slices, scorecard) distinction that decides registry admission.
- Model Serving: distinguish blue/green tests (the deployment) from
  A/B tests (the model's effect on an application KPI).
- Model Monitoring: log untransformed features for monitoring and
  debugging, transformed for model monitoring and SHAP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Hopsworks Platform: define MLOps (automated testing, versioning,
  monitoring of ML pipelines and assets), the term the page used
  undefined.
- Tags/Search/Lineage: state the end-to-end lineage chain (data
  source -> feature group -> feature view -> training data -> model
  -> deployment) and that schematized tags enforce policy, not just
  aid discovery.
- Model Monitoring: concept drift is detected by comparing outcomes
  against past predictions, not by comparing distributions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two chapters of the book had no representation in Concepts.

Streaming Feature Pipelines: the backfill-and-incremental duality as
a defining property, feature freshness (event-read to feature-
available, with a kit SVG), tumbling/hopping/rolling windows and
watermarks, streaming-native (Kappa) vs hybrid (Lambda), the four
operational modes.

Agents and LLM Systems: agentic workflows as an AI system class, the
feature store as a RAG retrieval source keyed by entity ID via the
deployment API (kit SVG of the retrieval flow), workflow vs agent,
MCP vs A2A. Links to the agent user guides.

Both wired into the nav and cross-linked from feature pipelines and
AI Systems.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…UDFs)

- Online API: the ordered get_feature_vector sequence (precomputed ->
  passed -> ODT -> MDT -> drop index/helpers -> return), the
  composition constraint made concrete.
- Feature Pipelines: data validation as a shift-left property, and
  the default STRICT ingestion policy.
- Features and Feature Groups: the online store keeps only the latest
  values by default, but event_time + TTL keeps many rows per entity
  for shift-right aggregations.
- Data Transformations: state the registration-locus rule (ODTs on
  feature groups, MDTs on feature views) and mixed-mode UDFs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace transformation-in-modular-AI-pipeline.jpg with a kit SVG that
places the three transformation types across the FTI pipeline (MIT in
the feature pipeline, MDT in training and inference, ODT in inference
and backfill), using only the .hops-diagram vocabulary: green =
reusable/owned, blue = external/request, neutral = structure.

No diagram may carry off-kit inline colors. Add standard .d-alert and
.d-alert-line classes for the alert/excluded-row red, and route the
model-monitoring drift SVG, the point-in-time-join SVG, and the
streaming freshness dots onto kit classes / currentColor. No inline
hex remains in any concept diagram.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The most important concept page carried 5 off-palette, lossy JPGs.
Re-cut every one as a theme-adaptive .hops-diagram SVG:

- types of features (reusable / model-specific / on-demand)
- types of transformations (MIT / MDT / ODT)
- the MIT/MDT/ODT placement across the FTI pipeline (earlier commit)
- the Hopsworks decomposition: three bands (AI pipelines, feature
  store, storage) showing on-demand UDFs on feature groups and
  model-dependent UDFs on feature views
- the supported-tools quadrant (streaming/batch x smaller/bigger data)

Green = reusable/owned, blue = external/request, neutral = structure,
consistent with the rest of the kit. Delete the four orphaned JPGs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Full standardization sweep across 21 concept pages: every legacy
off-palette Inkscape SVG and raster diagram is now a theme-adaptive
.hops-diagram inline SVG using only kit classes (green = owned, blue =
external, neutral = structure, red = alert). Same information and
labels as the source art, redrawn on the palette, dark-safe, no more
white-box hack, no inline hex anywhere.

Authored via a fan-out workflow (one agent per page), then verified:
strict build, no inline hex, no stray classes, one H1 per page, and
spot-checked rendering on the complex pages (dev-inside capability
grid, model-registry columns, GE data-validation flow, AI-systems,
feature-view joins). Fixed 'Vector Database' back to 'vector index'
where the source term leaked in.

Delete 37 orphaned assets (the replaced sources plus 6 long-unused
files). Only the two product UI screenshots remain under concepts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The docs read intense and dense: a double green band (green header
plus a darker green tab strip), a boxed-in dense left nav, washed-out
headings, and blue admonition billboards clashing with the brand.

Refurbish, grounded in hopsworks-front's current (post-quartz) tokens:
- one green band: the tab strip goes clean, green only on the active
  tab, so the header is the single brand block.
- brand green unified to the product --primary #1eb182 (was #1eb382 in
  the theme and #21b182 in the diagram kit; now one green everywhere).
- typography switched to the product's native system font stack
  (theme.font: false), zero network cost, matches the app.
- left nav de-boxed, roomier vertical rhythm, quiet uppercase section
  labels, brand-green active item.
- headings firmer (darker, tighter); body line-height calmer.
- admonitions and collapsibles are calm monochrome cards, not
  saturated billboards.
- remove dead marctech CSS (.wrapper/.one-.six grid, .image_logo_02).

Additive refurbish block at the end of custom.css; revertable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two things still off after the refurbish: a drop shadow under the
header/tabs (the design system is flat, all shadow tokens are zero),
and a muddy green-on-green search box. Kill the header shadow (the 1px
hairline under the tabs is the only separation now), and make the
search field translucent white on the green header, turning solid
white with dark text once focused. Verified in light and dark.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The green header and the tab strip stacked to 97px of chrome before
any content, and the tab band was the bulk of it. Lighter logo, and
let the tab items size to their content with a tighter link margin, so
the header + sub-header come down to ~85px with a much tighter tab
band. Header stays 48px, tabs 49 -> 37.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move the primary navigation from top tabs to a left sidebar, the modern
docs convention and what the product UI uses. This collapses the top
chrome to a single slim green header (was a green header + a second
green tab strip) and makes the whole nav tree visible and collapsible.

The sidebar mimics the app sidebar: a distinct panel background with a
right border, rounded items, and a green-tint active/hover state
(sidebar-accent #e6f2ee with green text), collapsible sections. The
logo and title in the header keep the 'you are in the docs' anchor.

Also: content links use the brand green (like the app), cards get the
platform card border/radius plus a hover border, single-link cards
become fully clickable (js/card-links.js) with an honest pointer, the
TOC keeps a tight rhythm, and anchor jumps land below the sticky header
(scroll-padding-top) so the TOC highlights the heading you clicked.
Hide the TOC on the landing page, where its scrollspy can't resolve
and a landing page needs no TOC.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
MagicLex and others added 30 commits August 20, 2026 10:10
Rebuild the home "three pipelines" figure as the template for the
single-kit consolidation, and add the kit primitives it needed:

- viz-icon: minimalist line icons, stroke inherits node tone, glyphs
  normalized to fill the 24-grid so vertical centering is uniform.
- viz-zone: labelled container band (the shared state layer).
- hops-viz-static: navigable static viz, links stay clickable, toned
  nodes carry their tone at rest (accent on stroke + icon, no flood).
- box-grid ground on every figure (9px cell, faint).

FTI figure: three pipelines above a shared state layer, data sources
in, predictions + feedback logs out. Curved connectors docked on the
border, icon placement by box proportion (top for narrow, left for
wide), icon+text always centred, tight viewBox so the figure padding
is the only spacing. Title token to 13px, radius halved.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Nav:
- Tutorials dropped from the menu (kept reachable via not_in_nav, to be
  reworked), section renamed Administration, REST status codes moved under
  a Reference group, </> API marker on the Python/Java API entries.
- drill-nav: up button walks to the parent section or the site root, never
  to the current page (fixes the dead back buttons on top-level sections).
- Sidebar divider now spans full height: the box and scrollwrap fills are
  transparent on desktop so the full-bleed ::before border is not covered.

Diagram kit:
- Fit width, grow vertical: dropped the min-width pan floor. Diagrams scale
  to the column and never scroll sideways; wide charts are authored portrait.
- the-hopsworks-platform rebuilt on the viz kit and re-flowed portrait.

Worklist in .claude/docs/diagram-refresh-todo.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
FTI three-pipelines (reuses the home template), transformation taxonomy,
batch scoring timeline, feature-view/training-data versioning grid, and
feature-group schema versioning. All fit-width, no horizontal scroll.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Feature category tree, transformation taxonomy variant, the tool
quadrant, and the three-band pipelines/feature-store/storage chart.
Fit-width, no horizontal scroll.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Feature view offline/online outputs, the feature-group join into a
feature view (simplified to the concept), and the feature pipeline
source-to-store flow. Fit-width, no horizontal scroll.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Real-time serving flywheel and the batch prediction top-to-bottom flow.
Fit-width, no horizontal scroll (edge routing not yet screenshot-verified,
the local browser tool is flaky).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Lineage section on concepts/projects/search showed a raster app
screenshot (React Flow provenance view). Replace it with a viz-kit
lineage chain: data source, feature group, feature view, training data,
model, deployment. provenance.png is now unused.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two project sandboxes (production, development) holding the same ML
assets, fed by roles and CI/CD. Was still old-kit (green fills, sans
font); now viz (mono, tone on the stroke, neutral zones).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Zoom overlay: bound the figure height to the stage so tall portrait
  diagrams fit instead of overflowing and needing a pan.
- projects-and-governance: restructured to Lex's layout (two stakeholder
  boxes, a CI/CD layer linking the two environments, then the envs),
  added node iconography, made the ML assets clickable.
- dev-staging-prod and pytest-feature-logic converted to the viz kit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- projects-and-governance: CI/CD arrows now leave the box sides instead
  of splaying from the bottom.
- data-storage-and-sharing: governance-style layout with a shared
  Feature Store, a dashed backing box that reaches from the production
  store to the development one (it stays put, the other still exists),
  labelled SHARED. Icons + clickable assets.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… + last 7 pending)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The rail was collapsing to a single level: a section page showed only its
children, hiding the section's own siblings. Show both adjacent levels
instead: the current node's siblings plus, on a section page, that section's
children indented one step under it. Collapsing is now about depth only, never
about hiding same-level items. Everything shallower than the sibling level
folds into the up-header and breadcrumb; the up-header names the parent section
and walks up to it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Edge paint-order lift and arrow-base markers, play-once animation with replay, a code surface for inline expressions, social-card tooltips, provenance hover, and a +1px type scale for legibility.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
viz_overlap_check.py measures every diagram text against its box and viewBox (monospace advance, skipping transformed/translated text) and fails on overflow. design-system.md documents the code surface, tone-persistence, overlap floor, and the checker.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bigger type, standardized concave arrow markers, and reworked layouts across the fleet. The data_transformations page is fully reworked: animated taxonomy with code surfaces, on-demand duality, a data-over-time placement scene, a split FTI waterfall, a feature-store/storage view, and the tools quadrant.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pull the extracted diagram figures into the concept pages via snippet includes, including the new feature-store/storage split on the data transformations page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts:
#	docs/concepts/projects/search.md
#	docs/setup_installation/admin/alert.md
#	docs/user_guides/projects/python/python_env_overview.md
#	mkdocs.yml
Anchor the rail on the active section instead of the active item. The
level you are on renders indented (a leaf's siblings, or a section
index's children) and its parent section's siblings render flat above
it, so a page no longer looks like the only entry under its section.
Up-header names the section above the flat level.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Right TOC: top-level headings get weight and full ink, nested ones drop
to a lighter ink and 0.92em, so the nesting reads as hierarchy instead
of a flat list. Muting is scoped off the active/hover link so the accent
still wins.

Drop the redundant html scroll-padding-top: Material already sets
scroll-margin-top on headings to clear the sticky header, so ours stacked
a second 68px and parked jumped-to headings below the scrollspy line,
lighting the previous heading. Removing it lands headings on the line.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Codify + enforce M1-M4 on the 8-unit grid in viz_overlap_check.py
  (run-in, force field, arrowhead cap, anchored connectors) with
  edge-connected and axis exemptions, scene-edge resolution, and an
  ATTR word-boundary fix that had mis-parsed id-bearing edges
- Resize every arrowhead 12 to 9, unify to one canonical triangle, and
  make the edge stroke opaque so heads read solid and cover the line
- Add source knobs to all connectors; re-grid 18 diagrams to 24u clearance
- Router (diagram-edges.js) reserves a straight run-in so arrows dock square
- design-system.md: new "Edge and layout mechanics (enforced)" section

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ions

- Bake the router elbow into static edge `d` across the diagrams (perpendicular
  exit, bend, straight run-in), so the shape needs no runtime JS and stays
  SSG-safe; aligned edges collapse to straight, tight gaps to a clean curve,
  feedback loops and axes left as authored
- Edge labels over a line get a lifted paper "stabilo" halo (viz-edge-label)
  so the connector reads as broken behind them instead of through them
- Checker enforces text-vs-text collision (per-class advance) and arrow-into-
  pill; ignores animation-hidden (opacity:0) swap pairs
- Fix the surfaced collisions: drop redundant store metas, move/drop pipeline
  pills off the vertical dock, drop feature-group metas over long names

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sweep every label a connector line passes through and mark it viz-edge-label,
so the kit lifts it above the edges and paints the paper halo behind it. The
label reads as breaking the line instead of the line crossing through it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- redraw features-and-feature-groups as a data table with column roles and a row callout, mirroring the original figure
- add .claude/docs/parity-review.md, 149 changed pages in nav order
- refresh the stale old-kit fragment list in the diagram todo

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- redraw write_apis stream-api: fg.insert(df) call, brand marks for pandas/spark/python/kafka, onlinefs and delta streamer branches, dashed common-schema rail, two-row layout
- HSFS -> Hopsworks in batch-api; HSFS/HSML API -> Feature Store / Model Registry API in dev/outside and model-registry
- parity ledger: fg_overview reviewed, write_apis flagged (Hudi vs Delta wording)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…, checker covers scene text

- feature-pipelines: store frame fits the animated row count, pipeline frame fits its chips, content centred under the band
- transformations: redrawn to the original composition, three iconed sources merging into one trunk, pipeline pill node, store
- nine figures: band title and meta moved from the band's top half to its centre (frame top + 19); band icons centred on the title
- viz_overlap_check: measures the longest scene text value, flat texts against their block, kv cells with measured widths; new band-title and band-icon centre passes
- feature-views-2: role column nudged inside its cell
- parity ledger: feature_pipelines reviewed; design-system documents the band rule and checker coverage

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…directs for merged pages

- versioning: schema-change figure shows the real create/insert code in a code box, tables to the right
- online_api: get_feature_vector figure is a notebook (In cell, tagged per-stage trace, Out cell); passed_features call shown as a code block
- feature-views: code indentation via explicit x offsets (the tspan indent idiom collapsed)
- nav: Spine Group back under Feature Store
- mkdocs-redirects for the three merged feature-view concept pages and the removed Flink guide
- checker: reads scene type ops, sizes viz-codeln

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Snapshot of the docs-ai-native-artifacts branch:
- Diagrams moved to the hops-viz kit under diagrams/, edge and spacing
  mechanics enforced by .claude/docs/viz_overlap_check.py.
- Nav restructured: Projects split into Projects, Compute, Analytics and
  Clients, with section landings on the three-beat shape; Tutorials removed
  with a redirect; CLI and Wizard pages added.
- UI captures recaptured on the current Quartz UI: deployment troubleshooting
  (list, condition banners, see-logs), python-deployment adapted to the agent
  form, HuggingFace import (modal, formats, success), kube scheduler queue and
  topology, terminal panel, session-capacity badges.
- Sidebar full-height fix so the nav is not clipped near the footer.
- Content parity and diagram-refresh ledgers updated.
- Ray docs captures and guides.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDHgGoXVViiWdzYQibDyBS
Resolved conflicts:
- mkdocs.yml: kept the restructured nav (Projects / Compute / Analytics /
  Clients), added main's new Mountable Secrets page under Projects.
- 11 Trino screenshots: took main's versions to match the latest Trino
  ticket captures.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDHgGoXVViiWdzYQibDyBS
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