rcf-lite 0.26.0 → 0.27.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 +20 -0
- package/blueprints/application-account-settings/CHANGELOG.md +35 -2
- package/blueprints/application-account-settings/README.md +10 -10
- package/blueprints/application-account-settings/blueprint.json +23 -3
- package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +1 -1
- package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +5 -5
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +6 -2
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +4 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +7 -3
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +4 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +4 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +6 -2
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-007.json +22 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-009.json +21 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +8 -4
- package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +3 -3
- package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +13 -7
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +19 -3
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -2
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +13 -2
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +23 -2
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +51 -3
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +25 -6
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +13 -2
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -2
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +4 -2
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +13 -2
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25111.json +71 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25112.json +77 -0
- package/blueprints/application-account-settings/docs/topics.md +4 -4
- package/blueprints/application-account-settings/guide/application-account-settings.md +1 -1
- package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +2 -2
- package/blueprints/application-admin-console/CHANGELOG.md +42 -6
- package/blueprints/application-admin-console/README.md +4 -4
- package/blueprints/application-admin-console/blueprint.json +31 -1
- package/blueprints/application-admin-console/contributions/adrs/adr-2201-application-admin-console-capability-vocabulary.json +2 -2
- package/blueprints/application-admin-console/contributions/adrs/adr-2203-application-admin-console-invite-transport.json +5 -5
- package/blueprints/application-admin-console/contributions/adrs/adr-2204-application-admin-console-audit-retention.json +7 -7
- package/blueprints/application-admin-console/contributions/adrs/adr-2214-application-admin-console-consume-zero-trust-gate.json +3 -3
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +4 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +5 -1
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +4 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +4 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +6 -2
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +4 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-007.json +22 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-008.json +22 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-009.json +21 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-014.json +6 -2
- package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +9 -7
- package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +6 -6
- package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +1 -1
- package/blueprints/application-admin-console/contributions/tacs/tac-2214-application-admin-console-access-gated-signin-surface.json +5 -5
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21101.json +4 -2
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21102.json +4 -2
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21103.json +10 -4
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21104.json +13 -2
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21105.json +15 -3
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21106.json +35 -2
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +22 -3
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21108.json +4 -2
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21109.json +4 -2
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21110.json +68 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21111.json +76 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21112.json +77 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21815.json +21 -2
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21816.json +21 -2
- package/blueprints/application-admin-console/guide/application-admin-console.md +3 -3
- package/blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs +2 -2
- package/blueprints/application-api-rest/CHANGELOG.md +26 -0
- package/blueprints/application-api-rest/assets/samples/request-response-pairs.md +2 -0
- package/blueprints/application-api-rest/blueprint.json +1 -1
- package/blueprints/application-api-rest/contributions/adrs/adr-301-application-api-rest-error-envelope.json +1 -1
- package/blueprints/application-api-rest/contributions/adrs/adr-302-application-api-rest-auth-model.json +1 -1
- package/blueprints/application-api-rest/contributions/adrs/adr-303-application-api-rest-api-versioning.json +1 -1
- package/blueprints/application-api-rest/contributions/adrs/adr-304-application-api-rest-logging.json +1 -1
- package/blueprints/application-api-rest/contributions/adrs/adr-305-application-api-rest-pagination.json +1 -1
- package/blueprints/application-api-rest/contributions/adrs/adr-306-application-api-rest-idempotency.json +3 -3
- package/blueprints/application-api-rest/contributions/adrs/adr-307-application-api-rest-openapi-generation.json +1 -1
- package/blueprints/application-api-rest/contributions/adrs/adr-308-application-api-rest-rate-limiting.json +1 -1
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-001.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-002.json +7 -3
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-003.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-004.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-005.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-006.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-007.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-008.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-009.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-010.json +8 -4
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-011.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-012.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-013.json +7 -3
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-014.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-015.json +6 -2
- package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-016.json +6 -2
- package/blueprints/application-api-rest/contributions/tacs/tac-301-application-api-rest-request-pipeline.json +1 -1
- package/blueprints/application-api-rest/contributions/tacs/tac-302-application-api-rest-auth-middleware.json +1 -1
- package/blueprints/application-api-rest/contributions/tacs/tac-303-application-api-rest-contract-surface.json +2 -2
- package/blueprints/application-api-rest/contributions/tacs/tac-304-application-api-rest-resource-layer.json +1 -1
- package/blueprints/application-api-rest/contributions/tacs/tac-305-application-api-rest-observability.json +1 -1
- package/blueprints/application-api-rest/contributions/tacs/tac-306-application-api-rest-operability.json +1 -1
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2101.json +13 -7
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2102.json +27 -13
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2103.json +18 -9
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2104.json +32 -10
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2105.json +19 -6
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2106.json +14 -8
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2107.json +20 -12
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2108.json +37 -15
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2109.json +15 -9
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2110.json +21 -11
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2111.json +42 -8
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2112.json +23 -13
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2113.json +17 -11
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2114.json +13 -8
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2115.json +13 -8
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2116.json +11 -6
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2117.json +19 -14
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2118.json +20 -10
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2119.json +20 -7
- package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2120.json +16 -10
- package/blueprints/application-charts/CHANGELOG.md +24 -3
- package/blueprints/application-charts/README.md +5 -5
- package/blueprints/application-charts/blueprint.json +112 -18
- package/blueprints/application-charts/contributions/adrs/adr-1901-application-charts-engine-choice.json +1 -1
- package/blueprints/application-charts/contributions/adrs/adr-1902-application-charts-accessible-palette.json +1 -1
- package/blueprints/application-charts/contributions/adrs/adr-1903-application-charts-motion.json +1 -1
- package/blueprints/application-charts/contributions/requirements/application-charts-req-001.json +11 -4
- package/blueprints/application-charts/contributions/requirements/application-charts-req-002.json +11 -4
- package/blueprints/application-charts/contributions/requirements/application-charts-req-003.json +10 -3
- package/blueprints/application-charts/contributions/requirements/application-charts-req-004.json +10 -3
- package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +3 -2
- package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +1 -1
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18101.json +50 -6
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18102.json +58 -6
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18103.json +54 -6
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18104.json +55 -6
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +64 -8
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18106.json +45 -7
- package/blueprints/application-charts/docs/topics.md +2 -2
- package/blueprints/application-charts/guide/application-charts.md +3 -3
- package/blueprints/application-charts/probe-packs/application-charts.pack.mjs +2 -2
- package/blueprints/application-dashboard/CHANGELOG.md +24 -3
- package/blueprints/application-dashboard/README.md +8 -8
- package/blueprints/application-dashboard/blueprint.json +147 -21
- package/blueprints/application-dashboard/contributions/adrs/adr-2001-application-dashboard-primary-kpi-enum.json +4 -4
- package/blueprints/application-dashboard/contributions/adrs/adr-2002-application-dashboard-timeframe-presets.json +1 -1
- package/blueprints/application-dashboard/contributions/adrs/adr-2003-application-dashboard-export-formats.json +1 -1
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-001.json +10 -3
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-002.json +11 -4
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-003.json +10 -3
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-004.json +11 -4
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-005.json +11 -4
- package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +1 -1
- package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +1 -1
- package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +1 -1
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19101.json +54 -6
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19102.json +54 -6
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19103.json +58 -6
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19104.json +55 -7
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19105.json +54 -6
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +60 -8
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19107.json +57 -9
- package/blueprints/application-dashboard/docs/topics.md +3 -3
- package/blueprints/application-dashboard/guide/application-dashboard.md +3 -3
- package/blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs +4 -4
- package/blueprints/application-datatable/CHANGELOG.md +23 -2
- package/blueprints/application-datatable/README.md +3 -3
- package/blueprints/application-datatable/blueprint.json +167 -25
- package/blueprints/application-datatable/contributions/adrs/adr-1801-application-datatable-pattern-choice.json +1 -1
- package/blueprints/application-datatable/contributions/adrs/adr-1802-application-datatable-url-state.json +1 -1
- package/blueprints/application-datatable/contributions/adrs/adr-1803-application-datatable-page-size.json +1 -1
- package/blueprints/application-datatable/contributions/adrs/adr-1804-application-datatable-selection-persistence.json +1 -1
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-001.json +11 -4
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-002.json +11 -4
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-003.json +10 -3
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-004.json +11 -4
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-005.json +10 -3
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-006.json +10 -3
- package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +1 -1
- package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +1 -1
- package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +2 -2
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +29 -7
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +29 -7
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +28 -6
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17104.json +65 -7
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +32 -7
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17106.json +60 -7
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17107.json +72 -7
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17108.json +59 -9
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17109.json +58 -9
- package/blueprints/application-datatable/docs/topics.md +1 -1
- package/blueprints/application-datatable/guide/application-datatable.md +1 -1
- package/blueprints/application-empty-error-states/CHANGELOG.md +33 -3
- package/blueprints/application-empty-error-states/README.md +3 -3
- package/blueprints/application-empty-error-states/blueprint.json +35 -1
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +4 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +7 -3
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +4 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +6 -2
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +7 -3
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-006.json +21 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-007.json +21 -0
- package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +7 -4
- package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +3 -2
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +17 -2
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +31 -2
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +27 -2
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +13 -2
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +33 -2
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +13 -2
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +23 -2
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +27 -2
- package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +93 -9
- package/blueprints/application-error-handling/CHANGELOG.md +17 -0
- package/blueprints/application-error-handling/blueprint.json +104 -19
- package/blueprints/application-error-handling/contributions/adrs/adr-1701-application-error-handling-record-shape.json +1 -1
- package/blueprints/application-error-handling/contributions/adrs/adr-1702-application-error-handling-classification-vocabulary.json +1 -1
- package/blueprints/application-error-handling/contributions/adrs/adr-1703-application-error-handling-transport-mapping.json +1 -1
- package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-001.json +10 -3
- package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-002.json +10 -3
- package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-003.json +10 -3
- package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-004.json +10 -3
- package/blueprints/application-error-handling/contributions/tacs/tac-1701-application-error-handling-boundary.json +1 -1
- package/blueprints/application-error-handling/contributions/tacs/tac-1702-application-error-handling-record-factory.json +1 -1
- package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16101.json +63 -4
- package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16102.json +49 -4
- package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16103.json +51 -5
- package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16104.json +49 -4
- package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16105.json +49 -4
- package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16106.json +49 -4
- package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16107.json +53 -4
- package/blueprints/application-file-upload/CHANGELOG.md +36 -3
- package/blueprints/application-file-upload/README.md +1 -1
- package/blueprints/application-file-upload/blueprint.json +56 -1
- package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +3 -3
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +4 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +7 -3
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +6 -2
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +6 -2
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +4 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-006.json +21 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-007.json +21 -0
- package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +4 -2
- package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +7 -2
- package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +16 -6
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +23 -2
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +29 -4
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +13 -2
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +45 -2
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +37 -2
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +13 -2
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +17 -2
- package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +14 -5
- package/blueprints/application-forms-wizard/CHANGELOG.md +34 -3
- package/blueprints/application-forms-wizard/README.md +2 -2
- package/blueprints/application-forms-wizard/blueprint.json +57 -1
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +4 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +6 -2
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +6 -2
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +6 -2
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +4 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-006.json +21 -0
- package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +6 -4
- package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +4 -3
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +35 -2
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +27 -2
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +21 -2
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +13 -2
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +33 -2
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +18 -3
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +23 -2
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +13 -2
- package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +3 -3
- package/blueprints/application-notifications-in-app/CHANGELOG.md +35 -3
- package/blueprints/application-notifications-in-app/README.md +5 -5
- package/blueprints/application-notifications-in-app/blueprint.json +150 -22
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +11 -4
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +8 -1
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +10 -3
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +11 -4
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +12 -5
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-006.json +21 -0
- package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +14 -8
- package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +2 -2
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +29 -5
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +43 -5
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +39 -5
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20104.json +31 -5
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +50 -8
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20106.json +19 -4
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20107.json +19 -4
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20108.json +19 -4
- package/blueprints/application-notifications-in-app/guide/application-notifications-in-app.md +1 -1
- package/blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs +4 -4
- package/blueprints/application-onboarding-tour/CHANGELOG.md +33 -2
- package/blueprints/application-onboarding-tour/README.md +2 -2
- package/blueprints/application-onboarding-tour/blueprint.json +22 -2
- package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +4 -4
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +6 -2
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +6 -2
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +4 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +4 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-005.json +22 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-006.json +22 -0
- package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +2 -1
- package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +7 -7
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +67 -2
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +35 -2
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +13 -2
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +33 -2
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +13 -2
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +13 -2
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +17 -2
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26108.json +62 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26109.json +72 -0
- package/blueprints/application-onboarding-tour/docs/topics.md +2 -2
- package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +1 -1
- package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +2 -2
- package/blueprints/application-spa/CHANGELOG.md +30 -0
- package/blueprints/application-spa/README.md +8 -8
- package/blueprints/application-spa/blueprint.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-201-application-spa-routing.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-202-application-spa-theming.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-203-application-spa-client-state.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-204-application-spa-error-envelope.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-205-application-spa-auth-model.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-206-application-spa-iconography.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-207-application-spa-motion.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-208-application-spa-i18n.json +1 -1
- package/blueprints/application-spa/contributions/adrs/adr-209-application-spa-telemetry-naming.json +1 -1
- package/blueprints/application-spa/contributions/requirements/application-spa-req-001.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-002.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-003.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-004.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-005.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-006.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-007.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-008.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-009.json +7 -3
- package/blueprints/application-spa/contributions/requirements/application-spa-req-010.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-011.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-012.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-013.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-014.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-015.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-016.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-017.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-018.json +7 -3
- package/blueprints/application-spa/contributions/requirements/application-spa-req-019.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-020.json +6 -2
- package/blueprints/application-spa/contributions/requirements/application-spa-req-021.json +6 -2
- package/blueprints/application-spa/contributions/tacs/tac-201-application-spa-app-shell.json +4 -3
- package/blueprints/application-spa/contributions/tacs/tac-202-application-spa-theme-system.json +1 -1
- package/blueprints/application-spa/contributions/tacs/tac-203-application-spa-component-library.json +1 -1
- package/blueprints/application-spa/contributions/tacs/tac-204-application-spa-client-data-layer.json +1 -1
- package/blueprints/application-spa/contributions/tacs/tac-205-application-spa-forms-engine.json +1 -1
- package/blueprints/application-spa/contributions/tacs/tac-206-application-spa-telemetry.json +1 -1
- package/blueprints/application-spa/contributions/tacs/tac-207-application-spa-token-adherence-probe.json +1 -1
- package/blueprints/application-spa/contributions/tacs/tac-208-application-spa-icon-adherence-probe.json +1 -1
- package/blueprints/application-spa/contributions/tacs/tac-209-application-spa-csp-styled-adherence-probe.json +3 -3
- package/blueprints/application-spa/contributions/tacs/tac-210-application-spa-external-dependency-provisioning-probe.json +2 -2
- package/blueprints/application-spa/contributions/tacs/tac-211-application-spa-core-flow-e2e-probe.json +2 -2
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1101.json +22 -8
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1102.json +18 -9
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1103.json +13 -7
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1104.json +15 -10
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1105.json +13 -7
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1106.json +12 -7
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1107.json +25 -6
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1108.json +17 -9
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1109.json +17 -9
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1110.json +19 -10
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1111.json +19 -11
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1112.json +15 -8
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1113.json +15 -8
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1114.json +15 -10
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1115.json +13 -7
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1116.json +15 -9
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1117.json +20 -10
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1118.json +9 -5
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1119.json +11 -6
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1120.json +16 -10
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1121.json +13 -7
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1122.json +13 -7
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1123.json +28 -9
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1124.json +11 -6
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1125.json +14 -8
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1126.json +24 -9
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1127.json +11 -6
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1128.json +11 -7
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1129.json +25 -5
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1130.json +25 -5
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1131.json +19 -9
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1132.json +40 -10
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1133.json +35 -9
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1134.json +23 -3
- package/blueprints/application-spa/contributions/user-stories/application-spa-us-1135.json +19 -3
- package/blueprints/application-spa/guide/application-spa.md +2 -2
- package/blueprints/delivery-ci-workflows/CHANGELOG.md +18 -0
- package/blueprints/delivery-ci-workflows/README.md +1 -1
- package/blueprints/delivery-ci-workflows/blueprint.json +62 -1
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-001.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-002.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-003.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-004.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-005.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-006.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-007.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-008.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-009.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-010.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-011.json +6 -2
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-012.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-013.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-014.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-015.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-016.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-017.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-018.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-019.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-020.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-021.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-022.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-023.json +4 -0
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6101.json +20 -4
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6102.json +19 -3
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6103.json +20 -4
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6104.json +20 -4
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6105.json +20 -4
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6106.json +20 -4
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6107.json +20 -4
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6108.json +20 -4
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6109.json +12 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6110.json +21 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6111.json +21 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6112.json +35 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6113.json +21 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6114.json +8 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6115.json +21 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6116.json +19 -3
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6117.json +19 -3
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6118.json +21 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6119.json +19 -3
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6120.json +19 -3
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6121.json +23 -6
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6122.json +24 -7
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6123.json +21 -5
- package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6124.json +19 -3
- package/blueprints/deploy-cloudflare-workers/CHANGELOG.md +17 -2
- package/blueprints/deploy-cloudflare-workers/README.md +2 -2
- package/blueprints/deploy-cloudflare-workers/blueprint.json +4 -4
- package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1303-deploy-cloudflare-workers-preview-vs-production.json +1 -1
- package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json +2 -2
- package/blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs +25 -7
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-001.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-002.json +6 -2
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-003.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-004.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-005.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-006.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-007.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-008.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-009.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-010.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-011.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-012.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +5 -1
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +7 -3
- package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1301-deploy-cloudflare-workers-deploy-adapter.json +3 -2
- package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1302-deploy-cloudflare-workers-wrangler-manifest.json +5 -2
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12101.json +21 -9
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12102.json +23 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12103.json +7 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12104.json +7 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12105.json +11 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12106.json +7 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12107.json +7 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12108.json +15 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12109.json +11 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12110.json +7 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12111.json +11 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12112.json +11 -4
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +41 -3
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +17 -2
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +18 -3
- package/blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md +7 -2
- package/blueprints/deploy-hetzner-server/CHANGELOG.md +22 -6
- package/blueprints/deploy-hetzner-server/README.md +12 -12
- package/blueprints/deploy-hetzner-server/blueprint.json +2 -2
- package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3801-deploy-hetzner-server-cloud-host-contract.json +2 -2
- package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3803-deploy-hetzner-server-provisioning-tool.json +2 -2
- package/blueprints/deploy-hetzner-server/contributions/probes/cloud-init-render-lint.mjs +1 -1
- package/blueprints/deploy-hetzner-server/contributions/probes/hcloud-dry-run-mock.mjs +6 -6
- package/blueprints/deploy-hetzner-server/contributions/probes/manifest-schema-validate.mjs +1 -1
- package/blueprints/deploy-hetzner-server/contributions/probes/probe-utils.mjs +1 -1
- package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-001.json +6 -2
- package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-002.json +6 -2
- package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-003.json +5 -1
- package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-004.json +5 -1
- package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-005.json +6 -2
- package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-006.json +5 -1
- package/blueprints/deploy-hetzner-server/contributions/schemas/hetzner-server.schema.json +1 -1
- package/blueprints/deploy-hetzner-server/contributions/templates/cloud-init.yaml.tmpl +1 -1
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37101.json +63 -2
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37102.json +35 -2
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37103.json +59 -2
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37104.json +31 -2
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37105.json +25 -2
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37106.json +35 -2
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37107.json +31 -2
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37108.json +43 -2
- package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37109.json +31 -2
- package/blueprints/deploy-hetzner-server/docs/topics.md +2 -2
- package/blueprints/deploy-hetzner-server/guide/deploy-hetzner-server.md +12 -11
- package/blueprints/edge-cloudflare-access/CHANGELOG.md +35 -3
- package/blueprints/edge-cloudflare-access/README.md +2 -2
- package/blueprints/edge-cloudflare-access/blueprint.json +12 -2
- package/blueprints/edge-cloudflare-access/contributions/probes/real-account-gated-url.mjs +10 -2
- package/blueprints/edge-cloudflare-access/contributions/probes/wrangler-seam.mjs +1 -1
- package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-001.json +5 -1
- package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-002.json +5 -1
- package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-003.json +5 -1
- package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-004.json +6 -2
- package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-005.json +5 -1
- package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-006.json +7 -3
- package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-007.json +22 -0
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34101.json +13 -3
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34102.json +63 -2
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34103.json +18 -3
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34104.json +36 -3
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34105.json +13 -3
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34106.json +9 -3
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34107.json +68 -3
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34108.json +5 -3
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34109.json +10 -4
- package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34110.json +33 -0
- package/blueprints/edge-cloudflare-access/docs/topics.md +1 -1
- package/blueprints/edge-cloudflare-rate-limiting/CHANGELOG.md +35 -1
- package/blueprints/edge-cloudflare-rate-limiting/README.md +3 -3
- package/blueprints/edge-cloudflare-rate-limiting/blueprint.json +1 -1
- package/blueprints/edge-cloudflare-rate-limiting/contributions/probes/real-account-burst-and-429.mjs +10 -2
- package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-001.json +6 -2
- package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-002.json +5 -1
- package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-003.json +5 -1
- package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-004.json +6 -2
- package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-005.json +5 -1
- package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3701-edge-cloudflare-rate-limiting-manifest-schema.json +2 -2
- package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3703-edge-cloudflare-rate-limiting-drift-audit-runner.json +2 -2
- package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36101.json +27 -3
- package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36102.json +9 -3
- package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36103.json +24 -5
- package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36104.json +88 -3
- package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36105.json +5 -3
- package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36106.json +22 -3
- package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36107.json +16 -5
- package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36108.json +14 -3
- package/blueprints/edge-cloudflare-rate-limiting/guide/edge-cloudflare-rate-limiting.md +2 -2
- package/blueprints/edge-cloudflare-tunnel/CHANGELOG.md +42 -7
- package/blueprints/edge-cloudflare-tunnel/README.md +20 -21
- package/blueprints/edge-cloudflare-tunnel/blueprint.json +29 -4
- package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4001-edge-cloudflare-tunnel-ingress-bridge-contract.json +4 -4
- package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4002-edge-cloudflare-tunnel-connector-runtime.json +1 -1
- package/blueprints/edge-cloudflare-tunnel/contributions/probes/manifest-schema-validate.mjs +3 -3
- package/blueprints/edge-cloudflare-tunnel/contributions/probes/probe-utils.mjs +13 -2
- package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-connector-healthy.mjs +8 -9
- package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-tunnel-hostname-routes.mjs +2 -2
- package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-001.json +6 -2
- package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-002.json +5 -1
- package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-003.json +7 -3
- package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-004.json +5 -1
- package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-005.json +5 -1
- package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-006.json +22 -0
- package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-007.json +22 -0
- package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4001-edge-cloudflare-tunnel-connector-shape.json +1 -1
- package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4004-edge-cloudflare-tunnel-zone-and-hostname-apply.json +29 -0
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39101.json +39 -3
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39102.json +23 -4
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39103.json +53 -3
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39104.json +33 -3
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39105.json +25 -3
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39106.json +86 -2
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39107.json +25 -3
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39108.json +35 -2
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39109.json +74 -0
- package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39110.json +60 -0
- package/blueprints/edge-cloudflare-tunnel/docs/topics.md +1 -1
- package/blueprints/edge-cloudflare-tunnel/guide/edge-cloudflare-tunnel.md +60 -13
- package/blueprints/edge-cloudflare-turnstile/CHANGELOG.md +33 -1
- package/blueprints/edge-cloudflare-turnstile/README.md +2 -2
- package/blueprints/edge-cloudflare-turnstile/blueprint.json +1 -1
- package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-001.json +6 -2
- package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-002.json +5 -1
- package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-003.json +6 -2
- package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-004.json +5 -1
- package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-005.json +5 -1
- package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3601-edge-cloudflare-turnstile-widget-mount.json +2 -2
- package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3602-edge-cloudflare-turnstile-server-verifier.json +2 -2
- package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35101.json +46 -5
- package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35102.json +53 -2
- package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35103.json +81 -2
- package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35104.json +29 -6
- package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35105.json +14 -4
- package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35106.json +9 -3
- package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35107.json +5 -3
- package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35108.json +5 -3
- package/blueprints/edge-cloudflare-turnstile/probe-packs/edge-cloudflare-turnstile.pack.mjs +27 -5
- package/blueprints/email-smtp-resend/CHANGELOG.md +24 -0
- package/blueprints/email-smtp-resend/README.md +2 -2
- package/blueprints/email-smtp-resend/assets/stub-adapter.md +2 -0
- package/blueprints/email-smtp-resend/blueprint.json +119 -17
- package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-001.json +7 -3
- package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-002.json +4 -0
- package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-003.json +4 -0
- package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-004.json +4 -0
- package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-005.json +4 -0
- package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-006.json +4 -0
- package/blueprints/email-smtp-resend/contributions/tacs/tac-401-email-smtp-resend-send-adapter.json +3 -3
- package/blueprints/email-smtp-resend/contributions/tacs/tac-402-email-smtp-resend-webhook-verifier.json +7 -2
- package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4101.json +15 -8
- package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4102.json +27 -7
- package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4103.json +49 -4
- package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4104.json +6 -3
- package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4105.json +21 -5
- package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4106.json +27 -7
- package/blueprints/email-smtp-resend/guide/email-smtp-resend.md +2 -2
- package/blueprints/jobs-background/CHANGELOG.md +30 -6
- package/blueprints/jobs-background/README.md +8 -8
- package/blueprints/jobs-background/blueprint.json +55 -2
- package/blueprints/jobs-background/contributions/adrs/adr-3102-jobs-background-scheduler-mode.json +1 -1
- package/blueprints/jobs-background/contributions/adrs/adr-3103-jobs-background-requires-applied-capabilities.json +6 -6
- package/blueprints/jobs-background/contributions/probes/fake-clock-cron.mjs +1 -1
- package/blueprints/jobs-background/contributions/probes/probe-utils.mjs +4 -4
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +7 -3
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +7 -3
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +5 -1
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +5 -1
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +5 -1
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +5 -1
- package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +5 -5
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +20 -3
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +44 -9
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +48 -3
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +63 -3
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +20 -3
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +20 -3
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +20 -3
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +21 -3
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +23 -6
- package/blueprints/jobs-background/docs/topics.md +2 -2
- package/blueprints/jobs-background/guide/jobs-background.md +6 -6
- package/blueprints/messaging-queue-cloudflare/CHANGELOG.md +31 -15
- package/blueprints/messaging-queue-cloudflare/README.md +6 -6
- package/blueprints/messaging-queue-cloudflare/blueprint.json +127 -19
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3001-messaging-queue-cloudflare-adapter.json +3 -3
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3002-messaging-queue-cloudflare-delivery-semantics.json +1 -1
- package/blueprints/messaging-queue-cloudflare/contributions/probes/real-account-concurrency-smoke.mjs +4 -4
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +6 -2
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +6 -2
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +5 -1
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +6 -2
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +6 -2
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +6 -2
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +22 -4
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +23 -4
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +20 -3
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +29 -7
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +20 -3
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +25 -4
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +25 -3
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +28 -6
- package/blueprints/messaging-queue-cloudflare/docs/topics.md +2 -2
- package/blueprints/messaging-queue-cloudflare/guide/messaging-queue-cloudflare.md +7 -5
- package/blueprints/object-storage-s3/CHANGELOG.md +23 -6
- package/blueprints/object-storage-s3/README.md +2 -2
- package/blueprints/object-storage-s3/blueprint.json +154 -23
- package/blueprints/object-storage-s3/contributions/probes/hetzner-object-storage-round-trip.mjs +1 -1
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +6 -2
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +6 -2
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +5 -1
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +6 -2
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +6 -2
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +6 -2
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-101.json +5 -1
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +36 -4
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +32 -5
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +42 -3
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +22 -4
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -4
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +13 -5
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +10 -4
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +12 -4
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28110.json +20 -3
- package/blueprints/object-storage-s3/guide/object-storage-s3.md +2 -2
- package/blueprints/observability-essentials/CHANGELOG.md +21 -0
- package/blueprints/observability-essentials/README.md +1 -1
- package/blueprints/observability-essentials/assets/probe-samples/probe-response-baseline.v2.json +17 -0
- package/blueprints/observability-essentials/blueprint.json +32 -1
- package/blueprints/observability-essentials/contributions/adrs/adr-801-observability-essentials-health-probes.json +1 -1
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-001.json +4 -0
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-002.json +4 -0
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-003.json +4 -0
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-004.json +4 -0
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-005.json +4 -0
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-006.json +6 -2
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-007.json +7 -3
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-008.json +4 -0
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-009.json +4 -0
- package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-010.json +4 -0
- package/blueprints/observability-essentials/contributions/tacs/tac-802-observability-essentials-readiness-probe.json +6 -1
- package/blueprints/observability-essentials/contributions/tacs/tac-803-observability-essentials-status-page.json +1 -1
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7101.json +25 -7
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7102.json +9 -5
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7103.json +51 -6
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7104.json +7 -4
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7105.json +6 -3
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7106.json +37 -6
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7107.json +18 -11
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7108.json +6 -3
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7109.json +7 -4
- package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7110.json +8 -5
- package/blueprints/observability-essentials/docs/topics.md +1 -1
- package/blueprints/observability-essentials/guide/observability-essentials.md +1 -1
- package/blueprints/observability-logging/CHANGELOG.md +19 -4
- package/blueprints/observability-logging/README.md +1 -1
- package/blueprints/observability-logging/blueprint.json +76 -28
- package/blueprints/observability-logging/contributions/adrs/adr-1605-observability-logging-serialisation-refusal.json +25 -0
- package/blueprints/observability-logging/contributions/requirements/observability-logging-req-001.json +10 -3
- package/blueprints/observability-logging/contributions/requirements/observability-logging-req-002.json +8 -1
- package/blueprints/observability-logging/contributions/requirements/observability-logging-req-003.json +8 -1
- package/blueprints/observability-logging/contributions/requirements/observability-logging-req-004.json +8 -1
- package/blueprints/observability-logging/contributions/requirements/observability-logging-req-005.json +8 -1
- package/blueprints/observability-logging/contributions/requirements/observability-logging-req-006.json +16 -0
- package/blueprints/observability-logging/contributions/tacs/tac-1601-observability-logging-logger-factory.json +4 -4
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15101.json +62 -8
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15102.json +11 -6
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15103.json +37 -5
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15104.json +35 -4
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15105.json +24 -6
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15106.json +22 -4
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15107.json +34 -3
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15108.json +21 -3
- package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15109.json +71 -0
- package/blueprints/observability-probe-endpoints/CHANGELOG.md +17 -0
- package/blueprints/observability-probe-endpoints/README.md +1 -1
- package/blueprints/observability-probe-endpoints/blueprint.json +40 -1
- package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-001.json +6 -2
- package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-002.json +4 -0
- package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-003.json +4 -0
- package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-004.json +4 -0
- package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-005.json +4 -0
- package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-006.json +4 -0
- package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-007.json +4 -0
- package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-008.json +4 -0
- package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14101.json +30 -9
- package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14102.json +24 -6
- package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14103.json +6 -3
- package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14104.json +9 -6
- package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14105.json +49 -4
- package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14106.json +9 -6
- package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14107.json +12 -8
- package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14108.json +6 -3
- package/blueprints/observability-probe-endpoints/docs/topics.md +1 -1
- package/blueprints/observability-probe-endpoints/guide/observability-probe-endpoints.md +3 -6
- package/blueprints/persistence-data-d1/CHANGELOG.md +19 -0
- package/blueprints/persistence-data-d1/README.md +1 -1
- package/blueprints/persistence-data-d1/assets/batch-usage/batch-atomicity-example.md +2 -0
- package/blueprints/persistence-data-d1/assets/facade-shape/facade-module-shape.md +2 -0
- package/blueprints/persistence-data-d1/blueprint.json +106 -22
- package/blueprints/persistence-data-d1/contributions/adrs/adr-1404-persistence-data-d1-store-boundary.json +4 -4
- package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-001.json +5 -1
- package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-002.json +5 -1
- package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-003.json +5 -1
- package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-004.json +7 -3
- package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-005.json +5 -1
- package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-006.json +5 -1
- package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-007.json +5 -1
- package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13101.json +35 -4
- package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13102.json +25 -4
- package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13103.json +11 -4
- package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13104.json +13 -6
- package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13105.json +11 -4
- package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13106.json +7 -4
- package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13107.json +23 -3
- package/blueprints/persistence-data-postgres/CHANGELOG.md +18 -2
- package/blueprints/persistence-data-postgres/README.md +1 -1
- package/blueprints/persistence-data-postgres/blueprint.json +201 -23
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +1 -1
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +1 -1
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +6 -2
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +6 -2
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +5 -1
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +7 -3
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +6 -2
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +6 -2
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +7 -3
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +2 -2
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +5 -5
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +22 -4
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +118 -3
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +20 -3
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +26 -5
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +62 -3
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +20 -3
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +20 -3
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +20 -3
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +20 -3
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +48 -3
- package/blueprints/persistence-data-sqlite/CHANGELOG.md +14 -0
- package/blueprints/persistence-data-sqlite/blueprint.json +146 -30
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-001.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-002.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-003.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-004.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-005.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-006.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-007.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-008.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-009.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-010.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-011.json +5 -1
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5101.json +35 -4
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5102.json +7 -4
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5103.json +19 -3
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5104.json +21 -4
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5105.json +7 -4
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5106.json +11 -4
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5107.json +7 -4
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5108.json +7 -4
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5109.json +11 -8
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5110.json +23 -3
- package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5111.json +19 -3
- package/blueprints/persistence-data-sqlite/guide/persistence-data-sqlite.md +1 -1
- package/blueprints/platform-cloudflare-cron-triggers/CHANGELOG.md +40 -2
- package/blueprints/platform-cloudflare-cron-triggers/blueprint.json +78 -17
- package/blueprints/platform-cloudflare-cron-triggers/contributions/adrs/adr-3301-platform-cloudflare-cron-triggers-scheduled-trigger-contract.json +2 -2
- package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/real-account-scheduled-smoke.mjs +24 -3
- package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/skew-tolerance.mjs +1 -1
- package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-001.json +6 -2
- package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-002.json +5 -1
- package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-003.json +5 -1
- package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-004.json +6 -2
- package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3301-platform-cloudflare-cron-triggers-scheduled-handler.json +1 -1
- package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32101.json +86 -5
- package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32102.json +69 -5
- package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32103.json +51 -4
- package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32104.json +65 -4
- package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32105.json +68 -5
- package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32106.json +62 -3
- package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32107.json +56 -3
- package/blueprints/platform-cloudflare-cron-triggers/docs/topics.md +3 -3
- package/blueprints/platform-cloudflare-durable-objects/CHANGELOG.md +43 -3
- package/blueprints/platform-cloudflare-durable-objects/README.md +6 -6
- package/blueprints/platform-cloudflare-durable-objects/blueprint.json +3 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3401-platform-cloudflare-durable-objects-single-cell-contract.json +1 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3402-platform-cloudflare-durable-objects-websocket-hub-contract.json +1 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/probes/probe-utils.mjs +2 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/probes/real-account-storage-smoke.mjs +41 -35
- package/blueprints/platform-cloudflare-durable-objects/contributions/probes/sole-reader-scan.mjs +1 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/probes/storage-round-trip.mjs +1 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/probes/websocket-hub-broadcast.mjs +1 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/probes/wrangler-seam.mjs +11 -5
- package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-001.json +5 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-002.json +6 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-003.json +5 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-004.json +5 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-005.json +6 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-006.json +6 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-007.json +5 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-008.json +5 -1
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33101.json +73 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33102.json +59 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33103.json +77 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33104.json +75 -6
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33105.json +73 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33106.json +49 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33107.json +45 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33108.json +84 -3
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33109.json +45 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33110.json +59 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33111.json +45 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33112.json +53 -2
- package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33113.json +68 -5
- package/blueprints/platform-cloudflare-durable-objects/docs/topics.md +1 -1
- package/blueprints/platform-cloudflare-durable-objects/guide/platform-cloudflare-durable-objects.md +9 -9
- package/blueprints/platform-cloudflare-kv/CHANGELOG.md +52 -10
- package/blueprints/platform-cloudflare-kv/README.md +6 -8
- package/blueprints/platform-cloudflare-kv/blueprint.json +115 -20
- package/blueprints/platform-cloudflare-kv/contributions/adrs/adr-3201-platform-cloudflare-kv-key-value-store-contract.json +3 -3
- package/blueprints/platform-cloudflare-kv/contributions/probes/cache-aside-hit-then-miss.mjs +1 -1
- package/blueprints/platform-cloudflare-kv/contributions/probes/event-secrecy.mjs +1 -1
- package/blueprints/platform-cloudflare-kv/contributions/probes/real-account-eventual-consistency-smoke.mjs +53 -18
- package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-001.json +6 -2
- package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-002.json +5 -1
- package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-003.json +5 -1
- package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-004.json +6 -2
- package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-005.json +7 -3
- package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-006.json +22 -0
- package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-007.json +22 -0
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31101.json +59 -2
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31102.json +45 -2
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31103.json +73 -3
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31104.json +67 -2
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31105.json +59 -2
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31106.json +45 -2
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31107.json +45 -2
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31108.json +45 -2
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31109.json +92 -0
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31110.json +88 -0
- package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31111.json +89 -0
- package/blueprints/platform-cloudflare-kv/docs/topics.md +1 -1
- package/blueprints/platform-cloudflare-kv/guide/platform-cloudflare-kv.md +2 -2
- package/blueprints/platform-docker-compose-host/CHANGELOG.md +37 -3
- package/blueprints/platform-docker-compose-host/README.md +7 -7
- package/blueprints/platform-docker-compose-host/blueprint.json +23 -6
- package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3901-platform-docker-compose-host-contract.json +3 -3
- package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3902-platform-docker-compose-host-reverse-proxy.json +4 -4
- package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3903-platform-docker-compose-host-reject-coolify.json +2 -2
- package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3904-platform-docker-compose-host-log-driver.json +2 -2
- package/blueprints/platform-docker-compose-host/contributions/probes/probe-utils.mjs +1 -1
- package/blueprints/platform-docker-compose-host/contributions/probes/real-account-minimal-stack-up.mjs +2 -3
- package/blueprints/platform-docker-compose-host/contributions/probes/real-account-reload-burst.mjs +1 -1
- package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-001.json +6 -2
- package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-002.json +5 -1
- package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-003.json +6 -2
- package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-004.json +5 -1
- package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-005.json +6 -2
- package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-006.json +6 -2
- package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-007.json +22 -0
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38101.json +73 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38102.json +67 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38103.json +59 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38104.json +75 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38105.json +49 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38106.json +45 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38107.json +49 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38108.json +49 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38109.json +57 -2
- package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38110.json +92 -0
- package/blueprints/platform-docker-compose-host/docs/topics.md +3 -3
- package/blueprints/platform-docker-compose-host/guide/platform-docker-compose-host.md +6 -6
- package/blueprints/security-auth-clerk/CHANGELOG.md +24 -4
- package/blueprints/security-auth-clerk/README.md +1 -1
- package/blueprints/security-auth-clerk/blueprint.json +21 -1
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-001.json +6 -2
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-002.json +5 -1
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-003.json +6 -2
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-004.json +6 -2
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-005.json +5 -2
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-006.json +5 -1
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-007.json +4 -1
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-008.json +4 -1
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-009.json +4 -1
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-010.json +22 -0
- package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-011.json +22 -0
- package/blueprints/security-auth-clerk/contributions/tacs/tac-1001-security-auth-clerk-middleware.json +14 -4
- package/blueprints/security-auth-clerk/contributions/tacs/tac-1003-security-auth-clerk-session-verifier.json +7 -1
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9101.json +6 -3
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9102.json +19 -3
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9103.json +6 -3
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9104.json +6 -3
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9105.json +4 -2
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9106.json +4 -2
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9107.json +4 -2
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9108.json +13 -3
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9109.json +8 -2
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9110.json +4 -2
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9111.json +4 -2
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9112.json +102 -0
- package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9113.json +103 -0
- package/blueprints/security-auth-keycloak/CHANGELOG.md +23 -4
- package/blueprints/security-auth-keycloak/README.md +1 -1
- package/blueprints/security-auth-keycloak/blueprint.json +101 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-001.json +5 -2
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-002.json +5 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-003.json +5 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-004.json +5 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-005.json +6 -2
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-006.json +6 -2
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-007.json +4 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-008.json +4 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-009.json +4 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-010.json +4 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-011.json +5 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-012.json +4 -1
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-013.json +22 -0
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-014.json +22 -0
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-015.json +22 -0
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-016.json +22 -0
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-017.json +22 -0
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-018.json +22 -0
- package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-019.json +22 -0
- package/blueprints/security-auth-keycloak/contributions/tacs/tac-1201-security-auth-keycloak-discovery-client.json +4 -2
- package/blueprints/security-auth-keycloak/contributions/tacs/tac-1202-security-auth-keycloak-jwt-verifier.json +8 -2
- package/blueprints/security-auth-keycloak/contributions/tacs/tac-1203-security-auth-keycloak-introspection-client.json +8 -2
- package/blueprints/security-auth-keycloak/contributions/tacs/tac-1204-security-auth-keycloak-provider-router.json +3 -1
- package/blueprints/security-auth-keycloak/contributions/tacs/tac-1205-security-auth-keycloak-role-adapter.json +2 -1
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11101.json +6 -3
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11102.json +10 -3
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11103.json +12 -2
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11104.json +8 -2
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11105.json +6 -3
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11106.json +18 -3
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11107.json +6 -3
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11108.json +6 -3
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11109.json +4 -2
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11110.json +6 -3
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11111.json +14 -3
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11112.json +4 -2
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11113.json +4 -2
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11114.json +72 -0
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11115.json +88 -0
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11116.json +117 -0
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11117.json +117 -0
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11118.json +117 -0
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11119.json +117 -0
- package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11120.json +103 -0
- package/blueprints/security-auth-keycloak/guide/security-auth-keycloak.md +1 -1
- package/blueprints/security-auth-magic-link/CHANGELOG.md +19 -3
- package/blueprints/security-auth-magic-link/README.md +1 -1
- package/blueprints/security-auth-magic-link/blueprint.json +1 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-001.json +4 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-002.json +5 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-003.json +6 -2
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-004.json +5 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-005.json +5 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-006.json +4 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-007.json +4 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-008.json +5 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-009.json +5 -1
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-010.json +6 -2
- package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-011.json +6 -2
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3101.json +10 -5
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3102.json +8 -4
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3103.json +6 -3
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3104.json +8 -4
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3105.json +6 -3
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3106.json +6 -3
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3107.json +8 -4
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3108.json +6 -3
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3109.json +6 -3
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3110.json +6 -3
- package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3111.json +14 -3
- package/blueprints/security-auth-magic-link/guide/security-auth-magic-link.md +1 -1
- package/blueprints/security-auth-oauth2/CHANGELOG.md +21 -4
- package/blueprints/security-auth-oauth2/README.md +1 -1
- package/blueprints/security-auth-oauth2/blueprint.json +33 -2
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-001.json +5 -2
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-002.json +5 -1
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-003.json +5 -1
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-004.json +4 -1
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-005.json +5 -1
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-006.json +6 -2
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-007.json +4 -1
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-008.json +6 -2
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-009.json +5 -1
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-010.json +4 -1
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-011.json +22 -0
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-012.json +22 -0
- package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-013.json +22 -0
- package/blueprints/security-auth-oauth2/contributions/tacs/tac-1102-security-auth-oauth2-provider-adapter.json +2 -1
- package/blueprints/security-auth-oauth2/contributions/tacs/tac-1103-security-auth-oauth2-session-bridge.json +9 -2
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10101.json +6 -3
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10102.json +6 -3
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10103.json +4 -2
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10104.json +4 -2
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10105.json +8 -4
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10106.json +6 -3
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10107.json +6 -3
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10108.json +6 -3
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10109.json +4 -2
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10110.json +4 -2
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10111.json +17 -2
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10112.json +82 -0
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10113.json +68 -0
- package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10114.json +88 -0
- package/blueprints/security-secrets-management/CHANGELOG.md +14 -2
- package/blueprints/security-secrets-management/blueprint.json +168 -31
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-001.json +5 -1
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-002.json +6 -2
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-003.json +6 -2
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-004.json +5 -1
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-005.json +6 -2
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-006.json +5 -1
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-007.json +5 -1
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-008.json +5 -1
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-009.json +5 -1
- package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-010.json +6 -3
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8101.json +6 -3
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8102.json +6 -3
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8103.json +4 -2
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8104.json +6 -3
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8105.json +8 -4
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8106.json +6 -3
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8107.json +6 -3
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8108.json +6 -3
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8109.json +6 -3
- package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8110.json +6 -3
- package/fixtures/canary-manifest.json +9 -9
- package/package.json +1 -1
- package/rcf/test-suites/ts-050.json +1 -1
- package/rcf/test-suites/ts-052.json +1 -1
- package/rcf/test-suites/ts-053.json +2 -2
- package/rcf/test-suites/ts-054.json +2 -2
- package/rcf/test-suites/ts-055.json +2 -2
- package/rcf/test-suites/ts-056.json +4 -4
- package/rcf/test-suites/ts-057.json +2 -2
- package/rcf/user-stories/us-7701.json +3 -3
- package/releases/releases.yaml +11 -1
- package/src/cli/view.js +22 -11
|
@@ -1,34 +1,50 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.1.2 - 2026-09-10
|
|
4
|
+
|
|
5
|
+
Register cleanup on shipped prose: neutral wording in the README six-probes paragraph, which now describes the probe module envelope directly. Guide `publishBatch` sample updated: the `x-trace-id` example values are now `trace-order-1001` and `trace-order-1002`, and a one-line pointer follows the sample to the owner at `TAC-3001.interfaces[2].description`. Anatomy pin updated to 1.1.2. Chain-consistency lint zero on pass 1 and pass 2. Closes criterion-f finding 1 for messaging-queue-cloudflare; finding 2 was verified as not a defect (the flagged tokens were `x-trace-id` header values in the sample rather than register labels, and the sample now uses order-scoped example values that remove the ambiguity).
|
|
6
|
+
|
|
7
|
+
## 1.1.1 (register-sweep patch, 2026-09-10)
|
|
8
|
+
|
|
9
|
+
- Register: neutral wording in shipped prose (no capability change).
|
|
10
|
+
|
|
11
|
+
## 1.1.0 - 2026-09-09
|
|
12
|
+
|
|
13
|
+
Adds the elicits block (queue-binding-name, queue-name, max-attempts, dead-letter-queue, batch-size, batch-timeout-seconds) that the REQs and guide were already describing in prose. Adds deliveredBy on REQ-002 and REQ-006. Closes chain-contradiction specimens F-2 (retry count off by one: REQ-004 and AC-29104-1 now name maxDeliveries and map to the vendor max_retries as maxDeliveries - 1; new AC-29104-2 asserts the maxDeliveries=1 boundary case), F-3 (REQ-006 and AC-29106-1 standardise on ts as the wall-clock milliseconds-since-epoch field name, aligning with TAC-3001, TAC-3003 and the guide), F-6 (REQ-002 replaces the "idempotent" label with an explicit at-least-once semantics naming ADR-3002 as the ratified delivery decision). Adds disposition to every AC.
|
|
14
|
+
|
|
1
15
|
# messaging-queue-cloudflare changelog
|
|
2
16
|
|
|
3
17
|
## 1.0.2 - 2026-09-08
|
|
4
18
|
|
|
5
|
-
|
|
19
|
+
The review-train follow-up (addendum item 6 fixture defect): the real-account queue probe now self-provisions its own throwaway Queue + consumer Worker + telemetry KV namespace, closing the second-tier undeclared-env skip the operator estate hit at the real-account gate on 2026-09-08 (`REAL RUN: PARTIAL`, `MERGE DECISION: HOLD`). No shipped-code capability change.
|
|
6
20
|
|
|
7
|
-
- `real-account-concurrency-smoke.mjs` rewritten against a new self-provisioning fixture shim at `packages/rcf-lite/test/fixtures/cf-platform/h2-cf-queue-real-account-shim.mjs`. AC-29108-2 requires a real consumer to process the published messages ("the consumer processes them concurrently up to the documented 250-invocation cap"), so the shim mints a scratch Cloudflare Queue under `h2-cf-probe-integrity-scratch-q-`, a scratch KV namespace for consumer telemetry under `h2-cf-probe-integrity-scratch-kv-tel-`, and a throwaway consumer Worker under `h2-cf-probe-integrity-scratch-w-` bound to the queue (consumer) with `RCF_TEST_QUEUE` (shipped queue producer binding name matching `packages/rcf-lite/test/fixtures/infra-s3-and-queue/wrangler.toml`) + `RCF_TEST_TELEMETRY_KV` bindings. NO workers.dev subdomain is enabled (
|
|
21
|
+
- `real-account-concurrency-smoke.mjs` rewritten against a new self-provisioning fixture shim at `packages/rcf-lite/test/fixtures/cf-platform/h2-cf-queue-real-account-shim.mjs`. AC-29108-2 requires a real consumer to process the published messages ("the consumer processes them concurrently up to the documented 250-invocation cap"), so the shim mints a scratch Cloudflare Queue under `h2-cf-probe-integrity-scratch-q-`, a scratch KV namespace for consumer telemetry under `h2-cf-probe-integrity-scratch-kv-tel-`, and a throwaway consumer Worker under `h2-cf-probe-integrity-scratch-w-` bound to the queue (consumer) with `RCF_TEST_QUEUE` (shipped queue producer binding name matching `packages/rcf-lite/test/fixtures/infra-s3-and-queue/wrangler.toml`) + `RCF_TEST_TELEMETRY_KV` bindings. NO workers.dev subdomain is enabled (operator ruling): the consumer is invoked BY THE QUEUE, not over HTTP; the driver publishes via the Cloudflare Queues REST publish endpoint and reads consumer telemetry via the KV REST list + get endpoints. The consumer Worker's source is a plain module (`h2-cf-queue-consumer-worker.mjs`); its `queue()` handler records one telemetry entry per invocation (start / end timestamps + batchSize) to the bound telemetry KV namespace; the driver computes `maxConcurrent` from an interval-overlap analysis on those timestamps.
|
|
8
22
|
- Declared env for a real-account run is now `CI_HAS_CLOUDFLARE_ACCOUNT` + `CF_ACCOUNT_ID` + `CF_API_TOKEN` (optional `CF_API_BASE_URL` test override; optional `CF_QUEUE_MESSAGE_COUNT` per section 3.5). The `CF_QUEUE_WORKER_URL` and `CF_QUEUE_NAME` second-tier gates are removed; the fixture provides them itself. Every skip-causing env var enumerated in `report.extra.envDeclared` on the probe result and mirrored in the shim's `DECLARED_ENV` export.
|
|
9
|
-
- Teardown deletes the consumer Worker first (so the queue has no active consumer at delete time), then the Queue, then the telemetry KV namespace, all by EXACT id / EXACT name against the mint record with three independent prefix guards per resource. `workerDelete` and `queueDelete` are idempotent on 404 (
|
|
10
|
-
- Separate crash-recovery `sweepOrphans` code path filters over the account by the frozen throwaway prefix constants and deletes each match by exact identity; the sweep is structurally unable to select a non-prefixed name. All account listings paginate to completion (
|
|
11
|
-
- Queue consumer-attach body sends `type: "worker"` (
|
|
12
|
-
- Local proof harness (`packages/rcf-lite/test/fixtures/cf-platform/test/mock-cf-api-server.mjs`) is a zero-dep in-process mock of the Cloudflare REST contract, not the wire. **The local run exercises OUR lifecycle logic against a mock of Cloudflare's contract; the real-account gate is the only surface that proves the wire format.** The probe is therefore never described as "locally verified" - the local runs are our own lifecycle-logic proof; wire correctness is proven at the
|
|
23
|
+
- Teardown deletes the consumer Worker first (so the queue has no active consumer at delete time), then the Queue, then the telemetry KV namespace, all by EXACT id / EXACT name against the mint record with three independent prefix guards per resource. `workerDelete` and `queueDelete` are idempotent on 404 (operator ruling items 3+4): a botched-retry teardown treats an already-gone resource as success rather than stranding siblings.
|
|
24
|
+
- Separate crash-recovery `sweepOrphans` code path filters over the account by the frozen throwaway prefix constants and deletes each match by exact identity; the sweep is structurally unable to select a non-prefixed name. All account listings paginate to completion (operator ruling item 5): KV namespaces + Queues use the documented `per_page` + `page` loop, Workers scripts use the cursor loop, so `sweepOrphans` is not silently truncated to page one on a busy account. Dedicated sweep-safety test at `packages/rcf-lite/test/fixtures/cf-platform/test/h2-cf-sweep-safety.test.mjs` seeds the mock account with the ten live production Worker script names on the operator account plus mid-string-prefix decoys AND a 250-per-type multi-page cover, and asserts sweep selects zero of them.
|
|
25
|
+
- Queue consumer-attach body sends `type: "worker"` (operator ruling item 1: survives CF schema tightening on the discriminated attach union) and omits `dead_letter_queue` entirely rather than sending an explicit `null` (item 2).
|
|
26
|
+
- Local proof harness (`packages/rcf-lite/test/fixtures/cf-platform/test/mock-cf-api-server.mjs`) is a zero-dep in-process mock of the Cloudflare REST contract, not the wire. **The local run exercises OUR lifecycle logic against a mock of Cloudflare's contract; the real-account gate is the only surface that proves the wire format.** The probe is therefore never described as "locally verified" - the local runs are our own lifecycle-logic proof; wire correctness is proven at the operator estate real-account gate.
|
|
13
27
|
|
|
14
28
|
## 1.0.1 - 2026-09-08
|
|
15
29
|
|
|
16
|
-
|
|
30
|
+
The review-train hardening pass (`h2-cf-platform-probe-integrity`): probe-integrity patch. No capability change.
|
|
17
31
|
|
|
18
|
-
- Replaced the `accountBoundSkipped: true` pass-stub in `real-account-concurrency-smoke.mjs` with a real 500-message concurrency driver against a live Queues binding on a deployed Worker. When `CI_HAS_CLOUDFLARE_ACCOUNT` is set with `CF_QUEUE_WORKER_URL` and `CF_QUEUE_NAME`, the driver publishes 500 messages through the producer facade in 10 concurrent 50-message batches, polls consumer telemetry via `/stats`, and asserts `drained`, `withinCap` and `observedConcurrency > 1` against Cloudflare's documented push-invocation cap (250). The env-absent branch keeps the pass-with-skip shape. Locally proven against `wrangler dev --local` end-to-end (500/500 messages in 583 ms; local queue serialises so the concurrency assertion FAIL tail is the expected local-proof outcome; on real Cloudflare push consumers the assertion passes at
|
|
19
|
-
- Re-verified the Cloudflare Queues limits URL (`https://developers.cloudflare.com/queues/platform/limits/`) returns `HTTP/2 200`; recorded in the
|
|
32
|
+
- Replaced the `accountBoundSkipped: true` pass-stub in `real-account-concurrency-smoke.mjs` with a real 500-message concurrency driver against a live Queues binding on a deployed Worker. When `CI_HAS_CLOUDFLARE_ACCOUNT` is set with `CF_QUEUE_WORKER_URL` and `CF_QUEUE_NAME`, the driver publishes 500 messages through the producer facade in 10 concurrent 50-message batches, polls consumer telemetry via `/stats`, and asserts `drained`, `withinCap` and `observedConcurrency > 1` against Cloudflare's documented push-invocation cap (250). The env-absent branch keeps the pass-with-skip shape. Locally proven against `wrangler dev --local` end-to-end (500/500 messages in 583 ms; local queue serialises so the concurrency assertion FAIL tail is the expected local-proof outcome; on real Cloudflare push consumers the assertion passes at the operator estate gate time).
|
|
33
|
+
- Re-verified the Cloudflare Queues limits URL (`https://developers.cloudflare.com/queues/platform/limits/`) returns `HTTP/2 200`; recorded in the review-train PR provenance (2026-09-08T13:38:07Z).
|
|
20
34
|
- Extended the fixture Worker at `packages/rcf-lite/test/fixtures/infra-s3-and-queue/src/worker.mjs` with consumer telemetry and `/publish-batch`, `/stats` and `/reset` endpoints; added `wrangler ^4.0.0` as devDep on the fixture package.
|
|
21
35
|
|
|
22
36
|
## 1.0.0 - 2026-09-06
|
|
23
37
|
|
|
24
|
-
Initial release. Directed producer-to-consumer worklist queue on Cloudflare Queues; first shipped adapter with the reserved `messaging-queue-postgres` sibling (
|
|
38
|
+
Initial release. Directed producer-to-consumer worklist queue on Cloudflare Queues; first shipped adapter with the reserved `messaging-queue-postgres` sibling (maintainer decision) named beside it in the section 6a capability table. Accessed through a producer facade that is the sole reader of the Cloudflare Queues binding (`env.RCF_TEST_QUEUE` in the fixture). Landed via the infra round 5 spec (ratified 2026-09-06) as the queue-adapter track.
|
|
25
39
|
|
|
26
40
|
- 21 contributions: 6 REQs on producer facade sole-reader / publish-consume-ack / retry / dead-letter / batch / lifecycle events; 8 USs at 29101-29108; 3 TACs (3001 producer facade, 3002 consumer registration, 3003 event sink); 4 ADRs (3001 adapter Cloudflare Queues shipped, 3002 `deliverySemantics` scope global at-least-once, 3003 max_retries default 3 floor 1 ceiling 100, 3004 batch size default 10 batch timeout default 5 seconds).
|
|
27
41
|
- Five Node-only probes under `contributions/probes/` proven against the wrangler-dev-equivalent seam (in-memory queue driver realising the Cloudflare Queues binding shape per SDR-3-a on US-29107): `producer-facade-ready`, `publish-to-delivery`, `retry-and-dlq`, `event-secrecy`, and the accountBound `real-account-concurrency-smoke`. The real-account smoke records `accountBoundSkipped: true` when `CI_HAS_CLOUDFLARE_ACCOUNT` is unset per spec section 3.5.
|
|
28
|
-
-
|
|
29
|
-
- Declares `capabilities: ["queue"]`, `suggestedCompanions: [{role: "logging"}, {role: "errorHandling"}]`, `providesRoles` absent, `requiresAppliedCapabilities` absent. Composes on `deploy-cloudflare-workers` transitively via the wrangler binding (not through the capability mechanism), so `jobs-background` reads the `queue` capability at apply time via the
|
|
42
|
+
- The messaging-queue-cloudflare slice of the shared sample-app fixture at `packages/rcf-lite/test/fixtures/infra-s3-and-queue/` adds a `wrangler.toml` declaring the queue binding (`RCF_TEST_QUEUE`), DLQ binding (`RCF_TEST_DLQ`), `dead_letter_queue = "rcf-test-dlq"`, `max_retries = 3`, `max_batch_size = 10`, `max_batch_timeout = 5`; plus `src/queue-driver.mjs`, `src/producer.mjs`, `src/consumer.mjs`, `src/dlq-inspector.mjs`, `src/event-sink.mjs`. Three wired induced-failure switches (`SIMULATE_CONSUMER_RETRY`, `SIMULATE_DLQ_OVERFLOW`, `SIMULATE_PII_IN_BODY`) drive the negative-run paths.
|
|
43
|
+
- Declares `capabilities: ["queue"]`, `suggestedCompanions: [{role: "logging"}, {role: "errorHandling"}]`, `providesRoles` absent, `requiresAppliedCapabilities` absent. Composes on `deploy-cloudflare-workers` transitively via the wrangler binding (not through the capability mechanism), so `jobs-background` reads the `queue` capability at apply time via the capability-consumer mechanism from the visual round.
|
|
30
44
|
- Contributes ADR-3002 as `scope: global` on new topic `deliverySemantics`. Future exactly-once, at-most-once or `messaging-queue-postgres` siblings conflict here by design.
|
|
31
|
-
- Every ADR contribution entry on `blueprint.json` carries a `standardsTraceClause` per section 8a.2 (mandatory per
|
|
32
|
-
- 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
|
|
45
|
+
- Every ADR contribution entry on `blueprint.json` carries a `standardsTraceClause` per section 8a.2 (mandatory per the operator estate mid-flight ruling after PR #154 gate).
|
|
46
|
+
- 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 maintainer decision and spec section 5.6.
|
|
33
47
|
- The Miniflare Queues sub-page under the workers testing miniflare storage tree is NOT cited: the ratified round-5 spec's status block records it returning 404 on 2026-09-06. The Cloudflare Queues local-development page (`https://developers.cloudflare.com/queues/configuration/local-development/`) is the sole citation for the local seam.
|
|
34
|
-
- Lifecycle event whitelist reuses
|
|
48
|
+
- Lifecycle event whitelist reuses the object-storage-s3 blueprint's `{event, ts, ...}` common envelope prefix (per PR #157 gate reviewer note 2026-09-06) so a future v1.1 minor can promote one shared shape to schema enforcement.
|
|
49
|
+
|
|
50
|
+
Review-fix (2026-09-09): Adds deliveredBy on REQ-003 and REQ-004. Sweeps vendorCitation onto fixed ACs resting on vendor facts (AC-29107-2, AC-29108-2).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# messaging-queue-cloudflare
|
|
2
2
|
|
|
3
|
-
A directed producer-to-consumer worklist queue on Cloudflare Queues, accessed through a producer facade that is the sole reader of the Queues binding. Cloudflare Queues is the first adapter (queue binding under wrangler config, consumer registered on the Worker `queue` handler); the reserved `messaging-queue-postgres` sibling (
|
|
3
|
+
A directed producer-to-consumer worklist queue on Cloudflare Queues, accessed through a producer facade that is the sole reader of the Queues binding. Cloudflare Queues is the first adapter (queue binding under wrangler config, consumer registered on the Worker `queue` handler); the reserved `messaging-queue-postgres` sibling (maintainer decision) mints on demand. Ships publish, consume, ack, retry, and DLQ; four lifecycle events (`producerReady`, `messagePublished`, `messageAcked`, `messageDeadLettered`) with a metadata-only field discipline. Composes on `deploy-cloudflare-workers` transitively via the wrangler binding, not through the capability mechanism, so `capabilities: ["queue"]` is what `jobs-background` reads to obtain the producer facade at apply time; no `requiresAppliedCapabilities` block ships at v1.0.0.
|
|
4
4
|
|
|
5
5
|
## What this blueprint gives you
|
|
6
6
|
|
|
@@ -44,15 +44,15 @@ Queue name (or binding name in a Workers deploy); `max_retries` before DLQ (defa
|
|
|
44
44
|
|
|
45
45
|
## Composition and conflicts
|
|
46
46
|
|
|
47
|
-
Composes on `deploy-cloudflare-workers` transitively via the wrangler binding (not through the capability mechanism), so no `requiresAppliedCapabilities` block ships at v1.0.0. Contributes ADR-3002 as `scope: global` on new topic `deliverySemantics`; a future `messaging-queue-postgres` sibling (
|
|
47
|
+
Composes on `deploy-cloudflare-workers` transitively via the wrangler binding (not through the capability mechanism), so no `requiresAppliedCapabilities` block ships at v1.0.0. Contributes ADR-3002 as `scope: global` on new topic `deliverySemantics`; a future `messaging-queue-postgres` sibling (maintainer decision, deferred v1.0.0 pending demand) or an exactly-once / at-most-once sibling would conflict here by design. `capabilities: ["queue"]`; `providesRoles: []`.
|
|
48
48
|
|
|
49
49
|
## Reserved sibling
|
|
50
50
|
|
|
51
|
-
`messaging-queue-postgres` (
|
|
51
|
+
`messaging-queue-postgres` (maintainer decision). Reserved slug beside the `queue` capability row in `packages/rcf-lite/docs/blueprint-authoring.md` section 6a. When demand mints it, the sibling composes on `persistence-data-postgres` as its transport and conflicts by design on `deliverySemantics` with this blueprint; the operator picks one queue backend per project via a project-level ADR.
|
|
52
52
|
|
|
53
53
|
## The six probes
|
|
54
54
|
|
|
55
|
-
Each probe is a Node module under `contributions/probes/` exporting the
|
|
55
|
+
Each probe is a Node module under `contributions/probes/` exporting the shipped verdict envelope, with a matching `run-<probe-name>.mjs` shim that drives the probe against the shared fixture's slice and writes the per-blueprint report at `.rcf/reports/blueprints/messaging-queue-cloudflare/<probe-name>.json`.
|
|
56
56
|
|
|
57
57
|
| Probe | Anchor AC | What it proves | accountBound |
|
|
58
58
|
|---|---|---|---|
|
|
@@ -60,7 +60,7 @@ Each probe is a Node module under `contributions/probes/` exporting the round-5
|
|
|
60
60
|
| `publish-to-delivery` | AC-29102-1, AC-29102-2, AC-29105-1, AC-29108-1 | 5 messages round-trip body byte-equal with stable message-ids and producer-supplied trace-ids preserved; per-message ack; wrangler-dev-equivalent seam. | false |
|
|
61
61
|
| `retry-and-dlq` | AC-29103-1, AC-29104-1 | Consumer returning `retry` observes same stable message-id with attempts 1..max_retries; DLQ landing fires `messageDeadLettered` at `max_retries + 1`; DLQ contents body byte-equal via the DLQ inspector helper. | false |
|
|
62
62
|
| `event-secrecy` | AC-29106-1 | Every event record carries only the whitelist (event, ts, messageId, queueName, attempts); no PII fixture text on JSON grep. | false |
|
|
63
|
-
| `real-account-concurrency-smoke` | AC-29108-2 | Self-provisioning (v1.0.2): the fixture shim (`packages/rcf-lite/test/fixtures/cf-platform/h2-cf-queue-real-account-shim.mjs`) mints a scratch Cloudflare Queue under the
|
|
63
|
+
| `real-account-concurrency-smoke` | AC-29108-2 | Self-provisioning (v1.0.2): the fixture shim (`packages/rcf-lite/test/fixtures/cf-platform/h2-cf-queue-real-account-shim.mjs`) mints a scratch Cloudflare Queue under the CI scratch prefix `h2-cf-probe-integrity-scratch-q-`, a scratch KV namespace for consumer telemetry under `h2-cf-probe-integrity-scratch-kv-tel-`, and a throwaway consumer Worker under `h2-cf-probe-integrity-scratch-w-` bound to the queue (consumer) with `RCF_TEST_QUEUE` (shipped queue binding name) + `RCF_TEST_TELEMETRY_KV` bindings. The Worker has NO fetch surface and NO workers.dev subdomain is enabled (operator ruling): the consumer is invoked BY THE QUEUE, not over HTTP. Driver publishes 500 messages in 10 concurrent 50-message batches via the Cloudflare Queues REST publish endpoint, polls the telemetry KV namespace via the KV REST list + get endpoints until drained, and asserts `totalConsumed === published` and `1 < maxConcurrent <= 250` per https://developers.cloudflare.com/queues/platform/limits/. Teardown deletes Worker, Queue and telemetry KV namespace on exit; the shim's separate `sweepOrphans` path lists over the account with full pagination (operator ruling item 5) and deletes any prefixed residue after a mid-run crash. **The local proof exercises OUR lifecycle logic against a mock of Cloudflare's contract; the real-account gate is the only surface that proves the wire format.** Without `CI_HAS_CLOUDFLARE_ACCOUNT` records `accountBoundSkipped: true`. | true |
|
|
64
64
|
|
|
65
65
|
## Anatomy
|
|
66
66
|
|
|
@@ -111,7 +111,7 @@ Two live paths are unproven at v1.0.0 and are recorded per AC below so the gate
|
|
|
111
111
|
- **AC-29105-1** (batch consume: 5 messages in one batch, per-message ack semantics under `max_batch_size = 10`): proven against the in-memory realisation of the binding shape (probe `publish-to-delivery`, verdict pass); live Queues `max_batch_size` / `max_batch_timeout` behaviour on the [[queues.consumers]] block unproven pending a reviewer `wrangler dev` run or the accountBound smoke.
|
|
112
112
|
- **AC-29106-1** (metadata-only event whitelist; no PII body / header value / consumer context leaks): proven end-to-end against the in-memory realisation (probe `event-secrecy`, verdict pass; the whitelist is code-enforced in `src/event-sink.mjs`, independent of transport); live-Queues run does not change the sink code path, so this AC has no live-only gap.
|
|
113
113
|
- **AC-29108-1** (wrangler-dev-equivalent seam round-trip): proven end-to-end against the in-memory realisation of the binding shape (probe `publish-to-delivery`, verdict pass); a live `wrangler dev` process was not driven in this pass. Rationale: SDR-3-a on US-29107 makes the wrangler-dev-equivalent seam the shipped local seam because Cloudflare Queues does not support consumer concurrency under `wrangler dev` and does not support `wrangler dev --remote` per the local-development doc, so a live-wrangler run adds observability (a real process on port 8787) but does not add facade-contract certainty over the in-memory realisation. The gate reviewer drives one live `wrangler dev` run in their own scratch to close the observability gap.
|
|
114
|
-
- **AC-29108-2** (real-account concurrency smoke: 500 messages, consumer concurrency up to 250): as of v1.0.2 the probe SELF-PROVISIONS the throwaway Queue + consumer Worker + telemetry KV namespace under the
|
|
114
|
+
- **AC-29108-2** (real-account concurrency smoke: 500 messages, consumer concurrency up to 250): as of v1.0.2 the probe SELF-PROVISIONS the throwaway Queue + consumer Worker + telemetry KV namespace under the CI scratch prefixes and requires no hand-provisioned CI infrastructure . Declared env for a live run: `CI_HAS_CLOUDFLARE_ACCOUNT` + `CF_ACCOUNT_ID` + `CF_API_TOKEN`. Without `CI_HAS_CLOUDFLARE_ACCOUNT` the probe records `accountBoundSkipped: true` per spec section 3.5 and the per-blueprint report carries `aggregateVerdict: pass` on the skipped shape. **The local proof harness under `packages/rcf-lite/test/fixtures/cf-platform/test/` is a mock of Cloudflare's REST contract, not the wire; the local runs exercise OUR lifecycle logic against that mock, and the real-account gate is the only surface that proves the wire format.**
|
|
115
115
|
|
|
116
116
|
## Other limitations (not mechanism-reach gaps)
|
|
117
117
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"slug": "messaging-queue-cloudflare",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"category": "messaging",
|
|
5
|
-
"capabilities": [
|
|
5
|
+
"capabilities": [
|
|
6
|
+
"queue"
|
|
7
|
+
],
|
|
6
8
|
"suggestedCompanions": [
|
|
7
9
|
{
|
|
8
10
|
"role": "logging",
|
|
@@ -14,23 +16,91 @@
|
|
|
14
16
|
}
|
|
15
17
|
],
|
|
16
18
|
"contributions": [
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
{
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
{
|
|
33
|
-
|
|
19
|
+
{
|
|
20
|
+
"id": "messaging-queue-cloudflare-REQ-001",
|
|
21
|
+
"kind": "req",
|
|
22
|
+
"path": "requirements/messaging-queue-cloudflare-req-001.json"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "messaging-queue-cloudflare-REQ-002",
|
|
26
|
+
"kind": "req",
|
|
27
|
+
"path": "requirements/messaging-queue-cloudflare-req-002.json"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "messaging-queue-cloudflare-REQ-003",
|
|
31
|
+
"kind": "req",
|
|
32
|
+
"path": "requirements/messaging-queue-cloudflare-req-003.json"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "messaging-queue-cloudflare-REQ-004",
|
|
36
|
+
"kind": "req",
|
|
37
|
+
"path": "requirements/messaging-queue-cloudflare-req-004.json"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "messaging-queue-cloudflare-REQ-005",
|
|
41
|
+
"kind": "req",
|
|
42
|
+
"path": "requirements/messaging-queue-cloudflare-req-005.json"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "messaging-queue-cloudflare-REQ-006",
|
|
46
|
+
"kind": "req",
|
|
47
|
+
"path": "requirements/messaging-queue-cloudflare-req-006.json"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "messaging-queue-cloudflare-US-29101",
|
|
51
|
+
"kind": "us",
|
|
52
|
+
"path": "user-stories/messaging-queue-cloudflare-us-29101.json"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "messaging-queue-cloudflare-US-29102",
|
|
56
|
+
"kind": "us",
|
|
57
|
+
"path": "user-stories/messaging-queue-cloudflare-us-29102.json"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "messaging-queue-cloudflare-US-29103",
|
|
61
|
+
"kind": "us",
|
|
62
|
+
"path": "user-stories/messaging-queue-cloudflare-us-29103.json"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "messaging-queue-cloudflare-US-29104",
|
|
66
|
+
"kind": "us",
|
|
67
|
+
"path": "user-stories/messaging-queue-cloudflare-us-29104.json"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "messaging-queue-cloudflare-US-29105",
|
|
71
|
+
"kind": "us",
|
|
72
|
+
"path": "user-stories/messaging-queue-cloudflare-us-29105.json"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "messaging-queue-cloudflare-US-29106",
|
|
76
|
+
"kind": "us",
|
|
77
|
+
"path": "user-stories/messaging-queue-cloudflare-us-29106.json"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "messaging-queue-cloudflare-US-29107",
|
|
81
|
+
"kind": "us",
|
|
82
|
+
"path": "user-stories/messaging-queue-cloudflare-us-29107.json"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "messaging-queue-cloudflare-US-29108",
|
|
86
|
+
"kind": "us",
|
|
87
|
+
"path": "user-stories/messaging-queue-cloudflare-us-29108.json"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "TAC-3001-messaging-queue-cloudflare-producer-facade",
|
|
91
|
+
"kind": "tac",
|
|
92
|
+
"path": "tacs/tac-3001-messaging-queue-cloudflare-producer-facade.json"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "TAC-3002-messaging-queue-cloudflare-consumer-registration",
|
|
96
|
+
"kind": "tac",
|
|
97
|
+
"path": "tacs/tac-3002-messaging-queue-cloudflare-consumer-registration.json"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": "TAC-3003-messaging-queue-cloudflare-event-sink",
|
|
101
|
+
"kind": "tac",
|
|
102
|
+
"path": "tacs/tac-3003-messaging-queue-cloudflare-event-sink.json"
|
|
103
|
+
},
|
|
34
104
|
{
|
|
35
105
|
"id": "ADR-3001-messaging-queue-cloudflare-adapter",
|
|
36
106
|
"kind": "adr",
|
|
@@ -63,5 +133,43 @@
|
|
|
63
133
|
"elicited": true,
|
|
64
134
|
"standardsTraceClause": "Cloudflare Queues per-consumer batch settings"
|
|
65
135
|
}
|
|
136
|
+
],
|
|
137
|
+
"elicits": [
|
|
138
|
+
{
|
|
139
|
+
"id": "queue-binding-name",
|
|
140
|
+
"prompt": "The Queues binding name declared under wrangler.toml [[queues.producers]] and [[queues.consumers]]. The producer facade reads env under this name at boot.",
|
|
141
|
+
"kind": "string",
|
|
142
|
+
"default": "RCF_TEST_QUEUE"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": "queue-name",
|
|
146
|
+
"prompt": "The Cloudflare Queues queue name the binding resolves to. The applied project asserts a real account queue at apply.",
|
|
147
|
+
"kind": "string",
|
|
148
|
+
"default": "app-queue"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"id": "max-attempts",
|
|
152
|
+
"prompt": "Max delivery attempts per ADR-3003 before a message crosses into the DLQ. Default 3 per the Cloudflare Queues documented default; floor 1; ceiling 100 per the Queues platform-limits page.",
|
|
153
|
+
"kind": "string",
|
|
154
|
+
"default": "3"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"id": "dead-letter-queue",
|
|
158
|
+
"prompt": "Dead-letter queue name attached under [[queues.consumers]].dead_letter_queue for the consumer. A dead-lettered message is stamped messageDeadLettered on the lifecycle sink; retention is 4 days per ADR-3003.",
|
|
159
|
+
"kind": "string",
|
|
160
|
+
"default": "app-queue-dlq"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"id": "batch-size",
|
|
164
|
+
"prompt": "max_batch_size for the consumer. Default 10 per ADR-3004; bounded above by 100 per the Cloudflare Queues platform-limits page.",
|
|
165
|
+
"kind": "string",
|
|
166
|
+
"default": "10"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"id": "batch-timeout-seconds",
|
|
170
|
+
"prompt": "max_batch_timeout seconds for the consumer. Default 5 per ADR-3004; bounded above by 60 per the Cloudflare Queues platform-limits page.",
|
|
171
|
+
"kind": "string",
|
|
172
|
+
"default": "5"
|
|
173
|
+
}
|
|
66
174
|
]
|
|
67
175
|
}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
"version": "1.0.0",
|
|
6
6
|
"status": "accepted",
|
|
7
7
|
"title": "Adapter: Cloudflare Queues as the shipped v1.0.0 first adapter",
|
|
8
|
-
"context": "A project deploying a directed producer-to-consumer worklist queue on Cloudflare Workers has one native shipped answer today: Cloudflare Queues. The Queues surface is bound through wrangler configuration (a [[queues.producers]] block for the producer facade to publish through, a [[queues.consumers]] block for the Worker queue handler to consume from), and the shipped Worker runtime binds env.<binding> to a Queues object with send / sendBatch on the producer side and a batch envelope with ack / retry on the consumer side per https://developers.cloudflare.com/queues/configuration/javascript-apis/. The v1.0.0 facade must hold the adapter reference opaque at the facade boundary so a future non-Cloudflare adapter (an SQS shim, the reserved messaging-queue-postgres sibling per
|
|
8
|
+
"context": "A project deploying a directed producer-to-consumer worklist queue on Cloudflare Workers has one native shipped answer today: Cloudflare Queues. The Queues surface is bound through wrangler configuration (a [[queues.producers]] block for the producer facade to publish through, a [[queues.consumers]] block for the Worker queue handler to consume from), and the shipped Worker runtime binds env.<binding> to a Queues object with send / sendBatch on the producer side and a batch envelope with ack / retry on the consumer side per https://developers.cloudflare.com/queues/configuration/javascript-apis/. The v1.0.0 facade must hold the adapter reference opaque at the facade boundary so a future non-Cloudflare adapter (an SQS shim, the reserved messaging-queue-postgres sibling per maintainer decision) slots in without a facade re-shape, and so a fixture-time in-memory adapter is testable without live Cloudflare Queues access.",
|
|
9
9
|
"decision": "The shipped v1.0.0 default is Cloudflare Queues, wired through wrangler config (producer binding on [[queues.producers]], consumer on [[queues.consumers]] with dead_letter_queue and max_retries per https://developers.cloudflare.com/queues/configuration/dead-letter-queues/). The producer facade module is the sole holder of the Queues binding reference per REQ-001; the consumer registration module is the sole reader of the batch envelope per REQ-002. The adapter reference is OPAQUE at this ADR: the facade dereferences the elicited binding at the top of the module and any consumer wanting a different adapter (an SQS shim, the messaging-queue-postgres sibling minted on demand) replaces the binding reference here without touching the outward interface. A fixture-time in-memory adapter (used by the local probes) implements the same binding shape (send / sendBatch on the producer side, batch with ack / retry on the consumer side) so the facade and consumer surfaces are indistinguishable from the real Queues binding at the facade boundary. The 128 KB per-message cap and 100 messages per batch cap Cloudflare documents at https://developers.cloudflare.com/queues/platform/limits/ apply to every real-Queues run.",
|
|
10
|
-
"consequences": "The project inherits the Cloudflare Queues wire-format, the platform-assigned stable message-id, and the batch envelope's per-message ack semantics. Standards trace clause: Cloudflare Queues documented per-message and per-batch limits (per https://developers.cloudflare.com/queues/platform/limits/), Cloudflare Queues Worker queue-handler contract (per https://developers.cloudflare.com/queues/configuration/javascript-apis/), and Cloudflare Queues dead-letter documentation (per https://developers.cloudflare.com/queues/configuration/dead-letter-queues/). A future non-Cloudflare adapter mints under a sibling blueprint (reserved slug messaging-queue-postgres,
|
|
10
|
+
"consequences": "The project inherits the Cloudflare Queues wire-format, the platform-assigned stable message-id, and the batch envelope's per-message ack semantics. Standards trace clause: Cloudflare Queues documented per-message and per-batch limits (per https://developers.cloudflare.com/queues/platform/limits/), Cloudflare Queues Worker queue-handler contract (per https://developers.cloudflare.com/queues/configuration/javascript-apis/), and Cloudflare Queues dead-letter documentation (per https://developers.cloudflare.com/queues/configuration/dead-letter-queues/). A future non-Cloudflare adapter mints under a sibling blueprint (reserved slug messaging-queue-postgres, maintainer decision) and conflicts by design on deliverySemantics (ADR-3002) with this blueprint; the operator picks one queue backend per project via a project-level ADR.",
|
|
11
11
|
"alternativesConsidered": [
|
|
12
12
|
{
|
|
13
13
|
"name": "External SQS or SNS as the shipped v1.0.0 default",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
{
|
|
18
18
|
"name": "Kafka or NATS as the shipped v1.0.0 default",
|
|
19
19
|
"summary": "Ship a self-hosted Kafka or NATS backend as the primary v1.0.0 queue.",
|
|
20
|
-
"reasonNotChosen": "A self-hosted Kafka or NATS backend adds a persistent operational surface every applying project has to run; the round-5 spec section 5.3 targets a directed producer-to-consumer worklist as a shipped shape whose applying project need not host a broker. The reserved messaging-queue-postgres sibling (
|
|
20
|
+
"reasonNotChosen": "A self-hosted Kafka or NATS backend adds a persistent operational surface every applying project has to run; the round-5 spec section 5.3 targets a directed producer-to-consumer worklist as a shipped shape whose applying project need not host a broker. The reserved messaging-queue-postgres sibling (maintainer decision) covers the self-hosted-transport family separately when demand mints it."
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"name": "Ship a hand-rolled fetch client against the Queues REST API",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"title": "Delivery semantics: at-least-once as the shipped shape (scope global, new topic deliverySemantics)",
|
|
8
8
|
"context": "A directed producer-to-consumer worklist ships one of three delivery shapes at the transport contract: at-most-once (fire and forget, dedup at the producer), at-least-once (guaranteed delivery with duplicates possible, dedup at the consumer), or exactly-once (guaranteed delivery with dedup at the transport, expensive). Cloudflare Queues implements at-least-once with a stable message-id the consumer uses for its own dedup; the WSD-005 messaging standard (operator/knowledge/wsd/wsd-standards/wsd-005-messaging.md) makes at-least-once and out-of-order tolerance the shipped default for domain event handoffs; the messaging-queue-cloudflare blueprint claims the deliverySemantics topic on the shelf so future exactly-once or at-most-once siblings surface as DELIBERATE conflicts and not silent divergences.",
|
|
9
9
|
"decision": "The shipped v1.0.0 shape is at-least-once. Every publish reaches every consumer at least once; duplicates are possible under retry-and-DLQ redelivery paths; consumer code that needs exactly-once semantics maintains its own dedup keyed on the stable message-id per REQ-002. The deliverySemantics topic scope is global on this blueprint; the topic string is deliverySemantics (lower camel case, one concept per topic, no version suffix, per the round-2 rules-for-new-topics clause on the shelf registry). Future exactly-once or at-most-once siblings would contribute the same topic string with a different answer, forcing a DELIBERATE conflict the operator resolves with a project-level ADR per the round-2 conflict pattern.",
|
|
10
|
-
"consequences": "The applying project inherits an at-least-once transport with a stable message-id it uses for consumer-side dedup when the domain calls for exactly-once processing. Standards trace clause: WSD-005 clauses on at-least-once and out-of-order tolerance (satisfied by the message-id and trace-id header contract). The reserved messaging-queue-postgres sibling (
|
|
10
|
+
"consequences": "The applying project inherits an at-least-once transport with a stable message-id it uses for consumer-side dedup when the domain calls for exactly-once processing. Standards trace clause: WSD-005 clauses on at-least-once and out-of-order tolerance (satisfied by the message-id and trace-id header contract). The reserved messaging-queue-postgres sibling (maintainer decision) will claim deliverySemantics with an at-least-once answer too; two shipped answers on one topic surface a DELIBERATE conflict the operator resolves by picking one queue backend per project via a project-level ADR (the same shape as errorEnvelope and authModel conflicts the SPA and API-REST blueprints already carry).",
|
|
11
11
|
"alternativesConsidered": [
|
|
12
12
|
{
|
|
13
13
|
"name": "At-most-once as the shipped v1.0.0 default",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* and a throwaway consumer Worker under `h2-cf-probe-integrity-
|
|
11
11
|
* scratch-w-` bound to the queue (consumer) with RCF_TEST_QUEUE
|
|
12
12
|
* (shipped queue producer binding name) + RCF_TEST_TELEMETRY_KV
|
|
13
|
-
* bindings. NO workers.dev subdomain is enabled (
|
|
13
|
+
* bindings. NO workers.dev subdomain is enabled (operator ruling
|
|
14
14
|
* 376b4f30): the consumer is invoked BY THE QUEUE, not over HTTP.
|
|
15
15
|
*
|
|
16
16
|
* Driver:
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
* Local proof is a mock of Cloudflare's REST contract, not the wire.
|
|
31
31
|
* The local run exercises OUR lifecycle logic against a mock of
|
|
32
32
|
* Cloudflare's contract; the real-account gate is the only surface
|
|
33
|
-
* that proves the wire format (
|
|
33
|
+
* that proves the wire format (operator ruling). This probe is
|
|
34
34
|
* therefore never described as "locally verified" - the local runs
|
|
35
35
|
* are our own lifecycle-logic proof; wire correctness is proven at
|
|
36
|
-
* the
|
|
36
|
+
* the operator estate real-account gate.
|
|
37
37
|
*
|
|
38
38
|
* Declared env (dispatch requirement 4):
|
|
39
39
|
* CI_HAS_CLOUDFLARE_ACCOUNT required to enter the driver path.
|
|
@@ -109,7 +109,7 @@ async function readTelemetryRecords({ namespaceId }) {
|
|
|
109
109
|
export default async function runProbe() {
|
|
110
110
|
const hasAccount = process.env.CI_HAS_CLOUDFLARE_ACCOUNT === '1' || process.env.CI_HAS_CLOUDFLARE_ACCOUNT === 'true';
|
|
111
111
|
if (!hasAccount) {
|
|
112
|
-
return skipResult(`accountBoundSkipped: CI_HAS_CLOUDFLARE_ACCOUNT unset; a real-account run requires CI_HAS_CLOUDFLARE_ACCOUNT=true plus CF_ACCOUNT_ID and CF_API_TOKEN. The fixture mints its own throwaway Queue + consumer Worker + telemetry KV namespace under the
|
|
112
|
+
return skipResult(`accountBoundSkipped: CI_HAS_CLOUDFLARE_ACCOUNT unset; a real-account run requires CI_HAS_CLOUDFLARE_ACCOUNT=true plus CF_ACCOUNT_ID and CF_API_TOKEN. The fixture mints its own throwaway Queue + consumer Worker + telemetry KV namespace under the CI scratch prefixes; publishes via the CF Queues REST publish endpoint (no workers.dev subdomain enabled); reads telemetry via the KV REST list + get endpoints. Cap under test: ${DOCUMENTED_PUSH_CAP} concurrent invocations per push-consumer per https://developers.cloudflare.com/queues/platform/limits/. Message count: ${DEFAULT_MESSAGE_COUNT}.`);
|
|
113
113
|
}
|
|
114
114
|
if (!process.env.CF_ACCOUNT_ID || !process.env.CF_API_TOKEN) {
|
|
115
115
|
return [{
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"reqId": "messaging-queue-cloudflare-REQ-001",
|
|
3
3
|
"prdId": "PRD-001",
|
|
4
4
|
"title": "One producer facade module is the sole reader of the Cloudflare Queues binding and opens on boot with producerReady",
|
|
5
|
-
"description": "The application publishes to the queue through a single producer facade module in the project's source tree that is the ONLY module holding a reference to the Cloudflare Queues binding (env.RCF_TEST_QUEUE in the fixture; the elicited binding name in a real project). Every other module that publishes reads the facade and calls its typed domain verbs (publish, publishBatch); no other module dereferences the raw Queues binding. On process boot, the facade opens against the bound queue and, once ready, emits a producerReady lifecycle event carrying the queue name. The queue name (or the binding name in a Workers deploy) is elicited at apply time under the Queues binding declared in wrangler config.",
|
|
5
|
+
"description": "The application publishes to the queue through a single producer facade module in the project's source tree that is the ONLY module holding a reference to the Cloudflare Queues binding (env.RCF_TEST_QUEUE in the fixture; the elicited binding name in a real project). Every other module that publishes reads the facade and calls its typed domain verbs (publish, publishBatch); no other module dereferences the raw Queues binding. On process boot, the facade opens against the bound queue and, once ready, emits a producerReady lifecycle event carrying the queue name. The queue name (or the binding name in a Workers deploy) is elicited at apply time under the Queues binding declared in wrangler config. The queue-binding-name is elicited at apply time; the producer facade dereferences env[queue-binding-name] once at boot and holds no other reference. The queue-name is elicited at apply time under the wrangler [[queues.producers]] declaration.",
|
|
6
6
|
"category": "functional",
|
|
7
7
|
"domain": "messaging",
|
|
8
8
|
"priority": "must",
|
|
@@ -14,5 +14,9 @@
|
|
|
14
14
|
"version": "1.0.0",
|
|
15
15
|
"status": "approved",
|
|
16
16
|
"createdAt": "2026-09-06T21:00:00.000Z",
|
|
17
|
-
"updatedAt": "2026-09-
|
|
17
|
+
"updatedAt": "2026-09-09T00:00:00Z",
|
|
18
|
+
"deliveredBy": {
|
|
19
|
+
"tacId": "TAC-3001-messaging-queue-cloudflare-producer-facade",
|
|
20
|
+
"field": "responsibilities.producerReady"
|
|
21
|
+
}
|
|
18
22
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"reqId": "messaging-queue-cloudflare-REQ-002",
|
|
3
3
|
"prdId": "PRD-001",
|
|
4
4
|
"title": "Publish, consume and ack with stable message-id and producer-supplied trace-id",
|
|
5
|
-
"description": "The producer facade publishes messages with a stable message-id assigned by the Cloudflare Queues platform on send and a producer-supplied trace-id carried in the message headers. The consumer, registered on the Worker's queue handler, reads a batch of messages, dispatches each to the registered handler, acknowledges each per message on successful return, and returns retry when the handler throws a retryable error. The received body equals the published body byte-for-byte; the received headers include both the stable message-id and the producer-supplied trace-id. Publish is idempotent from the producer's point of view within a single facade instance (an application layer that reissues a publish for the same domain event gets a new message-id, per the at-least-once shape).",
|
|
5
|
+
"description": "The producer facade publishes messages with a stable message-id assigned by the Cloudflare Queues platform on send and a producer-supplied trace-id carried in the message headers. The consumer, registered on the Worker's queue handler, reads a batch of messages, dispatches each to the registered handler, acknowledges each per message on successful return, and returns retry when the handler throws a retryable error. The received body equals the published body byte-for-byte; the received headers include both the stable message-id and the producer-supplied trace-id. Publish is at-least-once (never idempotent; ADR-3002 records the ratified delivery semantics) from the producer's point of view within a single facade instance (an application layer that reissues a publish for the same domain event gets a new message-id, per the at-least-once shape).",
|
|
6
6
|
"category": "functional",
|
|
7
7
|
"domain": "messaging",
|
|
8
8
|
"priority": "must",
|
|
@@ -14,5 +14,9 @@
|
|
|
14
14
|
"version": "1.0.0",
|
|
15
15
|
"status": "approved",
|
|
16
16
|
"createdAt": "2026-09-06T21:00:00.000Z",
|
|
17
|
-
"updatedAt": "2026-09-
|
|
17
|
+
"updatedAt": "2026-09-09T00:00:00Z",
|
|
18
|
+
"deliveredBy": {
|
|
19
|
+
"adrId": "ADR-3002-messaging-queue-cloudflare-delivery-semantics",
|
|
20
|
+
"field": "decision.at-least-once"
|
|
21
|
+
}
|
|
18
22
|
}
|
|
@@ -14,5 +14,9 @@
|
|
|
14
14
|
"version": "1.0.0",
|
|
15
15
|
"status": "approved",
|
|
16
16
|
"createdAt": "2026-09-06T21:00:00.000Z",
|
|
17
|
-
"updatedAt": "2026-09-
|
|
17
|
+
"updatedAt": "2026-09-09T00:00:00Z",
|
|
18
|
+
"deliveredBy": {
|
|
19
|
+
"tacId": "TAC-3002-messaging-queue-cloudflare-consumer-registration",
|
|
20
|
+
"field": "responsibilities.retryClassification"
|
|
21
|
+
}
|
|
18
22
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"reqId": "messaging-queue-cloudflare-REQ-004",
|
|
3
3
|
"prdId": "PRD-001",
|
|
4
4
|
"title": "Dead-letter contract: elicited max-attempts default 3, DLQ retention 4 days, dead_letter_queue field on the consumer",
|
|
5
|
-
"description": "After the elicited max-attempts (default 3 per the Cloudflare Queues documented default) is reached on a message, the message lands on the configured dead-letter queue (DLQ) and the facade fires messageDeadLettered on the sink with the stable message-id, the queue name, and the terminal attempt count. The DLQ is declared per-consumer in wrangler config through the dead_letter_queue field (per https://developers.cloudflare.com/queues/configuration/dead-letter-queues/); the field syntax in wrangler.toml is dead_letter_queue = \"<dlq-queue-name>\" alongside max_retries on the [[queues.consumers]] block. The DLQ retention defaults to 4 days when no active consumer is attached per the same Cloudflare DLQ documentation. Consumer code can attach a DLQ consumer to drain the DLQ (via wrangler queues consumer add) for inspection or replay per the same Cloudflare DLQ documentation.",
|
|
5
|
+
"description": "After the elicited max-attempts (default 3 per the Cloudflare Queues documented default) is reached on a message, the message lands on the configured dead-letter queue (DLQ) and the facade fires messageDeadLettered on the sink with the stable message-id, the queue name, and the terminal attempt count. The DLQ is declared per-consumer in wrangler config through the dead_letter_queue field (per https://developers.cloudflare.com/queues/configuration/dead-letter-queues/); the field syntax in wrangler.toml is dead_letter_queue = \"<dlq-queue-name>\" alongside maxDeliveries mapped to the vendor max_retries field per TAC-3002 as (maxDeliveries - 1) so max_retries=2 delivers three times before DLQ on the [[queues.consumers]] block. The DLQ retention defaults to 4 days when no active consumer is attached per the same Cloudflare DLQ documentation. Consumer code can attach a DLQ consumer to drain the DLQ (via wrangler queues consumer add) for inspection or replay per the same Cloudflare DLQ documentation.",
|
|
6
6
|
"category": "functional",
|
|
7
7
|
"domain": "messaging",
|
|
8
8
|
"priority": "must",
|
|
@@ -14,5 +14,9 @@
|
|
|
14
14
|
"version": "1.0.0",
|
|
15
15
|
"status": "approved",
|
|
16
16
|
"createdAt": "2026-09-06T21:00:00.000Z",
|
|
17
|
-
"updatedAt": "2026-09-
|
|
17
|
+
"updatedAt": "2026-09-09T00:00:00Z",
|
|
18
|
+
"deliveredBy": {
|
|
19
|
+
"adrId": "ADR-3003-messaging-queue-cloudflare-max-attempts-floor",
|
|
20
|
+
"field": "decision.maxAttemptsCeiling"
|
|
21
|
+
}
|
|
18
22
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"reqId": "messaging-queue-cloudflare-REQ-005",
|
|
3
3
|
"prdId": "PRD-001",
|
|
4
4
|
"title": "Batch consume: elicited batch size default 10 max 100, batch timeout default 5 seconds max 60 seconds",
|
|
5
|
-
"description": "The consumer reads messages in batches whose size is elicited (default 10, bounded above by the Cloudflare max 100 messages per batch per https://developers.cloudflare.com/queues/platform/limits/) and whose batch-timeout (batch wait) is elicited (default 5 seconds, bounded above by the Cloudflare max 60 seconds per the same limits doc). Batch settings live on the [[queues.consumers]] block in wrangler config as max_batch_size and max_batch_timeout. When the batch is full or the timeout fires, the Worker's queue handler receives the whole batch in one invocation; the facade dispatches per-message to the registered handler and acknowledges per-message. A batch member returning retry does not roll the whole batch back; only that message is redelivered.",
|
|
5
|
+
"description": "The consumer reads messages in batches whose size is elicited (default 10, bounded above by the Cloudflare max 100 messages per batch per https://developers.cloudflare.com/queues/platform/limits/) and whose batch-timeout (batch wait) is elicited (default 5 seconds, bounded above by the Cloudflare max 60 seconds per the same limits doc). Batch settings live on the [[queues.consumers]] block in wrangler config as max_batch_size and max_batch_timeout. When the batch is full or the timeout fires, the Worker's queue handler receives the whole batch in one invocation; the facade dispatches per-message to the registered handler and acknowledges per-message. A batch member returning retry does not roll the whole batch back; only that message is redelivered. The batch-size is elicited at apply time (default 10, ceiling 100 per the Cloudflare Queues platform-limits page). The batch-timeout-seconds is elicited at apply time (default 5, ceiling 60 per the same limits doc).",
|
|
6
6
|
"category": "functional",
|
|
7
7
|
"domain": "messaging",
|
|
8
8
|
"priority": "must",
|
|
@@ -14,5 +14,9 @@
|
|
|
14
14
|
"version": "1.0.0",
|
|
15
15
|
"status": "approved",
|
|
16
16
|
"createdAt": "2026-09-06T21:00:00.000Z",
|
|
17
|
-
"updatedAt": "2026-09-
|
|
17
|
+
"updatedAt": "2026-09-09T00:00:00Z",
|
|
18
|
+
"deliveredBy": {
|
|
19
|
+
"tacId": "TAC-3002-messaging-queue-cloudflare-consumer-registration",
|
|
20
|
+
"field": "responsibilities.createConsumer"
|
|
21
|
+
}
|
|
18
22
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"reqId": "messaging-queue-cloudflare-REQ-006",
|
|
3
3
|
"prdId": "PRD-001",
|
|
4
4
|
"title": "Lifecycle events with metadata-only fields: producerReady, messagePublished, messageAcked, messageDeadLettered",
|
|
5
|
-
"description": "The facade fires four lifecycle events on the injected event sink: producerReady (once per facade instance, on the first successful ready-check), messagePublished (once per successful publish), messageAcked (once per successful ack), messageDeadLettered (once per DLQ landing). Every event record carries a metadata-only field whitelist: messageId, queueName, attempts (integer, 0 for producerReady and messagePublished),
|
|
5
|
+
"description": "The facade fires four lifecycle events on the injected event sink: producerReady (once per facade instance, on the first successful ready-check), messagePublished (once per successful publish), messageAcked (once per successful ack), messageDeadLettered (once per DLQ landing). Every event record carries a metadata-only field whitelist: messageId, queueName, attempts (integer, 0 for producerReady and messagePublished), ts (ISO 8601 UTC). No event record contains the message body, any header value, any consumer-context field, or any producer-context field. The whitelist is enforced in code (the sink adapter refuses forbidden fields); a call site that hands a body-bearing payload to the sink is refused at author-side review.",
|
|
6
6
|
"category": "functional",
|
|
7
7
|
"domain": "messaging",
|
|
8
8
|
"priority": "must",
|
|
@@ -14,5 +14,9 @@
|
|
|
14
14
|
"version": "1.0.0",
|
|
15
15
|
"status": "approved",
|
|
16
16
|
"createdAt": "2026-09-06T21:00:00.000Z",
|
|
17
|
-
"updatedAt": "2026-09-
|
|
17
|
+
"updatedAt": "2026-09-09T00:00:00Z",
|
|
18
|
+
"deliveredBy": {
|
|
19
|
+
"tacId": "TAC-3003-messaging-queue-cloudflare-event-sink",
|
|
20
|
+
"field": "responsibilities.producerReady"
|
|
21
|
+
}
|
|
18
22
|
}
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"when": "the process boots and the facade ready-check returns",
|
|
17
17
|
"then": "a producerReady event fires on the injected event sink with a payload containing queueName; the facade exposes named domain verbs (publish, publishBatch) and does not re-export the raw Queues binding",
|
|
18
18
|
"testable": true,
|
|
19
|
-
"scope": "runtime"
|
|
19
|
+
"scope": "runtime",
|
|
20
|
+
"disposition": "template"
|
|
20
21
|
},
|
|
21
22
|
{
|
|
22
23
|
"id": "AC-29101-2",
|
|
@@ -25,10 +26,27 @@
|
|
|
25
26
|
"when": "grep for a Queues binding dereference walks the tree outside the facade directory",
|
|
26
27
|
"then": "no match is found outside the facade directory; the facade's public surface exports named domain verbs only, no raw binding reference",
|
|
27
28
|
"testable": true,
|
|
28
|
-
"scope": "runtime"
|
|
29
|
+
"scope": "runtime",
|
|
30
|
+
"disposition": "template"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "AC-29101-3",
|
|
34
|
+
"description": "Binding missing at boot. Given the elicited queue-binding-name resolves to no binding on env (the wrangler.toml [[queues.producers]] block is absent, or the binding name is mistyped), when the producer facade opens on boot, then the facade refuses with a named error kind (missingQueueBinding); no producerReady fires on the sink.",
|
|
35
|
+
"given": "env[queue-binding-name] is undefined",
|
|
36
|
+
"when": "the producer facade opens on boot",
|
|
37
|
+
"then": "the facade refuses with missingQueueBinding; no producerReady fires",
|
|
38
|
+
"testable": true,
|
|
39
|
+
"scope": "runtime",
|
|
40
|
+
"ownerRef": {
|
|
41
|
+
"tacId": "TAC-3001-messaging-queue-cloudflare-producer-facade",
|
|
42
|
+
"field": "interfaces.createProducer"
|
|
43
|
+
},
|
|
44
|
+
"disposition": "template"
|
|
29
45
|
}
|
|
30
46
|
],
|
|
31
|
-
"tacIds": [
|
|
47
|
+
"tacIds": [
|
|
48
|
+
"TAC-3001-messaging-queue-cloudflare-producer-facade"
|
|
49
|
+
],
|
|
32
50
|
"createdAt": "2026-09-06T21:00:00.000Z",
|
|
33
|
-
"updatedAt": "2026-09-
|
|
51
|
+
"updatedAt": "2026-09-09T00:00:00Z"
|
|
34
52
|
}
|