Verify Doctor against the declared official API contract #301
No reviewers
Labels
No labels
activitypub
admin
api
architecture
articles
auth
bug
cleanup
cli
comments
compatibility
config
contacts
content
database
deployment
design
dev-env
diagnostics
docs
documentation
email
enhancement
feature
federation
feed
health
homepage
implementation
integration
logging
mastodon
media
navigation
npm-packages
openapi
opengraph
packages
passkeys
preview
priority:high
priority:low
priority:medium
production
proof
proxy
public-routes
public-ui
release
safety
slug-api
slug-auth
slug-core
slug-federation
slug-media
slug-template
social
sources
status:active
status:canceled
status:done
status:inprogress
status:waiting
syndication
tailwind
template
test
web
webauthn
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
erik/slugkit!301
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/task-299c29f2-doctor-contract"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Doctor could report success after checking only OpenAPI shape and four bootstrap paths, even when a site omitted the official GET
/sourcessearch parameter. It now resolves the site's explicit contract identity against the immutable Slugkit.com archive, verifies the reference digest, and compares operations and reachable schemas with actionable failures.The documented policy permits compatible additions while rejecting missing declarations and changes that prevent a standard client from working. Public reference requests omit site credentials, reject redirects, and enforce time, size, and comparison limits. Legacy/unknown declarations and unavailable references fail explicitly; package versions do not substitute for a contract version.
Validation:
./scripts/pre-pr.shpassed (build, generated CSS, formatting, lint, types, complete local tests; CLI 564 tests). Focused tests cover the missing source-search declaration, matching and additive contracts, breaking inputs/responses, identity/digest failures, unavailable references, recursive/external references, and credential isolation. The new checker also passed against the deployed Slugkit.com contract and its actual official archive.Task: task-299c29f2 — Doctor misses mismatches with the published API contract.
Independent review
ede15f9eedb158fecaac6a98a6bc8e192b7da11c.