6055 Commits

Author SHA1 Message Date
Nubenetes Bot
f50fdffd64 release: v2.6.8 — Fix unbounded license check causing CI timeout v2.6.8 2026-06-19 10:37:01 +02:00
Inaki
f5fae99a38 Merge pull request #359 from nubenetes/feat/fix-license-check-limit
fix: cap license check at 200 repos — was unbounded causing CI timeout
2026-06-19 10:36:46 +02:00
Nubenetes Bot
ebae3c6e27 fix: cap license change detection at MAX_REPOS_DEFAULT (200) — was unbounded
detect_license_changes() iterated all repos with gh_license set, causing
hundreds/thousands of GitHub API calls. Apply the same 200-repo cap as
the activity enrichment module to keep total enrichment under ~3 min.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 10:36:33 +02:00
Nubenetes Bot
a8941afd24 merge: back-merge master v2.6.7 into develop 2026-06-19 10:28:44 +02:00
Nubenetes Bot
f4fb5fe19b release: v2.6.7 — Reduce enrichment CI time from 12min to ~2min v2.6.7 2026-06-19 10:28:39 +02:00
Inaki
f46886abf3 Merge pull request #358 from nubenetes/feat/fix-enrichment-speed
perf: reduce enrichment from 12min to ~2min
2026-06-19 10:28:22 +02:00
Nubenetes Bot
6ccda021e2 perf: reduce enrichment from 12min to ~2min (1 API call/repo, 200 limit)
- Consolidate 2 GitHub API calls per repo into 1: open_issues_count
  already includes PRs on GitHub, second /pulls call was redundant
- Reduce MAX_REPOS_DEFAULT 500→200: sufficient for meaningful enrichment,
  200 × 0.5s = ~100s vs 500 × 1.5s = ~12.5min in CI
- Reduce GITHUB_RATE_DELAY 0.75s→0.5s: still safely under 5000 req/hr
- Add 429 rate-limit backoff (5s sleep instead of crashing)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 10:28:07 +02:00
Nubenetes Bot
3f44948119 merge: back-merge master v2.6.6 into develop 2026-06-19 10:16:41 +02:00
Nubenetes Bot
fe024b4fd7 release: v2.6.6 — Fix CNCF landscape API (SPA→GitHub topic search) v2.6.6 2026-06-19 10:16:37 +02:00
Inaki
bdcedd6950 Merge pull request #357 from nubenetes/feat/fix-cncf-api
fix: CNCF landscape API now SPA — use GitHub topic search instead
2026-06-19 10:16:20 +02:00
Nubenetes Bot
6769fff528 fix: replace CNCF landscape SPA endpoint with GitHub topic search
The legacy landscape.cncf.io/api/items endpoint now returns HTML (SPA)
instead of JSON. Switch to GitHub Search API querying cncf-graduated,
cncf-incubating, and cncf-sandbox topics — reliable and uses existing
GH_TOKEN auth.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 10:16:07 +02:00
Nubenetes Bot
5b00ed4824 merge: back-merge master v2.6.5 into develop 2026-06-19 09:51:32 +02:00
Nubenetes Bot
7e85ec6bdd release: v2.6.5 — Fix MD023 linter errors in digest pages v2.6.5 2026-06-19 09:51:27 +02:00
Inaki
dc0e090318 Merge pull request #356 from nubenetes/feat/fix-digest-linter
fix: MD023 lint — replace indented headings with bold in digest tabs
2026-06-19 09:51:08 +02:00
Nubenetes Bot
6f34ac8569 fix: replace indented ## headings with bold text in digest pages (MD023 lint fix)
- Change `    ## Category` to `    **Category**` inside MkDocs Material
  tabs to avoid MD023 linter errors (headings must start at col 0)
- Sanitize pipe characters in "why" text to prevent broken markdown tables
- Regenerated tech-digest.md (1328 lines, 3 tabs: 333/443/552 lines)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 09:50:53 +02:00
Nubenetes Bot
5d7f58c7fa merge: back-merge master v2.6.4 into develop 2026-06-19 09:45:22 +02:00
Nubenetes Bot
52e2560fa0 release: v2.6.4 — Fix digest periods differentiation v2.6.4 2026-06-19 09:45:18 +02:00
Inaki
41207ca0f0 Merge pull request #355 from nubenetes/feat/fix-digest-periods
fix: differentiate digest periods and fix NoneType stars
2026-06-19 09:44:59 +02:00
Nubenetes Bot
b5b3dc3ce2 fix: differentiate digest periods (10/15/20 items), fix year fallback, fix NoneType stars
- Variable items per period: 3 months=10, 6 months=15, 12 months=20
  so each tab shows progressively more content
- Use year field as fallback in _is_within_period when discovered_at
  doesn't discriminate (backfilled entries)
