Skip to content

feat: add Knowledge Tree logo across all sites#59

Merged
charlie83Gs merged 1 commit intomainfrom
feat/add-logo-branding
Mar 29, 2026
Merged

feat: add Knowledge Tree logo across all sites#59
charlie83Gs merged 1 commit intomainfrom
feat/add-logo-branding

Conversation

@charlie83Gs
Copy link
Copy Markdown
Contributor

Summary

  • Add the new Knowledge Tree SVG logo (ktree.svg) to the repo and deploy it across all 4 sites
  • Replace placeholder icons (lucide TreePine in frontend, 🌿 emoji in wiki-frontend and landing-page, old hand-drawn SVG in docs-site) with the new logo
  • Generate and add raster derivatives: favicon.ico, apple-touch-icon.png (180x180), og-image.png (1200x630)
  • Add missing metadata: favicon links, apple-touch-icon, and OpenGraph tags to all sites
  • Remove unused Next.js placeholder SVGs (file.svg, globe.svg, next.svg, vercel.svg, window.svg)

Sites updated

Site Changes
frontend (Next.js) Sidebar logo → <Image src="/logo.svg">, metadata with icons + OG tags
wiki-frontend (Astro) Header emoji → <img>, added favicon + OG meta tags
landing-page (Astro) Header emoji → <img>, added favicon + OG meta tags
docs-site (Docusaurus) Replaced old logo.svg, added missing favicon.ico

Test plan

  • Frontend: lint, type-check, and all 123 tests pass (verified locally)
  • Visual check: favicon appears in browser tabs for all 4 sites
  • Visual check: logo renders correctly in navbar/header of each site
  • Visual check: OG image renders when sharing links (can test with og:image meta tag inspection)

🤖 Generated with Claude Code

Replace placeholder icons (lucide TreePine, leaf emoji) with the new
Knowledge Tree SVG logo. Add favicon, apple-touch-icon, and OG image
to frontend, wiki-frontend, landing-page, and docs-site.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@charlie83Gs charlie83Gs merged commit 9e1587d into main Mar 29, 2026
4 checks passed
@charlie83Gs charlie83Gs deleted the feat/add-logo-branding branch March 29, 2026 21:59
charlie83Gs added a commit that referenced this pull request Apr 20, 2026
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
charlie83Gs added a commit that referenced this pull request Apr 20, 2026
- commit_migration now resets status='active' alongside the unlock. The
  re-migrate recovery path (#59) feeds errored graphs through begin →
  commit, so without this reset the graph would stay status='error'
  after a successful re-migrate and silently drop out of future
  find_out_of_date_graphs sweeps.
- begin_migration leaves status untouched — during a retry over an
  errored graph, status='error' stays while the reason='migrating'
  signal takes over the banner; commit resets it, another fail
  re-stamps it.
- All three helpers acquire pg_advisory_xact_lock keyed on graph_id
  (low 63 bits of UUID.int). Matches the NodeRepository.acquire_node_lock
  pattern. Serialises an HTTP re-migrate call racing auto-dispatch on
  the same graph; auto-releases on tx commit/rollback.
- test_fail_at_first_hop_keeps_origin_version now begins first
  (realistic path per reviewer nit 4).
- Two new tests pin the new contracts: test_commit_resets_status_from_error
  and test_begin_preserves_error_status_during_retry.

18 tests pass; full kt-db integration suite: 202 passed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
charlie83Gs added a commit that referenced this pull request Apr 20, 2026
Three bugs from PR review:

1. **mark_failed audit row never persisted on hop crash.** ``run_hop``
   flushes the failed row but doesn't commit — committing is the
   caller's job. The workflow's outer ``async with`` closed on the
   exception path before we committed, rolling back the flushed write,
   so the history API never surfaced failures from crashes. Fix: catch
   inside the async-with, commit, then re-raise into the outer handler
   that flips ``fail_migration`` on the graph row. New test
   ``test_failed_hop_persists_failed_audit_row`` reads the audit row
   from a fresh session to prove durability.

2. **Target-ahead-of-plugin silently stamped wrong version.** If the
   dispatcher asked for v3 but the plugin topped out at v2, the workflow
   trimmed the plan to v1→v2 yet still stamped
   ``graph_type_version=3`` at commit — sync worker would read v3 on
   v2 data. Fix: abort up-front when ``target_version >
   plugin.current_version``, leaving the graph untouched. Updated
   test ``test_target_ahead_of_plugin_aborts_before_any_hop`` asserts
   the abort path end-to-end (no hop invoked, no version bump, no
   read_only flip).

3. **Misleading "per-hop refresh" comment.** Removed. There was no
   ``ctx.refresh_timeout`` call to justify the comment. Per-hop timeout
   refresh is a future enhancement, can be wired via a callback if/when
   we see real long-running hops.

Reviewer's minor items left for follow-ups:
- Advisory-lock gap between begin/commit/fail is noted for #58/#59
  integration (``find_in_flight_for_graph`` mitigates at dispatch time).
- ``repr(exc)`` sanitization on the SSE stream — fine as-is for the
  internal operator view; expose-sanitized version if/when we surface
  this on a user-facing stream.
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