rcf-lite 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/bin/rcf.js +13 -2
- package/blueprints/application-account-settings/CHANGELOG.md +12 -0
- package/blueprints/application-account-settings/README.md +114 -0
- package/blueprints/application-account-settings/blueprint.json +234 -0
- package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +20 -0
- package/blueprints/application-account-settings/contributions/adrs/adr-2602-application-account-settings-security-surface-shape.json +20 -0
- package/blueprints/application-account-settings/contributions/adrs/adr-2603-application-account-settings-theme-persistence.json +20 -0
- package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +20 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +18 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +41 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +28 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2603-application-account-settings-hosted-ui-bridge.json +35 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +40 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +34 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +33 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +33 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +27 -0
- package/blueprints/application-account-settings/docs/topics.md +50 -0
- package/blueprints/application-account-settings/guide/application-account-settings.md +30 -0
- package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +246 -0
- package/blueprints/application-admin-console/docs/topics.md +9 -0
- package/blueprints/application-api-rest/docs/topics.md +10 -1
- package/blueprints/application-charts/docs/topics.md +9 -0
- package/blueprints/application-dashboard/docs/topics.md +9 -0
- package/blueprints/application-datatable/docs/topics.md +9 -0
- package/blueprints/application-empty-error-states/CHANGELOG.md +9 -0
- package/blueprints/application-empty-error-states/README.md +88 -0
- package/blueprints/application-empty-error-states/blueprint.json +119 -0
- package/blueprints/application-empty-error-states/contributions/adrs/adr-2301-application-empty-error-states-status-contract.json +25 -0
- package/blueprints/application-empty-error-states/contributions/adrs/adr-2302-application-empty-error-states-stack-trace-visibility.json +25 -0
- package/blueprints/application-empty-error-states/contributions/adrs/adr-2303-application-empty-error-states-offline-strategy.json +25 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +18 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +18 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +18 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +18 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +18 -0
- package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +46 -0
- package/blueprints/application-empty-error-states/contributions/tacs/tac-2302-application-empty-error-states-recovery-router.json +36 -0
- package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +40 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +29 -0
- package/blueprints/application-empty-error-states/docs/topics.md +55 -0
- package/blueprints/application-empty-error-states/guide/application-empty-error-states.md +50 -0
- package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +284 -0
- package/blueprints/application-error-handling/docs/topics.md +9 -0
- package/blueprints/application-file-upload/CHANGELOG.md +9 -0
- package/blueprints/application-file-upload/README.md +85 -0
- package/blueprints/application-file-upload/blueprint.json +114 -0
- package/blueprints/application-file-upload/contributions/adrs/adr-2401-application-file-upload-transport.json +25 -0
- package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +25 -0
- package/blueprints/application-file-upload/contributions/adrs/adr-2403-application-file-upload-virus-scan.json +25 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +18 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +18 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +18 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +18 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +18 -0
- package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +46 -0
- package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +47 -0
- package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +46 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +28 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +28 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +29 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +28 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +29 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +28 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +28 -0
- package/blueprints/application-file-upload/docs/topics.md +60 -0
- package/blueprints/application-file-upload/guide/application-file-upload.md +48 -0
- package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +238 -0
- package/blueprints/application-forms-wizard/CHANGELOG.md +9 -0
- package/blueprints/application-forms-wizard/README.md +102 -0
- package/blueprints/application-forms-wizard/blueprint.json +120 -0
- package/blueprints/application-forms-wizard/contributions/adrs/adr-2501-application-forms-wizard-navigation.json +25 -0
- package/blueprints/application-forms-wizard/contributions/adrs/adr-2502-application-forms-wizard-save-and-return.json +25 -0
- package/blueprints/application-forms-wizard/contributions/adrs/adr-2503-application-forms-wizard-step-indicator.json +25 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +18 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +18 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +18 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +18 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +18 -0
- package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +46 -0
- package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +40 -0
- package/blueprints/application-forms-wizard/contributions/tacs/tac-2503-application-forms-wizard-draft-store.json +40 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +29 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +29 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +29 -0
- package/blueprints/application-forms-wizard/docs/topics.md +51 -0
- package/blueprints/application-forms-wizard/guide/application-forms-wizard.md +48 -0
- package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +233 -0
- package/blueprints/application-notifications-in-app/docs/topics.md +9 -0
- package/blueprints/application-onboarding-tour/CHANGELOG.md +12 -0
- package/blueprints/application-onboarding-tour/README.md +77 -0
- package/blueprints/application-onboarding-tour/blueprint.json +164 -0
- package/blueprints/application-onboarding-tour/contributions/adrs/adr-2701-application-onboarding-tour-dismissal-policy.json +20 -0
- package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +20 -0
- package/blueprints/application-onboarding-tour/contributions/adrs/adr-2703-application-onboarding-tour-checklist-anchor.json +20 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +18 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +18 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +18 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +18 -0
- package/blueprints/application-onboarding-tour/contributions/tacs/tac-2701-application-onboarding-tour-step-runner.json +41 -0
- package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +35 -0
- package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +34 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +27 -0
- package/blueprints/application-onboarding-tour/docs/topics.md +50 -0
- package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +59 -0
- package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +231 -0
- package/blueprints/application-spa/docs/topics.md +11 -2
- package/blueprints/delivery-ci-workflows/docs/topics.md +10 -1
- package/blueprints/deploy-cloudflare-workers/CHANGELOG.md +69 -0
- package/blueprints/deploy-cloudflare-workers/README.md +12 -0
- package/blueprints/deploy-cloudflare-workers/blueprint.json +234 -36
- package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json +30 -0
- package/blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs +207 -0
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +18 -0
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +18 -0
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +36 -0
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +27 -0
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +27 -0
- package/blueprints/deploy-cloudflare-workers/docs/topics.md +11 -2
- package/blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md +25 -0
- package/blueprints/email-smtp-resend/docs/topics.md +10 -1
- package/blueprints/jobs-background/CHANGELOG.md +16 -0
- package/blueprints/jobs-background/README.md +105 -0
- package/blueprints/jobs-background/blueprint.json +149 -0
- package/blueprints/jobs-background/contributions/adrs/adr-3101-jobs-background-model.json +27 -0
- package/blueprints/jobs-background/contributions/adrs/adr-3102-jobs-background-scheduler-mode.json +25 -0
- package/blueprints/jobs-background/contributions/adrs/adr-3103-jobs-background-requires-applied-capabilities.json +25 -0
- package/blueprints/jobs-background/contributions/adrs/adr-3104-jobs-background-timeout-floor.json +25 -0
- package/blueprints/jobs-background/contributions/probes/apply-time-override.mjs +95 -0
- package/blueprints/jobs-background/contributions/probes/apply-time-refusal.mjs +82 -0
- package/blueprints/jobs-background/contributions/probes/event-secrecy.mjs +69 -0
- package/blueprints/jobs-background/contributions/probes/fake-clock-cron.mjs +65 -0
- package/blueprints/jobs-background/contributions/probes/probe-utils.mjs +91 -0
- package/blueprints/jobs-background/contributions/probes/retry-and-fail.mjs +65 -0
- package/blueprints/jobs-background/contributions/probes/run-apply-time-override.mjs +10 -0
- package/blueprints/jobs-background/contributions/probes/run-apply-time-refusal.mjs +11 -0
- package/blueprints/jobs-background/contributions/probes/run-event-secrecy.mjs +11 -0
- package/blueprints/jobs-background/contributions/probes/run-fake-clock-cron.mjs +11 -0
- package/blueprints/jobs-background/contributions/probes/run-retry-and-fail.mjs +11 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +18 -0
- package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +50 -0
- package/blueprints/jobs-background/contributions/tacs/tac-3102-jobs-background-scheduler.json +50 -0
- package/blueprints/jobs-background/contributions/tacs/tac-3103-jobs-background-run-log.json +49 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +25 -0
- package/blueprints/jobs-background/docs/topics.md +62 -0
- package/blueprints/jobs-background/guide/jobs-background.md +147 -0
- package/blueprints/messaging-queue-cloudflare/CHANGELOG.md +15 -0
- package/blueprints/messaging-queue-cloudflare/README.md +125 -0
- package/blueprints/messaging-queue-cloudflare/blueprint.json +67 -0
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3001-messaging-queue-cloudflare-adapter.json +30 -0
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3002-messaging-queue-cloudflare-delivery-semantics.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3003-messaging-queue-cloudflare-max-attempts-floor.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3004-messaging-queue-cloudflare-batch-defaults.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/event-secrecy.mjs +137 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/probe-utils.mjs +82 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/producer-facade-ready.mjs +35 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/publish-to-delivery.mjs +94 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/real-account-concurrency-smoke.mjs +54 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/retry-and-dlq.mjs +87 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-event-secrecy.mjs +5 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-producer-facade-ready.mjs +11 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-publish-to-delivery.mjs +5 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-real-account-concurrency-smoke.mjs +5 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-retry-and-dlq.mjs +5 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3001-messaging-queue-cloudflare-producer-facade.json +56 -0
- package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3002-messaging-queue-cloudflare-consumer-registration.json +40 -0
- package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3003-messaging-queue-cloudflare-event-sink.json +39 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +34 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +34 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +25 -0
- package/blueprints/messaging-queue-cloudflare/docs/topics.md +62 -0
- package/blueprints/messaging-queue-cloudflare/guide/messaging-queue-cloudflare.md +110 -0
- package/blueprints/object-storage-s3/CHANGELOG.md +13 -0
- package/blueprints/object-storage-s3/README.md +108 -0
- package/blueprints/object-storage-s3/blueprint.json +72 -0
- package/blueprints/object-storage-s3/contributions/adrs/adr-2901-object-storage-s3-adapter.json +30 -0
- package/blueprints/object-storage-s3/contributions/adrs/adr-2902-object-storage-s3-presigned-ttl-floor.json +25 -0
- package/blueprints/object-storage-s3/contributions/adrs/adr-2903-object-storage-s3-multipart-threshold.json +25 -0
- package/blueprints/object-storage-s3/contributions/adrs/adr-2904-object-storage-s3-contract.json +25 -0
- package/blueprints/object-storage-s3/contributions/probes/event-secrecy.mjs +103 -0
- package/blueprints/object-storage-s3/contributions/probes/facade-round-trip.mjs +43 -0
- package/blueprints/object-storage-s3/contributions/probes/multipart-upload.mjs +84 -0
- package/blueprints/object-storage-s3/contributions/probes/presigned-url.mjs +101 -0
- package/blueprints/object-storage-s3/contributions/probes/probe-utils.mjs +85 -0
- package/blueprints/object-storage-s3/contributions/probes/put-get-round-trip.mjs +84 -0
- package/blueprints/object-storage-s3/contributions/probes/r2-real-account-smoke.mjs +64 -0
- package/blueprints/object-storage-s3/contributions/probes/run-event-secrecy.mjs +4 -0
- package/blueprints/object-storage-s3/contributions/probes/run-facade-round-trip.mjs +10 -0
- package/blueprints/object-storage-s3/contributions/probes/run-multipart-upload.mjs +4 -0
- package/blueprints/object-storage-s3/contributions/probes/run-presigned-url.mjs +4 -0
- package/blueprints/object-storage-s3/contributions/probes/run-put-get-round-trip.mjs +7 -0
- package/blueprints/object-storage-s3/contributions/probes/run-r2-real-account-smoke.mjs +4 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +18 -0
- package/blueprints/object-storage-s3/contributions/tacs/tac-2901-object-storage-s3-facade.json +57 -0
- package/blueprints/object-storage-s3/contributions/tacs/tac-2902-object-storage-s3-multipart-uploader.json +36 -0
- package/blueprints/object-storage-s3/contributions/tacs/tac-2903-object-storage-s3-event-sink.json +36 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +34 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +43 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +25 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +34 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +34 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +34 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +34 -0
- package/blueprints/object-storage-s3/docs/topics.md +64 -0
- package/blueprints/object-storage-s3/guide/object-storage-s3.md +207 -0
- package/blueprints/observability-essentials/docs/topics.md +10 -1
- package/blueprints/observability-logging/CHANGELOG.md +4 -0
- package/blueprints/observability-logging/README.md +3 -0
- package/blueprints/observability-logging/blueprint.json +3 -2
- package/blueprints/observability-logging/docs/topics.md +9 -0
- package/blueprints/observability-probe-endpoints/docs/topics.md +10 -1
- package/blueprints/persistence-data-d1/docs/topics.md +10 -1
- package/blueprints/persistence-data-postgres/CHANGELOG.md +12 -0
- package/blueprints/persistence-data-postgres/README.md +101 -0
- package/blueprints/persistence-data-postgres/blueprint.json +80 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +30 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2802-persistence-data-postgres-migration-shape.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2803-persistence-data-postgres-runner-mode.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2804-persistence-data-postgres-recovery.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/probes/facade-round-trip.mjs +56 -0
- package/blueprints/persistence-data-postgres/contributions/probes/migration-apply.mjs +75 -0
- package/blueprints/persistence-data-postgres/contributions/probes/pool-posture-smoke.mjs +56 -0
- package/blueprints/persistence-data-postgres/contributions/probes/prepared-statement-scan.mjs +186 -0
- package/blueprints/persistence-data-postgres/contributions/probes/probe-utils.mjs +76 -0
- package/blueprints/persistence-data-postgres/contributions/probes/recovery-restore-round-trip.mjs +173 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-facade-round-trip.mjs +10 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-migration-apply.mjs +10 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-pool-posture-smoke.mjs +9 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-prepared-statement-scan.mjs +10 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-recovery-restore-round-trip.mjs +9 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-transaction-atomicity.mjs +10 -0
- package/blueprints/persistence-data-postgres/contributions/probes/transaction-atomicity.mjs +79 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2801-persistence-data-postgres-facade.json +58 -0
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +40 -0
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +35 -0
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2804-persistence-data-postgres-recovery-runner.json +40 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +34 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +25 -0
- package/blueprints/persistence-data-postgres/docs/topics.md +66 -0
- package/blueprints/persistence-data-postgres/guide/persistence-data-postgres.md +172 -0
- package/blueprints/persistence-data-sqlite/docs/topics.md +10 -1
- package/blueprints/security-auth-clerk/CHANGELOG.md +4 -0
- package/blueprints/security-auth-clerk/README.md +3 -0
- package/blueprints/security-auth-clerk/blueprint.json +147 -30
- package/blueprints/security-auth-clerk/docs/topics.md +10 -1
- package/blueprints/security-auth-keycloak/CHANGELOG.md +4 -0
- package/blueprints/security-auth-keycloak/README.md +3 -0
- package/blueprints/security-auth-keycloak/blueprint.json +182 -37
- package/blueprints/security-auth-keycloak/docs/topics.md +10 -1
- package/blueprints/security-auth-magic-link/CHANGELOG.md +4 -0
- package/blueprints/security-auth-magic-link/README.md +3 -0
- package/blueprints/security-auth-magic-link/blueprint.json +159 -33
- package/blueprints/security-auth-magic-link/docs/topics.md +10 -1
- package/blueprints/security-auth-oauth2/CHANGELOG.md +4 -0
- package/blueprints/security-auth-oauth2/README.md +3 -0
- package/blueprints/security-auth-oauth2/blueprint.json +158 -32
- package/blueprints/security-auth-oauth2/docs/topics.md +10 -1
- package/blueprints/security-secrets-management/CHANGELOG.md +11 -0
- package/blueprints/security-secrets-management/blueprint.json +2 -1
- package/blueprints/security-secrets-management/docs/topics.md +10 -1
- package/fixtures/canary-manifest.json +9 -9
- package/package.json +1 -1
- package/rcf/code-nodes/cn-134.json +13 -0
- package/rcf/code-nodes/cn-135.json +12 -0
- package/rcf/code-nodes/cn-136.json +13 -0
- package/rcf/code-nodes/cn-137.json +13 -0
- package/rcf/code-nodes/cn-138.json +12 -0
- package/rcf/code-nodes/cn-139.json +12 -0
- package/rcf/code-nodes/cn-140.json +13 -0
- package/rcf/code-nodes/cn-141.json +13 -0
- package/rcf/code-nodes/cn-142.json +12 -0
- package/rcf/code-nodes/cn-143.json +13 -0
- package/rcf/code-nodes/cn-144.json +13 -0
- package/rcf/code-nodes/cn-145.json +12 -0
- package/rcf/code-nodes/cn-146.json +12 -0
- package/rcf/code-nodes/cn-147.json +13 -0
- package/rcf/code-nodes/cn-148.json +13 -0
- package/rcf/code-nodes/cn-149.json +12 -0
- package/rcf/code-nodes/cn-150.json +13 -0
- package/rcf/code-nodes/cn-151.json +13 -0
- package/rcf/code-nodes/cn-152.json +12 -0
- package/rcf/code-nodes/cn-153.json +12 -0
- package/rcf/code-nodes/cn-154.json +13 -0
- package/rcf/code-nodes/cn-155.json +14 -0
- package/rcf/code-nodes/cn-156.json +13 -0
- package/rcf/code-nodes/cn-157.json +13 -0
- package/rcf/code-nodes/cn-158.json +12 -0
- package/rcf/code-nodes/cn-159.json +13 -0
- package/rcf/code-nodes/cn-160.json +12 -0
- package/rcf/code-nodes/cn-161.json +12 -0
- package/rcf/code-nodes/cn-162.json +13 -0
- package/rcf/code-nodes/cn-163.json +12 -0
- package/rcf/code-nodes/cn-164.json +13 -0
- package/rcf/code-nodes/cn-165.json +12 -0
- package/rcf/code-nodes/cn-166.json +12 -0
- package/rcf/code-nodes/cn-167.json +12 -0
- package/rcf/code-nodes/cn-168.json +12 -0
- package/rcf/code-nodes/cn-169.json +12 -0
- package/rcf/code-nodes/cn-170.json +12 -0
- package/rcf/code-nodes/cn-171.json +12 -0
- package/rcf/code-nodes/cn-172.json +12 -0
- package/rcf/code-nodes/cn-173.json +12 -0
- package/rcf/code-nodes/cn-174.json +12 -0
- package/rcf/code-nodes/cn-175.json +13 -0
- package/rcf/code-nodes/cn-176.json +12 -0
- package/rcf/code-nodes/cn-177.json +12 -0
- package/rcf/code-nodes/cn-178.json +12 -0
- package/rcf/code-nodes/cn-179.json +12 -0
- package/rcf/code-nodes/cn-180.json +13 -0
- package/rcf/code-nodes/cn-181.json +12 -0
- package/rcf/code-nodes/cn-182.json +13 -0
- package/rcf/code-nodes/cn-183.json +12 -0
- package/rcf/code-nodes/cn-184.json +13 -0
- package/rcf/code-nodes/cn-185.json +12 -0
- package/rcf/code-nodes/cn-186.json +12 -0
- package/rcf/code-nodes/cn-200.json +14 -0
- package/rcf/code-nodes/cn-201.json +13 -0
- package/rcf/code-nodes/cn-202.json +14 -0
- package/rcf/code-nodes/cn-203.json +14 -0
- package/rcf/code-nodes/cn-204.json +13 -0
- package/rcf/code-nodes/cn-205.json +14 -0
- package/rcf/code-nodes/cn-206.json +14 -0
- package/rcf/code-nodes/cn-207.json +13 -0
- package/rcf/code-nodes/cn-208.json +14 -0
- package/rcf/code-nodes/cn-209.json +14 -0
- package/rcf/code-nodes/cn-210.json +13 -0
- package/rcf/code-nodes/cn-211.json +12 -0
- package/rcf/code-nodes/cn-212.json +12 -0
- package/rcf/code-nodes/cn-213.json +12 -0
- package/rcf/code-nodes/cn-214.json +15 -0
- package/rcf/code-nodes/cn-215.json +13 -0
- package/rcf/code-nodes/cn-216.json +14 -0
- package/rcf/code-nodes/cn-217.json +13 -0
- package/rcf/fbs/fbs-043.json +23 -0
- package/rcf/fbs/fbs-044.json +23 -0
- package/rcf/fbs/fbs-045.json +23 -0
- package/rcf/fbs/fbs-046.json +24 -0
- package/rcf/fbs/fbs-047.json +24 -0
- package/rcf/fbs/fbs-060.json +22 -0
- package/rcf/fbs/fbs-061.json +20 -0
- package/rcf/fbs/fbs-062.json +20 -0
- package/rcf/fbs/fbs-063.json +22 -0
- package/rcf/fbs/fbs-064.json +23 -0
- package/rcf/requirements/req-024.json +69 -0
- package/rcf/requirements/req-025.json +59 -0
- package/rcf/requirements/req-026.json +154 -0
- package/rcf/requirements/req-027.json +33 -0
- package/rcf/requirements/req-028.json +13 -0
- package/rcf/requirements/req-029.json +57 -0
- package/rcf/requirements/req-030.json +67 -0
- package/rcf/requirements/req-040.json +13 -0
- package/rcf/requirements/req-041.json +125 -0
- package/rcf/requirements/req-042.json +59 -0
- package/rcf/requirements/req-043.json +39 -0
- package/rcf/test-suites/ts-053.json +70 -0
- package/rcf/test-suites/ts-054.json +70 -0
- package/rcf/test-suites/ts-055.json +77 -0
- package/rcf/test-suites/ts-056.json +78 -0
- package/rcf/test-suites/ts-057.json +78 -0
- package/rcf/test-suites/ts-070.json +62 -0
- package/rcf/test-suites/ts-071.json +62 -0
- package/rcf/test-suites/ts-072.json +62 -0
- package/rcf/test-suites/ts-073.json +38 -0
- package/rcf/test-suites/ts-074.json +30 -0
- package/rcf/test-suites/ts-075.json +38 -0
- package/rcf/test-suites/ts-076.json +70 -0
- package/rcf/user-stories/us-2401.json +62 -0
- package/rcf/user-stories/us-2501.json +58 -0
- package/rcf/user-stories/us-2601.json +51 -0
- package/rcf/user-stories/us-2701.json +55 -0
- package/rcf/user-stories/us-2801.json +55 -0
- package/rcf/user-stories/us-2901.json +45 -0
- package/rcf/user-stories/us-2902.json +36 -0
- package/rcf/user-stories/us-3001.json +45 -0
- package/rcf/user-stories/us-4001.json +69 -0
- package/rcf/user-stories/us-4101.json +69 -0
- package/rcf/user-stories/us-4201.json +69 -0
- package/rcf/user-stories/us-4301.json +78 -0
- package/releases/releases.yaml +21 -1
- package/src/blueprint/apply.js +13 -1
- package/src/blueprint/capabilities.js +66 -2
- package/src/cli/blueprint.js +15 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T19:16:55.365Z",
|
|
3
|
+
"updatedAt": "2026-09-06T19:16:55.402Z",
|
|
4
|
+
"category": "functional",
|
|
5
|
+
"domain": "application",
|
|
6
|
+
"priority": "must",
|
|
7
|
+
"description": "The rcf-lite shelf ships the messaging-queue-cloudflare v1.0.0 blueprint (blueprints/messaging-queue-cloudflare/) with 20 to 24 contributions per the ratified infra round 5 spec section 5.3: 6 REQs (producer facade sole-reader of the Queues binding with producerReady on boot; publish/consume/ack with stable message-id and producer-supplied trace-id; retry contract; DLQ contract with default max-attempts 3 and 4-day retention per Cloudflare Queues dead-letter documentation; batch consume bounded by Cloudflare max 100 messages and max 60 seconds per Cloudflare Queues platform limits; four lifecycle events with metadata-only fields), 8 USs 29101-29108 binding runtime-observable ACs, 3 TACs (3001 producer facade, 3002 consumer registration on the Worker queue handler, 3003 event sink), 4 ADRs (3001 adapter Cloudflare Queues shipped first adapter, 3002 deliverySemantics scope global at-least-once, 3003 max-attempts default 3 floor 1 ceiling 100, 3004 batch size default 10 batch timeout default 5 seconds). The blueprint declares suggestedCompanions logging and errorHandling with spec section 5.3 reasons, providesRoles absent, capabilities [queue], requiresAppliedCapabilities absent (composes on deploy-cloudflare-workers transitively via the wrangler binding, not through the capability mechanism). Contributes ADR-3002 as scope:global on new topic deliverySemantics with at-least-once as the shipped shape so future exactly-once or at-most-once siblings conflict here by design. Ships six probe modules under blueprints/messaging-queue-cloudflare/contributions/probes/ each exporting the spec section 3.2 verdict envelope with an anchorAcId matching a contributed AC id, and matching run-shims writing per-blueprint reports at .rcf/reports/blueprints/messaging-queue-cloudflare/. Four probes local-first (accountBound false); real-account-concurrency-smoke carries accountBound true and records the accountBoundSkipped shape per spec section 3.5 without CI_HAS_CLOUDFLARE_ACCOUNT. Ships the T-3 side of the shared sample-app fixture at packages/rcf-lite/test/fixtures/infra-s3-and-queue/ with a wrangler.toml declaring a Cloudflare Worker with queue binding RCF_TEST_QUEUE and DLQ binding RCF_TEST_DLQ, an in-memory queue driver enabling Node-only probes without live Cloudflare Queues, producer and consumer modules realising the facade contract, three wired induced-failure switches (SIMULATE_CONSUMER_RETRY, SIMULATE_DLQ_OVERFLOW, SIMULATE_PII_IN_BODY), and a README extension naming the wrangler dev boot line and the elicited parameters. Extends packages/rcf-lite/docs/blueprint-authoring.md section 6a capability-declaration table with one row for queue naming the reserved messaging-queue-postgres sibling per Baz decision 7 and spec section 5.6. Appends one row for messaging-queue-cloudflare at US band 29101-29899 / ADR-TAC suffix block 30xx to the shelf-wide id-band registry table under docs/topics.md on every shipped blueprint. Minted with dex reserved-block chain ids via --id per HQ mid-flight ruling on repo-chain id blocks per train. Miniflare Queues sub-page is NOT cited (spec confirmed 404); the Cloudflare Queues local-development page is the citation for the wrangler dev seam.",
|
|
8
|
+
"reqId": "REQ-042",
|
|
9
|
+
"prdId": "PRD-001",
|
|
10
|
+
"title": "Messaging-queue-cloudflare v1.0.0 blueprint on the shelf",
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"status": "draft",
|
|
13
|
+
"shapeClassification": {
|
|
14
|
+
"shapes": [
|
|
15
|
+
"webUi",
|
|
16
|
+
"httpApi",
|
|
17
|
+
"persistence"
|
|
18
|
+
],
|
|
19
|
+
"reason": "keyword-scan",
|
|
20
|
+
"classifiedAt": "2026-09-06T19:16:55.400Z",
|
|
21
|
+
"signals": [
|
|
22
|
+
{
|
|
23
|
+
"source": "description",
|
|
24
|
+
"shape": "webUi",
|
|
25
|
+
"match": "table"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"source": "description",
|
|
29
|
+
"shape": "persistence",
|
|
30
|
+
"match": "table"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"source": "description",
|
|
34
|
+
"shape": "httpApi",
|
|
35
|
+
"match": "post"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"source": "description",
|
|
39
|
+
"shape": "webUi",
|
|
40
|
+
"match": "table"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"source": "description",
|
|
44
|
+
"shape": "persistence",
|
|
45
|
+
"match": "table"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"source": "description",
|
|
49
|
+
"shape": "webUi",
|
|
50
|
+
"match": "page"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"source": "description",
|
|
54
|
+
"shape": "webUi",
|
|
55
|
+
"match": "page"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T20:28:34.000Z",
|
|
3
|
+
"updatedAt": "2026-09-07T10:18:08.299Z",
|
|
4
|
+
"category": "functional",
|
|
5
|
+
"domain": "application",
|
|
6
|
+
"priority": "must",
|
|
7
|
+
"description": "The rcf-lite shelf ships the jobs-background v1.0.0 blueprint (blueprints/jobs-background/) with 22 contributions per the ratified infra round 5 spec section 5.4: 6 REQs (requires an applied queue capability via the T-5 mechanism and refuses apply on a bare project with exit 3 plus stable message id jobs-background-no-queue; job-definition contract carrying name, handler, input schema opaque per project, retry policy, timeout; scheduler contract carrying POSIX cron string and one-shot delayed; retry contract inheriting the applied queue's max-attempts ceiling; job-run event log at four moments jobScheduled jobStarted jobCompleted jobFailed with metadata-only fields; operator-facing surface elicited between cli httpEndpoint none), 9 USs 30101-30109 binding runtime-observable ACs (one US per REQ plus three cross-cutting cases apply-time refusal on bare scheduled fire on cron and retry-then-DLQ), 3 TACs (3101 job-definition module 3102 scheduler 3103 run log), 4 ADRs (3101 scope:global on new topic backgroundJobModel retry-and-schedule as the shipped shape; 3102 scheduler mode elicited between inProcess workerCron and external with a reserved v1.1.0 workflows slot per spec section 5.7 and round-6 proposal decision b; 3103 requires capabilities:[queue] with allowSkipFlag allow-no-queue-yet and refusalMessageId jobs-background-no-queue; 3104 default handler timeout 60 seconds floor 1 second ceiling bounded by the applied queue's consumer wall-clock which for Cloudflare Queues is 15 minutes per limits doc). The blueprint declares suggestedCompanions logging and errorHandling with spec section 5.4 reasons, providesRoles absent, capabilities [backgroundJobs], requiresAppliedCapabilities {capabilities:[queue],allowSkipFlag:allow-no-queue-yet,refusalMessageId:jobs-background-no-queue} per Baz decision 5 verbatim. Contributes ADR-3101 as scope:global on new topic backgroundJobModel with retry-and-schedule as the shipped shape so future stateful-workflow siblings (Temporal-shape Airflow-shape) conflict here by design; the round-6 Workflows minor bump inside jobs-background itself does NOT mint a sibling per spec section 5.6 (it lives inside the same blueprint as an elicited scheduler mode value at ADR-3102). Ships five probe modules under blueprints/jobs-background/contributions/probes/ each exporting the spec section 3.2 verdict envelope with an anchorAcId matching a contributed AC id and matching run-shims writing per-blueprint reports at .rcf/reports/blueprints/jobs-background/: apply-time-refusal.mjs (bare project rcf define blueprint add refuses exit 3 with tag jobs-background-no-queue on stderr and names messaging-queue-cloudflare explicitly per Q3 default asserting both exit code and message id), apply-time-override.mjs (same bare project with --allow-no-queue-yet exits 0 and sidecar rcf/blueprints/jobs-background.applied.json records a note naming the missing capability and the override flag; the spec section 5.4 prose reference to manifest.blueprints[jobs-background].source.notes is superseded by the shipped T-5 mechanism which writes the note on the sidecar because the applied-blueprint-record schema is closed), fake-clock-cron.mjs (with messaging-queue-cloudflare and jobs-background both applied on the shared sample-app fixture drives the in-memory queue seam from T-3 through one fake-clock cron minute and asserts jobStarted fires within the elicited fire-tolerance window plus jobCompleted within the elicited timeout), retry-and-fail.mjs (schedules a job with a handler throwing under SIMULATE_HANDLER_THROW drives through maxAttempts re-deliveries and asserts jobStarted fires 3 times with matching job-id and incrementing attempt counter plus jobFailed fires with terminal code), event-secrecy.mjs (schedules a job with PII fixture input drives to completion and asserts every event record carries only {jobId,jobName,attempts,duration,timestamp} whitelist and NO input fields NO output fields NO user id NO SSN NO email). All five probes accountBound false. Extends the shared sample-app fixture at packages/rcf-lite/test/fixtures/infra-s3-and-queue/ (T-2/T-3 have already landed the fixture directory) with a jobs/ directory carrying two toy job-definition modules (send-welcome-email.mjs with retry policy {maxAttempts:3,backoff:exponential} timeout 60 seconds and refresh-cache.mjs with retry policy {maxAttempts:5,backoff:constant} timeout 10 seconds cron every-minute), src/jobs-runtime.mjs realising the runtime that reads applied queue capability from the sidecar registers job handlers with the queue consumer dispatches per message fires the four lifecycle events per REQ-005 and respects the elicited timeout and retry policy per job definition, src/scheduler.mjs realising the inProcess scheduler with a fake-clock seam the fake-clock-cron probe drives, package.json start:jobs script, and README extension naming the two toy jobs the jobs/ directory convention the fake-clock switch the elicited parameters the induced-failure switches SIMULATE_HANDLER_THROW and SIMULATE_PII_IN_JOB_INPUT and the gate-reviewer two-line boot. Extends packages/rcf-lite/src/cli/blueprint.js OPTION_SPEC with allow-no-queue-yet boolean flag piped into allowNoAuthYet, and packages/rcf-lite/src/blueprint/apply.js buildOverrideNote family derivation to detect queue from the flag name (so sidecar notes read no queue yet: applied under --allow-no-queue-yet). Extends packages/rcf-lite/test/blueprint/capabilities-apply.test.js with four cases covering jobs-background bare refusal (tag and messaging-queue-cloudflare name assertions), --allow-no-queue-yet override (sidecar notes queue-family assertion), happy path with messaging-queue-cloudflare applied (appliedCapabilities includes queue), and legacy allow-no-auth-yet also unblocks the override (backward-compatible OR piping). Extends packages/rcf-lite/docs/blueprint-authoring.md section 6a capability-declaration table with one row for backgroundJobs naming the reserved sibling posture per spec section 5.6. Appends one row for jobs-background at US band 30101-30899 / ADR-TAC suffix block 31xx to the shelf-wide id-band registry table under docs/topics.md on every shipped blueprint. Minted with dex reserved-block chain ids via --id per HQ mid-flight ruling on repo-chain id blocks per train (REQ-043 / US-4301 / TS-076 / FBS-064 / CN-214..217 (originally TS-073 / FBS-063 / CN-209..212, re-minted at next-free after HQ round-6 T-0 PR #164 landed on origin/main 321371e and consumed the original block; REQ-043 and US-4301 did not collide and are unchanged) continuing the block after T-3 landed at 042/4201/072/062/206..208). Wrangler is not on this build host so probes run against the in-memory queue-driver seam T-3 landed on the fixture (SDR-3-a coordinator ruling accepted the in-memory realisation of the Cloudflare Queues binding shape); the live wrangler-dev cron-trigger path is enumerated as a per-AC mechanism-reach gap in the README per round-3 checklist 6.g form.",
|
|
8
|
+
"reqId": "REQ-043",
|
|
9
|
+
"prdId": "PRD-001",
|
|
10
|
+
"title": "Jobs-background v1.0.0 blueprint on the shelf",
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"status": "draft",
|
|
13
|
+
"shapeClassification": {
|
|
14
|
+
"shapes": [
|
|
15
|
+
"webUi",
|
|
16
|
+
"httpApi",
|
|
17
|
+
"persistence"
|
|
18
|
+
],
|
|
19
|
+
"reason": "keyword-scan",
|
|
20
|
+
"classifiedAt": "2026-09-06T20:28:34.000Z",
|
|
21
|
+
"signals": [
|
|
22
|
+
{
|
|
23
|
+
"source": "description",
|
|
24
|
+
"shape": "webUi",
|
|
25
|
+
"match": "table"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"source": "description",
|
|
29
|
+
"shape": "persistence",
|
|
30
|
+
"match": "table"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"source": "description",
|
|
34
|
+
"shape": "httpApi",
|
|
35
|
+
"match": "endpoint"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T15:39:17.193Z",
|
|
3
|
+
"updatedAt": "2026-09-06T15:39:17.193Z",
|
|
4
|
+
"testCases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "TC-053-blueprint-json-shape",
|
|
7
|
+
"acId": "AC-2401-1",
|
|
8
|
+
"description": "blueprint.json declares slug, version 1.0.0, category application, 19 contributions in 5/8/3/3 groups; providesRoles absent; requiresAppliedCapabilities absent; suggestedCompanions logging and errorHandling",
|
|
9
|
+
"status": "pending",
|
|
10
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::blueprint.json declares 19 contributions with no capabilities and no requiresAppliedCapabilities (TC-053-blueprint-json-shape)"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "TC-053-applies-clean",
|
|
14
|
+
"acId": "AC-2401-2",
|
|
15
|
+
"description": "Fresh init project applies application-empty-error-states cleanly and reports the tree clean",
|
|
16
|
+
"status": "pending",
|
|
17
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::applies cleanly on a fresh init project and adds 19 documents to the tree (TC-053-applies-clean)"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "TC-053-pack-checks-cross-check",
|
|
21
|
+
"acId": "AC-2401-3",
|
|
22
|
+
"description": "Every pack check id matches a contributed AC id; pack-level appliesTo references BOTH tacIds and route; withUrl helper used for every URL string",
|
|
23
|
+
"status": "pending",
|
|
24
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::every pack check id matches a contributed AC id and appliesTo binds tacIds AND route (TC-053-pack-checks-cross-check)"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "TC-053-fixture-serves-states",
|
|
28
|
+
"acId": "AC-2401-4",
|
|
29
|
+
"description": "Sample-app fixture serves every one of the eight states honestly on its default branch and via ?state= switch",
|
|
30
|
+
"status": "pending",
|
|
31
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::sample-app fixture serves every one of the eight states on the default branch (TC-053-fixture-serves-states)"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "TC-053-negative-runs",
|
|
35
|
+
"acId": "AC-2401-5",
|
|
36
|
+
"description": "Break switches surface the four defects on the DOM for the corresponding pack checks",
|
|
37
|
+
"status": "pending",
|
|
38
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::sample-app fixture break switches surface the four defects on the DOM (TC-053-negative-runs)"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "TC-053-state-enumeration-parity",
|
|
42
|
+
"acId": "AC-2401-6",
|
|
43
|
+
"description": "Eight state slugs appear identically across README, guide, pack checks[] and docs/topics.md registry",
|
|
44
|
+
"status": "pending",
|
|
45
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::eight state slugs appear identically across README guide pack and docs (TC-053-state-enumeration-parity)"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "TC-053-readme-gaps-and-changelog",
|
|
49
|
+
"acId": "AC-2401-7",
|
|
50
|
+
"description": "README lists mechanism-reach gaps individually; CHANGELOG carries one 1.0.0 entry; docs/topics.md carries the T-1 shelf registry row",
|
|
51
|
+
"status": "pending",
|
|
52
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::README lists mechanism-reach gaps and CHANGELOG carries 1.0.0 and topics carries the T-1 row (TC-053-readme-gaps-and-changelog)"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"status": "draft",
|
|
56
|
+
"purpose": "Cover AC-2401-1 through AC-2401-7 via unit tests over the shipped application-empty-error-states blueprint.json contribution shape (19 contributions in the 5 REQ / 8 US / 3 TAC / 3 ADR groups), the applies-clean pass on a fresh init project, the pack-loader accepting the shipped pack file with every check id cross-checked against blueprint AC ids and appliesTo referencing BOTH tacIds and route, the sample-app fixture serving all eight state branches, the negative-run behaviour on the ?break=stack-trace, ?break=leak-id, ?break=no-recovery and ?break=no-live-region switches, the state-slug enumeration parity across README, guide, pack and docs/topics.md registry, and the README mechanism-reach gaps and CHANGELOG 1.0.0 entry.",
|
|
57
|
+
"testLevel": "unit",
|
|
58
|
+
"acIds": [
|
|
59
|
+
"AC-2401-1",
|
|
60
|
+
"AC-2401-2",
|
|
61
|
+
"AC-2401-3",
|
|
62
|
+
"AC-2401-4",
|
|
63
|
+
"AC-2401-5",
|
|
64
|
+
"AC-2401-6",
|
|
65
|
+
"AC-2401-7"
|
|
66
|
+
],
|
|
67
|
+
"id": "TS-053",
|
|
68
|
+
"usId": "US-2401",
|
|
69
|
+
"title": "application-empty-error-states v1.0.0 shelf shape, probe pack cross-check and sample-app fixture"
|
|
70
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T16:56:55.746Z",
|
|
3
|
+
"updatedAt": "2026-09-06T16:57:22.760Z",
|
|
4
|
+
"purpose": "Cover AC-2501-1 through AC-2501-7 via unit tests over the shipped application-file-upload blueprint.json contribution shape (18 contributions in the 5 REQ / 7 US / 3 TAC / 3 ADR groups), the applies-clean pass on a fresh init project, the pack-loader accepting the shipped pack file with every check id cross-checked against blueprint AC ids and appliesTo referencing BOTH tacIds and route, the sample-app fixture serving both transport branches multipart POST and tus.io, the negative-run behaviour on the ?break=no-input ?break=no-live-region ?break=send-refused and ?break=no-chunks switches, the state-and-transport enumeration parity across README guide pack and docs/topics.md registry, and the README mechanism-reach gaps and CHANGELOG 1.0.0 entry.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-2501-1",
|
|
8
|
+
"AC-2501-2",
|
|
9
|
+
"AC-2501-3",
|
|
10
|
+
"AC-2501-4",
|
|
11
|
+
"AC-2501-5",
|
|
12
|
+
"AC-2501-6",
|
|
13
|
+
"AC-2501-7"
|
|
14
|
+
],
|
|
15
|
+
"id": "TS-054",
|
|
16
|
+
"usId": "US-2501",
|
|
17
|
+
"title": "application-file-upload v1.0.0 shelf shape, probe pack cross-check and sample-app fixture",
|
|
18
|
+
"testCases": [
|
|
19
|
+
{
|
|
20
|
+
"id": "TC-054-blueprint-json-shape",
|
|
21
|
+
"acId": "AC-2501-1",
|
|
22
|
+
"description": "blueprint.json declares slug, version 1.0.0, category application, 18 contributions in 5/7/3/3 groups; providesRoles absent; capabilities absent; requiresAppliedCapabilities absent; suggestedCompanions logging and errorHandling",
|
|
23
|
+
"status": "pending",
|
|
24
|
+
"testPointer": "test/blueprint/application-file-upload-anatomy.test.js::blueprint.json declares 18 contributions with no capabilities and no requiresAppliedCapabilities (TC-054-blueprint-json-shape)"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "TC-054-applies-clean",
|
|
28
|
+
"acId": "AC-2501-2",
|
|
29
|
+
"description": "Fresh init project applies application-file-upload cleanly and reports the tree clean",
|
|
30
|
+
"status": "pending",
|
|
31
|
+
"testPointer": "test/blueprint/application-file-upload-anatomy.test.js::applies cleanly on a fresh init project and adds 18 documents to the tree (TC-054-applies-clean)"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "TC-054-pack-checks-cross-check",
|
|
35
|
+
"acId": "AC-2501-3",
|
|
36
|
+
"description": "Every pack check id matches a contributed AC id; pack-level appliesTo references BOTH tacIds and route; withUrl helper used for every URL string",
|
|
37
|
+
"status": "pending",
|
|
38
|
+
"testPointer": "test/blueprint/application-file-upload-anatomy.test.js::every pack check id matches a contributed AC id and appliesTo binds tacIds AND route (TC-054-pack-checks-cross-check)"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "TC-054-fixture-serves-transports",
|
|
42
|
+
"acId": "AC-2501-4",
|
|
43
|
+
"description": "Sample-app fixture serves the multipart POST default and the tus.io elicited alternative honestly on their default branches and via ?transport= switch",
|
|
44
|
+
"status": "pending",
|
|
45
|
+
"testPointer": "test/blueprint/application-file-upload-anatomy.test.js::sample-app fixture serves both transport branches on the default branch (TC-054-fixture-serves-transports)"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "TC-054-negative-runs",
|
|
49
|
+
"acId": "AC-2501-5",
|
|
50
|
+
"description": "Break switches surface the four defects on the DOM or network layer for the corresponding pack checks",
|
|
51
|
+
"status": "pending",
|
|
52
|
+
"testPointer": "test/blueprint/application-file-upload-anatomy.test.js::sample-app fixture break switches surface the four defects on the DOM (TC-054-negative-runs)"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "TC-054-state-and-transport-parity",
|
|
56
|
+
"acId": "AC-2501-6",
|
|
57
|
+
"description": "Four state slugs and two transport slugs appear identically across README, guide, pack checks[] and docs/topics.md registry",
|
|
58
|
+
"status": "pending",
|
|
59
|
+
"testPointer": "test/blueprint/application-file-upload-anatomy.test.js::four state slugs and two transport slugs appear identically across README guide pack and docs (TC-054-state-and-transport-parity)"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "TC-054-readme-gaps-and-changelog",
|
|
63
|
+
"acId": "AC-2501-7",
|
|
64
|
+
"description": "README lists mechanism-reach gaps individually; CHANGELOG carries one 1.0.0 entry; docs/topics.md carries the T-2 shelf registry row",
|
|
65
|
+
"status": "pending",
|
|
66
|
+
"testPointer": "test/blueprint/application-file-upload-anatomy.test.js::README lists mechanism-reach gaps and CHANGELOG carries 1.0.0 and topics carries the T-2 row (TC-054-readme-gaps-and-changelog)"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"status": "draft"
|
|
70
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T19:04:07.390Z",
|
|
3
|
+
"updatedAt": "2026-09-06T19:04:27.043Z",
|
|
4
|
+
"purpose": "Cover AC-2601-1 through AC-2601-7 via unit tests over the shipped application-forms-wizard blueprint.json contribution shape (19 contributions in the 5 REQ / 8 US / 3 TAC / 3 ADR groups), the applies-clean pass on a fresh init project, the pack-loader accepting the shipped pack file with every check id cross-checked against blueprint AC ids and appliesTo referencing BOTH tacIds and route, the sample-app fixture serving the four wizard surfaces honestly and both save-and-return transports on their query branches, the negative-run behaviour on the ?break=task-list-vocab ?break=no-summary ?break=no-retain and ?break=no-draft switches, the vocabulary-and-transport enumeration parity across README guide pack and docs/topics.md registry, and the README mechanism-reach gaps and CHANGELOG 1.0.0 entry.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-2601-1",
|
|
8
|
+
"AC-2601-2",
|
|
9
|
+
"AC-2601-3",
|
|
10
|
+
"AC-2601-4",
|
|
11
|
+
"AC-2601-5",
|
|
12
|
+
"AC-2601-6",
|
|
13
|
+
"AC-2601-7"
|
|
14
|
+
],
|
|
15
|
+
"id": "TS-055",
|
|
16
|
+
"usId": "US-2601",
|
|
17
|
+
"title": "application-forms-wizard v1.0.0 shelf shape, probe pack cross-check and sample-app fixture",
|
|
18
|
+
"testCases": [
|
|
19
|
+
{
|
|
20
|
+
"id": "TC-055-blueprint-json-shape",
|
|
21
|
+
"acId": "AC-2601-1",
|
|
22
|
+
"description": "blueprint.json declares slug, version 1.0.0, category application, 19 contributions in 5/8/3/3 groups; providesRoles absent; capabilities absent; requiresAppliedCapabilities absent; suggestedCompanions logging and errorHandling",
|
|
23
|
+
"status": "pending",
|
|
24
|
+
"testPointer": "test/blueprint/application-forms-wizard-anatomy.test.js::blueprint.json declares 19 contributions with no capabilities and no requiresAppliedCapabilities (TC-055-blueprint-json-shape)"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "TC-055-applies-clean",
|
|
28
|
+
"acId": "AC-2601-2",
|
|
29
|
+
"description": "Fresh init project applies application-forms-wizard cleanly and reports the tree clean",
|
|
30
|
+
"status": "pending",
|
|
31
|
+
"testPointer": "test/blueprint/application-forms-wizard-anatomy.test.js::applies cleanly on a fresh init project and adds 19 documents to the tree (TC-055-applies-clean)"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "TC-055-pack-checks-cross-check",
|
|
35
|
+
"acId": "AC-2601-3",
|
|
36
|
+
"description": "Every pack check id matches a contributed AC id; pack-level appliesTo references BOTH tacIds and route; withUrl helper used for every URL string",
|
|
37
|
+
"status": "pending",
|
|
38
|
+
"testPointer": "test/blueprint/application-forms-wizard-anatomy.test.js::every pack check id matches a contributed AC id and appliesTo binds tacIds AND route (TC-055-pack-checks-cross-check)"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "TC-055-pack-loader-discovers",
|
|
42
|
+
"acId": "AC-2601-3",
|
|
43
|
+
"description": "Pack loader discovers the shipped pack against an applied scratch project",
|
|
44
|
+
"status": "pending",
|
|
45
|
+
"testPointer": "test/blueprint/application-forms-wizard-anatomy.test.js::application-forms-wizard: pack loader discovers the shipped pack against an applied scratch project (TC-055-pack-loader-discovers)"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "TC-055-fixture-serves-surfaces",
|
|
49
|
+
"acId": "AC-2601-4",
|
|
50
|
+
"description": "Sample-app fixture serves the four wizard surfaces honestly and the two draft-store transports on their query branches",
|
|
51
|
+
"status": "pending",
|
|
52
|
+
"testPointer": "test/blueprint/application-forms-wizard-anatomy.test.js::sample-app fixture serves the four wizard surfaces and both draft-store transports (TC-055-fixture-serves-surfaces)"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "TC-055-negative-runs",
|
|
56
|
+
"acId": "AC-2601-5",
|
|
57
|
+
"description": "Break switches surface the four defects on the DOM or storage layer for the corresponding pack checks",
|
|
58
|
+
"status": "pending",
|
|
59
|
+
"testPointer": "test/blueprint/application-forms-wizard-anatomy.test.js::sample-app fixture break switches surface the four defects on the DOM (TC-055-negative-runs)"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "TC-055-vocabulary-and-transport-parity",
|
|
63
|
+
"acId": "AC-2601-6",
|
|
64
|
+
"description": "Closed GOV.UK vocabulary strings and the two transport slugs appear identically across README, guide, pack checks[] and docs/topics.md registry",
|
|
65
|
+
"status": "pending",
|
|
66
|
+
"testPointer": "test/blueprint/application-forms-wizard-anatomy.test.js::four state slugs and two transport slugs appear identically across README guide pack and docs (TC-055-vocabulary-and-transport-parity)"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "TC-055-readme-gaps-and-changelog",
|
|
70
|
+
"acId": "AC-2601-7",
|
|
71
|
+
"description": "README lists mechanism-reach gaps individually; CHANGELOG carries one 1.0.0 entry; docs/topics.md carries the T-3 shelf registry row and the cross-reference to application-empty-error-states",
|
|
72
|
+
"status": "pending",
|
|
73
|
+
"testPointer": "test/blueprint/application-forms-wizard-anatomy.test.js::README lists mechanism-reach gaps and CHANGELOG carries 1.0.0 and topics carries the T-3 row (TC-055-readme-gaps-and-changelog)"
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"status": "draft"
|
|
77
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T21:13:07.603Z",
|
|
3
|
+
"updatedAt": "2026-09-06T21:13:07.603Z",
|
|
4
|
+
"purpose": "Cover AC-2701-1 through AC-2701-8 via unit tests over the shipped application-account-settings blueprint.json contribution shape (24 contributions in the 6 REQ / 10 US / 4 TAC / 4 ADR groups), the applies-clean pass on a fresh init project with security-auth-magic-link applied, the bare-SPA refusal at exit 3 with the shipped refusal template, the --allow-no-auth-yet override sidecar note, the Q3 refusal for an operator answering security-surface-shape without applied credentialSelfService or hostedIdentityUi, the pack-loader accepting the shipped pack file with every check id cross-checked against blueprint AC ids and appliesTo referencing BOTH tacIds and route, the sample-app fixture serving the five conditional surfaces honestly and refusing on the four break switches, the section 6a capability table extension in blueprint-authoring.md, and the four amended auth blueprints and observability-logging blueprint carrying their new capabilities[] and CHANGELOG entries.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-2701-1",
|
|
8
|
+
"AC-2701-2",
|
|
9
|
+
"AC-2701-3",
|
|
10
|
+
"AC-2701-4",
|
|
11
|
+
"AC-2701-5",
|
|
12
|
+
"AC-2701-6",
|
|
13
|
+
"AC-2701-7",
|
|
14
|
+
"AC-2701-8"
|
|
15
|
+
],
|
|
16
|
+
"id": "TS-056",
|
|
17
|
+
"usId": "US-2701",
|
|
18
|
+
"title": "application-account-settings v1.0.0 shelf shape, probe pack cross-check, sample-app fixture, auth-minor and observability-logging minor bumps, mechanism minor for Q3 refusal",
|
|
19
|
+
"testCases": [
|
|
20
|
+
{
|
|
21
|
+
"id": "TC-056-blueprint-json-shape",
|
|
22
|
+
"acId": "AC-2701-1",
|
|
23
|
+
"description": "blueprint.json declares 24 contributions with requiresAppliedCapabilities and elicits[] (TC-056-blueprint-json-shape)",
|
|
24
|
+
"status": "pending",
|
|
25
|
+
"testPointer": "test/blueprint/application-account-settings-anatomy.test.js::blueprint.json declares 24 contributions with requiresAppliedCapabilities and elicits[] (TC-056-blueprint-json-shape)"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "TC-056-applies-clean",
|
|
29
|
+
"acId": "AC-2701-2",
|
|
30
|
+
"description": "applies cleanly on a magic-link project with 24 contributions and appliedCapabilities=[principalDirectory] (TC-056-applies-clean)",
|
|
31
|
+
"status": "pending",
|
|
32
|
+
"testPointer": "test/blueprint/application-account-settings-anatomy.test.js::applies cleanly on a magic-link project with 24 contributions and appliedCapabilities=[principalDirectory] (TC-056-applies-clean)"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "TC-056-apply-refusal-and-override",
|
|
36
|
+
"acId": "AC-2701-3",
|
|
37
|
+
"description": "apply refuses on bare SPA with the [application-account-settings-bare-spa] message; --allow-no-auth-yet applies with a scaffolding note (TC-056-apply-refusal-and-override)",
|
|
38
|
+
"status": "pending",
|
|
39
|
+
"testPointer": "test/blueprint/application-account-settings-anatomy.test.js::apply refuses on bare SPA with the [application-account-settings-bare-spa] message; --allow-no-auth-yet applies with a scaffolding note (TC-056-apply-refusal-and-override)"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "TC-056-q3-refusal",
|
|
43
|
+
"acId": "AC-2701-8",
|
|
44
|
+
"description": "Q3 gate: security-surface-shape answered without applied credentialSelfService or hostedIdentityUi is silently gated at apply; the sidecar records no shape entry; the TAC-2603 hosted-ui-bridge enforces the refusal at surface load time",
|
|
45
|
+
"status": "pending",
|
|
46
|
+
"testPointer": "test/blueprint/application-account-settings-anatomy.test.js::Q3 gate: security-surface-shape is silently gated when neither credentialSelfService nor hostedIdentityUi is applied; sidecar records no shape entry; TAC-2603 hosted-ui-bridge enforces the refusal at surface load (TC-056-q3-refusal)"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "TC-056-pack-checks-cross-check",
|
|
50
|
+
"acId": "AC-2701-4",
|
|
51
|
+
"description": "every pack check id matches a contributed AC id; pack-level appliesTo names tacIds AND route; per-check appliesTo gates on the applied capability (TC-056-pack-checks-cross-check)",
|
|
52
|
+
"status": "pending",
|
|
53
|
+
"testPointer": "test/blueprint/application-account-settings-anatomy.test.js::every pack check id matches a contributed AC id; pack-level appliesTo names tacIds AND route; per-check appliesTo gates on the applied capability (TC-056-pack-checks-cross-check)"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "TC-056-fixture-and-switches",
|
|
57
|
+
"acId": "AC-2701-5",
|
|
58
|
+
"description": "sample-app fixture serves the five conditional surfaces honestly (TC-056-fixture-and-switches)",
|
|
59
|
+
"status": "pending",
|
|
60
|
+
"testPointer": "test/blueprint/application-account-settings-anatomy.test.js::sample-app fixture serves the five conditional surfaces honestly (TC-056-fixture-and-switches)"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "TC-056-negative-runs",
|
|
64
|
+
"acId": "AC-2701-6",
|
|
65
|
+
"description": "sample-app fixture break switches surface the four defects (TC-056-negative-runs)",
|
|
66
|
+
"status": "pending",
|
|
67
|
+
"testPointer": "test/blueprint/application-account-settings-anatomy.test.js::sample-app fixture break switches surface the four defects (TC-056-negative-runs)"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "TC-056-shelf-doc-consistency",
|
|
71
|
+
"acId": "AC-2701-7",
|
|
72
|
+
"description": "four amended auth blueprints declare the ratified capability sets and observability-logging declares sessionInventory (TC-056-shelf-doc-consistency)",
|
|
73
|
+
"status": "pending",
|
|
74
|
+
"testPointer": "test/blueprint/application-account-settings-anatomy.test.js::four amended auth blueprints declare the ratified capability sets and observability-logging declares sessionInventory (TC-056-shelf-doc-consistency)"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"status": "draft"
|
|
78
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T23:05:23.898Z",
|
|
3
|
+
"updatedAt": "2026-09-06T23:19:05.155Z",
|
|
4
|
+
"purpose": "Cover AC-2801-1 through AC-2801-8 via unit tests over the shipped application-onboarding-tour blueprint.json contribution shape (17 contributions in the 4 REQ / 7 US / 3 TAC / 3 ADR groups), the ADR shape and standardsTraceClause discipline on the ADR contribution entries per spec section 8a, the applies-clean pass on a fresh init project (no requiresAppliedCapabilities), the pack-loader accepting the shipped pack file with every check id cross-checked against blueprint AC ids and appliesTo referencing BOTH tacIds and route, the sample-app fixture serving the tour surface honestly on both apps=dashboard and apps= (empty) branches plus multiple store branches, the four break switches surfacing the four defects (no-role, focus-escape, no-collapse, no-persist), the docs consistency (README, guide, topics.md, blueprint CHANGELOG) and the withUrl helper plus browser.resize breakpoint usage (WCAG 2.4.11) in the pack source.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-2801-1",
|
|
8
|
+
"AC-2801-2",
|
|
9
|
+
"AC-2801-3",
|
|
10
|
+
"AC-2801-4",
|
|
11
|
+
"AC-2801-5",
|
|
12
|
+
"AC-2801-6",
|
|
13
|
+
"AC-2801-7",
|
|
14
|
+
"AC-2801-8"
|
|
15
|
+
],
|
|
16
|
+
"id": "TS-057",
|
|
17
|
+
"usId": "US-2801",
|
|
18
|
+
"title": "application-onboarding-tour v1.0.0 shelf shape, probe pack cross-check, sample-app fixture with dashboard-and-settings-page checklist branches and multiple completion-store branches, and the four break switches under Q4 spa-local-storage fallback",
|
|
19
|
+
"testCases": [
|
|
20
|
+
{
|
|
21
|
+
"id": "TC-057-blueprint-json-shape",
|
|
22
|
+
"acId": "AC-2801-1",
|
|
23
|
+
"description": "blueprint.json declares 17 contributions with no requiresAppliedCapabilities and elicits[] (TC-057-blueprint-json-shape)",
|
|
24
|
+
"status": "pending",
|
|
25
|
+
"testPointer": "test/blueprint/application-onboarding-tour-anatomy.test.js::blueprint.json declares 17 contributions with no requiresAppliedCapabilities and elicits[] (TC-057-blueprint-json-shape)"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "TC-057-adr-shape",
|
|
29
|
+
"acId": "AC-2801-2",
|
|
30
|
+
"description": "ADR JSON documents validate against 0.6.1 and standardsTraceClause is non-null on ADR contribution entries (TC-057-adr-shape)",
|
|
31
|
+
"status": "pending",
|
|
32
|
+
"testPointer": "test/blueprint/application-onboarding-tour-anatomy.test.js::ADR JSON documents validate against 0.6.1 and standardsTraceClause is non-null on ADR contribution entries (TC-057-adr-shape)"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "TC-057-applies-clean",
|
|
36
|
+
"acId": "AC-2801-3",
|
|
37
|
+
"description": "applies cleanly on a fresh project with 17 contributions and no requiresAppliedCapabilities refusal (TC-057-applies-clean)",
|
|
38
|
+
"status": "pending",
|
|
39
|
+
"testPointer": "test/blueprint/application-onboarding-tour-anatomy.test.js::applies cleanly on a fresh project with 17 contributions and no requiresAppliedCapabilities refusal (TC-057-applies-clean)"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "TC-057-pack-checks-cross-check",
|
|
43
|
+
"acId": "AC-2801-4",
|
|
44
|
+
"description": "every pack check id matches a contributed AC id; pack-level appliesTo names tacIds AND route; withUrl helper used; browser.resize breakpoints appear (TC-057-pack-checks-cross-check)",
|
|
45
|
+
"status": "pending",
|
|
46
|
+
"testPointer": "test/blueprint/application-onboarding-tour-anatomy.test.js::every pack check id matches a contributed AC id; pack-level appliesTo names tacIds AND route; withUrl helper used; browser.resize breakpoints appear (TC-057-pack-checks-cross-check)"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "TC-057-fixture-and-switches",
|
|
50
|
+
"acId": "AC-2801-5",
|
|
51
|
+
"description": "sample-app fixture serves the honest tour on both apps=dashboard and apps= (empty) branches and multiple store branches (TC-057-fixture-and-switches)",
|
|
52
|
+
"status": "pending",
|
|
53
|
+
"testPointer": "test/blueprint/application-onboarding-tour-anatomy.test.js::sample-app fixture serves the honest tour on both apps=dashboard and apps= (empty) branches and multiple store branches (TC-057-fixture-and-switches)"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "TC-057-negative-runs",
|
|
57
|
+
"acId": "AC-2801-6",
|
|
58
|
+
"description": "sample-app fixture break switches surface the four defects (TC-057-negative-runs)",
|
|
59
|
+
"status": "pending",
|
|
60
|
+
"testPointer": "test/blueprint/application-onboarding-tour-anatomy.test.js::sample-app fixture break switches surface the four defects (TC-057-negative-runs)"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "TC-057-shelf-doc-consistency",
|
|
64
|
+
"acId": "AC-2801-7",
|
|
65
|
+
"description": "AC ids and cross-reference blueprint slugs appear identically across README, guide, pack descriptions and topics.md (TC-057-shelf-doc-consistency)",
|
|
66
|
+
"status": "pending",
|
|
67
|
+
"testPointer": "test/blueprint/application-onboarding-tour-anatomy.test.js::AC ids and cross-reference blueprint slugs appear identically across README, guide, pack descriptions and topics.md (TC-057-shelf-doc-consistency)"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "TC-057-changelog-guide-and-mechanism-reach",
|
|
71
|
+
"acId": "AC-2801-8",
|
|
72
|
+
"description": "README lists mechanism-reach gaps per AC and guide names WCAG SCs and the ARIA APG dialog-modal pattern with URLs (TC-057-changelog-guide-and-mechanism-reach)",
|
|
73
|
+
"status": "pending",
|
|
74
|
+
"testPointer": "test/blueprint/application-onboarding-tour-anatomy.test.js::README lists mechanism-reach gaps per AC and guide names WCAG SCs and the ARIA APG dialog-modal pattern with URLs (TC-057-changelog-guide-and-mechanism-reach)"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"status": "draft"
|
|
78
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T17:02:27.310Z",
|
|
3
|
+
"updatedAt": "2026-09-06T17:02:29.479Z",
|
|
4
|
+
"purpose": "Cover AC-4001-1..6 via unit tests over the shipped persistence-data-postgres blueprint shape, applies-clean behaviour, DELIBERATE conflict surface on persistenceStore and migrationDiscipline, six Node-only probe module contract, induced-failure switches, and shelf-doc consistency.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-4001-1",
|
|
8
|
+
"AC-4001-2",
|
|
9
|
+
"AC-4001-3",
|
|
10
|
+
"AC-4001-4",
|
|
11
|
+
"AC-4001-5",
|
|
12
|
+
"AC-4001-6"
|
|
13
|
+
],
|
|
14
|
+
"id": "TS-070",
|
|
15
|
+
"usId": "US-4001",
|
|
16
|
+
"title": "persistence-data-postgres v1.0.0 shelf shape, conflict-on-topics-surface, six-probe module contract and shelf-doc consistency",
|
|
17
|
+
"testCases": [
|
|
18
|
+
{
|
|
19
|
+
"id": "TC-070-blueprint-json-shape",
|
|
20
|
+
"acId": "AC-4001-1",
|
|
21
|
+
"description": "Cover AC-4001-1 via anatomy test",
|
|
22
|
+
"status": "pending",
|
|
23
|
+
"testPointer": "test/blueprint/persistence-data-postgres-anatomy.test.js::blueprint.json declares 26 contributions with capabilities relationalStore and suggestedCompanions logging and errorHandling (TC-070-blueprint-json-shape)"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "TC-070-applies-clean-no-persistence",
|
|
27
|
+
"acId": "AC-4001-2",
|
|
28
|
+
"description": "Cover AC-4001-2 via anatomy test",
|
|
29
|
+
"status": "pending",
|
|
30
|
+
"testPointer": "test/blueprint/persistence-data-postgres-anatomy.test.js::apply persistence-data-postgres on a bare scratch project writes 26 contributions and validate plus strict audits exit zero (TC-070-applies-clean-no-persistence)"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "TC-070-conflict-with-d1",
|
|
34
|
+
"acId": "AC-4001-3",
|
|
35
|
+
"description": "Cover AC-4001-3 via anatomy test",
|
|
36
|
+
"status": "pending",
|
|
37
|
+
"testPointer": "test/blueprint/persistence-data-postgres-anatomy.test.js::apply persistence-data-postgres on a d1-applied scratch project surfaces globalAdrTopic conflict on persistenceStore and migrationDiscipline (TC-070-conflict-with-d1)"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "TC-070-probe-anchor-ids-cross-check",
|
|
41
|
+
"acId": "AC-4001-4",
|
|
42
|
+
"description": "Cover AC-4001-4 via anatomy test",
|
|
43
|
+
"status": "pending",
|
|
44
|
+
"testPointer": "test/blueprint/persistence-data-postgres-anatomy.test.js::every probe module exports the section 3.2 verdict envelope with an anchorAcId matching a contributed AC id (TC-070-probe-anchor-ids-cross-check)"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "TC-070-fixture-and-switches",
|
|
48
|
+
"acId": "AC-4001-5",
|
|
49
|
+
"description": "Cover AC-4001-5 via anatomy test",
|
|
50
|
+
"status": "pending",
|
|
51
|
+
"testPointer": "test/blueprint/persistence-data-postgres-anatomy.test.js::sample-app fixture ships docker-compose.yml, migrations, store.mjs, recovery.mjs, and its README documents both induced-failure switches (TC-070-fixture-and-switches)"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "TC-070-shelf-doc-consistency",
|
|
55
|
+
"acId": "AC-4001-6",
|
|
56
|
+
"description": "Cover AC-4001-6 via anatomy test",
|
|
57
|
+
"status": "pending",
|
|
58
|
+
"testPointer": "test/blueprint/persistence-data-postgres-anatomy.test.js::section 6a table gains a relationalStore row and every shipped blueprint docs/topics.md gains a persistence-data-postgres row at 27101-27899 / 28xx (TC-070-shelf-doc-consistency)"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"status": "draft"
|
|
62
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T17:50:13.712Z",
|
|
3
|
+
"updatedAt": "2026-09-06T17:51:32.845Z",
|
|
4
|
+
"purpose": "Cover AC-4101-1..6 via unit tests over the shipped object-storage-s3 blueprint shape (contribution count, capabilities, suggestedCompanions, ADR standardsTraceClause), applies-clean-with-secrets and refuses-without behaviour, six Node-only probe module contract with anchorAcId cross-check, induced-failure switch documentation on the fixture README, and shelf-doc consistency (section 6a table row for objectStorage, shelf-wide docs/topics.md row for object-storage-s3 at 28101-28899 / 29xx).",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-4101-1",
|
|
8
|
+
"AC-4101-2",
|
|
9
|
+
"AC-4101-3",
|
|
10
|
+
"AC-4101-4",
|
|
11
|
+
"AC-4101-5",
|
|
12
|
+
"AC-4101-6"
|
|
13
|
+
],
|
|
14
|
+
"id": "TS-071",
|
|
15
|
+
"usId": "US-4101",
|
|
16
|
+
"title": "object-storage-s3 v1.0.0 shelf shape, apply-on-secrets-present, apply-refusal-on-bare, six-probe module contract, induced-failure switches and shelf-doc consistency",
|
|
17
|
+
"testCases": [
|
|
18
|
+
{
|
|
19
|
+
"id": "TC-071-blueprint-json-shape",
|
|
20
|
+
"acId": "AC-4101-1",
|
|
21
|
+
"description": "Cover AC-4101-1 via anatomy test",
|
|
22
|
+
"status": "pending",
|
|
23
|
+
"testPointer": "test/blueprint/object-storage-s3-anatomy.test.js::blueprint.json declares 21 contributions with capabilities objectStorage, suggestedCompanions logging and errorHandling, and standardsTraceClause on every ADR entry (TC-071-blueprint-json-shape)"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "TC-071-applies-clean-with-secrets",
|
|
27
|
+
"acId": "AC-4101-2",
|
|
28
|
+
"description": "Cover AC-4101-2 via anatomy test",
|
|
29
|
+
"status": "pending",
|
|
30
|
+
"testPointer": "test/blueprint/object-storage-s3-anatomy.test.js::apply object-storage-s3 lands 21 contributions on a scratch project with security-secrets-management applied (TC-071-applies-clean-with-secrets)"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "TC-071-apply-refusal-and-override",
|
|
34
|
+
"acId": "AC-4101-3",
|
|
35
|
+
"description": "Cover AC-4101-3 via anatomy test",
|
|
36
|
+
"status": "pending",
|
|
37
|
+
"testPointer": "test/blueprint/object-storage-s3-anatomy.test.js::apply object-storage-s3 refuses on a bare fixture without security-secrets-management and lands with --allow-no-secrets-yet (TC-071-apply-refusal-and-override)"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "TC-071-probe-anchor-ids-cross-check",
|
|
41
|
+
"acId": "AC-4101-4",
|
|
42
|
+
"description": "Cover AC-4101-4 via anatomy test",
|
|
43
|
+
"status": "pending",
|
|
44
|
+
"testPointer": "test/blueprint/object-storage-s3-anatomy.test.js::every probe module exports the section 3.2 verdict envelope with an anchorAcId matching a contributed AC id (TC-071-probe-anchor-ids-cross-check)"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "TC-071-fixture-and-switches",
|
|
48
|
+
"acId": "AC-4101-5",
|
|
49
|
+
"description": "Cover AC-4101-5 via anatomy test",
|
|
50
|
+
"status": "pending",
|
|
51
|
+
"testPointer": "test/blueprint/object-storage-s3-anatomy.test.js::sample-app fixture ships docker-compose.yml, package.json, src/object-store.mjs, src/secrets.mjs, and its README documents docker and podman and the four wired induced-failure switches (TC-071-fixture-and-switches)"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "TC-071-shelf-doc-consistency",
|
|
55
|
+
"acId": "AC-4101-6",
|
|
56
|
+
"description": "Cover AC-4101-6 via anatomy test",
|
|
57
|
+
"status": "pending",
|
|
58
|
+
"testPointer": "test/blueprint/object-storage-s3-anatomy.test.js::section 6a table gains an objectStorage row and every shipped blueprint docs/topics.md gains an object-storage-s3 row at 28101-28899 / 29xx (TC-071-shelf-doc-consistency)"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"status": "draft"
|
|
62
|
+
}
|