- Fix NoneType comparison in _fallback_items for entries with null stars
- Regenerated digest: 3m=220, 6m=330, 12m=440 items across 22 categories
- tech-digest.md now 1353 lines with differentiated tabs (339/449/559 lines)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 09:44:44 +02:00
Nubenetes Bot
f221647646 merge: back-merge master v2.6.3 into develop 2026-06-19 09:33:18 +02:00
Nubenetes Bot
099a40d6b1 release: v2.6.3 — First Intelligence Digest with real content v2.6.3 2026-06-19 09:33:13 +02:00
Inaki
74cbc47e2e Merge pull request #354 from nubenetes/feat/generate-digest-content
feat: first Intelligence Digest with real content (22 categories)
2026-06-19 09:32:38 +02:00
Nubenetes Bot
f90d66478f feat: generate first Intelligence Digest with real content (22 categories, 660 items)
- Generate news_digest.json from inventory using star-based ranking
  (no Gemini tokens consumed — fallback mode)
- tech-digest.md: 1022 lines with 22 categories across 3/6/12 month tabs
- industry-digest.md: placeholder (geo_region data will populate after
  next curator run with updated Gemini prompts)
- Add gitignore exception for data/news_digest.json
- 220 items per time period across Kubernetes, AI, DevOps, Security,
  IaC, Observability, Cloud Providers, and more

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 09:32:23 +02:00
Nubenetes Bot
d846c6f336 merge: back-merge master v2.6.2 into develop 2026-06-19 09:29:29 +02:00
Nubenetes Bot
01634bceb2 release: v2.6.2 — Fix .html URLs, add digest placeholders, clean URL mandate v2.6.2 2026-06-19 09:29:24 +02:00
Inaki
d456128366 Merge pull request #353 from nubenetes/feat/fix-html-urls-and-digest-placeholders
fix: remove offline plugin, add digest placeholders, enforce clean URL mandate
2026-06-19 09:29:04 +02:00
Nubenetes Bot
13d51e8fa9 fix: remove offline plugin (.html suffix), add digest placeholder pages, enforce clean URL mandate
- Remove offline plugin from v2-mkdocs.yml — it forces .html suffixes
  on all URLs, breaking SEO and existing deep-links
- Add placeholder tech-digest.md and industry-digest.md pages to prevent
  404 errors before first Gemini digest generation run
- Add clean URL mandate to CLAUDE.md and GEMINI.md: offline plugin is
  permanently forbidden, use_directory_urls must always be true
- Update README with V2 URL Policy section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 09:28:50 +02:00
Nubenetes Bot
87809870c5 merge: back-merge master v2.6.1 into develop 2026-06-19 09:25:40 +02:00
Nubenetes Bot
e1b49ab4b5 release: v2.6.1 — Add CLAUDE.md and gitflow mandate v2.6.1 2026-06-19 09:25:35 +02:00
Inaki
57f9c618f1 Merge pull request #352 from nubenetes/feat/gitflow-docs
docs: add CLAUDE.md and gitflow mandate to GEMINI.md
2026-06-19 09:25:21 +02:00
Nubenetes Bot
65ce209183 docs: add CLAUDE.md with gitflow instructions and update GEMINI.md with git workflow mandate
- Create CLAUDE.md documenting gitflow branching model, release process,
  repository structure, build commands, and coding conventions for Claude
  Code agents
- Add Gitflow section to GEMINI.md (Mandate) ensuring Gemini agents also
  follow the branching discipline: feat→develop→release→master+tag+release
- Both files ensure all AI agents follow gitflow without manual reminders

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 09:24:56 +02:00
Nubenetes Bot
fdd9eac809 merge: back-merge master v2.6.0 into develop 2026-06-19 09:23:03 +02:00
Nubenetes Bot
059b4de3e8 release: v2.6.0 — Intelligence Digest, Pipeline Hardening & Portal Overhaul v2.6.0 2026-06-19 09:22:12 +02:00
Inaki
a11bfe4ced Merge pull request #351 from nubenetes/feat/v2-news-digest-and-improvements
feat: V2 Intelligence Digest, Pipeline Hardening & Portal Overhaul
2026-06-19 09:21:22 +02:00
Nubenetes Bot
9cb73cadcc docs: update README with Intelligence Digest, enrichment pipeline, dedup engine, and MkDocs enhancements
- Add V2 Intelligence Digest section documenting 26-category temporal
  digest system with 3/6/12 month panels
- Add V2 Data Quality and Pipeline Hardening section documenting CNCF
  integration, GitHub activity enrichment, license detection, dedup,
  exception observability, expanded discovery, and stale health re-check
- Add V2 MkDocs Material Enhancements section documenting instant nav,
  breadcrumbs, announcement bar, tags/RSS/PWA plugins, and stub merges
