Skip to content

Conversation

@zackproser
Copy link
Owner

@zackproser zackproser commented Sep 19, 2025

Note

Migrates comparisons to a YAML‑manifest system with validation/provenance and a new decision engine/UI, adds OpenAI/Anthropic manifests, CI checks, and newsletter auto‑subscribe with analytics.

  • Manifests & Validation:
    • Introduces YAML tool manifests (manifests/openai-api.yaml, manifests/anthropic-api.yaml) with provenance.
    • Adds manifest loader/types (src/lib/manifests/**) and AJV validation; scripts for validate/check/policy/migrate.
    • CI: new GitHub Action to validate manifests on PRs.
  • Decision Engine & UI:
    • Adds scoring, verdict, analytics, and loader (src/lib/decision-engine/**).
    • New comparison components (verdict-first, visual score, capability/model/pricing comparisons, mobile/perf layouts).
    • Refactors actions/UI to manifest-based tools (replacing Prisma Tool usage).
  • Content & Routes:
    • Adds review content (Anthropic vs OpenAI) and queue; updates RSS/sitemap to meaningful comparisons; adjusts redirects to /comparisons/:a/vs/:b.
  • Auth/Newsletter & DB:
    • Auto-subscribe users to EmailOctopus on first sign-in; adds NewsletterSubscription model/migration and local/APIs for subscription/status.
  • Tooling/Deps:
    • New scripts in package.json; adds Radix Tooltip and related lockfile updates.

Written by Cursor Bugbot for commit 0a97eb6. This will update automatically on new commits. Configure here.

@vercel
Copy link

vercel bot commented Sep 19, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
portfolio Ready Ready Preview Comment Oct 20, 2025 11:40pm

💡 Enable Vercel Agent with $100 free credit for automated AI reviews

cursor[bot]

This comment was marked as outdated.

// Merge and sort by date
const allContent = [...blogPosts, ...reviews]
.filter((a) => a.type === 'blog' || a.type === 'video' || a.type === 'demo')
.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()) as Blog[];
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Content Filter Fails to Display New Metadata Types

The blog index page loads reviews and the metadata types now include 'newsletter', but the content filter isn't updated to include these new types. This means reviews and newsletters won't display on the page.

Additional Locations (1)

Fix in Cursor Fix in Web

},

company: {
moreEstablished: (tool1.company.founded || '') < (tool2.company.founded || '') ? tool1 : tool2,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: String Comparison Bug in Numeric Field

The company.founded field is compared as a string, causing incorrect lexicographical ordering instead of numeric comparison. This leads to inaccurate results for comparisons like moreEstablished.

Additional Locations (1)

Fix in Cursor Fix in Web

@zackproser
Copy link
Owner Author

@dependabot rebase

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.

2 participants