feat: add self-improving agents and Neo4j memory slides#45
Closed
BenGWeeks wants to merge 89 commits into
Closed
Conversation
- New components/team-section.tsx with cards for Ben, Valeriia, Akash and Edit - Photos downloaded from each member's Nostr kind-0 profile into public/images/team/ - Ben's animated GIF avatar converted to a still PNG (frame 0) - Valeriia has no Nostr profile picture, so an initials avatar is shown - Cards link to each member's Nostr profile on njump.me - Section wired into the homepage between Copilots and Contact - "Team" link added to the header navigation Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The logo PNG is 2000x1459 (ratio ~1.37) but was rendered with
width={120} height={48} (ratio 2.5), squashing it in the header.
Use 66x48 to match the intrinsic ratio and add w-auto so the
browser preserves the ratio at the h-12 rendered height. The
brightness-0 invert treatment is unchanged.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- New /story route following the Robotechy story-page structure (banner hero, overlapping avatar, about, narrative sections) - Company Nostr npub shown with a link to njump.me - Nostr banner/avatar images downloaded into public/images - Story link added to header nav and footer - Header/footer hash links prefixed with / so they work from /story Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Zapp.ie has been rebranded to Zaplie (https://www.getzapl.ie, repo https://github.com/knowall-ai/zaplie-webapp). Changes: - Unhide the Zaplie section (id="zapp"), the hero "Find out more about Zaplie" button, and the "using Zaplie" span in app/page.tsx - Rename all user-facing Zapp.ie text to Zaplie (page, header nav, footer, carousel alt texts, Sally chat system prompt) - Replace old GitHub link (BenGWeeks/Zapp.ie) with knowall-ai/zaplie-webapp everywhere - Add a prominent "Visit getzapl.ie" button in the Zaplie section - Unhide the footer Projects link and point it at the new repo Existing images (zappie.png, /images/zapp/ carousel) are unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Incorporated in El Salvador in 2025, Ben Weeks as CEO, and the distributed team locations (Cambridge UK, El Salvador, Poland, Ukraine) are all stated in app/api/chat/system-prompt.ts, so the TODO placeholders for year/location are resolved. The founding-story-details TODO remains. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds a Nostr contact option alongside the Email and WhatsApp buttons, following the WhatsApp button pattern: - components/nostr-logo.tsx: Nostr ostrich SVG extracted from the existing footer icon into a reusable component - components/nostr-button.tsx: Nostr-purple (violet-600, #7c3aed) button labelled "Nostr" that opens KnowAll AI's profile at njump.me in a new tab - components/footer.tsx: reuse the shared NostrLogo component instead of the duplicated inline SVG path - app/page.tsx: render NostrButton in the Get In Touch section Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bring this repo's CI/CD in line with the other knowall-ai repos (robotechy-website, thyme, zapdesk): - ci.yml: split into parallel lint/format/typecheck/unit-test/e2e jobs with a final build gate; setup-node@v4 with built-in npm caching and a concurrency group to cancel superseded runs - New "typecheck" npm script (tsc --noEmit); exclude the unused components/ui/calendar.tsx from type checking (imports react-day-picker, which is not installed and v8 is incompatible with React 19) - Unit test job runs `npm run test:unit --if-present` so it becomes enforced automatically once a unit-test suite is added - E2E job runs the existing Playwright suite against the dev server (Chromium only, no secrets — chat API has fallback responses); bump @playwright/test to ^1.61.1 - pr-lint.yml: enforce conventional-commit PR titles, meaningful body, Fixes #nnn for feat/fix/perf/refactor, and a filled Test plan section - claude-code-review.yml: manually dispatched Claude review of a PR - dependabot.yml: weekly npm (grouped minor/patch) and github-actions update PRs with deps:/ci: title prefixes - CODEOWNERS, PULL_REQUEST_TEMPLATE.md and ISSUE_TEMPLATE/* ported from thyme/zapdesk - CLAUDE.md: document the new CI checks azure-app-service.yml deploy logic is untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Bump next ^15.5.9 -> ^15.5.20 (clears 18 next advisories incl. middleware bypass, SSRF via WebSocket upgrades, DoS, cache poisoning) - Regenerate package-lock.json to pick up patched transitive deps (ws, picomatch, minimatch, lodash, form-data, flatted, yaml, brace-expansion and others) - Add npm override forcing next's vendored postcss to ^8.5.10 (GHSA-qx2v-qp2m-jg93); next pins 8.4.31 and npm audit's only suggestion was a nonsensical downgrade to next@9 npm audit: 0 vulnerabilities. Build, lint, format and a production server smoke test (homepage + /api/chat diagnostic) all pass. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Unit tests (tests/unit/, 58 tests) with Vitest + React Testing Library, matching the test setup used in the thyme and zapdesk repos: - app/api/chat/route.ts: diagnostic GET, method handling, missing OPENAI_API_KEY error path, OpenAI success/fallback responses, response shape, system prompt conversation-id substitution, logging - app/api/chat/logger.ts: JSON log creation, appending, request metadata, corrupt-file recovery, retrieval by id - app/api/logs/route.ts: ADMIN_API_KEY auth (401/200), all-logs, by-id and 404/500 paths - lib/utils.ts: cn class merging - components: logo, header (incl. mobile menu toggle), footer, service-card render tests Playwright specs (tests/, 27 tests) following the existing [feature-name].spec.ts convention and requirements.yaml references: - services-section.spec.ts: services heading, three service cards - contact-us.spec.ts: mailto link, WhatsApp wa.me URL, contact section - mobile-navigation.spec.ts: mobile menu open/close behaviour - sally-chat.spec.ts: chat renders, fallback reply without a real OpenAI key, chat API response shape and diagnostics - admin-logs.spec.ts: admin page auth gate, wrong/correct key, logs API 401/200 Supporting changes: - vitest.config.ts + tests/unit/setup.ts; test:unit and test:unit:watch npm scripts (test remains Playwright, as in zapdesk) - playwright.config.ts: run against a production build with placeholder OPENAI_API_KEY/ADMIN_API_KEY so the suite passes without secrets; scope Playwright to *.spec.ts so it skips Vitest files - docs/requirements.yaml: services-section feature, mobile menu, chat fallback and unauthorised-admin scenarios - .eslintrc.json: root:true so ESLint does not cascade above the repo - CI: run unit tests in the lint-and-format job - @playwright/test bumped to ^1.61.1 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fix squashed header logo aspect ratio
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Expose package.json version as NEXT_PUBLIC_APP_VERSION via next.config (same pattern as Zapdesk) and render it under the copyright line. Also rename the package from the v0 scaffold default to knowall-website. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Matches the release process in Thyme and Zapdesk: pushing a v* tag (e.g. v0.1.1) triggers the Azure deploy; workflow_dispatch remains for manual deploys. Adds a deploy-production concurrency group so releases queue rather than race. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Addresses Copilot review: a hard-coded 0.0.0 fallback could display a version that corresponds to no real build. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The conventional-commit title regex rejected valid titles like "feat(ui): ..." and "feat!: ...". Allow an optional (scope) and "!" after the type in both the title check and the Fixes-line gate. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- app/story/page.tsx: specialising -> specializing, specialised -> specialized, decentralised -> decentralized for consistency with existing site copy - components/header.tsx: Home nav link and logo now use "/#" so they scroll to the top when already on the homepage (matching the Playwright primary-navigation spec) while still navigating home from /story Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The e2e web server previously passed through a real OPENAI_API_KEY when present in the environment, making the chat fallback specs non-deterministic and risking accidental real API calls. Always inject the invalid test key; set E2E_USE_REAL_OPENAI_KEY=1 to explicitly opt in to the real key. Addresses Copilot review on PR #12. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The repo standardizes on npm (package-lock.json, npm ci in all workflows); the packageManager pnpm pin contradicted that and could make Corepack enforce pnpm. Lockfile unchanged by npm install --package-lock-only; npm ci and npm run build verified. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- components/contact-panel.tsx: right-side shadcn Sheet (dark theme, lime accents) with a Name/Email/Message form, zod validation, and success/ error states, mounted globally via ContactPanelProvider/useContactPanel (modeled on Robotechy's messages drawer, but deliberately login-free) - lib/nostr-contact.ts: ported from the contact-form branch (PR #9) — sends the message as an ephemeral-key NIP-04 encrypted Nostr DM to the KnowAll npub via public relays (nostr-tools) - components/nostr-button.tsx: now opens the panel instead of linking out to njump.me; the njump profile link moved into the panel footer - components/header.tsx: new lucide Mail icon button (aria-label "Contact us") on desktop and mobile that opens the same panel - docs/screenshots: add open-panel and header-icon shots Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace the header "Contact Us" CTA (desktop and mobile menu) with a
Nostr "Sign In" control, modeled on the Robotechy website's login UX
but implemented as a scoped, dependency-light Next.js version:
- components/auth/nostr-auth-provider.tsx: client context exposing
useNostrAuth() with { user, signIn, signOut }. Signs in via a NIP-07
extension (window.nostr.getPublicKey()), persists the pubkey in
localStorage (knowall.nostr.pubkey), restores the session on load,
and fetches the user's kind-0 profile (name/picture) from public
relays (relay.damus.io, relay.primal.net, nos.lol) using the same
nostr-tools SimplePool approach as lib/nostr-contact.ts.
- components/auth/sign-in-button.tsx: signed out, a lime Sign In
button opening a dialog that explains Nostr sign-in, offers
"Sign in with extension", and links to Alby/nos2x; signed in, an
avatar (or initial) with truncated name and a dropdown containing
View profile (njump.me) and Sign out.
- Wire NostrAuthProvider in app/layout.tsx and allow wss: in the
production CSP connect-src so relay WebSockets (profile fetch and
the contact-form DM) work in production.
Contact remains available via the header mail icon and the #contact
section. nsec and bunker:// sign-in are a planned follow-up.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add Nostr sign-in to the header (replaces the Contact Us button)
Add app version to the footer
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ci: add typecheck, e2e, build, PR lint and repo hygiene checks
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 6. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v3...v6) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Replace the static zappie.png robot card with the Zaplie feed screenshot framed in the same browser-chrome treatment used by other product sections (decorative chrome marked aria-hidden). Removes the unused 2.3MB zappie.png. Carousel images are already the full-quality originals so they are unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… bars - Products dropdown trigger now shows a lime focus-visible ring instead of only removing the default outline, so keyboard focus is visible - The decorative browser-chrome bars (traffic-light dots and fake URL) in the Zapdesk and Thyme sections are aria-hidden Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bumps the minor-and-patch group with 30 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@radix-ui/react-accordion](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/accordion) | `1.2.2` | `1.2.15` | | [@radix-ui/react-alert-dialog](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/alert-dialog) | `1.1.4` | `1.1.18` | | [@radix-ui/react-aspect-ratio](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/aspect-ratio) | `1.1.1` | `1.1.11` | | [@radix-ui/react-avatar](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/avatar) | `1.1.2` | `1.2.1` | | [@radix-ui/react-checkbox](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/checkbox) | `1.1.3` | `1.3.6` | | [@radix-ui/react-collapsible](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/collapsible) | `1.1.2` | `1.1.15` | | [@radix-ui/react-context-menu](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/context-menu) | `2.2.4` | `2.3.2` | | [@radix-ui/react-dialog](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/dialog) | `1.1.4` | `1.1.18` | | [@radix-ui/react-dropdown-menu](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/dropdown-menu) | `2.1.4` | `2.1.19` | | [@radix-ui/react-hover-card](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/hover-card) | `1.1.4` | `1.1.18` | | [@radix-ui/react-label](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/label) | `2.1.1` | `2.1.11` | | [@radix-ui/react-menubar](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/menubar) | `1.1.4` | `1.1.19` | | [@radix-ui/react-navigation-menu](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/navigation-menu) | `1.2.3` | `1.2.17` | | [@radix-ui/react-popover](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/popover) | `1.1.4` | `1.1.18` | | [@radix-ui/react-progress](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/progress) | `1.1.1` | `1.1.11` | | [@radix-ui/react-radio-group](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radio-group) | `1.2.2` | `1.4.2` | | [@radix-ui/react-scroll-area](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/scroll-area) | `1.2.2` | `1.2.13` | | [@radix-ui/react-select](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/select) | `2.1.4` | `2.3.2` | | [@radix-ui/react-separator](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/separator) | `1.1.1` | `1.1.11` | | [@radix-ui/react-slider](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/slider) | `1.2.2` | `1.4.2` | | [@radix-ui/react-slot](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/slot) | `1.1.1` | `1.3.0` | | [@radix-ui/react-switch](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/switch) | `1.1.2` | `1.3.2` | | [@radix-ui/react-tabs](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/tabs) | `1.1.2` | `1.1.16` | | [@radix-ui/react-toast](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/toast) | `1.2.4` | `1.2.18` | | [@radix-ui/react-toggle](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/toggle) | `1.1.1` | `1.1.13` | | [@radix-ui/react-toggle-group](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/toggle-group) | `1.1.1` | `1.1.14` | | [@radix-ui/react-tooltip](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/tooltip) | `1.1.6` | `1.2.11` | | [cmdk](https://github.com/pacocoursey/cmdk/tree/HEAD/cmdk) | `1.0.4` | `1.1.1` | | [embla-carousel-react](https://github.com/davidjerleke/embla-carousel) | `8.5.1` | `8.6.0` | | [input-otp](https://github.com/guilhermerodz/input-otp/tree/HEAD/packages/input-otp) | `1.4.1` | `1.4.2` | Updates `@radix-ui/react-accordion` from 1.2.2 to 1.2.15 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/accordion/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/accordion) Updates `@radix-ui/react-alert-dialog` from 1.1.4 to 1.1.18 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/alert-dialog/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/alert-dialog) Updates `@radix-ui/react-aspect-ratio` from 1.1.1 to 1.1.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/aspect-ratio/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/aspect-ratio) Updates `@radix-ui/react-avatar` from 1.1.2 to 1.2.1 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/avatar/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/avatar) Updates `@radix-ui/react-checkbox` from 1.1.3 to 1.3.6 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/checkbox/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/checkbox) Updates `@radix-ui/react-collapsible` from 1.1.2 to 1.1.15 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/collapsible/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/collapsible) Updates `@radix-ui/react-context-menu` from 2.2.4 to 2.3.2 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/context-menu/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/context-menu) Updates `@radix-ui/react-dialog` from 1.1.4 to 1.1.18 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/dialog/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/dialog) Updates `@radix-ui/react-dropdown-menu` from 2.1.4 to 2.1.19 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/dropdown-menu/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/dropdown-menu) Updates `@radix-ui/react-hover-card` from 1.1.4 to 1.1.18 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/hover-card/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/hover-card) Updates `@radix-ui/react-label` from 2.1.1 to 2.1.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/label/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/label) Updates `@radix-ui/react-menubar` from 1.1.4 to 1.1.19 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/menubar/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/menubar) Updates `@radix-ui/react-navigation-menu` from 1.2.3 to 1.2.17 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/navigation-menu/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/navigation-menu) Updates `@radix-ui/react-popover` from 1.1.4 to 1.1.18 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/popover/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/popover) Updates `@radix-ui/react-progress` from 1.1.1 to 1.1.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/progress/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/progress) Updates `@radix-ui/react-radio-group` from 1.2.2 to 1.4.2 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/radio-group/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/radio-group) Updates `@radix-ui/react-scroll-area` from 1.2.2 to 1.2.13 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/scroll-area/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/scroll-area) Updates `@radix-ui/react-select` from 2.1.4 to 2.3.2 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/select/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/select) Updates `@radix-ui/react-separator` from 1.1.1 to 1.1.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/separator/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/separator) Updates `@radix-ui/react-slider` from 1.2.2 to 1.4.2 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/slider/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/slider) Updates `@radix-ui/react-slot` from 1.1.1 to 1.3.0 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/slot/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/slot) Updates `@radix-ui/react-switch` from 1.1.2 to 1.3.2 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/switch/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/switch) Updates `@radix-ui/react-tabs` from 1.1.2 to 1.1.16 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/tabs/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/tabs) Updates `@radix-ui/react-toast` from 1.2.4 to 1.2.18 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/toast/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/toast) Updates `@radix-ui/react-toggle` from 1.1.1 to 1.1.13 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/toggle/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/toggle) Updates `@radix-ui/react-toggle-group` from 1.1.1 to 1.1.14 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/toggle-group/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/toggle-group) Updates `@radix-ui/react-tooltip` from 1.1.6 to 1.2.11 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/tooltip/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/tooltip) Updates `cmdk` from 1.0.4 to 1.1.1 - [Release notes](https://github.com/pacocoursey/cmdk/releases) - [Commits](https://github.com/pacocoursey/cmdk/commits/v1.1.1/cmdk) Updates `embla-carousel-react` from 8.5.1 to 8.6.0 - [Release notes](https://github.com/davidjerleke/embla-carousel/releases) - [Commits](davidjerleke/embla-carousel@v8.5.1...v8.6.0) Updates `input-otp` from 1.4.1 to 1.4.2 - [Changelog](https://github.com/guilhermerodz/input-otp/blob/master/CHANGELOG.md) - [Commits](https://github.com/guilhermerodz/input-otp/commits/HEAD/packages/input-otp) --- updated-dependencies: - dependency-name: "@radix-ui/react-accordion" dependency-version: 1.2.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-alert-dialog" dependency-version: 1.1.18 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-aspect-ratio" dependency-version: 1.1.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-avatar" dependency-version: 1.2.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-checkbox" dependency-version: 1.3.6 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-collapsible" dependency-version: 1.1.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-context-menu" dependency-version: 2.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-dialog" dependency-version: 1.1.18 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-dropdown-menu" dependency-version: 2.1.19 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-hover-card" dependency-version: 1.1.18 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-label" dependency-version: 2.1.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-menubar" dependency-version: 1.1.19 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-navigation-menu" dependency-version: 1.2.17 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-popover" dependency-version: 1.1.18 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-progress" dependency-version: 1.1.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-radio-group" dependency-version: 1.4.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-scroll-area" dependency-version: 1.2.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-select" dependency-version: 2.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-separator" dependency-version: 1.1.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-slider" dependency-version: 1.4.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-slot" dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-switch" dependency-version: 1.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-tabs" dependency-version: 1.1.16 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-toast" dependency-version: 1.2.18 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-toggle" dependency-version: 1.1.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-toggle-group" dependency-version: 1.1.14 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@radix-ui/react-tooltip" dependency-version: 1.2.11 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: cmdk dependency-version: 1.1.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: embla-carousel-react dependency-version: 8.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: input-otp dependency-version: 1.4.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…-2.0.7 deps: bump sonner from 1.7.4 to 2.0.7
…ction # Conflicts: # components/header.tsx
docs: correct company structure in Sally's system prompt
…yarn/minor-and-patch-a3328f8727 # Conflicts: # package-lock.json
…and-patch-a3328f8727 deps: bump the minor-and-patch group across 1 directory with 30 updates
Replace the flat cover + thin spine with a CSS 3D book (components/tminus15-book.tsx): the cover image plus a cream fore-edge/top page block giving realistic ~100-page thickness. Uses loading=eager because next/image lazy-loading never fires inside a 3D transform. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat: add T-Minus-15 section under Products
# Conflicts: # components/header.tsx
# Conflicts: # app/page.tsx # components/header.tsx
feat: add Meet the Team section with Nostr profile pictures
Master moved section links to a '/#'-prefix (so they resolve from other routes) and moved products into a Products dropdown. Update the unit + e2e assertions: header logo/Home/Services/Copilots hrefs, footer service links, the services-section e2e href, and the mobile-nav 'Zapp.ie'->'Zaplie' link. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
First 1.0 of the KnowAll.ai site — Products dropdown (Zaplie, Zapdesk, Thyme, T-Minus-15), Meet the Team, and the Zaplie rebrand. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
test: add extensive unit (Vitest) and Playwright e2e suites
Extend the reveal.js overview deck (from PR #2, feature/presentations) with two new content slides after the T-Minus-15 methodology slide: - Self-Improving Agents: agents suggest improvements to their own code via pull requests, learning and compounding quality over time, with a human in the loop. - Agent Memory That Grows: a semantic graph of people, places and concepts that grows with every interaction, powered by Neo4j and the open-source knowall-ai/mcp-neo4j-agent-memory project. Slides reuse the existing dark-bg / split-layout / feature-box idioms and brand styling. aria-labels renumbered to reflect 14 total slides. Fixes #44 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
BenGWeeks
marked this pull request as ready for review
July 9, 2026 23:04
BenGWeeks
added a commit
that referenced
this pull request
Jul 10, 2026
Consolidates PR #45 into the presentation suite: adds the Self-Improving Agents and Agent Memory (Neo4j) slides to knowall-overview.html and renumbers to 14 slides. Supersedes #45 and #2 so the whole suite lands as one PR against master. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K331ToqUrk97AV12Tq4Dsy
Contributor
Author
BenGWeeks
added a commit
that referenced
this pull request
Jul 17, 2026
The polished house-style overview (feature/presentations-polish) predated the #45 fold-in, so the Self-Improving Agents and Agent Memory (Neo4j) slides existed only in the old template. Recreate both in the house style (band + chevron, Playfair/Mulish, lime chip cards, github-link pill) after the T-Minus-15 slide, add git-pull-request/database/sprout icons to the Lucide sprite, and renumber aria-labels to a consistent 1-15 (including the previously unnumbered Meet-the-team slide) matching reveal's counter. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K331ToqUrk97AV12Tq4Dsy
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.
Summary
Extends the reveal.js overview deck (introduced in PR #2 on
feature/presentations) with two new content slides, inserted after the T-Minus-15 methodology slide:dark-bg): KnowAll's agents suggest improvements to their own code via pull requests, learn from every outcome, compound quality over time, and keep a human in the loop.split-layout): a semantic graph of people, places, and concepts that grows with every interaction, powered by Neo4j and the open-sourceknowall-ai/mcp-neo4j-agent-memory.Both slides reuse the deck's existing idioms (
feature-box,grid-2, brand colours, logo, aria-labels) so they look native. No new CDN/external assets were introduced. Allaria-labelslide counts were renumbered to reflect 14 total slides.Base is
feature/presentations(notmaster) because the deck only exists on that branch.Test plan
<section>tags balanced (14 open / 14 close).public/locally (python3 -m http.server 8299) and loaded the deck in Playwright/Chromium:public/presentations/knowall-overview.html, step to slides 6 and 7 (of 14).Fixes #44