Skip to content

docs: synchronize API reference with manifest and enforce freshness - #29

Merged
Kzoeps merged 4 commits into
mainfrom
docs/sync-latest-api
Oct 6, 2026
Merged

Kzoeps merged 4 commits into
mainfrom
docs/sync-latest-api

Conversation

@Kzoeps

@Kzoeps Kzoeps commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Generate the reference from the authoritative API/module manifests rather than historical sibling branches.
  • Include all 55 registered operations and 55 supporting Lexicons; resolve all schema references.
  • Add deterministic pnpm docs:sync and a read-only freshness gate for the index, all snapshots, OpenAPI, and coverage.
  • Correct API/explorer/contributor/operator documentation, including resolver configuration and installation permissions.
  • Preserve standalone explorer operation from committed snapshots; no API/runtime/Lua or lockfile changes.

Validation

  • Independent worker/reviewer loop completed; final reviewer reported no actionable findings.
  • Focused Node suite: 9 passed; freshness drift regression: passed.
  • Canonical freshness check using exact pinned 1.4.0 package contents from local cache: 55 endpoints / 110 snapshots passed.
  • Generated artifacts byte-stable; git diff --check passed.

Local validation limitations

  • Isolated worktree has no installed dependencies; no installation was performed.
  • Full explorer tests: 10 passed; three dependency-backed tests blocked by missing Lexicon and Vite packages.
  • Explorer build blocked by missing ui-react/type dependencies.
  • pnpm check passed generated Lua freshness, then stopped at an incompatible global ESLint because pinned dependencies are absent.
  • CI should run the normal checks with frozen-lockfile dependencies.

Scope

  • No Changeset required under the repository documentation/explorer-only policy.
  • Previously identified feature operational-error discrepancy is separate and unchanged.
  • No deployments, migrations, or HappyView installer requests.

@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
api-endpoints Ready Ready Preview Oct 6, 2026 5:11pm UTC

Request Review

@changeset-bot

changeset-bot Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6a25035

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 128 files, which is 28 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

Check out review usage here.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: addb71e6-62d2-485b-88b3-cdd0955a7db9
📥 Commits

Reviewing files that changed from the base of the PR and between 759bc44 and 6a25035.