- Update Agentic Stack table with News Digest, Enrichment, Dedup, and
  PWA capabilities
- Update Repository Inventory with new source code modules

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 09:19:47 +02:00
Nubenetes Bot
05b66d006f feat: add company/geo_region extraction to Gemini prompts, add enrichment/dedup to cron, fix nav sync for digest pages
- Update curator Gemini prompt with Phase 5: Company & Geo Classification
  to extract company name and geo_region (americas/europe/spain/asia_pacific)
  for industry digest categories
- Store company and geo_region from AI response in eval_data
- Add Intelligence Digest nav entries to _sync_enterprise_navigation so
  digest pages persist across nav rebuilds
- Add dedup scan and enrichment pipeline steps to monthly cron workflow
  (01.1.agentic_cron.yml) in addition to publish workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 09:04:28 +02:00
Nubenetes Bot
3dc52af391 feat: add CNCF landscape integration, GitHub activity enrichment, license change detection, dedup engine, PWA support, and expanded video hub
- Add src/enrichment.py (395 lines): CNCF landscape API integration for
  project graduation status, GitHub issue/PR velocity tracking with
  community health scoring, and license change detection with history
- Add src/dedup.py (194 lines): URL normalization dedup, content-hash
  dedup, title-similarity dedup (85% threshold via SequenceMatcher),
  and resolution strategy keeping highest-quality entry
- Enable PWA/offline plugin in v2-mkdocs.yml for cached offline reading
- Expand video hub categorization with MLOps, security, IaC, GitOps,
  observability, FinOps, cloud providers, and language-specific routing
- Add dedup scan and enrichment pipeline steps to CI publish workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 09:00:53 +02:00
Nubenetes Bot
8b04851097 fix: exclude digest pages from v2_filter.js injection
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 00:46:47 +02:00
Nubenetes Bot
782dc1bd06 feat: add AI re-evaluation staleness detection, cross-dimension See Also, and last_ai_eval tracking
- Add last_ai_eval timestamp to eval_data in both fast-track and grounded-track
  evaluation paths, plus SQL schema and curator
- Entries enriched >6 months ago are automatically flagged for re-evaluation
  instead of being skipped (stale content detection)
- Enhance "See Also" links with cross-dimension references based on shared
  tags between pages, in addition to same-dimension related links
- Add _collect_tags_from_tree() helper for recursive tag extraction

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 00:45:57 +02:00
Nubenetes Bot
1149a9c8f7 feat: add announcement bar, tags/RSS/minify plugins, markdown extensions, and fix comparison table threshold
- Add announcement bar with digest promo via template override
- Enable tags plugin (native clickable tag navigation)
- Add RSS plugin for digest feed subscription
- Enable minify plugin for production HTML optimization
- Add markdown extensions: highlight, inlinehilite, smartsymbols, caret, tilde, tables, footnotes, abbr, def_list
- Add mkdocs-rss-plugin to requirements.txt
- Fix comparison table threshold mismatch (config: 8, code: 5 → aligned to 8)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 00:42:17 +02:00
Nubenetes Bot
4e87c248fd feat: implement AI-powered news digest engine, MkDocs UX overhaul, pipeline hardening, and stub page merges
- 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>
2026-06-19 00:38:56 +02:00
Nubenetes Bot
51e8ec8cfa docs: automated README metric synchronization [skip ci] 2026-06-18 15:42:37 +00:00
Nubenetes Bot
138b63c69f fix(ci): fix README.md TOC and safety check logic, and guard against NoneType titles in v2_optimizer v2.5.9 2026-06-18 17:42:04 +02:00
Nubenetes Bot
95c7078e6a fix(ci): stage both inventory.yaml and inventory.sql in workflows to prevent unstaged rebase failures 2026-06-18 17:35:40 +02:00
Nubenetes Bot
cba67c689c merge branch 'develop' 2026-06-18 17:33:04 +02:00
Nubenetes Bot
e527be5189 feat: implement SQLite dual-save engine, pre-commit schema linting, debate consensus caching, and reputation registry 2026-06-18 17:32:48 +02:00
Nubenetes Bot
1cd243ee58 feat: implement SQLite dual-save engine, pre-commit schema linting, debate consensus caching, and reputation registry 2026-06-18 17:32:08 +02:00
Nubenetes Bot
0c3ae9661c docs: automated README metric synchronization [skip ci] 2026-06-18 15:04:18 +00:00
Nubenetes Bot
0f53474aa9 Merge branch 'develop' v2.5.8 2026-06-18 17:03:36 +02:00
Nubenetes Bot
12402e089d docs: update CHANGELOG for release v2.5.8 2026-06-18 17:03:26 +02:00