Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
0937c4c
feat: Implement Zero-Touch Movie Sommelier with On-Device ML (VibePre…
michaeloboyle Dec 6, 2025
0ecdf65
chore: Link VibePredictor and VectorEmbeddingService to Xcode project
michaeloboyle Dec 6, 2025
ab5649f
feat: Update VibeCheck iOS app for iOS 26 beta with ARW + Sommelier i…
michaeloboyle Dec 8, 2025
0fbd420
feat(vibecheck): integrate Ruvector WASM for on-device learning
michaeloboyle Dec 8, 2025
196137f
feat(vibecheck): add Ruvector integration helpers
michaeloboyle Dec 8, 2025
5327007
feat(vibecheck): complete Ruvector WASM integration βœ…
michaeloboyle Dec 8, 2025
cb27373
feat(vibecheck): add Ruvector performance benchmark suite
michaeloboyle Dec 8, 2025
e0c0908
feat: add BenchmarkView and integrate performance benchmarking features
michaeloboyle Dec 8, 2025
df61c1d
feat(vibecheck): Add data context to benchmarks and device screenshots
michaeloboyle Dec 8, 2025
cbbe756
docs: Add WASM integration plan for VibeCheck iOS
michaeloboyle Dec 8, 2025
1abbf61
fix: Rewrite RuvectorBridge with correct WasmKit API
michaeloboyle Dec 8, 2025
4a89f5f
feat: Add real WASM benchmarks to BenchmarkView
michaeloboyle Dec 8, 2025
96311e9
fix: Make WASM benchmarks gracefully degrade without WasmKit SPM
michaeloboyle Dec 8, 2025
5b06c7b
feat: Integrate WasmKit SPM for real WASM execution in benchmarks
michaeloboyle Dec 8, 2025
74e2c8e
feat: Add ML-based mood classification using WASM ios_learner
michaeloboyle Dec 8, 2025
e488aef
fix: Add WASIBridgeToHost imports for WASM loading
michaeloboyle Dec 8, 2025
e31dd08
feat: Add WASM execution verification in RuvectorBridge and display b…
michaeloboyle Dec 9, 2025
98932ee
feat: Initialize recommendation engine and ML inference in RuvectorBr…
michaeloboyle Dec 9, 2025
fe2afc6
fix: Update build identifier to v1.0.1-r9 for deployment verification
michaeloboyle Dec 9, 2025
5ed89e3
feat: Enhance initialization and error reporting in RuvectorBridge an…
michaeloboyle Dec 9, 2025
2632b7d
feat: Improve error handling and reporting in RuvectorBridge and Benc…
michaeloboyle Dec 9, 2025
6132643
feat: Update build identifier and add vector embeddings count display…
michaeloboyle Dec 9, 2025
2d4c1b4
feat: Integrate HNSW vector operations and learning memory system for…
michaeloboyle Dec 9, 2025
6f3c174
refactor: Simplify error handling in vector memory operations in Ruve…
michaeloboyle Dec 9, 2025
423527d
chore: Update version display to 1.0.1-r16 in Settings
michaeloboyle Dec 9, 2025
a17e8c9
docs: Add r16 screenshots (ForYou, Benchmark views)
michaeloboyle Dec 9, 2025
563d998
docs: Add additional ForYou tab screenshot showing Mellow mood state
michaeloboyle Dec 9, 2025
e07e50a
Merge remote-tracking branch 'upstream/main'
michaeloboyle Dec 10, 2025
bb42053
feat(vibecheck-ios): Add thumbs up/down rating and seen toggle for media
michaeloboyle Dec 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"githubPullRequests.ignoredPullRequestBranches": [
"main"
]
}
44 changes: 0 additions & 44 deletions apps/media-discovery/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 13 additions & 4 deletions apps/media-discovery/src/lib/natural-language-search.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,13 +136,22 @@ export async function semanticSearch(
query: string,
userPreferences?: number[]
): Promise<SearchResult[]> {
// Parse the natural language query
const semanticQuery = await parseSearchQuery(query);
// Parse the natural language query (with fallback)
let semanticQuery: SemanticSearchQuery;
try {
semanticQuery = await parseSearchQuery(query);
} catch (error) {
console.warn('AI parsing failed, using basic query:', error);
semanticQuery = { query };
}

// Parallel search strategies
// Parallel search strategies with graceful degradation
const [tmdbResults, vectorResults] = await Promise.all([
performTMDBSearch(semanticQuery),
performVectorSearch(semanticQuery),
performVectorSearch(semanticQuery).catch(err => {
console.warn('Vector search failed, continuing with TMDB only:', err);
return [];
}),
]);

// Merge and rank results
Expand Down
20 changes: 20 additions & 0 deletions apps/vibecheck-ios/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Xcode user-specific files
*.xcuserstate
xcuserdata/

# Build logs
build*.txt
build*.log
*.log

# Test scripts (local only)
test_*.sh
verify_*.sh

# Test runners (compiled)
*TestRunner

# OS generated
.DS_Store
.build/
Package.resolved
20 changes: 20 additions & 0 deletions apps/vibecheck-ios/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// swift-tools-version:5.9
import PackageDescription

let package = Package(
name: "VibeCheck",
platforms: [
.iOS(.v17)
],
dependencies: [
.package(url: "https://github.com/swiftwasm/WasmKit", from: "0.1.0")
],
targets: [
.target(
name: "VibeCheck",
dependencies: [
.product(name: "WasmKit", package: "WasmKit")
]
)
]
)
Loading