Skip to Content
SPAPS is proprietary hosted SaaS. Paid access required; pre-1.0 contracts may change. Terms and access
Maintainer OperationsMaintainer: Release Governance

SPAPS Docs Release Governance

Maintainer-only release authority. Receipts, deployment gates, and rollback controls here belong to operation of the hosted SPAPS service, not the customer integration path.

Use this checklist when the upstream Sweet Potato runtime, CLI, SDKs, packages, or security behavior changes. The docs site should move only after the source artifact and the validation command agree.

Change-To-Docs Checklist

Upstream changeSource artifact to refreshDocs likely affectedRequired proof
Operational route or route group changesfixtures/docs-contract/spaps-contract-fixture.json or ../sweet-potato/docs/manifest.jsonEndpoint reference, Request lifecycle, Troubleshootingnpm run docs-contract:validate; optionally npm run docs-contract:upstream when ../sweet-potato is present
CLI command or package surface changesfixtures/docs-contract/spaps-contract-fixture.json, package manifestsPackages, SPAPS CLI quickstart, Field kitnpm run docs-contract:validate; npm run first-run:dry-run for field-kit paths
Settings, env vars, or startup invariants changefixtures/docs-contract/spaps-contract-fixture.json, settings source in upstreamSettings reference, Security invariants, Deployment validationnpm run docs-contract:validate; npm run docs-metadata:lint
Local-mode behavior changeshealth/local-mode source and first-run scenario manifestAuth and local mode, Local development, Troubleshootingnpm run first-run:dry-run; npm run docs-contract:validate
Webhook destination or signing policy changeswebhook docs, settings source, route manifestWebhooks and event delivery, Security invariants, Deployment validationnpm run docs-contract:validate; link-check
Field-kit scenario changesfirst-run-scenarios.jsonStart here, Field kit, Troubleshootingnpm run first-run:validate; npm run first-run:dry-run; npm run test:first-run-scenarios

Do not update prose-only pages for high-risk surfaces without refreshing lastVerified metadata and naming the command that proves the page.

Field-Kit Leave-Behind Template

FieldCapture
App slugThe provisioned or scaffolded app slug
Auth modeLocal persona, magic link, wallet, JWT-backed session, or explicit blocker
Revenue triggerCheckout, subscription, manual grant, wallet payment, or deferred
EntitlementFeature key and owning app
Verification outputnpx spaps quickstart --json, npx spaps verify --json, and failed checks
Runtime modeLocal runtime, upstream development stack, or production candidate
Security boundaryAllowed origins, secret locations, webhook destination policy, PII startup invariant
Troubleshooting rowLink to the symptom row used if any command failed
Next operator skillissue-reporting-setup, sweet-potato-usage-audit, bookme, documentation-website-for-software-project, or a project-specific skill

Required Local Docs Gates

npm test npm run docs-contract:upstream npm run build npm run pages:verify npm run test:release npm run test:e2e:docs

npm test is the canonical wrapper for its 16 constituent checks. The remaining commands bind the sibling source, static artifact, controller, and browser surface. If a local policy blocks the aggregate wrapper, run its exact package.json command chain and preserve every exit code; never convert a blocked wrapper into a PASS.

For focused diagnosis, the canonical wrapper expands to:

npm run typecheck npm run lint npm run format:check npm run link-check npm run test:link-check npm run first-run:dry-run npm run test:first-run-scenarios npm run docs-contract:fixtures npm run test:docs-contract-fixtures npm run docs-contract:validate npm run test:docs-contract-validation npm run docs-metadata:lint npm run test:docs-metadata-lint npm run reference-inventory:validate npm run test:reference-inventory npm run role-links:check