📒 Files selected for processing (128)
  • CONTRIBUTING.md
  • README.md
  • api/README.md
  • docs/README.md
  • docs/coverage.json
  • docs/openapi.json
  • docs/scripts/check-sources.mjs
  • docs/scripts/generate-openapi.mjs
  • docs/scripts/openapi-artifacts.mjs
  • docs/scripts/refresh-sources.mjs
  • docs/sources/index.json
  • docs/sources/lexicons/app.bsky.richtext.facet.json
  • docs/sources/lexicons/app.certified.actor.getOrganization.json
  • docs/sources/lexicons/app.certified.actor.getOrganizations.json
  • docs/sources/lexicons/app.certified.actor.getProfile.json
  • docs/sources/lexicons/app.certified.actor.getProfiles.json
  • docs/sources/lexicons/app.certified.actor.listOrganizations.json
  • docs/sources/lexicons/app.certified.actor.listProfiles.json
  • docs/sources/lexicons/app.certified.actor.organization.json
  • docs/sources/lexicons/app.certified.actor.profile.json
  • docs/sources/lexicons/app.certified.actor.searchOrganizations.json
  • docs/sources/lexicons/app.certified.actor.searchProfiles.json
  • docs/sources/lexicons/app.certified.badge.award.json
  • docs/sources/lexicons/app.certified.badge.definition.json
  • docs/sources/lexicons/app.certified.badge.getBadgeAward.json
  • docs/sources/lexicons/app.certified.badge.getBadgeDefinition.json
  • docs/sources/lexicons/app.certified.badge.getBadgeResponse.json
  • docs/sources/lexicons/app.certified.badge.listBadgeAwards.json
  • docs/sources/lexicons/app.certified.badge.listBadgeDefinitions.json
  • docs/sources/lexicons/app.certified.badge.listBadgeResponses.json
  • docs/sources/lexicons/app.certified.badge.response.json
  • docs/sources/lexicons/app.certified.badge.searchBadgeDefinitions.json
  • docs/sources/lexicons/app.certified.defs.json
  • docs/sources/lexicons/app.certified.graph.entityFollow.json
  • docs/sources/lexicons/app.certified.graph.follow.json
  • docs/sources/lexicons/app.certified.graph.getEntityFollow.json
  • docs/sources/lexicons/app.certified.graph.getFollow.json
  • docs/sources/lexicons/app.certified.graph.listActorFollowers.json
  • docs/sources/lexicons/app.certified.graph.listActorFollowing.json
  • docs/sources/lexicons/app.certified.graph.listEntityFollowers.json
  • docs/sources/lexicons/app.certified.graph.listEntityFollowing.json
  • docs/sources/lexicons/app.certified.graph.listRecentFollows.json
  • docs/sources/lexicons/app.certified.link.evm.json
  • docs/sources/lexicons/app.certified.link.getEvmLink.json
  • docs/sources/lexicons/app.certified.link.listEvmLinks.json
  • docs/sources/lexicons/app.certified.location.getLocation.json
  • docs/sources/lexicons/app.certified.location.json
  • docs/sources/lexicons/app.certified.location.listLocations.json
  • docs/sources/lexicons/app.certified.signature.defs.json
  • docs/sources/lexicons/com.atproto.repo.strongRef.json
  • docs/sources/lexicons/org.hypercerts.api.defs.json
  • docs/sources/lexicons/org.hypercerts.claim.activity.json
  • docs/sources/lexicons/org.hypercerts.claim.contribution.json
  • docs/sources/lexicons/org.hypercerts.claim.contributorInformation.json
  • docs/sources/lexicons/org.hypercerts.claim.getActivity.json
  • docs/sources/lexicons/org.hypercerts.claim.getContribution.json
  • docs/sources/lexicons/org.hypercerts.claim.getContributorInformation.json
  • docs/sources/lexicons/org.hypercerts.claim.getRights.json
  • docs/sources/lexicons/org.hypercerts.claim.listActivities.json
  • docs/sources/lexicons/org.hypercerts.claim.listContributions.json
  • docs/sources/lexicons/org.hypercerts.claim.listContributorInformation.json
  • docs/sources/lexicons/org.hypercerts.claim.listRights.json
  • docs/sources/lexicons/org.hypercerts.claim.rights.json
  • docs/sources/lexicons/org.hypercerts.claim.searchActivities.json
  • docs/sources/lexicons/org.hypercerts.collection.getCollection.json
  • docs/sources/lexicons/org.hypercerts.collection.json
  • docs/sources/lexicons/org.hypercerts.collection.listCollectionItems.json
  • docs/sources/lexicons/org.hypercerts.collection.listCollections.json
  • docs/sources/lexicons/org.hypercerts.collection.searchCollections.json
  • docs/sources/lexicons/org.hypercerts.context.acknowledgement.json
  • docs/sources/lexicons/org.hypercerts.context.attachment.json
  • docs/sources/lexicons/org.hypercerts.context.evaluation.json
  • docs/sources/lexicons/org.hypercerts.context.getAcknowledgement.json
  • docs/sources/lexicons/org.hypercerts.context.getAttachment.json
  • docs/sources/lexicons/org.hypercerts.context.getEvaluation.json
  • docs/sources/lexicons/org.hypercerts.context.getMeasurement.json
  • docs/sources/lexicons/org.hypercerts.context.listAcknowledgements.json
  • docs/sources/lexicons/org.hypercerts.context.listAttachments.json
  • docs/sources/lexicons/org.hypercerts.context.listEvaluations.json
  • docs/sources/lexicons/org.hypercerts.context.listMeasurements.json
  • docs/sources/lexicons/org.hypercerts.context.measurement.json
  • docs/sources/lexicons/org.hypercerts.defs.json
  • docs/sources/lexicons/org.hypercerts.entity.defs.json
  • docs/sources/lexicons/org.hypercerts.entity.feature.json
  • docs/sources/lexicons/org.hypercerts.entity.getFeature.json
  • docs/sources/lexicons/org.hypercerts.entity.listFeatures.json
  • docs/sources/lexicons/org.hypercerts.funding.getReceipt.json
  • docs/sources/lexicons/org.hypercerts.funding.listReceipts.json
  • docs/sources/lexicons/org.hypercerts.funding.receipt.json
  • docs/sources/lexicons/org.hypercerts.vocab.getVocabTag.json
  • docs/sources/lexicons/org.hypercerts.vocab.listVocabTags.json
  • docs/sources/lexicons/org.hypercerts.vocab.tag.json
  • docs/sources/lexicons/org.hypercerts.workscope.cel.json
  • docs/sources/lexicons/org.hypercerts.workscope.getWorkscopeTag.json
  • docs/sources/lexicons/org.hypercerts.workscope.listWorkscopeTags.json
  • docs/sources/lexicons/org.hypercerts.workscope.tag.json
  • docs/sources/lexicons/pub.leaflet.blocks.blockquote.json
  • docs/sources/lexicons/pub.leaflet.blocks.bskyPost.json
  • docs/sources/lexicons/pub.leaflet.blocks.button.json
  • docs/sources/lexicons/pub.leaflet.blocks.code.json
  • docs/sources/lexicons/pub.leaflet.blocks.header.json
  • docs/sources/lexicons/pub.leaflet.blocks.horizontalRule.json
  • docs/sources/lexicons/pub.leaflet.blocks.html.json
  • docs/sources/lexicons/pub.leaflet.blocks.iframe.json
  • docs/sources/lexicons/pub.leaflet.blocks.image.json
  • docs/sources/lexicons/pub.leaflet.blocks.imageGallery.json
  • docs/sources/lexicons/pub.leaflet.blocks.math.json
  • docs/sources/lexicons/pub.leaflet.blocks.membersOnlyDelimiter.json
  • docs/sources/lexicons/pub.leaflet.blocks.orderedList.json
  • docs/sources/lexicons/pub.leaflet.blocks.page.json
  • docs/sources/lexicons/pub.leaflet.blocks.poll.json
  • docs/sources/lexicons/pub.leaflet.blocks.postsList.json
  • docs/sources/lexicons/pub.leaflet.blocks.signup.json
  • docs/sources/lexicons/pub.leaflet.blocks.standardSitePost.json
  • docs/sources/lexicons/pub.leaflet.blocks.standardSitePublication.json
  • docs/sources/lexicons/pub.leaflet.blocks.text.json
  • docs/sources/lexicons/pub.leaflet.blocks.unorderedList.json
  • docs/sources/lexicons/pub.leaflet.blocks.website.json
  • docs/sources/lexicons/pub.leaflet.pages.linearDocument.json
  • docs/sources/lexicons/pub.leaflet.richtext.facet.json
  • docs/sources/lexicons/pub.leaflet.theme.color.json
  • docs/test/documentation-freshness.test.mjs
  • docs/test/generator.test.mjs
  • docs/test/manifest-sync.test.mjs
  • docs/test/presentation.test.mjs
  • docs/test/refresh-sources.test.mjs
  • docs/web/src/presentation.mjs
  • package.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Kzoeps

Kzoeps commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator Author

(reply generated by OpenAI gpt-6.1-sol)

Regarding the Sonar analysis status: addressed the confirmed tooling findings in beca910 by extracting source-discovery helpers, making the freshness assertion explicit, and using guarded top-level await in both CLI entrypoints.

Lexical string sorts remain correct; sequential schema traversal is intentional because it shares cycle/visited state. Core tests (9), drift regression (1), and pinned-cache freshness (55 endpoints/110 snapshots) pass; generated artifacts are unchanged. The prior cancelled analysis does not verify scanner issue status, and the new analysis is still pending. No inline review threads exist to resolve.

@sonarqubecloud

sonarqubecloud Bot commented Oct 6, 2026

Copy link
Copy Markdown

❌ The last analysis has failed.

See analysis details on SonarQube Cloud

@Kzoeps
Kzoeps merged commit e9fcc42 into main Oct 6, 2026
7 of 8 checks passed
@Kzoeps
Kzoeps deleted the docs/sync-latest-api branch October 6, 2026 17:13

This branch was successfully deployed

1 active deployment
Preview — 6a250353 Deployed Oct 6, 2026 by vercel[bot]
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