Same fix as v2.9.53 for V2 — the Nutanix logo is black-on-transparent and
invisible in dark mode. Adds targeted CSS invert(1) via [data-md-color-scheme=slate]
to docs/static/extra.css (V1 stylesheet).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Nutanix logo is black-on-transparent, invisible on dark backgrounds.
Adds a targeted CSS rule using [data-md-color-scheme="slate"] to invert
it only in dark mode, keeping the original image unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add 6 YouTube channels to data/inventory.yaml + data/inventory.sql (the authoritative
source read by reorganize_mosaic.py). Previous commits edited index.md directly and
were overwritten by the agentic pipeline. Regenerate both V1 and V2 mosaics.
Also restore RedHat RAG blog link to v2-docs/mlops.md (removed by pipeline PR #462).
Categories assigned:
- IONOS UK, Nutanix → cloud_providers (order_v1 138-139)
- VMware, ProxmoxVE → cloud_native_kubernetes (order_v1 140-141)
- Salesforce, SAP → dev_testing_collab (order_v1 142-143)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move 6 new YouTube channels from overflow rows (343/344/346 had 13 items)
to a new dedicated tail row at the end of the mosaic. All existing rows
restored to exactly 11 icons; new channels added as rows 355-356 (6 each).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add the @Firebase and @supabase YouTube channels to the homepage
channel mosaic under the Observability, Databases & Cloud Storage
category, with icon logos and regenerated V1/V2 index mosaics.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The CRITICAL/HIGH impact badge (and optional NEW pill) was absolutely
positioned top-right, so a long celeste category/title could slide
underneath it and become unreadable. Make the badge an in-flow,
right-aligned fit-content pill on its own line, with the NEW pill as a
flex sibling — impact, title and NEW can no longer overlap at any width.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Trending section felt sparse (6 + 4 cards). Make it much denser while
keeping the page manageable:
- Lane 1 "Trending Now": select up to 16 category-diverse fresh items.
- Lane 2 "Rising this Quarter": select up to 12 sustained-momentum items.
- Each lane shows the first N cards (9 / 6) and tucks the rest behind a
pure-CSS, no-JS "Show N more" / "Show less" disclosure (checkbox-hack +
general-sibling combinator), scoped per lane via a .trending-lane wrapper.
- New .trending-card--extra (hidden by default, fade-in on reveal) and
.trending-showmore pill styles, with slate-theme variants.
The two lanes remain de-duplicated by URL (verified: 16 + 12 cards, zero
overlap) and lane 2 keeps its sustained signal (bpftrace, OpenTelemetry,
Gateway API, Vault, Argo CD, Ray, ...). Verified the toggle in a real
browser via Playwright: 9->16 cards on click, label flips correctly.
Generator + CSS change; the docs/ CSS edit auto-triggers the 04.1 publisher
to regenerate v2-docs on develop.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extract lane selection/rendering into reusable helpers (_select_lane,
_render_cards) and add a second momentum lane below "Trending Now":
- "📈 Rising this Quarter — Sustained Momentum": 6-month digest window
with a soft 60d half-life (vs 21d for lane 1), so it favours resources
with sustained relevance rather than just the freshest items.
- De-duplicated against lane 1 by URL, so the two lanes surface different
resources (verified: FinOps / NVIDIA device-plugin / Ruff / vLLM with
real star counts, no overlap with the Trending lane).
- New .trending-section__title--secondary style (divider + lighter weight).
Generator-only change; CI publisher (04.1) regenerates v2-docs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rework the V2 'Trending Now' section so it reflects real momentum instead
of pinning evergreen/foundational tools:
- Hybrid ranking: impact_weight x recency_decay (21d half-life) so fresh
items surface and the section rotates between releases (date was shown
but never used to rank before).
- Diversity quota: at most one card per digest category, then backfill —
replaces the old impact-only sort that filled all slots with the 2-3
highest-volume categories.
- Real momentum signal: join each item with the inventory by URL and show
the live GitHub star count (e.g. 38.2k★); fall back to the 1-5 Gemini
score only when no gh_stars. Adds a 🆕 NEW pill for items <= 7 days old.
- Clean titles: strip github.com/owner/ paths and 'domain.tld:' prefixes
(no more 'github.com: Istio' or raw repo slugs).
- Fix star-render bug ('🌟'*stars or 0 printed a literal 0 when stars=0).
Generator-only change; CI publisher (04.1) regenerates v2-docs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Render a true colour-matrix heatmap on the Topic Map page (distinct from
the size-based Label cloud on index/Tags). One tile per category, grouped
by strategic dimension, with tile warmth (.th-1..6) encoding how many
AI-curated resources it holds. Log scale since counts span ~1..160.
The existing directory grid is preserved below a new "Full Category
Directory" heading. Generator-only change; the publisher regenerates
topic-map.md. CSS adds .topic-heatmap / .topic-heatcell with light + slate
palettes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The nb-quicknav popovers are positioned via explicit CSS anchor-positioning
pairs (anchor-name on the button + position-anchor on the menu) keyed per
popover id. The two new menus (nb-pop-guide, nb-pop-videos) had no such
pairs, so their popovers opened unanchored (wrong position / "broken").
Add the missing anchor-name/position-anchor pairs and bump the CSS
cache-buster to 2.9.42.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Restructure the custom nb-quicknav header (docs/overrides/main.html):
- Replace the standalone "Topic Map" pill with a "Portal Guide" dropdown
grouping the dispersed orientation pages: Topic Map, Methodology,
Technical Tags, About.
- Add a "Videos" parent dropdown (right after Digest) with the video
category subpages (Video Hub, AI Agents & MCP, DevOps/IaC/SRE,
Cloud Native Core, Fundamentals), promoted out of the "More" menu.
- Trim "More" to the remaining misc entries: Demos, FAQ, Career, V1 Archive.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Render a weighted "popular labels" cloud at the top of tags.md: every
label is listed alphabetically and sized/coloured by how many resources
carry it (log scale, 6 levels) so the most-used tags read biggest and
warmest. Each label anchors to its section below for jump-to-filter.
- v2_optimizer: emit .v2-tag-heatmap block in _generate_global_tag_index
- v2_elite.css: .v2-heat-1..6 size + warmth ramp (light + slate)
- bump CSS cache-buster to v2.9.39
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Addresses the OpenShift 'lío' (ocp3 deprecated · openshift overview · ocp4
current 29-link page) and groups the Kubernetes distributions:
- OpenShift is now a nested submenu inside the Kubernetes menu (OpenShift ▸ →
OpenShift 4 (current) · Overview · OpenShift 3 (legacy)), so the substantial
ocp4 page is finally reachable. Reuses the AWS nested-submenu mechanism.
- Distros/platforms grouped at the end of the Kubernetes menu: Managed K8s ·
OpenShift ▸ · Rancher · Distros & Alternatives (kubernetes-alternatives moved
here and relabeled). Rancher was already present.
- Switched the 2-column Kubernetes menu from CSS multicol to a deterministic
column-major grid (11 rows × 2 cols) with overflow:visible / max-height:none,
eliminating the sub-pixel balancing remainder that left a faint scrollbar.
Verified in Chrome 148 (Playwright + screenshot): menu renders as a clean 2-col
card with NO scrollbar at viewport heights 768–1080; the OpenShift submenu opens
to the side, stays on-screen, and keeps the parent open. Cache-bust ?v=2.9.38.
V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Kubernetes dropdown was the only menu tall enough (22 items) to need a
scrollbar (overflow-y on an anchor-positioned popover), which made it open/behave
unreliably compared to the others. Two fixes:
- The Kubernetes menu now uses a 2-column layout (column-count:2), halving its
height (~731px → ~353px) so it shows in full WITHOUT a scrollbar at any
realistic viewport. Multicol is column-major, so reading order is preserved.
- Removed flip-block from the menu position-try fallbacks (kept flip-inline):
the quick-nav is a sticky top bar, so a tall menu flipped above would shoot
off the top of the screen. Menus now always open downward.
Verified in Chrome 148 (Playwright): Kubernetes menu opens with no scrollbar and
stays fully on-screen at viewport heights 700–1080; all 11 menus + the nested
AWS submenu still open correctly; bar stays one row to 1280px. Cache-bust
?v=2.9.37. V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Full category-driven reorganization of the quick-nav per the agreed taxonomy:
one direct pill (Topic Map) + 11 thematic dropdowns that group related topics
together so every destination has a sensible home.
Digest · Kubernetes (Overview · Docker · Tools · Helm · kubectl · all
kubernetes-* · Managed · OpenShift · Rancher) · Delivery (GitOps · CI/CD ·
DevOps · Argo · Flux · Tekton · Jenkins · …) · IaC (Terraform · IaC · Ansible
· Pulumi · Crossplane · Kustomize) · Cloud (AWS ▸ nested submenu · Azure · GCP
· Serverless · FinOps · Edge · …) · Network · Security · Observability & SRE ·
AI & Data · Dev & Platform · More
- Docker now lives inside Kubernetes; CI/CD + GitOps + DevOps share Delivery;
Terraform + IaC share the IaC menu (as requested).
- AWS is a NESTED submenu inside Cloud (Cloud → AWS ▸ → 8 AWS pages), built with
nested Popover API + explicit anchor() side-positioning (position-area's
horizontal axis isn't honored when the anchor is inside another popover;
left:anchor(right)/top:anchor(top) fixes it). Submenu keeps the parent open;
flip-inline fallback near the right edge.
- Pages may appear in more than one menu where it aids discovery.
- Menus get max-height:82vh + overflow-y for the tall Kubernetes menu.
Verified in Chrome 148 (Playwright): all 11 menus open below + fit viewport; the
AWS submenu opens to the side with the parent kept open; bar stays one row to
1280px. Cache-bust ?v=2.9.36. V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Data-driven expansion (ranked by per-page link count + relevance):
- New 📊 Digest menu: Tech & Cloud Digest + Industry & Geo Digest (was a single
pill; now pairs both editions).
- New 🧰 K8s menu: Kubernetes Tools (144 links) · Helm · Managed K8s · OpenShift
· Tutorials — the Kubernetes ecosystem, which the portal is centered on.
- ☁️ Cloud += Serverless · FinOps.
- 🌐 Network += Service Mesh (the category alongside Istio; Istio emoji → ⛵).
- ⚙️ Ops += IaC · Developer Portals.
- ⋯ More += Technical Tags (1355 links) · Demos (102).
38 destinations total across 6 direct pills + 7 Popover menus. Added explicit
anchor pairs for the two new menus. Chip font trimmed to 0.62rem + tighter
gap/padding so all 13 bar chips still fit one row down to ~1280px. Verified in
Chrome 148 via Playwright: all 7 menus open below their button, stay on-screen
(right-edge flip), and close on Esc. Cache-bust ?v=2.9.33. V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Two fixes to the hybrid quick-nav shipped in v2.9.31:
1. Popover menus did not visibly open on click. Root cause: the menus used
`position-area: bottom span-inline-end`, which mixes a physical keyword
(bottom) with a logical one (span-inline-end) — invalid, so it computed to
`none` and the menu fell back to its static position on top of the button.
Additionally the popover's implicit anchor was not resolving. Fixed by using
a valid all-physical `position-area: bottom span-right` and declaring explicit
anchor-name / position-anchor pairs per button↔menu, so each menu reliably
drops below its trigger and auto-flips (span-left) near the right edge.
Verified in Chrome 148 via Playwright: all five menus open on real click,
render below the button, stay within the viewport, and close on Escape.
2. The bar wrapped to a second row at common widths. Reduced the chip font
~1pt (0.7rem → 0.64rem) and trimmed the column-gap/padding so all 7 pills +
5 menus fit a single row down to 1280px viewports.
Bumps v2_elite.css cache-bust to ?v=2.9.32. V2-only, template/CSS only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collapses the 25-destination quick-nav from 3 wrapped rows to a single slim row
that stays one row regardless of how many destinations are added.
Structure:
- 7 direct one-click pills for the most-used flagships: Topic Map, Digest,
Kubernetes, Docker, GitOps, Terraform, AI & MCP.
- 5 category menus for the long tail, built with the native HTML Popover API +
CSS Anchor Positioning (Baseline 2026), zero JS:
☁️ Cloud (AWS · Azure · GCP) · 🌐 Network (Networking · Istio · K8s Net)
· 🔐 Security (K8s Security · DevSecOps)
· ⚙️ Ops (CI/CD · Observability · SRE · DevOps)
· ⋯ More (Videos · Ansible · Messaging · MLOps · Methodology · V1 Archive)
Why this design: keeps the hot paths at one click (the project's whole value),
while the rarely-used clusters fold away — so the bar never grows past one row.
Popover API gives free Esc / click-outside dismissal and focus management and
works identically on touch and desktop; menus drop below their button via
position-area with flip fallbacks, animate in via @starting-style, and rotate
their caret using :has(). prefers-reduced-motion honored. All 25 destinations
preserved. Bumps v2_elite.css cache-bust to ?v=2.9.31. V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Grows the quick-nav bar to 25 destinations:
- New networking cluster (after cloud): 🌐 Networking · 🕸️ Istio · 🔗 K8s Net
- DevSecOps joins the security cluster: 🔐 Security · 🛡️ DevSecOps
Short labels as usual (K8s Net for Kubernetes Networking). Template-only change
to docs/overrides/main.html; reuses the existing .nb-quicknav pill styling, no
CSS change, no page regeneration, V2-only. All target pages verified and
mkdocs build -f v2-mkdocs.yml passes with all 25 links rendering.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Expands the quick-nav bar to 21 destinations and restyles it as a modern,
centered chip bar. Adds CI/CD, Terraform-adjacent Ansible, and the three
hyperscalers (AWS, Azure, GCP), and reorders every tab into related category
clusters with short labels (even where the page title is long):
discovery (Topic Map · Digest · Videos) → platform (Kubernetes · Docker)
→ delivery (GitOps · CI/CD) → IaC (Terraform · Ansible)
→ cloud (AWS · Azure · GCP) → security → ops (Observability · SRE · DevOps)
→ data (Messaging) → AI/ML (AI & MCP · MLOps) → Methodology → V1 Archive (muted)
Visual upgrade (CSS, modern Chrome):
- Pill chips instead of plain text links — more scannable.
- Chip background/border/glow derived from the theme accent via color-mix()
(in srgb), so the bar restyles automatically with the palette.
- Centered wrapping rows (justify-content: center) — balanced across 2-3 rows
at 21 items vs a ragged last row when left-aligned; the repeated ☁️ visually
groups the three cloud providers.
- Hover lift (translateY) + accent glow; :focus-visible outline for a11y;
prefers-reduced-motion honored.
- Logical properties (margin-inline / padding-inline); mobile collapses to a
single horizontal-scroll row with the scrollbar hidden.
Bumps v2_elite.css cache-bust to ?v=2.9.29. V2-only; no page regeneration.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds the principal topic flagships to the slim quick-nav bar so the most
relevant destinations across all of Nubenetes are reachable in one click from
any page:
- Cloud-native pillars: Kubernetes, Docker, GitOps, Terraform,
K8s Security, Observability
- Ops disciplines: SRE, DevOps
- Data/messaging: Message Queue
- AI/ML: MLOps (next to the existing AI & MCP hub)
Layout groups discovery/meta hubs (Topic Map, Intelligence Digest, Video Hub),
then the pillar + ops + messaging topics, then the AI hubs (AI & MCP, MLOps) and
Methodology, with V1 Archive muted at the far right — 16 curated destinations
total, still under the 18-tab overflow line the bar was designed to avoid.
Reuses the existing .nb-quicknav__link styling (flex-wrap handles density on
narrow viewports); template-only, no CSS change, no page regeneration, V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a thin horizontal bar below the header (on every page) with 6 curated
one-click destinations: Topic Map, Intelligence Digest, Video Hub, AI & MCP,
Methodology, V1 Archive. Implemented by overriding Material's [3g
H H H H H H H H H H
block
(empty since navigation.tabs is disabled) + .nb-quicknav CSS — so it gives the
persistent cross-page shortcuts that previously only existed as badge cards on
the home, WITHOUT the 18-tab overflow and WITHOUT collapsing the full left
navigation tree. Template/CSS only (no page regeneration); V2-only (V1 uses the
stock theme). Cache-bust v2_elite.css?v=2.9.27.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a second JSON-LD block per page (a schema.org CollectionPage tied to the
existing WebSite/Organization @graph) carrying the page name, description, URL,
and datePublished / dateModified fed by the git-revision-date plugin's raw ISO
dates. Enables richer search results (article/collection rich snippets) with
real freshness dates. Template-only change (docs/overrides/main.html), applied
at build time; the homepage is skipped (it is already the WebSite entity).
Verified: every content page emits a valid CollectionPage with both dates
(e.g. Kubernetes datePublished=2026-05-18 dateModified=2026-06-20); the home
carries only the WebSite+Organization graph.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The in-page filter widget (v2_filter.js) auto-injects wherever the page has
<ul><li> items. Topic Map lists category links (with counts) and Methodology
lists legend rows — neither carries .md-tag maturity tags, so the tag pills
filtered to zero and the 'X of Y resources' counter mis-counted categories as
resources. Added both pages to the widget's h1-based skip-list. Bumped
v2_filter.js?v=2.9.19.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
C — git-revision-date-localized plugin: adds a 'Last update' date to every V2
page (freshness signal for SEO and reader trust). Added the dependency to
requirements.txt, enabled it in v2-mkdocs.yml (type: date,
fallback_to_build_date so the build never fails), and set fetch-depth: 0 on the
06 deploy checkout so the plugin sees full git history (otherwise every page
would show the build date).
D — JSON-LD schema.org structured data: WebSite (with a sitelinks SearchAction)
+ publishing Organization, injected via an extrahead block in docs/overrides/
main.html (shared V1/V2). Enables richer search results / knowledge-panel
eligibility. Validated: build exits 0, JSON-LD parses, 'Last update' renders.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Topic Map page H1 is 'Topic Map', so dimension headings jumped h1->h3
and tripped markdownlint MD001/heading-increment, failing 07.2 Markdown
Linter on develop and master after v2.9.16. Emit dimensions as h2 in the
generator, the committed page, and update the CSS selector
(.topic-map-dim h2). Verified 0 errors with the CI markdownlint config.
Bumped v2_elite.css?v=2.9.17.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Declutter the V2 landing page into a curated entry point and move the
full category directory and reference legends to dedicated pages.
Home (index):
- Move "Trending Now / Digest" above the signature YouTube mosaic (fix
inverted altitude: fresh, dynamic content first).
- Replace the ~130-link "Strategic Dimensions" dump with a "Topic Map"
badge card + a slim reference footer (Topic Map · Methodology · Videos).
- Frame the mosaic with a "The Cloud Native Universe We Track" heading.
New generated pages:
- topic-map.md — full category directory by dimension in a responsive
multi-column CSS grid, with per-category resource counts.
- methodology.md — Maturity Taxonomy + Technical Impact legend tables
(moved out of the home).
Mosaic (kept as brand signature, reinforced):
- Surface the per-group category labels that were hidden in title=.
- loading="lazy" on the ~150 channel logos (LCP/perf win).
about.md videos:
- youtube-nocookie.com + loading="lazy" + responsive aspect-ratio wrapper.
Config & cleanup:
- Disable navigation.expand (169-entry nav stayed fully open); the Topic
Map page now serves as the full directory.
- Branded 404 page with clear ways back (Home / Topic Map / V1 Archive).
- Hoist repeated inline styles (hero badge row) into CSS classes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fix: the per-page resource search box with maturity tag-pills stopped
appearing after navigation.instant was enabled (DOMContentLoaded fires only
on first SPA load). Reworked v2_filter.js to init via Material's document$
observable with a DOMContentLoaded fallback, guard double-injection, bind the
clickable-tag delegation once, and add a no-results state. Cache-bust ?v=2.9.12.
Change: removed the duplicated Markdown "## Table of Contents" from all 156 V2
content pages and from v2_optimizer.py — it forced hundreds of links of scroll
on large pages. Replaced by Material's native sticky "On this page" TOC
(removed toc.integrate, added toc.follow). tags.md keeps its TOC (it is an index).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The four logo hero cards use a 100px <img>; the Intelligence Digest card
uses an emoji <div class=hero-badge-icon> that was only ~32px tall, so it
rendered shorter. Give .hero-badge-icon a 100px flex-centered box (and
matching 12px bottom margin) so all five cards are the same height.
Cache-bust bumped to ?v=2.9.7.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
load_inventory_channels() selected entries via 'youtube_mosaic' in entry
(key presence). save_inventory() always writes a youtube_mosaic column
that the SQL round-trip materializes as an empty dict {} on EVERY entry,
so the filter matched all 18,647 inventory entries and emitted ~18.6k
inline <img> links on a single line. That produced a 4MB v2-docs/index.md
(and 2.9MB docs/index.md), hanging both V1 and V2 index pages in the
browser. A prior revert masked it; the next SQL-backed sync re-broke it.
Fix: only treat an entry as a mosaic channel when youtube_mosaic is a
non-empty dict with a logo image (136 curated channels). Regenerated both
index files via reorganize_mosaic — docs/index.md is now byte-identical
to the last known-good state (52KB); v2-docs/index.md back to 41KB.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Removed `content-visibility: auto` on broad <ul>/<ol> selectors and
.v2-tag-section. On the slate (dark) theme it produced black flashes
while scrolling and made link lists below the index mosaic appear
collapsed/broken due to intrinsic-size mismatch causing scrollbar jumps.
The tags page already uses collapsed <details> (native render skipping),
so the optimization was redundant and harmful.
Bumped CSS cache-bust to ?v=2.9.2.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The publisher deleted ~30 v2-docs pages still referenced in v2-mkdocs.yml nav,
producing a broken MkDocs build. Rolling back to last known good state (v2.8.4).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1. geo_region inference: _infer_geo_from_url() infers Americas/Europe/España/Asia-Pacific
from URL TLD (.es .de .fr .uk .jp .cn etc.) as fallback when geo_region field is empty.
Industry digest now shows real content instead of empty categories.
2. Last-updated badge: trending section header now shows "Updated Jun 19, 2026" pill
derived from news_digest.json mtime — gives readers confidence in freshness.
3. Search boost: tech-digest and industry-digest pages now have search.boost: 2
frontmatter so they rank higher in MkDocs Material site search.
4. RSS feed (src/rss_generator.py): generates v2-docs/feed.xml with top-20 curated
picks from 3-month digest. Runs after news_digest in publisher. Autodiscovery
<link rel="alternate"> added to v2-mkdocs.yml extra_head.
5. Weekly cron (09.weekly_digest.yml): runs every Monday 06:00 UTC, generates digest
with Gemini, renders digest pages, commits, then triggers publisher.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New hero card (amber color) between AI & MCP Agents and Agentic Video
Hub, linking to /tech-digest/ with emoji icon and subtitle
- Dynamic digest-preview block above Agentic Pulse: shows top 1 link
from 5 priority categories (Kubernetes, AI, Security, IaC, Observability)
pulled from data/news_digest.json on each optimizer run
- New CSS: hero-badge-card--amber, hero-badge-icon, digest-preview
component with category chips and hover states
- v2_optimizer now generates both the card and preview automatically
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add 26-category news digest engine (src/news_digest.py) with Gemini AI ranking
for 3/6/12 month temporal panels across tech, cloud, and geo categories
- Add discovered_at, company, geo_region fields to inventory schema with backfill
script populating 18K+ existing entries
- Fix critical v2-mkdocs.yml bug: plugins were nested under theme (silently disabled)
- Add MkDocs Material features: instant nav, breadcrumbs, footer, announce bar
- Add trending cards CSS grid and replace Agentic Pulse with dynamic Trending Now
- Generate tech-digest.md and industry-digest.md with tabbed 3/6/12 month views
- Merge 12 stub pages (<40 lines each) into parent categories with redirects
- Replace 50 bare except:pass patterns with contextual logging across all pipeline files
- Expand autonomous discovery from 6 to 14 GitHub search queries
- Add stale health re-check for online entries older than 30 days
- Track addition_method by source type (rss, twitter, github_trending)
- Add digest generation step to CI publish workflow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>