rcf-lite 0.20.0 → 0.22.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 +39 -0
- package/blueprints/application-account-settings/CHANGELOG.md +12 -0
- package/blueprints/application-account-settings/README.md +114 -0
- package/blueprints/application-account-settings/blueprint.json +234 -0
- package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +20 -0
- package/blueprints/application-account-settings/contributions/adrs/adr-2602-application-account-settings-security-surface-shape.json +20 -0
- package/blueprints/application-account-settings/contributions/adrs/adr-2603-application-account-settings-theme-persistence.json +20 -0
- package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +20 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +18 -0
- package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +18 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +41 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +28 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2603-application-account-settings-hosted-ui-bridge.json +35 -0
- package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +40 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +34 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +33 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +33 -0
- package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +27 -0
- package/blueprints/application-account-settings/docs/topics.md +48 -0
- package/blueprints/application-account-settings/guide/application-account-settings.md +30 -0
- package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +246 -0
- package/blueprints/application-admin-console/CHANGELOG.md +11 -0
- package/blueprints/application-admin-console/README.md +98 -0
- package/blueprints/application-admin-console/blueprint.json +226 -0
- package/blueprints/application-admin-console/contributions/adrs/adr-2201-application-admin-console-capability-vocabulary.json +25 -0
- package/blueprints/application-admin-console/contributions/adrs/adr-2202-application-admin-console-baseline-roles.json +25 -0
- package/blueprints/application-admin-console/contributions/adrs/adr-2203-application-admin-console-invite-transport.json +20 -0
- package/blueprints/application-admin-console/contributions/adrs/adr-2204-application-admin-console-audit-retention.json +20 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +18 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +18 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +18 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +18 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +18 -0
- package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +18 -0
- package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +40 -0
- package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +44 -0
- package/blueprints/application-admin-console/contributions/tacs/tac-2203-application-admin-console-permission-matrix.json +34 -0
- package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +40 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21101.json +34 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21102.json +34 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21103.json +34 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21104.json +28 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21105.json +34 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21106.json +27 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +27 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21108.json +27 -0
- package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21109.json +33 -0
- package/blueprints/application-admin-console/docs/topics.md +42 -0
- package/blueprints/application-admin-console/guide/application-admin-console.md +29 -0
- package/blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs +182 -0
- package/blueprints/application-api-rest/docs/topics.md +13 -1
- package/blueprints/application-charts/CHANGELOG.md +12 -0
- package/blueprints/application-charts/README.md +73 -0
- package/blueprints/application-charts/blueprint.json +26 -0
- package/blueprints/application-charts/contributions/adrs/adr-1901-application-charts-engine-choice.json +25 -0
- package/blueprints/application-charts/contributions/adrs/adr-1902-application-charts-accessible-palette.json +25 -0
- package/blueprints/application-charts/contributions/adrs/adr-1903-application-charts-motion.json +25 -0
- package/blueprints/application-charts/contributions/requirements/application-charts-req-001.json +15 -0
- package/blueprints/application-charts/contributions/requirements/application-charts-req-002.json +15 -0
- package/blueprints/application-charts/contributions/requirements/application-charts-req-003.json +15 -0
- package/blueprints/application-charts/contributions/requirements/application-charts-req-004.json +15 -0
- package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +42 -0
- package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +40 -0
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18101.json +35 -0
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18102.json +35 -0
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18103.json +35 -0
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18104.json +35 -0
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +35 -0
- package/blueprints/application-charts/contributions/user-stories/application-charts-us-18106.json +35 -0
- package/blueprints/application-charts/docs/topics.md +44 -0
- package/blueprints/application-charts/guide/application-charts.md +44 -0
- package/blueprints/application-charts/probe-packs/application-charts.pack.mjs +191 -0
- package/blueprints/application-dashboard/CHANGELOG.md +10 -0
- package/blueprints/application-dashboard/README.md +102 -0
- package/blueprints/application-dashboard/assets/guidance/dashboard-design.md +124 -0
- package/blueprints/application-dashboard/blueprint.json +29 -0
- package/blueprints/application-dashboard/contributions/adrs/adr-2001-application-dashboard-primary-kpi-enum.json +25 -0
- package/blueprints/application-dashboard/contributions/adrs/adr-2002-application-dashboard-timeframe-presets.json +25 -0
- package/blueprints/application-dashboard/contributions/adrs/adr-2003-application-dashboard-export-formats.json +25 -0
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-001.json +15 -0
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-002.json +15 -0
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-003.json +15 -0
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-004.json +15 -0
- package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-005.json +15 -0
- package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +47 -0
- package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +41 -0
- package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +35 -0
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19101.json +35 -0
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19102.json +35 -0
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19103.json +35 -0
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19104.json +35 -0
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19105.json +35 -0
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +35 -0
- package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19107.json +35 -0
- package/blueprints/application-dashboard/docs/topics.md +50 -0
- package/blueprints/application-dashboard/guide/application-dashboard.md +48 -0
- package/blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs +231 -0
- package/blueprints/application-datatable/CHANGELOG.md +8 -0
- package/blueprints/application-datatable/README.md +43 -0
- package/blueprints/application-datatable/blueprint.json +33 -0
- package/blueprints/application-datatable/contributions/adrs/adr-1801-application-datatable-pattern-choice.json +25 -0
- package/blueprints/application-datatable/contributions/adrs/adr-1802-application-datatable-url-state.json +20 -0
- package/blueprints/application-datatable/contributions/adrs/adr-1803-application-datatable-page-size.json +20 -0
- package/blueprints/application-datatable/contributions/adrs/adr-1804-application-datatable-selection-persistence.json +20 -0
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-001.json +15 -0
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-002.json +15 -0
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-003.json +15 -0
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-004.json +15 -0
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-005.json +15 -0
- package/blueprints/application-datatable/contributions/requirements/application-datatable-req-006.json +15 -0
- package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +50 -0
- package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +39 -0
- package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +28 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +44 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +44 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +44 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17104.json +44 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +44 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17106.json +44 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17107.json +44 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17108.json +44 -0
- package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17109.json +44 -0
- package/blueprints/application-datatable/docs/topics.md +42 -0
- package/blueprints/application-datatable/guide/application-datatable.md +38 -0
- package/blueprints/application-datatable/probe-packs/application-datatable.pack.mjs +240 -0
- package/blueprints/application-empty-error-states/CHANGELOG.md +9 -0
- package/blueprints/application-empty-error-states/README.md +88 -0
- package/blueprints/application-empty-error-states/blueprint.json +119 -0
- package/blueprints/application-empty-error-states/contributions/adrs/adr-2301-application-empty-error-states-status-contract.json +25 -0
- package/blueprints/application-empty-error-states/contributions/adrs/adr-2302-application-empty-error-states-stack-trace-visibility.json +25 -0
- package/blueprints/application-empty-error-states/contributions/adrs/adr-2303-application-empty-error-states-offline-strategy.json +25 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +18 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +18 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +18 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +18 -0
- package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +18 -0
- package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +46 -0
- package/blueprints/application-empty-error-states/contributions/tacs/tac-2302-application-empty-error-states-recovery-router.json +36 -0
- package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +40 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +29 -0
- package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +29 -0
- package/blueprints/application-empty-error-states/docs/topics.md +53 -0
- package/blueprints/application-empty-error-states/guide/application-empty-error-states.md +50 -0
- package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +284 -0
- package/blueprints/application-error-handling/docs/topics.md +12 -0
- package/blueprints/application-file-upload/CHANGELOG.md +9 -0
- package/blueprints/application-file-upload/README.md +85 -0
- package/blueprints/application-file-upload/blueprint.json +114 -0
- package/blueprints/application-file-upload/contributions/adrs/adr-2401-application-file-upload-transport.json +25 -0
- package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +25 -0
- package/blueprints/application-file-upload/contributions/adrs/adr-2403-application-file-upload-virus-scan.json +25 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +18 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +18 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +18 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +18 -0
- package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +18 -0
- package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +46 -0
- package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +47 -0
- package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +46 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +28 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +28 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +29 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +28 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +29 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +28 -0
- package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +28 -0
- package/blueprints/application-file-upload/docs/topics.md +58 -0
- package/blueprints/application-file-upload/guide/application-file-upload.md +48 -0
- package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +238 -0
- package/blueprints/application-forms-wizard/CHANGELOG.md +9 -0
- package/blueprints/application-forms-wizard/README.md +102 -0
- package/blueprints/application-forms-wizard/blueprint.json +120 -0
- package/blueprints/application-forms-wizard/contributions/adrs/adr-2501-application-forms-wizard-navigation.json +25 -0
- package/blueprints/application-forms-wizard/contributions/adrs/adr-2502-application-forms-wizard-save-and-return.json +25 -0
- package/blueprints/application-forms-wizard/contributions/adrs/adr-2503-application-forms-wizard-step-indicator.json +25 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +18 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +18 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +18 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +18 -0
- package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +18 -0
- package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +46 -0
- package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +40 -0
- package/blueprints/application-forms-wizard/contributions/tacs/tac-2503-application-forms-wizard-draft-store.json +40 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +29 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +29 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +28 -0
- package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +29 -0
- package/blueprints/application-forms-wizard/docs/topics.md +49 -0
- package/blueprints/application-forms-wizard/guide/application-forms-wizard.md +48 -0
- package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +233 -0
- package/blueprints/application-notifications-in-app/CHANGELOG.md +9 -0
- package/blueprints/application-notifications-in-app/README.md +80 -0
- package/blueprints/application-notifications-in-app/blueprint.json +30 -0
- package/blueprints/application-notifications-in-app/contributions/adrs/adr-2101-application-notifications-in-app-live-region-role-mapping.json +25 -0
- package/blueprints/application-notifications-in-app/contributions/adrs/adr-2102-application-notifications-in-app-toast-timeout-floor.json +25 -0
- package/blueprints/application-notifications-in-app/contributions/adrs/adr-2103-application-notifications-in-app-retention-window.json +25 -0
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +15 -0
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +15 -0
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +15 -0
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +15 -0
- package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +15 -0
- package/blueprints/application-notifications-in-app/contributions/tacs/tac-2101-application-notifications-in-app-live-region.json +46 -0
- package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +52 -0
- package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +40 -0
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +35 -0
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +35 -0
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +35 -0
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20104.json +35 -0
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +35 -0
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20106.json +26 -0
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20107.json +26 -0
- package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20108.json +26 -0
- package/blueprints/application-notifications-in-app/docs/topics.md +46 -0
- package/blueprints/application-notifications-in-app/guide/application-notifications-in-app.md +47 -0
- package/blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs +328 -0
- package/blueprints/application-onboarding-tour/CHANGELOG.md +12 -0
- package/blueprints/application-onboarding-tour/README.md +77 -0
- package/blueprints/application-onboarding-tour/blueprint.json +164 -0
- package/blueprints/application-onboarding-tour/contributions/adrs/adr-2701-application-onboarding-tour-dismissal-policy.json +20 -0
- package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +20 -0
- package/blueprints/application-onboarding-tour/contributions/adrs/adr-2703-application-onboarding-tour-checklist-anchor.json +20 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +18 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +18 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +18 -0
- package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +18 -0
- package/blueprints/application-onboarding-tour/contributions/tacs/tac-2701-application-onboarding-tour-step-runner.json +41 -0
- package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +35 -0
- package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +34 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +27 -0
- package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +27 -0
- package/blueprints/application-onboarding-tour/docs/topics.md +48 -0
- package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +59 -0
- package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +231 -0
- package/blueprints/application-spa/docs/topics.md +13 -1
- package/blueprints/delivery-ci-workflows/docs/topics.md +13 -1
- package/blueprints/deploy-cloudflare-workers/docs/topics.md +13 -1
- package/blueprints/email-smtp-resend/docs/topics.md +13 -1
- package/blueprints/object-storage-s3/CHANGELOG.md +13 -0
- package/blueprints/object-storage-s3/README.md +108 -0
- package/blueprints/object-storage-s3/blueprint.json +72 -0
- package/blueprints/object-storage-s3/contributions/adrs/adr-2901-object-storage-s3-adapter.json +30 -0
- package/blueprints/object-storage-s3/contributions/adrs/adr-2902-object-storage-s3-presigned-ttl-floor.json +25 -0
- package/blueprints/object-storage-s3/contributions/adrs/adr-2903-object-storage-s3-multipart-threshold.json +25 -0
- package/blueprints/object-storage-s3/contributions/adrs/adr-2904-object-storage-s3-contract.json +25 -0
- package/blueprints/object-storage-s3/contributions/probes/event-secrecy.mjs +103 -0
- package/blueprints/object-storage-s3/contributions/probes/facade-round-trip.mjs +43 -0
- package/blueprints/object-storage-s3/contributions/probes/multipart-upload.mjs +84 -0
- package/blueprints/object-storage-s3/contributions/probes/presigned-url.mjs +101 -0
- package/blueprints/object-storage-s3/contributions/probes/probe-utils.mjs +85 -0
- package/blueprints/object-storage-s3/contributions/probes/put-get-round-trip.mjs +84 -0
- package/blueprints/object-storage-s3/contributions/probes/r2-real-account-smoke.mjs +64 -0
- package/blueprints/object-storage-s3/contributions/probes/run-event-secrecy.mjs +4 -0
- package/blueprints/object-storage-s3/contributions/probes/run-facade-round-trip.mjs +10 -0
- package/blueprints/object-storage-s3/contributions/probes/run-multipart-upload.mjs +4 -0
- package/blueprints/object-storage-s3/contributions/probes/run-presigned-url.mjs +4 -0
- package/blueprints/object-storage-s3/contributions/probes/run-put-get-round-trip.mjs +7 -0
- package/blueprints/object-storage-s3/contributions/probes/run-r2-real-account-smoke.mjs +4 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +18 -0
- package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +18 -0
- package/blueprints/object-storage-s3/contributions/tacs/tac-2901-object-storage-s3-facade.json +57 -0
- package/blueprints/object-storage-s3/contributions/tacs/tac-2902-object-storage-s3-multipart-uploader.json +36 -0
- package/blueprints/object-storage-s3/contributions/tacs/tac-2903-object-storage-s3-event-sink.json +36 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +34 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +43 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +25 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +34 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +34 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +34 -0
- package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +34 -0
- package/blueprints/object-storage-s3/docs/topics.md +62 -0
- package/blueprints/object-storage-s3/guide/object-storage-s3.md +207 -0
- package/blueprints/observability-essentials/docs/topics.md +13 -1
- package/blueprints/observability-logging/CHANGELOG.md +9 -0
- package/blueprints/observability-logging/README.md +4 -1
- package/blueprints/observability-logging/blueprint.json +114 -21
- package/blueprints/observability-logging/docs/topics.md +12 -0
- package/blueprints/observability-probe-endpoints/docs/topics.md +13 -1
- package/blueprints/persistence-data-d1/docs/topics.md +13 -1
- package/blueprints/persistence-data-postgres/CHANGELOG.md +12 -0
- package/blueprints/persistence-data-postgres/README.md +101 -0
- package/blueprints/persistence-data-postgres/blueprint.json +80 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +30 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2802-persistence-data-postgres-migration-shape.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2803-persistence-data-postgres-runner-mode.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2804-persistence-data-postgres-recovery.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/probes/facade-round-trip.mjs +56 -0
- package/blueprints/persistence-data-postgres/contributions/probes/migration-apply.mjs +75 -0
- package/blueprints/persistence-data-postgres/contributions/probes/pool-posture-smoke.mjs +56 -0
- package/blueprints/persistence-data-postgres/contributions/probes/prepared-statement-scan.mjs +186 -0
- package/blueprints/persistence-data-postgres/contributions/probes/probe-utils.mjs +76 -0
- package/blueprints/persistence-data-postgres/contributions/probes/recovery-restore-round-trip.mjs +173 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-facade-round-trip.mjs +10 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-migration-apply.mjs +10 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-pool-posture-smoke.mjs +9 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-prepared-statement-scan.mjs +10 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-recovery-restore-round-trip.mjs +9 -0
- package/blueprints/persistence-data-postgres/contributions/probes/run-transaction-atomicity.mjs +10 -0
- package/blueprints/persistence-data-postgres/contributions/probes/transaction-atomicity.mjs +79 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +18 -0
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2801-persistence-data-postgres-facade.json +58 -0
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +40 -0
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +35 -0
- package/blueprints/persistence-data-postgres/contributions/tacs/tac-2804-persistence-data-postgres-recovery-runner.json +40 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +34 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +25 -0
- package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +25 -0
- package/blueprints/persistence-data-postgres/docs/topics.md +64 -0
- package/blueprints/persistence-data-postgres/guide/persistence-data-postgres.md +172 -0
- package/blueprints/persistence-data-sqlite/docs/topics.md +13 -1
- package/blueprints/security-auth-clerk/CHANGELOG.md +9 -0
- package/blueprints/security-auth-clerk/README.md +3 -0
- package/blueprints/security-auth-clerk/blueprint.json +147 -29
- package/blueprints/security-auth-clerk/docs/topics.md +13 -1
- package/blueprints/security-auth-keycloak/CHANGELOG.md +9 -0
- package/blueprints/security-auth-keycloak/README.md +3 -0
- package/blueprints/security-auth-keycloak/blueprint.json +182 -36
- package/blueprints/security-auth-keycloak/docs/topics.md +13 -1
- package/blueprints/security-auth-magic-link/CHANGELOG.md +9 -0
- package/blueprints/security-auth-magic-link/README.md +3 -0
- package/blueprints/security-auth-magic-link/blueprint.json +159 -32
- package/blueprints/security-auth-magic-link/docs/topics.md +13 -1
- package/blueprints/security-auth-oauth2/CHANGELOG.md +9 -0
- package/blueprints/security-auth-oauth2/README.md +3 -0
- package/blueprints/security-auth-oauth2/blueprint.json +158 -31
- package/blueprints/security-auth-oauth2/docs/topics.md +13 -1
- package/blueprints/security-secrets-management/CHANGELOG.md +11 -0
- package/blueprints/security-secrets-management/blueprint.json +2 -1
- package/blueprints/security-secrets-management/docs/topics.md +13 -1
- package/fixtures/canary-manifest.json +9 -9
- package/package.json +2 -2
- package/rcf/code-nodes/cn-106.json +13 -0
- package/rcf/code-nodes/cn-107.json +14 -0
- package/rcf/code-nodes/cn-108.json +13 -0
- package/rcf/code-nodes/cn-109.json +12 -0
- package/rcf/code-nodes/cn-110.json +12 -0
- package/rcf/code-nodes/cn-111.json +14 -0
- package/rcf/code-nodes/cn-112.json +14 -0
- package/rcf/code-nodes/cn-113.json +12 -0
- package/rcf/code-nodes/cn-114.json +13 -0
- package/rcf/code-nodes/cn-115.json +13 -0
- package/rcf/code-nodes/cn-116.json +12 -0
- package/rcf/code-nodes/cn-117.json +13 -0
- package/rcf/code-nodes/cn-118.json +13 -0
- package/rcf/code-nodes/cn-119.json +13 -0
- package/rcf/code-nodes/cn-120.json +13 -0
- package/rcf/code-nodes/cn-121.json +12 -0
- package/rcf/code-nodes/cn-122.json +12 -0
- package/rcf/code-nodes/cn-123.json +13 -0
- package/rcf/code-nodes/cn-124.json +13 -0
- package/rcf/code-nodes/cn-125.json +13 -0
- package/rcf/code-nodes/cn-126.json +13 -0
- package/rcf/code-nodes/cn-127.json +12 -0
- package/rcf/code-nodes/cn-128.json +14 -0
- package/rcf/code-nodes/cn-129.json +14 -0
- package/rcf/code-nodes/cn-130.json +14 -0
- package/rcf/code-nodes/cn-131.json +15 -0
- package/rcf/code-nodes/cn-132.json +12 -0
- package/rcf/code-nodes/cn-133.json +13 -0
- package/rcf/code-nodes/cn-134.json +13 -0
- package/rcf/code-nodes/cn-135.json +12 -0
- package/rcf/code-nodes/cn-136.json +13 -0
- package/rcf/code-nodes/cn-137.json +13 -0
- package/rcf/code-nodes/cn-138.json +12 -0
- package/rcf/code-nodes/cn-139.json +12 -0
- package/rcf/code-nodes/cn-140.json +13 -0
- package/rcf/code-nodes/cn-141.json +13 -0
- package/rcf/code-nodes/cn-142.json +12 -0
- package/rcf/code-nodes/cn-143.json +13 -0
- package/rcf/code-nodes/cn-144.json +13 -0
- package/rcf/code-nodes/cn-145.json +12 -0
- package/rcf/code-nodes/cn-146.json +12 -0
- package/rcf/code-nodes/cn-147.json +13 -0
- package/rcf/code-nodes/cn-148.json +13 -0
- package/rcf/code-nodes/cn-149.json +12 -0
- package/rcf/code-nodes/cn-150.json +13 -0
- package/rcf/code-nodes/cn-151.json +13 -0
- package/rcf/code-nodes/cn-152.json +12 -0
- package/rcf/code-nodes/cn-153.json +12 -0
- package/rcf/code-nodes/cn-154.json +13 -0
- package/rcf/code-nodes/cn-155.json +14 -0
- package/rcf/code-nodes/cn-156.json +13 -0
- package/rcf/code-nodes/cn-157.json +13 -0
- package/rcf/code-nodes/cn-158.json +12 -0
- package/rcf/code-nodes/cn-159.json +13 -0
- package/rcf/code-nodes/cn-160.json +12 -0
- package/rcf/code-nodes/cn-161.json +12 -0
- package/rcf/code-nodes/cn-162.json +13 -0
- package/rcf/code-nodes/cn-163.json +12 -0
- package/rcf/code-nodes/cn-164.json +13 -0
- package/rcf/code-nodes/cn-165.json +12 -0
- package/rcf/code-nodes/cn-166.json +12 -0
- package/rcf/code-nodes/cn-167.json +12 -0
- package/rcf/code-nodes/cn-168.json +12 -0
- package/rcf/code-nodes/cn-169.json +12 -0
- package/rcf/code-nodes/cn-170.json +12 -0
- package/rcf/code-nodes/cn-171.json +12 -0
- package/rcf/code-nodes/cn-172.json +12 -0
- package/rcf/code-nodes/cn-173.json +12 -0
- package/rcf/code-nodes/cn-174.json +12 -0
- package/rcf/code-nodes/cn-175.json +13 -0
- package/rcf/code-nodes/cn-176.json +12 -0
- package/rcf/code-nodes/cn-177.json +12 -0
- package/rcf/code-nodes/cn-178.json +12 -0
- package/rcf/code-nodes/cn-179.json +12 -0
- package/rcf/code-nodes/cn-180.json +13 -0
- package/rcf/code-nodes/cn-181.json +12 -0
- package/rcf/code-nodes/cn-182.json +13 -0
- package/rcf/code-nodes/cn-183.json +12 -0
- package/rcf/code-nodes/cn-184.json +13 -0
- package/rcf/code-nodes/cn-185.json +12 -0
- package/rcf/code-nodes/cn-186.json +12 -0
- package/rcf/code-nodes/cn-200.json +14 -0
- package/rcf/code-nodes/cn-201.json +13 -0
- package/rcf/code-nodes/cn-202.json +14 -0
- package/rcf/code-nodes/cn-203.json +14 -0
- package/rcf/code-nodes/cn-204.json +13 -0
- package/rcf/code-nodes/cn-205.json +14 -0
- package/rcf/fbs/fbs-036.json +22 -0
- package/rcf/fbs/fbs-037.json +19 -0
- package/rcf/fbs/fbs-038.json +19 -0
- package/rcf/fbs/fbs-039.json +21 -0
- package/rcf/fbs/fbs-040.json +20 -0
- package/rcf/fbs/fbs-041.json +13 -0
- package/rcf/fbs/fbs-042.json +13 -0
- package/rcf/fbs/fbs-043.json +23 -0
- package/rcf/fbs/fbs-044.json +23 -0
- package/rcf/fbs/fbs-045.json +23 -0
- package/rcf/fbs/fbs-046.json +24 -0
- package/rcf/fbs/fbs-047.json +24 -0
- package/rcf/fbs/fbs-060.json +22 -0
- package/rcf/fbs/fbs-061.json +20 -0
- package/rcf/requirements/req-017.json +18 -0
- package/rcf/requirements/req-018.json +18 -0
- package/rcf/requirements/req-019.json +38 -0
- package/rcf/requirements/req-020.json +13 -0
- package/rcf/requirements/req-021.json +13 -0
- package/rcf/requirements/req-022.json +13 -0
- package/rcf/requirements/req-023.json +14 -0
- package/rcf/requirements/req-024.json +69 -0
- package/rcf/requirements/req-025.json +59 -0
- package/rcf/requirements/req-026.json +154 -0
- package/rcf/requirements/req-027.json +33 -0
- package/rcf/requirements/req-028.json +13 -0
- package/rcf/requirements/req-040.json +13 -0
- package/rcf/requirements/req-041.json +125 -0
- package/rcf/test-suites/ts-046.json +78 -0
- package/rcf/test-suites/ts-047.json +54 -0
- package/rcf/test-suites/ts-048.json +54 -0
- package/rcf/test-suites/ts-049.json +70 -0
- package/rcf/test-suites/ts-050.json +69 -0
- package/rcf/test-suites/ts-051.json +22 -0
- package/rcf/test-suites/ts-052.json +20 -0
- package/rcf/test-suites/ts-053.json +70 -0
- package/rcf/test-suites/ts-054.json +70 -0
- package/rcf/test-suites/ts-055.json +77 -0
- package/rcf/test-suites/ts-056.json +78 -0
- package/rcf/test-suites/ts-057.json +78 -0
- package/rcf/test-suites/ts-070.json +62 -0
- package/rcf/test-suites/ts-071.json +62 -0
- package/rcf/user-stories/us-1701.json +56 -0
- package/rcf/user-stories/us-1801.json +40 -0
- package/rcf/user-stories/us-1901.json +40 -0
- package/rcf/user-stories/us-2001.json +50 -0
- package/rcf/user-stories/us-2101.json +45 -0
- package/rcf/user-stories/us-2201.json +60 -0
- package/rcf/user-stories/us-2301.json +51 -0
- package/rcf/user-stories/us-2401.json +62 -0
- package/rcf/user-stories/us-2501.json +58 -0
- package/rcf/user-stories/us-2601.json +51 -0
- package/rcf/user-stories/us-2701.json +55 -0
- package/rcf/user-stories/us-2801.json +55 -0
- package/rcf/user-stories/us-4001.json +69 -0
- package/rcf/user-stories/us-4101.json +69 -0
- package/releases/releases.yaml +21 -1
- package/src/blueprint/apply.js +107 -1
- package/src/blueprint/capabilities.js +357 -0
- package/src/blueprint/loader.js +247 -0
- package/src/browser-verify/boot.js +180 -0
- package/src/browser-verify/index.js +13 -0
- package/src/browser-verify/manifest-writer.js +31 -6
- package/src/browser-verify/pack-browser.js +294 -0
- package/src/browser-verify/pack-loader.js +176 -0
- package/src/browser-verify/pack-runner.js +193 -0
- package/src/browser-verify/pack-schema.js +155 -0
- package/src/browser-verify/runner.js +24 -1
- package/src/cli/blueprint.js +99 -0
- package/src/cli/browser-verify.js +147 -7
- package/src/core/errors/index.js +7 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T17:49:13.077Z",
|
|
3
|
+
"updatedAt": "2026-09-06T17:49:13.110Z",
|
|
4
|
+
"description": "The rcf-lite shelf ships the object-storage-s3 v1.0.0 blueprint (blueprints/object-storage-s3/) with 21 contributions per the ratified infra round 5 spec section 5.2: 6 REQs (facade sole-reader over the S3 client; put / get / delete / list on typed keys; presigned GET URL with bounded TTL; multipart-upload above elicited threshold; four lifecycle events with metadata-only fields; credential-pair discipline via security-secrets-management), 8 USs 28101-28108 binding runtime-observable ACs, 3 TACs (2901 facade, 2902 multipart uploader, 2903 event sink), 4 ADRs (2901 adapter elicited between @aws-sdk/client-s3 and aws4fetch, 2902 presigned TTL default 15 minutes floor 1 minute, 2903 multipart threshold default 8 MiB, 2904 objectStorageContract scope global). The blueprint declares suggestedCompanions logging and errorHandling with spec section 5.2 reasons, providesRoles absent, capabilities [objectStorage], requiresAppliedCapabilities absent. Contributes ADR-2904 as scope:global on new topic objectStorageContract so future non-S3-shape siblings (object-storage-native-gcs, object-storage-native-azure) conflict here by design. Ships six Node-only probes under blueprints/object-storage-s3/contributions/probes/ (facade-round-trip, put-get-round-trip, presigned-url, multipart-upload, event-secrecy, r2-real-account-smoke) each exporting the spec section 3.2 verdict envelope with an anchorAcId matching a contributed AC id, and matching run-<probe-name>.mjs shims writing per-blueprint reports at .rcf/reports/blueprints/object-storage-s3/<probe-name>.json per spec section 3.4. Five probes are local-first (accountBound false); r2-real-account-smoke carries accountBound:true and records the accountBoundSkipped shape per spec section 3.5 without CI_HAS_CLOUDFLARE_ACCOUNT. Ships the T-2 side of the shared sample-app fixture at packages/rcf-lite/test/fixtures/infra-s3-and-queue/ (T-3 shares the fixture and adds its own wrangler-dev src branch) with MinIO under docker compose, @aws-sdk/client-s3 as the fixture's own runtime dep, an S3 facade over MinIO, a security-secrets-management shim realising the secretRef opaque-string contract from a project-local .rcf/secrets/dev.env file, and a README naming docker and podman incantations plus four wired induced-failure switches. Extends packages/rcf-lite/docs/blueprint-authoring.md section 6a capability-declaration table with one row for objectStorage per spec section 5.6. Appends one row for object-storage-s3 at US band 28101-28899 / ADR-TAC suffix block 29xx to the shelf-wide id-band registry table under docs/topics.md on every shipped blueprint. Refuses composition when security-secrets-management is not applied with exit 3 and stable message id object-storage-s3-no-secrets on stderr; --allow-no-secrets-yet override records a note on source.notes for later reconciliation. Minted with HQ's reserved round-5 chain-id block via --id (REQ-041 / US-4101 / TS-071 / FBS-061 / CN-203..205) after T-1 minted at 040 / 4001 / 070 / 060 / 200..202; the block reservation avoids next-id racing with HQ's train while T-1 sits open.",
|
|
5
|
+
"category": "functional",
|
|
6
|
+
"domain": "application",
|
|
7
|
+
"priority": "must",
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"reqId": "REQ-041",
|
|
11
|
+
"prdId": "PRD-001",
|
|
12
|
+
"title": "Object-storage-s3 v1.0.0 blueprint on the shelf",
|
|
13
|
+
"shapeClassification": {
|
|
14
|
+
"shapes": [
|
|
15
|
+
"webUi",
|
|
16
|
+
"httpApi",
|
|
17
|
+
"auth",
|
|
18
|
+
"persistence"
|
|
19
|
+
],
|
|
20
|
+
"reason": "keyword-scan",
|
|
21
|
+
"classifiedAt": "2026-09-06T17:49:13.108Z",
|
|
22
|
+
"signals": [
|
|
23
|
+
{
|
|
24
|
+
"source": "title",
|
|
25
|
+
"shape": "persistence",
|
|
26
|
+
"match": "storage"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"source": "description",
|
|
30
|
+
"shape": "persistence",
|
|
31
|
+
"match": "storage"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"source": "description",
|
|
35
|
+
"shape": "persistence",
|
|
36
|
+
"match": "storage"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"source": "description",
|
|
40
|
+
"shape": "httpApi",
|
|
41
|
+
"match": "put"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"source": "description",
|
|
45
|
+
"shape": "httpApi",
|
|
46
|
+
"match": "get"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"source": "description",
|
|
50
|
+
"shape": "httpApi",
|
|
51
|
+
"match": "delete"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"source": "description",
|
|
55
|
+
"shape": "httpApi",
|
|
56
|
+
"match": "GET"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"source": "description",
|
|
60
|
+
"shape": "auth",
|
|
61
|
+
"match": "credential"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"source": "description",
|
|
65
|
+
"shape": "persistence",
|
|
66
|
+
"match": "storage"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"source": "description",
|
|
70
|
+
"shape": "persistence",
|
|
71
|
+
"match": "storage"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"source": "description",
|
|
75
|
+
"shape": "persistence",
|
|
76
|
+
"match": "storage"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"source": "description",
|
|
80
|
+
"shape": "httpApi",
|
|
81
|
+
"match": "put"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"source": "description",
|
|
85
|
+
"shape": "httpApi",
|
|
86
|
+
"match": "get"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"source": "description",
|
|
90
|
+
"shape": "persistence",
|
|
91
|
+
"match": "storage"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"source": "description",
|
|
95
|
+
"shape": "webUi",
|
|
96
|
+
"match": "table"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"source": "description",
|
|
100
|
+
"shape": "persistence",
|
|
101
|
+
"match": "table"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"source": "description",
|
|
105
|
+
"shape": "persistence",
|
|
106
|
+
"match": "storage"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"source": "description",
|
|
110
|
+
"shape": "webUi",
|
|
111
|
+
"match": "table"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"source": "description",
|
|
115
|
+
"shape": "persistence",
|
|
116
|
+
"match": "table"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"source": "description",
|
|
120
|
+
"shape": "persistence",
|
|
121
|
+
"match": "storage"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-04T18:00:42.492Z",
|
|
3
|
+
"updatedAt": "2026-09-04T18:51:45.216Z",
|
|
4
|
+
"purpose": "Cover AC-1701-1..8 via unit tests over the pack schema validator, the pack loader (both extensions, cross-check, applicability seams), the runner pack pass (aggregate verdict extension, browser and fetch injection, preChecks with dependsOn), the CLI --probe-pack option (unknown-name refusal, pack restriction, applicable=false record path), the Playwright-MCP pack-browser stdio client (evaluate-result parsing), and the boot fallback (reachability probe, spawn-and-wait, waitForSelector soft-timeout, cleanup on completion).",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-1701-1",
|
|
8
|
+
"AC-1701-2",
|
|
9
|
+
"AC-1701-3",
|
|
10
|
+
"AC-1701-4",
|
|
11
|
+
"AC-1701-5",
|
|
12
|
+
"AC-1701-6",
|
|
13
|
+
"AC-1701-7",
|
|
14
|
+
"AC-1701-8"
|
|
15
|
+
],
|
|
16
|
+
"id": "TS-046",
|
|
17
|
+
"usId": "US-1701",
|
|
18
|
+
"title": "Blueprint-shipped probe pack loader, scoping, cross-check, runner pass and CLI --probe-pack",
|
|
19
|
+
"testCases": [
|
|
20
|
+
{
|
|
21
|
+
"id": "TC-046-pack-loader-loads-both-pack-js-and-pack",
|
|
22
|
+
"acId": "AC-1701-1",
|
|
23
|
+
"description": "Pack loader loads both .pack.js and .pack.mjs; validates packName pattern and blueprint-slug prefix; refuses non-array checks[] with exit 2 diagnostic",
|
|
24
|
+
"status": "pending",
|
|
25
|
+
"testPointer": "test/browser-verify/pack-loader.test.js::loadProbePacks accepts .pack.js and .pack.mjs and reports one loaded pack per legal module"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "TC-046-applicability-predicate-source-scan",
|
|
29
|
+
"acId": "AC-1701-2",
|
|
30
|
+
"description": "Applicability predicate source-scan refuses unqualified predicate () => true and refuses a predicate that references none of route, tacIds, blueprint:; appliesTo returning false records applicable=false",
|
|
31
|
+
"status": "pending",
|
|
32
|
+
"testPointer": "test/browser-verify/pack-loader.test.js::applicability predicate refuses unqualified default and records applicable=false when appliesTo returns false"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "TC-046-loader-refuses-at-exit-2-a-pack-whose",
|
|
36
|
+
"acId": "AC-1701-3",
|
|
37
|
+
"description": "Loader refuses at exit 2 a pack whose checks[].id names an AC id the blueprint does not contribute; the diagnostic names the offending id and the contributed AC ids",
|
|
38
|
+
"status": "pending",
|
|
39
|
+
"testPointer": "test/browser-verify/pack-loader.test.js::loader refuses a pack whose check id names an AC the blueprint does not contribute"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "TC-046-runner-pack-pass-invokes-each-check-s",
|
|
43
|
+
"acId": "AC-1701-4",
|
|
44
|
+
"description": "Runner pack pass invokes each check's run with injected browser and fetch, folds results into probePacks[], and aggregate verdict extension blocks on severity block fail and warns on severity warn fail",
|
|
45
|
+
"status": "pending",
|
|
46
|
+
"testPointer": "test/browser-verify/pack-runner.test.js::runProbePacksForFbs folds probePacks[] onto the record and the aggregate verdict extension blocks on a block-severity pack fail"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "TC-046-cli-probe-pack-option-restricts-to-one",
|
|
50
|
+
"acId": "AC-1701-5",
|
|
51
|
+
"description": "CLI --probe-pack option restricts to one pack by name; unknown name exits 2 with a diagnostic naming the discovered packs; when omitted every discovered pack runs",
|
|
52
|
+
"status": "pending",
|
|
53
|
+
"testPointer": "test/cli/browser-verify-probe-pack.test.js::rcf verify browser --probe-pack restricts to one pack and exits 2 on unknown pack name"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "TC-046-prechecks-runs-before-browser-checks-a",
|
|
57
|
+
"acId": "AC-1701-6",
|
|
58
|
+
"description": "preChecks[] runs before browser checks; a failing pre-check skips only browser checks that name it under dependsOn with verdict skipped and detail skipped-by-pre-check; other checks still run",
|
|
59
|
+
"status": "pending",
|
|
60
|
+
"testPointer": "test/browser-verify/pack-runner.test.js::preChecks fast-fail skips browser checks that dependsOn a failing pre-check"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "TC-046-pack-browser-evaluate-parser",
|
|
64
|
+
"acId": "AC-1701-7",
|
|
65
|
+
"description": "The Playwright-MCP stdio client parses browser_evaluate result blocks (both the '### Result' fenced form used by MCP 0.0.80+ and the legacy 'Result:' trailer) into typed JS values so a pack's check can assert on the value directly",
|
|
66
|
+
"status": "pending",
|
|
67
|
+
"testPointer": "test/browser-verify/pack-browser.test.js::parseEvaluateResult returns a parsed JSON value when the MCP block ends with Result: <json>"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "TC-046-boot-skips-when-runtime-reachable",
|
|
71
|
+
"acId": "AC-1701-8",
|
|
72
|
+
"description": "bootIfNeeded returns already-up when the runtime URL responds with any HTTP status; returns no-boot / no-boot-command when the pack declares no boot / no bootCommand; spawns bootCommand and reports started when the URL flips to reachable; SIGTERMs the child on stop()",
|
|
73
|
+
"status": "pending",
|
|
74
|
+
"testPointer": "test/browser-verify/boot.test.js::bootIfNeeded spawns bootCommand, polls until waitForUrl responds, then reports started"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"status": "draft"
|
|
78
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-04T20:05:51.932Z",
|
|
3
|
+
"updatedAt": "2026-09-04T20:09:33.956Z",
|
|
4
|
+
"purpose": "Cover AC-1801-1..5 via unit tests over the shipped application-datatable blueprint's contribution counts (six REQs, nine USs, three TACs, four ADRs, 27 ACs total), the pack-loader accepting the shipped pack file with every check id cross-checked against the blueprint's contributed AC ids, the pack schema accepting the pack's applicability predicate (references route and tacIds), and the sample-app fixture's exported startServer plus /api/rows shape.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-1801-1",
|
|
8
|
+
"AC-1801-2",
|
|
9
|
+
"AC-1801-3",
|
|
10
|
+
"AC-1801-4",
|
|
11
|
+
"AC-1801-5"
|
|
12
|
+
],
|
|
13
|
+
"id": "TS-047",
|
|
14
|
+
"usId": "US-1801",
|
|
15
|
+
"title": "application-datatable v1.0.0 shelf shape and probe pack cross-check",
|
|
16
|
+
"testCases": [
|
|
17
|
+
{
|
|
18
|
+
"id": "TC-047-blueprint-json-declares-slug-application",
|
|
19
|
+
"acId": "AC-1801-1",
|
|
20
|
+
"description": "blueprint.json declares slug application-datatable, version 1.0.0, category application, 22 contributions in 6 REQ / 9 US / 3 TAC / 4 ADR groups, and suggestedCompanions declares logging and errorHandling",
|
|
21
|
+
"status": "pending",
|
|
22
|
+
"testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable: blueprint.json declares the ratified shape (TC-047-blueprint-json-shape)"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "TC-047-fresh-init-project-applies-the-blueprint",
|
|
26
|
+
"acId": "AC-1801-2",
|
|
27
|
+
"description": "Fresh init project applies the blueprint cleanly; walkTree produces zero errors; 6 REQs and 9 USs land under the application-datatable prefix",
|
|
28
|
+
"status": "pending",
|
|
29
|
+
"testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable: applies cleanly on a fresh init project and adds 22 documents to the tree (TC-047-applies-clean)"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "TC-047-every-pack-check-id-resolves-to-an-ac-id",
|
|
33
|
+
"acId": "AC-1801-3",
|
|
34
|
+
"description": "Every pack check id resolves to an AC id contributed by the blueprint; expected six check ids in the same order as the spec",
|
|
35
|
+
"status": "pending",
|
|
36
|
+
"testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable: every AC id in each contributed US matches the pack check ids and vice versa where anchored (TC-047-pack-checks-cross-check)"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "TC-047-sample-app-fixture-startserver-serves",
|
|
40
|
+
"acId": "AC-1801-4",
|
|
41
|
+
"description": "Sample-app fixture startServer serves /api/rows honouring sort, q, page and pageSize; loaders discovery finds the shipped pack against an applied scratch project",
|
|
42
|
+
"status": "pending",
|
|
43
|
+
"testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable sample-app fixture: startServer returns rows on /api/rows with sort, q, page and pageSize (TC-047-fixture-api-rows)"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "TC-047-pack-loader-against-blueprint-discovers",
|
|
47
|
+
"acId": "AC-1801-5",
|
|
48
|
+
"description": "pack loader against blueprint discovers exactly one pack with six checks; the pack cross-check test proves the pack refuses ship on broken fixture at the section 9 T-1 row 3 gate the reviewer runs against a live server",
|
|
49
|
+
"status": "pending",
|
|
50
|
+
"testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable: pack loader discovers the shipped pack against an applied scratch project (TC-047-pack-loader-discovers)"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"status": "draft"
|
|
54
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-04T21:08:44.011Z",
|
|
3
|
+
"updatedAt": "2026-09-04T21:09:34.444Z",
|
|
4
|
+
"purpose": "Cover AC-1901-1..5 via unit tests over the shipped application-charts blueprint's contribution counts (four REQs, six USs, two TACs, three ADRs, 15 contributions total), the pack-loader accepting the shipped pack file with every check id cross-checked against the blueprint's contributed AC ids and every check carrying a description, the pack schema accepting the pack's applicability predicate (references route and tacIds), the sample-app fixture exporting startServer serving a chart route with two-series bar and line charts (colour plus pattern plus direct label) and a text-alternative table with keyboard focus and reduced-motion suppression, and the negative-run behaviour on the ?break=table, ?break=pattern and ?break=keyboard switches.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-1901-1",
|
|
8
|
+
"AC-1901-2",
|
|
9
|
+
"AC-1901-3",
|
|
10
|
+
"AC-1901-4",
|
|
11
|
+
"AC-1901-5"
|
|
12
|
+
],
|
|
13
|
+
"id": "TS-048",
|
|
14
|
+
"usId": "US-1901",
|
|
15
|
+
"title": "application-charts v1.0.0 shelf shape and probe pack cross-check",
|
|
16
|
+
"testCases": [
|
|
17
|
+
{
|
|
18
|
+
"id": "TC-048-blueprint-json-shape",
|
|
19
|
+
"acId": "AC-1901-1",
|
|
20
|
+
"description": "blueprint.json declares slug application-charts, version 1.0.0, category application, 15 contributions in 4 REQ / 6 US / 2 TAC / 3 ADR groups, and suggestedCompanions declares logging and errorHandling",
|
|
21
|
+
"status": "pending",
|
|
22
|
+
"testPointer": "test/blueprint/application-charts-anatomy.test.js::application-charts: blueprint.json declares the ratified shape (TC-048-blueprint-json-shape)"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "TC-048-applies-clean",
|
|
26
|
+
"acId": "AC-1901-2",
|
|
27
|
+
"description": "Fresh init project applies the blueprint cleanly; walkTree produces zero errors; 4 REQs and 6 USs land under the application-charts prefix",
|
|
28
|
+
"status": "pending",
|
|
29
|
+
"testPointer": "test/blueprint/application-charts-anatomy.test.js::application-charts: applies cleanly on a fresh init project and adds 15 documents to the tree (TC-048-applies-clean)"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "TC-048-pack-checks-cross-check",
|
|
33
|
+
"acId": "AC-1901-3",
|
|
34
|
+
"description": "Every pack check id resolves to an AC id contributed by the blueprint; expected three check ids in the same order as the spec (AC-18102-1, AC-18103-1, AC-18104-1) and every check carries a description field",
|
|
35
|
+
"status": "pending",
|
|
36
|
+
"testPointer": "test/blueprint/application-charts-anatomy.test.js::application-charts: every AC id in each contributed US matches the pack check ids and every check carries a description (TC-048-pack-checks-cross-check)"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "TC-048-fixture-charts-render",
|
|
40
|
+
"acId": "AC-1901-4",
|
|
41
|
+
"description": "Sample-app fixture startServer renders a chart route with two-series bar and line charts (colour plus pattern plus direct label), a visually-hidden focus-reachable table, keyboard-focusable data points and a reduced-motion CSS rule; loader discovery finds the shipped pack against an applied scratch project",
|
|
42
|
+
"status": "pending",
|
|
43
|
+
"testPointer": "test/blueprint/application-charts-anatomy.test.js::application-charts sample-app fixture: startServer renders the chart shell (TC-048-fixture-charts-render)"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "TC-048-negative-runs",
|
|
47
|
+
"acId": "AC-1901-5",
|
|
48
|
+
"description": "The pack refuses ship on each broken variant: ?break=table triggers verdict fail on AC-18103-1; ?break=pattern triggers verdict fail on AC-18102-1; ?break=keyboard triggers verdict fail on AC-18104-1; every failure records severity block and the aggregate verdict is block",
|
|
49
|
+
"status": "pending",
|
|
50
|
+
"testPointer": "test/blueprint/application-charts-anatomy.test.js::application-charts sample-app fixture: break switches refuse ship on each surface (TC-048-negative-runs)"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"status": "draft"
|
|
54
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-04T22:10:00.000Z",
|
|
3
|
+
"updatedAt": "2026-09-04T22:10:00.000Z",
|
|
4
|
+
"purpose": "Cover AC-2001-1..7 via unit tests over the shipped application-dashboard blueprint's contribution counts (five REQs, seven USs, three TACs, three ADRs, 18 contributions total), the packaged design-guidance asset shape (eight sections and at least five https citations), the pack-loader accepting the shipped pack file with every check id cross-checked against the blueprint's contributed AC ids and every check carrying a description, the pack schema accepting the pack's applicability predicate (references tacIds), the sample-app fixture exporting startServer serving a dashboard route with a primary-KPI-top-left tile grid, a paired chart region, a timeframe preset picker refetching every tile with the same from/to boundary and matching as-of stamp, per-tile four states, an export handle, a request log surface and a reflow to one column at 360, and the negative-run behaviour on the ?break=kpi-position, ?break=fanout and ?break=state-aria switches, plus a unit test for the pack-browser resize seam extension.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-2001-1",
|
|
8
|
+
"AC-2001-2",
|
|
9
|
+
"AC-2001-3",
|
|
10
|
+
"AC-2001-4",
|
|
11
|
+
"AC-2001-5",
|
|
12
|
+
"AC-2001-6",
|
|
13
|
+
"AC-2001-7"
|
|
14
|
+
],
|
|
15
|
+
"id": "TS-049",
|
|
16
|
+
"usId": "US-2001",
|
|
17
|
+
"title": "application-dashboard v1.0.0 shelf shape, packaged guidance, probe pack cross-check and resize seam",
|
|
18
|
+
"testCases": [
|
|
19
|
+
{
|
|
20
|
+
"id": "TC-049-blueprint-json-shape",
|
|
21
|
+
"acId": "AC-2001-1",
|
|
22
|
+
"description": "blueprint.json declares slug application-dashboard, version 1.0.0, category application, 18 contributions in 5 REQ / 7 US / 3 TAC / 3 ADR groups, providesRoles empty array, suggestedCompanions declares logging and errorHandling",
|
|
23
|
+
"status": "pending",
|
|
24
|
+
"testPointer": "test/blueprint/application-dashboard-anatomy.test.js::application-dashboard: blueprint.json declares the ratified shape (TC-049-blueprint-json-shape)"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "TC-049-applies-clean",
|
|
28
|
+
"acId": "AC-2001-2",
|
|
29
|
+
"description": "Fresh init project applies the blueprint cleanly; walkTree produces zero errors; 5 REQs and 7 USs land under the application-dashboard prefix",
|
|
30
|
+
"status": "pending",
|
|
31
|
+
"testPointer": "test/blueprint/application-dashboard-anatomy.test.js::application-dashboard: applies cleanly on a fresh init project and adds 18 documents to the tree (TC-049-applies-clean)"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "TC-049-guidance-asset",
|
|
35
|
+
"acId": "AC-2001-3",
|
|
36
|
+
"description": "assets/guidance/dashboard-design.md carries the eight ratified section headings and at least five https:// citations from the named sources",
|
|
37
|
+
"status": "pending",
|
|
38
|
+
"testPointer": "test/blueprint/application-dashboard-anatomy.test.js::application-dashboard: packaged design-guidance asset carries eight sections and five https citations (TC-049-guidance-asset)"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "TC-049-pack-checks-cross-check",
|
|
42
|
+
"acId": "AC-2001-4",
|
|
43
|
+
"description": "Every pack check id resolves to an AC id contributed by the blueprint; expected three check ids in the spec's order (AC-19102-1, AC-19104-1, AC-19103-1); every check carries a description field; applicability predicate references tacIds",
|
|
44
|
+
"status": "pending",
|
|
45
|
+
"testPointer": "test/blueprint/application-dashboard-anatomy.test.js::application-dashboard: every pack check id matches a contributed AC id, every check carries a description, appliesTo binds tacIds (TC-049-pack-checks-cross-check)"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "TC-049-fixture-dashboard-render",
|
|
49
|
+
"acId": "AC-2001-5",
|
|
50
|
+
"description": "Sample-app fixture startServer renders a dashboard route with a primary KPI top-left tile, a paired chart region, timeframe preset controls, per-tile state switches, an export handle and a request log; loader discovery finds the shipped pack against an applied scratch project",
|
|
51
|
+
"status": "pending",
|
|
52
|
+
"testPointer": "test/blueprint/application-dashboard-anatomy.test.js::application-dashboard sample-app fixture: startServer renders the dashboard shell (TC-049-fixture-dashboard-render)"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "TC-049-negative-runs",
|
|
56
|
+
"acId": "AC-2001-6",
|
|
57
|
+
"description": "The pack refuses ship on each broken variant: ?break=kpi-position triggers verdict fail on AC-19102-1; ?break=fanout triggers verdict fail on AC-19104-1; ?break=state-aria triggers verdict fail on AC-19103-1; every failure records severity block and the aggregate verdict is block",
|
|
58
|
+
"status": "pending",
|
|
59
|
+
"testPointer": "test/blueprint/application-dashboard-anatomy.test.js::application-dashboard sample-app fixture: break switches refuse ship on each surface (TC-049-negative-runs)"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "TC-049-resize-seam",
|
|
63
|
+
"acId": "AC-2001-7",
|
|
64
|
+
"description": "pack-browser exposes resize(width, height); the project-route handle drives page.setViewportSize with the given dimensions and the same handle can be re-queried through window.innerWidth after a resize call",
|
|
65
|
+
"status": "pending",
|
|
66
|
+
"testPointer": "test/browser-verify/pack-browser-resize.test.js::pack-browser: resize dimension normalisation rounds finite positive numbers (TC-049-resize-seam)"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"status": "draft"
|
|
70
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-04T23:59:00.000Z",
|
|
3
|
+
"updatedAt": "2026-09-04T23:59:00.000Z",
|
|
4
|
+
"purpose": "Cover AC-2101-1..6 via unit tests over the shipped application-notifications-in-app blueprint's contribution counts (five REQs, eight USs, three TACs, three ADRs, 19 contributions total), the pack-loader accepting the shipped pack file with every check id cross-checked against the blueprint's contributed AC ids, every check carrying a description, and the AC-20101-1 description containing the word 'preseeded' per section 9 T-4 row, the pack schema accepting the pack's applicability predicate (references BOTH tacIds AND route), the sample-app fixture exporting startServer serving the three routes with the live-region preseeding, the notification centre backlog, the acknowledge round-trip and the preferences UI, and the negative-run behaviour on the ?break=preseed, ?break=role, ?break=timeout and ?break=ack switches, plus the family-prefix reservation documented in the blueprint README and every shelf topics.md registry row.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": [
|
|
7
|
+
"AC-2101-1",
|
|
8
|
+
"AC-2101-2",
|
|
9
|
+
"AC-2101-3",
|
|
10
|
+
"AC-2101-4",
|
|
11
|
+
"AC-2101-5",
|
|
12
|
+
"AC-2101-6"
|
|
13
|
+
],
|
|
14
|
+
"id": "TS-050",
|
|
15
|
+
"usId": "US-2101",
|
|
16
|
+
"title": "application-notifications-in-app v1.0.0 shelf shape, probe pack cross-check, sample-app fixture and family-prefix reservation",
|
|
17
|
+
"testCases": [
|
|
18
|
+
{
|
|
19
|
+
"id": "TC-050-blueprint-json-shape",
|
|
20
|
+
"acId": "AC-2101-1",
|
|
21
|
+
"description": "blueprint.json declares slug application-notifications-in-app, version 1.0.0, category application, 19 contributions in 5 REQ / 8 US / 3 TAC / 3 ADR groups, providesRoles absent, suggestedCompanions declares logging and errorHandling",
|
|
22
|
+
"status": "pending",
|
|
23
|
+
"testPointer": "test/blueprint/application-notifications-in-app-anatomy.test.js::application-notifications-in-app: blueprint.json declares the ratified shape (TC-050-blueprint-json-shape)"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "TC-050-applies-clean",
|
|
27
|
+
"acId": "AC-2101-2",
|
|
28
|
+
"description": "Fresh init project applies the blueprint cleanly; walkTree produces zero errors; 5 REQs and 8 USs land under the application-notifications-in-app prefix",
|
|
29
|
+
"status": "pending",
|
|
30
|
+
"testPointer": "test/blueprint/application-notifications-in-app-anatomy.test.js::application-notifications-in-app: applies cleanly on a fresh init project and adds 19 documents to the tree (TC-050-applies-clean)"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "TC-050-pack-checks-cross-check",
|
|
34
|
+
"acId": "AC-2101-3",
|
|
35
|
+
"description": "Every pack check id resolves to an AC id contributed by the blueprint; expected three check ids (AC-20101-1, AC-20102-1, AC-20103-1); every check carries a description; AC-20101-1 description contains the word 'preseeded' per spec section 9 T-4 row; applicability predicate references BOTH tacIds and route",
|
|
36
|
+
"status": "pending",
|
|
37
|
+
"testPointer": "test/blueprint/application-notifications-in-app-anatomy.test.js::application-notifications-in-app: every pack check id matches a contributed AC id, description discipline holds, appliesTo binds tacIds AND route (TC-050-pack-checks-cross-check)"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "TC-050-fixture-preseeding",
|
|
41
|
+
"acId": "AC-2101-4",
|
|
42
|
+
"description": "Sample-app fixture startServer serves the main, centre and preferences routes; every route preseeds both live-region wrappers empty at load; the centre lists the seeded backlog with data-notification-id enumeration and acknowledge / mark-read / mark-all-read controls; the preferences route renders category silence toggles and sibling-channel sections disabled",
|
|
43
|
+
"status": "pending",
|
|
44
|
+
"testPointer": "test/blueprint/application-notifications-in-app-anatomy.test.js::application-notifications-in-app sample-app fixture: preseeds live regions on every route (TC-050-fixture-preseeding)"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "TC-050-fixture-acknowledge",
|
|
48
|
+
"acId": "AC-2101-4",
|
|
49
|
+
"description": "POST /api/notifications/acknowledge updates the seeded delivery-log row's acknowledgedAt and returns {ok:true}; GET /api/delivery-log returns the seeded rows; /__requests mirrors the server-side record log",
|
|
50
|
+
"status": "pending",
|
|
51
|
+
"testPointer": "test/blueprint/application-notifications-in-app-anatomy.test.js::application-notifications-in-app sample-app fixture: acknowledge round-trips through /api/notifications/acknowledge and delivery-log endpoint returns the seeded rows (TC-050-fixture-acknowledge)"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "TC-050-negative-runs",
|
|
55
|
+
"acId": "AC-2101-5",
|
|
56
|
+
"description": "?break=preseed drops the wrappers from the initial DOM; ?break=role inverts the priority-to-role mapping in the client script (an error toast lands in the polite wrapper as role=status); ?break=timeout advertises a two-second floor on data-toast-timeout-floor-seconds; ?break=ack renders the acknowledge control with no click POST",
|
|
57
|
+
"status": "pending",
|
|
58
|
+
"testPointer": "test/blueprint/application-notifications-in-app-anatomy.test.js::application-notifications-in-app sample-app fixture: break switches surface the four defects on the DOM (TC-050-negative-runs)"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "TC-050-family-prefix-reservation",
|
|
62
|
+
"acId": "AC-2101-6",
|
|
63
|
+
"description": "The family-prefix reservation is present in the blueprint README (a paragraph naming application-notifications- reserved for the sibling channels -email, -push, -webhook) and in the shelf band registry table in every applying blueprint's docs/topics.md",
|
|
64
|
+
"status": "pending",
|
|
65
|
+
"testPointer": "test/blueprint/application-notifications-in-app-anatomy.test.js::application-notifications-in-app: family-prefix reservation documented in blueprint README and own topics.md (TC-050-family-prefix-reservation)"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"status": "draft"
|
|
69
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-05T01:30:00.000Z",
|
|
3
|
+
"updatedAt": "2026-09-05T01:30:00.000Z",
|
|
4
|
+
"purpose": "Cover AC-2201-1..9 via unit tests over the blueprint loader accepting capabilities[], elicits[] and requiresAppliedCapabilities with shape validation, applyBlueprint discovering applied capabilities from the applied blueprints source blueprint.json files, refusing on a bare-SPA project with the spec 5.5.1 message, honouring --allow-no-auth-yet, running the elicitation phase with --answer and --answers, writing the sidecar rcf/blueprints/${slug}.applied.json with appliedCapabilities and appliedElicitations, the four shelf auth blueprints declaring their capabilities[] in their v1.1.0 minor bumps with matching CHANGELOG entries, and docs/blueprint-authoring.md section 6a carrying the extended capability vocabulary table.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": ["AC-2201-1", "AC-2201-2", "AC-2201-3", "AC-2201-4", "AC-2201-5", "AC-2201-6", "AC-2201-7", "AC-2201-8", "AC-2201-9"],
|
|
7
|
+
"id": "TS-051",
|
|
8
|
+
"usId": "US-2201",
|
|
9
|
+
"title": "Capability-declaration mechanism loader and apply verb behaviour; four auth-blueprint 1.1.0 minor adoption",
|
|
10
|
+
"testCases": [
|
|
11
|
+
{"id": "TC-051-loader-capabilities-shape", "acId": "AC-2201-1", "description": "loader accepts capabilities[] on shape; refuses empty array, refuses non-string entries, refuses non-camelCase strings", "status": "pending", "testPointer": "test/blueprint/capabilities-loader.test.js::loader accepts capabilities[] shape and refuses malformed variants (TC-051-loader-capabilities-shape)"},
|
|
12
|
+
{"id": "TC-051-loader-elicits-shape", "acId": "AC-2201-2", "description": "loader accepts elicits[] on shape; refuses empty array, refuses invalid kind, refuses em-dash in prompt, refuses missing options on kind=enum", "status": "pending", "testPointer": "test/blueprint/capabilities-loader.test.js::loader accepts elicits[] shape and refuses malformed variants (TC-051-loader-elicits-shape)"},
|
|
13
|
+
{"id": "TC-051-loader-requires-shape", "acId": "AC-2201-3", "description": "loader accepts requiresAppliedCapabilities object shape; refuses empty capabilities array, refuses non-kebab allowSkipFlag", "status": "pending", "testPointer": "test/blueprint/capabilities-loader.test.js::loader accepts requiresAppliedCapabilities shape and refuses malformed variants (TC-051-loader-requires-shape)"},
|
|
14
|
+
{"id": "TC-051-apply-discovery-refuse", "acId": "AC-2201-4", "description": "applyBlueprint returns a requiresAppliedCapabilities rcfError when no applied blueprint declares any required capability and allowNoAuthYet is false; message body includes the spec 5.5.1 verbatim opening line and lists the currently-applied blueprints", "status": "pending", "testPointer": "test/blueprint/capabilities-apply.test.js::apply refuses with requiresAppliedCapabilities rcfError on a bare project (TC-051-apply-discovery-refuse)"},
|
|
15
|
+
{"id": "TC-051-apply-allow-skip", "acId": "AC-2201-5", "description": "applyBlueprint with allowNoAuthYet true writes contributions and sidecar with allowNoAuthYet true and a notes string naming the no-auth-yet state; manifest applied record is untouched", "status": "pending", "testPointer": "test/blueprint/capabilities-apply.test.js::apply honours allowNoAuthYet and writes sidecar with notes (TC-051-apply-allow-skip)"},
|
|
16
|
+
{"id": "TC-051-elicit-answers", "acId": "AC-2201-6", "description": "applyBlueprint reads elicitAnswers map; every elicit whose when-predicate resolves true against discovered capabilities is coerced by kind; missing required answer returns validation rcfError naming id", "status": "pending", "testPointer": "test/blueprint/capabilities-apply.test.js::apply elicitation phase coerces answers by kind and refuses missing required (TC-051-elicit-answers)"},
|
|
17
|
+
{"id": "TC-051-sidecar-write", "acId": "AC-2201-7", "description": "applyBlueprint writes rcf/blueprints/${slug}.applied.json with slug, version, appliedAt, appliedCapabilities and appliedElicitations; re-apply on same version rewrites the file idempotently", "status": "pending", "testPointer": "test/blueprint/capabilities-apply.test.js::apply writes sidecar with appliedCapabilities and appliedElicitations idempotently (TC-051-sidecar-write)"},
|
|
18
|
+
{"id": "TC-051-auth-minors", "acId": "AC-2201-8", "description": "The four shelf auth blueprints declare capabilities[] and correct new versions; each CHANGELOG.md carries a new entry naming the capabilities added and citing spec section 5.5.2", "status": "pending", "testPointer": "test/blueprint/capabilities-auth-minors.test.js::the four shelf auth blueprints declare capabilities[] and matching CHANGELOG entries (TC-051-auth-minors)"},
|
|
19
|
+
{"id": "TC-051-docs-section-6a", "acId": "AC-2201-9", "description": "packages/rcf-lite/docs/blueprint-authoring.md section 6a includes the capability vocabulary table with the four capability strings and their shelf providers; the section text cross-references capabilities[] and requiresAppliedCapabilities as loader fields", "status": "pending", "testPointer": "test/blueprint/capabilities-auth-minors.test.js::docs blueprint-authoring section 6a carries the capability vocabulary table (TC-051-docs-section-6a)"}
|
|
20
|
+
],
|
|
21
|
+
"status": "draft"
|
|
22
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-05T01:30:00.000Z",
|
|
3
|
+
"updatedAt": "2026-09-05T01:30:00.000Z",
|
|
4
|
+
"purpose": "Cover AC-2301-1..7 via unit tests over the shipped application-admin-console blueprint.json contribution shape (23 contributions in 6 REQ / 9 US / 4 TAC / 4 ADR groups), the requiresAppliedCapabilities and elicits[] declarations, the pack-loader accepting the shipped pack file with every check id cross-checked against blueprint AC ids, the pack appliesTo predicate discipline (references BOTH tacIds and route), the sample-app fixture serving the console shell with the ARIA APG grid permission matrix, the CAPS switch surface selector, the users directory, org switcher, audit-log table with correlation id, access-denied and request-access control, and the negative-run behaviour on the ?break=matrix-grid, ?break=denied and ?break=audit-fields switches.",
|
|
5
|
+
"testLevel": "unit",
|
|
6
|
+
"acIds": ["AC-2301-1", "AC-2301-2", "AC-2301-3", "AC-2301-4", "AC-2301-5", "AC-2301-6", "AC-2301-7"],
|
|
7
|
+
"id": "TS-052",
|
|
8
|
+
"usId": "US-2301",
|
|
9
|
+
"title": "application-admin-console v1.0.0 shelf shape, capability discovery, probe pack cross-check and sample-app fixture",
|
|
10
|
+
"testCases": [
|
|
11
|
+
{"id": "TC-052-blueprint-json-shape", "acId": "AC-2301-1", "description": "blueprint.json declares 23 contributions with requiresAppliedCapabilities and elicits[]", "status": "pending", "testPointer": "test/blueprint/application-admin-console-anatomy.test.js::blueprint.json declares 23 contributions with requiresAppliedCapabilities and elicits[] (TC-052-blueprint-json-shape)"},
|
|
12
|
+
{"id": "TC-052-applies-clean-with-override", "acId": "AC-2301-2", "description": "Fresh init project applies admin-console --allow-no-auth-yet and writes sidecar with allowNoAuthYet true", "status": "pending", "testPointer": "test/blueprint/application-admin-console-anatomy.test.js::apply --allow-no-auth-yet on bare SPA writes sidecar with allowNoAuthYet:true and empty appliedCapabilities (TC-052-applies-clean-with-override)"},
|
|
13
|
+
{"id": "TC-052-refuses-bare-spa", "acId": "AC-2301-3", "description": "Fresh init project without auth refuses admin-console apply with exit 3 and spec 5.5.1 message", "status": "pending", "testPointer": "test/blueprint/application-admin-console-anatomy.test.js::apply refuses on bare SPA with spec 5.5.1 verbatim message and lists applied blueprints (TC-052-refuses-bare-spa)"},
|
|
14
|
+
{"id": "TC-052-capability-discovery", "acId": "AC-2301-4", "description": "Discovery reads applied capabilities from applied blueprints", "status": "pending", "testPointer": "test/blueprint/application-admin-console-anatomy.test.js::apply on magic-link project yields [principalDirectory] and on clerk+logging project yields [principalDirectory,roleModel,auditLog] (TC-052-capability-discovery)"},
|
|
15
|
+
{"id": "TC-052-pack-checks-cross-check", "acId": "AC-2301-5", "description": "Every pack check id matches contributed AC id and applies gates on capability", "status": "pending", "testPointer": "test/blueprint/application-admin-console-anatomy.test.js::every pack check id matches a contributed AC id and appliesTo predicate gates on the applied capability (TC-052-pack-checks-cross-check)"},
|
|
16
|
+
{"id": "TC-052-fixture-surfaces", "acId": "AC-2301-6", "description": "Sample-app fixture serves the console shell with grid matrix and required data attributes", "status": "pending", "testPointer": "test/blueprint/application-admin-console-anatomy.test.js::sample-app fixture serves console shell with ARIA APG grid permission matrix and required data attributes (TC-052-fixture-surfaces)"},
|
|
17
|
+
{"id": "TC-052-negative-runs", "acId": "AC-2301-7", "description": "Break switches surface the three defects on the DOM", "status": "pending", "testPointer": "test/blueprint/application-admin-console-anatomy.test.js::sample-app fixture break switches surface the three defects on the DOM (TC-052-negative-runs)"}
|
|
18
|
+
],
|
|
19
|
+
"status": "draft"
|
|
20
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T15:39:17.193Z",
|
|
3
|
+
"updatedAt": "2026-09-06T15:39:17.193Z",
|
|
4
|
+
"testCases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "TC-053-blueprint-json-shape",
|
|
7
|
+
"acId": "AC-2401-1",
|
|
8
|
+
"description": "blueprint.json declares slug, version 1.0.0, category application, 19 contributions in 5/8/3/3 groups; providesRoles absent; requiresAppliedCapabilities absent; suggestedCompanions logging and errorHandling",
|
|
9
|
+
"status": "pending",
|
|
10
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::blueprint.json declares 19 contributions with no capabilities and no requiresAppliedCapabilities (TC-053-blueprint-json-shape)"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "TC-053-applies-clean",
|
|
14
|
+
"acId": "AC-2401-2",
|
|
15
|
+
"description": "Fresh init project applies application-empty-error-states cleanly and reports the tree clean",
|
|
16
|
+
"status": "pending",
|
|
17
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::applies cleanly on a fresh init project and adds 19 documents to the tree (TC-053-applies-clean)"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "TC-053-pack-checks-cross-check",
|
|
21
|
+
"acId": "AC-2401-3",
|
|
22
|
+
"description": "Every pack check id matches a contributed AC id; pack-level appliesTo references BOTH tacIds and route; withUrl helper used for every URL string",
|
|
23
|
+
"status": "pending",
|
|
24
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::every pack check id matches a contributed AC id and appliesTo binds tacIds AND route (TC-053-pack-checks-cross-check)"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "TC-053-fixture-serves-states",
|
|
28
|
+
"acId": "AC-2401-4",
|
|
29
|
+
"description": "Sample-app fixture serves every one of the eight states honestly on its default branch and via ?state= switch",
|
|
30
|
+
"status": "pending",
|
|
31
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::sample-app fixture serves every one of the eight states on the default branch (TC-053-fixture-serves-states)"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "TC-053-negative-runs",
|
|
35
|
+
"acId": "AC-2401-5",
|
|
36
|
+
"description": "Break switches surface the four defects on the DOM for the corresponding pack checks",
|
|
37
|
+
"status": "pending",
|
|
38
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::sample-app fixture break switches surface the four defects on the DOM (TC-053-negative-runs)"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "TC-053-state-enumeration-parity",
|
|
42
|
+
"acId": "AC-2401-6",
|
|
43
|
+
"description": "Eight state slugs appear identically across README, guide, pack checks[] and docs/topics.md registry",
|
|
44
|
+
"status": "pending",
|
|
45
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::eight state slugs appear identically across README guide pack and docs (TC-053-state-enumeration-parity)"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "TC-053-readme-gaps-and-changelog",
|
|
49
|
+
"acId": "AC-2401-7",
|
|
50
|
+
"description": "README lists mechanism-reach gaps individually; CHANGELOG carries one 1.0.0 entry; docs/topics.md carries the T-1 shelf registry row",
|
|
51
|
+
"status": "pending",
|
|
52
|
+
"testPointer": "test/blueprint/application-empty-error-states-anatomy.test.js::README lists mechanism-reach gaps and CHANGELOG carries 1.0.0 and topics carries the T-1 row (TC-053-readme-gaps-and-changelog)"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"status": "draft",
|
|
56
|
+
"purpose": "Cover AC-2401-1 through AC-2401-7 via unit tests over the shipped application-empty-error-states blueprint.json contribution shape (19 contributions in the 5 REQ / 8 US / 3 TAC / 3 ADR groups), the applies-clean pass on a fresh init project, the pack-loader accepting the shipped pack file with every check id cross-checked against blueprint AC ids and appliesTo referencing BOTH tacIds and route, the sample-app fixture serving all eight state branches, the negative-run behaviour on the ?break=stack-trace, ?break=leak-id, ?break=no-recovery and ?break=no-live-region switches, the state-slug enumeration parity across README, guide, pack and docs/topics.md registry, and the README mechanism-reach gaps and CHANGELOG 1.0.0 entry.",
|
|
57
|
+
"testLevel": "unit",
|
|
58
|
+
"acIds": [
|
|
59
|
+
"AC-2401-1",
|
|
60
|
+
"AC-2401-2",
|
|
61
|
+
"AC-2401-3",
|
|
62
|
+
"AC-2401-4",
|
|
63
|
+
"AC-2401-5",
|
|
64
|
+
"AC-2401-6",
|
|
65
|
+
"AC-2401-7"
|
|
66
|
+
],
|
|
67
|
+
"id": "TS-053",
|
|
68
|
+
"usId": "US-2401",
|
|
69
|
+
"title": "application-empty-error-states v1.0.0 shelf shape, probe pack cross-check and sample-app fixture"
|
|
70
|
+
}
|