Repository navigation
feat: semantic diffing, A2A/MCP bridge, usage analytics, push-to-main releases - #1
Merged
Merged
Conversation
… releases Semantic snapshot diffing: - semanticDiff/summarizeChanges grade changes as info/notable/breaking (prices, availability, actions, policy). - @ahtmljs/agent: watch() and changes() change subscriptions. - ahtml diff <a> <b> [--json] [--fail-on breaking|notable] for CI. A2A / MCP auto-bridge: - toA2AAgentCard + createA2AHandler (A2A v1.0, 0.3 compatible). - Hono and Next routes; `ahtml bridge` serves an A2A card and HTTP MCP. - Priced/irreversible actions return a dry-run and run only on explicit confirmation. Usage analytics: - Anonymous runtime usage events to PostHog (EU) from all packages via a zero-dependency client in @ahtmljs/schema; no URLs, content, hostnames or argv; GeoIP disabled; suppressed under the Node test runner. - @scarf/scarf install analytics in every published package. - Disclosed in README, docs/agents.md and the landing privacy page. CLI: - Zero-dependency update notifier (npm registry, 24h cache, TTY/CI aware). - --version prints the real package version. CI/CD: - Push to main releases automatically: bump-version.mjs (patch bump based on max(repo, registry), syncs version.ts and exact internal deps), publish-all.sh (dependency-ordered npm publish with provenance, idempotent, fails on package-list drift), auto-release.yml (main-only, CI parity checks, aborts if main moved, atomic push of commit + tag, gh release). - Replaces the manual tag-based release.yml. - SCARF_ANALYTICS=false in all npm-based workflows. - Examples track workspace versions with caret ranges. Docs: README features and roadmap, docs/diffing.md, docs/a2a.md, CHANGELOG.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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
semanticDiff()/summarizeChanges()grade snapshot changes as info, notable or breaking (prices, availability, actions, policy). The agent getswatch()/changes()subscriptions, andahtml diff a b --fail-on breakinggates CI.toA2AAgentCard+createA2AHandler(A2A v1.0, 0.3 compatible), Hono and Next routes, andahtml bridgeserving an A2A card plus HTTP MCP. Priced and irreversible actions return a dry-run and only execute on explicit confirmation.@ahtmljs/schema, instrumented at real entry points in all 16 packages.@scarf/scarfprovides install analytics.docs/agents.mdand the privacy page.--versionnow prints the real version.auto-release.yml+scripts/bump-version.mjs+scripts/publish-all.shreplace the manual tag-basedrelease.yml.mainpatch-bumps all packages and publishes them to npm with provenance in dependency order.mainmoving mid-run, and non-main dispatch.Before merging
NPM_TOKENrepo secret is valid. It was last updated 2026-05-20, and granular tokens expire. Merging triggers the first auto-release.Test plan
npm run build:packagesnpm test: 677 passed, 0 failed, 2 skippednpm run smoke:imports: CJS + ESM entry points OKnpm run test:conformance: 63 passed, 0 failede2e.probeevents)