rcf-lite 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/bin/rcf.js +13 -2
- package/blueprints/application-account-settings/docs/topics.md +2 -0
- package/blueprints/application-admin-console/docs/topics.md +2 -0
- package/blueprints/application-api-rest/docs/topics.md +2 -0
- package/blueprints/application-charts/docs/topics.md +2 -0
- package/blueprints/application-dashboard/docs/topics.md +2 -0
- package/blueprints/application-datatable/docs/topics.md +2 -0
- package/blueprints/application-empty-error-states/docs/topics.md +2 -0
- package/blueprints/application-error-handling/docs/topics.md +2 -0
- package/blueprints/application-file-upload/docs/topics.md +2 -0
- package/blueprints/application-forms-wizard/docs/topics.md +2 -0
- package/blueprints/application-notifications-in-app/docs/topics.md +2 -0
- package/blueprints/application-onboarding-tour/docs/topics.md +2 -0
- package/blueprints/application-spa/docs/topics.md +3 -1
- package/blueprints/delivery-ci-workflows/docs/topics.md +2 -0
- package/blueprints/deploy-cloudflare-workers/CHANGELOG.md +69 -0
- package/blueprints/deploy-cloudflare-workers/README.md +12 -0
- package/blueprints/deploy-cloudflare-workers/blueprint.json +234 -36
- package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json +30 -0
- package/blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs +207 -0
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +18 -0
- package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +18 -0
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +36 -0
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +27 -0
- package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +27 -0
- package/blueprints/deploy-cloudflare-workers/docs/topics.md +3 -1
- package/blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md +25 -0
- package/blueprints/email-smtp-resend/docs/topics.md +2 -0
- package/blueprints/jobs-background/CHANGELOG.md +16 -0
- package/blueprints/jobs-background/README.md +105 -0
- package/blueprints/jobs-background/blueprint.json +149 -0
- package/blueprints/jobs-background/contributions/adrs/adr-3101-jobs-background-model.json +27 -0
- package/blueprints/jobs-background/contributions/adrs/adr-3102-jobs-background-scheduler-mode.json +25 -0
- package/blueprints/jobs-background/contributions/adrs/adr-3103-jobs-background-requires-applied-capabilities.json +25 -0
- package/blueprints/jobs-background/contributions/adrs/adr-3104-jobs-background-timeout-floor.json +25 -0
- package/blueprints/jobs-background/contributions/probes/apply-time-override.mjs +95 -0
- package/blueprints/jobs-background/contributions/probes/apply-time-refusal.mjs +82 -0
- package/blueprints/jobs-background/contributions/probes/event-secrecy.mjs +69 -0
- package/blueprints/jobs-background/contributions/probes/fake-clock-cron.mjs +65 -0
- package/blueprints/jobs-background/contributions/probes/probe-utils.mjs +91 -0
- package/blueprints/jobs-background/contributions/probes/retry-and-fail.mjs +65 -0
- package/blueprints/jobs-background/contributions/probes/run-apply-time-override.mjs +10 -0
- package/blueprints/jobs-background/contributions/probes/run-apply-time-refusal.mjs +11 -0
- package/blueprints/jobs-background/contributions/probes/run-event-secrecy.mjs +11 -0
- package/blueprints/jobs-background/contributions/probes/run-fake-clock-cron.mjs +11 -0
- package/blueprints/jobs-background/contributions/probes/run-retry-and-fail.mjs +11 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +18 -0
- package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +18 -0
- package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +50 -0
- package/blueprints/jobs-background/contributions/tacs/tac-3102-jobs-background-scheduler.json +50 -0
- package/blueprints/jobs-background/contributions/tacs/tac-3103-jobs-background-run-log.json +49 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +25 -0
- package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +25 -0
- package/blueprints/jobs-background/docs/topics.md +62 -0
- package/blueprints/jobs-background/guide/jobs-background.md +147 -0
- package/blueprints/messaging-queue-cloudflare/CHANGELOG.md +15 -0
- package/blueprints/messaging-queue-cloudflare/README.md +125 -0
- package/blueprints/messaging-queue-cloudflare/blueprint.json +67 -0
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3001-messaging-queue-cloudflare-adapter.json +30 -0
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3002-messaging-queue-cloudflare-delivery-semantics.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3003-messaging-queue-cloudflare-max-attempts-floor.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3004-messaging-queue-cloudflare-batch-defaults.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/event-secrecy.mjs +137 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/probe-utils.mjs +82 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/producer-facade-ready.mjs +35 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/publish-to-delivery.mjs +94 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/real-account-concurrency-smoke.mjs +54 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/retry-and-dlq.mjs +87 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-event-secrecy.mjs +5 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-producer-facade-ready.mjs +11 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-publish-to-delivery.mjs +5 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-real-account-concurrency-smoke.mjs +5 -0
- package/blueprints/messaging-queue-cloudflare/contributions/probes/run-retry-and-dlq.mjs +5 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +18 -0
- package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3001-messaging-queue-cloudflare-producer-facade.json +56 -0
- package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3002-messaging-queue-cloudflare-consumer-registration.json +40 -0
- package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3003-messaging-queue-cloudflare-event-sink.json +39 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +34 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +34 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +25 -0
- package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +25 -0
- package/blueprints/messaging-queue-cloudflare/docs/topics.md +62 -0
- package/blueprints/messaging-queue-cloudflare/guide/messaging-queue-cloudflare.md +110 -0
- package/blueprints/object-storage-s3/docs/topics.md +2 -0
- package/blueprints/observability-essentials/docs/topics.md +2 -0
- package/blueprints/observability-logging/docs/topics.md +2 -0
- package/blueprints/observability-probe-endpoints/docs/topics.md +2 -0
- package/blueprints/persistence-data-d1/docs/topics.md +2 -0
- package/blueprints/persistence-data-postgres/docs/topics.md +2 -0
- package/blueprints/persistence-data-sqlite/docs/topics.md +2 -0
- package/blueprints/security-auth-clerk/docs/topics.md +2 -0
- package/blueprints/security-auth-keycloak/docs/topics.md +2 -0
- package/blueprints/security-auth-magic-link/docs/topics.md +2 -0
- package/blueprints/security-auth-oauth2/docs/topics.md +2 -0
- package/blueprints/security-secrets-management/docs/topics.md +2 -0
- package/fixtures/canary-manifest.json +6 -6
- package/package.json +1 -1
- package/rcf/code-nodes/cn-206.json +14 -0
- package/rcf/code-nodes/cn-207.json +13 -0
- package/rcf/code-nodes/cn-208.json +14 -0
- package/rcf/code-nodes/cn-209.json +14 -0
- package/rcf/code-nodes/cn-210.json +13 -0
- package/rcf/code-nodes/cn-211.json +12 -0
- package/rcf/code-nodes/cn-212.json +12 -0
- package/rcf/code-nodes/cn-213.json +12 -0
- package/rcf/code-nodes/cn-214.json +15 -0
- package/rcf/code-nodes/cn-215.json +13 -0
- package/rcf/code-nodes/cn-216.json +14 -0
- package/rcf/code-nodes/cn-217.json +13 -0
- package/rcf/fbs/fbs-062.json +20 -0
- package/rcf/fbs/fbs-063.json +22 -0
- package/rcf/fbs/fbs-064.json +23 -0
- package/rcf/requirements/req-029.json +57 -0
- package/rcf/requirements/req-030.json +67 -0
- package/rcf/requirements/req-042.json +59 -0
- package/rcf/requirements/req-043.json +39 -0
- package/rcf/test-suites/ts-072.json +62 -0
- package/rcf/test-suites/ts-073.json +38 -0
- package/rcf/test-suites/ts-074.json +30 -0
- package/rcf/test-suites/ts-075.json +38 -0
- package/rcf/test-suites/ts-076.json +70 -0
- package/rcf/user-stories/us-2901.json +45 -0
- package/rcf/user-stories/us-2902.json +36 -0
- package/rcf/user-stories/us-3001.json +45 -0
- package/rcf/user-stories/us-4201.json +69 -0
- package/rcf/user-stories/us-4301.json +78 -0
- package/releases/releases.yaml +11 -1
- package/src/blueprint/apply.js +7 -4
- package/src/blueprint/capabilities.js +25 -0
- package/src/cli/blueprint.js +8 -1
|
@@ -46,6 +46,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
46
46
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
47
47
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
48
48
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
49
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
50
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
49
51
|
|
|
50
52
|
US 28101-28108 sit at the LOW end of the 28101-28899 band on purpose (watchpost run-4 lesson). A project-side story mechanically derived from an object-storage-s3 REQ id into the number 28110 would collide against a shipped US-28110; band headroom (28109-28899) leaves that space.
|
|
51
53
|
|
|
@@ -62,6 +62,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
62
62
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
63
63
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
64
64
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
65
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
66
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
65
67
|
|
|
66
68
|
US 7101-7110 sit at the LOW end of the 7101-7899 band on purpose. A project-side story that mechanically derives from an observability-essentials REQs id into the number `7110` would collide against observability-essentials-US-7110 in this package; the band leaves headroom at the HIGH end (US 7181-7899) so a project's own stories anchored to observability-essentials REQs can allocate without conflict. The watchpost run4 lesson applies here too.
|
|
67
69
|
|
|
@@ -29,5 +29,7 @@
|
|
|
29
29
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
30
30
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
31
31
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
32
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
33
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
32
34
|
|
|
33
35
|
The shelf-wide band registry lives in `packages/rcf-lite/docs/blueprint-authoring.md` section 5.
|
|
@@ -52,6 +52,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
52
52
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
53
53
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
54
54
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
55
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
56
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
55
57
|
|
|
56
58
|
US 14101-14108 sit at the LOW end of the 14101-14899 band on purpose. A project-side story that mechanically derives from an observability-probe-endpoints REQ id into the number `14108` would collide against observability-probe-endpoints-US-14108 in this package; the band leaves headroom at the HIGH end (US 14181-14899) so a project's own stories anchored to observability-probe-endpoints REQs can allocate without conflict. The watchpost run4 lesson applies here too. Band spacing between the previous HQ-lane row (persistence-data-d1, 13101-13899, 14xx) and this one (14101-14899, 15xx) reflects the four-digit widening pattern opened by security-auth-clerk at 10xx and continued through the round-2 HQ lane.
|
|
57
59
|
|
|
@@ -50,6 +50,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
50
50
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
51
51
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
52
52
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
53
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
54
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
53
55
|
|
|
54
56
|
US 13101-13107 sit at the LOW end of the 13101-13899 band on purpose. A project-side story that mechanically derives from a persistence-data-d1 REQ id into the number `13107` would collide against persistence-data-d1-US-13107 in this package; the band leaves headroom at the HIGH end (US 13181-13899) so a project's own stories anchored to persistence-data-d1 REQs can allocate without conflict. The watchpost run4 lesson applies here too.
|
|
55
57
|
|
|
@@ -48,6 +48,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
48
48
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
49
49
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
50
50
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
51
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
52
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
51
53
|
|
|
52
54
|
US 27101-27110 sit at the LOW end of the 27101-27899 band on purpose (watchpost run-4 lesson). A project-side story mechanically derived from a persistence-data-postgres REQ id into the number 27110 would collide against the shipped US-27110; band headroom (27111-27899) leaves that space.
|
|
53
55
|
|
|
@@ -50,6 +50,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
50
50
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
51
51
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
52
52
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
53
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
54
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
53
55
|
|
|
54
56
|
US 5101-5111 sit at the LOW end of the 5101-5899 band on purpose. A project-side story that mechanically derives from `persistence-data-sqlite-REQ-011` into the number `5111` would collide against persistence-data-sqlite-US-5111 in this package; the band leaves headroom at the HIGH end (US 5181-5899) so a project's own stories anchored to persistence-data-sqlite REQs can allocate without conflict. The watchpost run4 lesson applies here too.
|
|
55
57
|
|
|
@@ -47,6 +47,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
47
47
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
48
48
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
49
49
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
50
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
51
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
50
52
|
|
|
51
53
|
US 9101-9110 sit at the LOW end of the 9101-9899 band on purpose. A project-side story that mechanically derives from a security-auth-clerk REQ id into the number `9110` would collide against security-auth-clerk-US-9110 in this package; the band leaves headroom at the HIGH end (US 9181-9899) so a project's own stories anchored to security-auth-clerk REQs can allocate without conflict. The watchpost run4 lesson applies here too.
|
|
52
54
|
|
|
@@ -58,6 +58,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
58
58
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
59
59
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
60
60
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
61
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
62
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
61
63
|
|
|
62
64
|
US 11101-11113 sit at the LOW end of the 11101-11899 band on purpose. A project-side story that mechanically derives from a security-auth-keycloak REQ id into the number `11113` would collide against security-auth-keycloak-US-11113 in this package; the band leaves headroom at the HIGH end (US 11181-11899) so a project's own stories anchored to security-auth-keycloak REQs can allocate without conflict. The watchpost run4 lesson applies here too.
|
|
63
65
|
|
|
@@ -47,6 +47,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
47
47
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
48
48
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
49
49
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
50
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
51
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
50
52
|
|
|
51
53
|
US 3101-3111 sit at the LOW end of the 3101-3899 band on purpose. A project-side story that mechanically derives from `security-auth-magic-link-REQ-011` into the number `3111` would collide against security-auth-magic-link-US-3111 in this package; the band leaves headroom at the HIGH end (US 3181-3899) so a project's own stories anchored to security-auth-magic-link REQs can allocate without conflict.
|
|
52
54
|
|
|
@@ -58,6 +58,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
58
58
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
59
59
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
60
60
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
61
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
62
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
61
63
|
|
|
62
64
|
US 10101-10111 sit at the LOW end of the 10101-10899 band on purpose. A project-side story that mechanically derives from a security-auth-oauth2 REQ id into the number `10111` would collide against security-auth-oauth2-US-10111 in this package; the band leaves headroom at the HIGH end (US 10181-10899) so a project's own stories anchored to security-auth-oauth2 REQs can allocate without conflict. The watchpost run4 lesson applies here too.
|
|
63
65
|
|
|
@@ -47,6 +47,8 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
|
|
|
47
47
|
| application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
|
|
48
48
|
| persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
|
|
49
49
|
| object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
|
|
50
|
+
| messaging-queue-cloudflare | 29101-29899 | 30xx | shipped v1.0.0 | `deliverySemantics` |
|
|
51
|
+
| jobs-background | 30101-30899 | 31xx | shipped v1.0.0 | `backgroundJobModel` |
|
|
50
52
|
|
|
51
53
|
US 8101-8110 sit at the LOW end of the 8101-8899 band on purpose. A project-side story that mechanically derives from a security-secrets-management REQ id into the number `8110` would collide against security-secrets-management-US-8110 in this package; the band leaves headroom at the HIGH end (US 8181-8899) so a project's own stories anchored to security-secrets-management REQs can allocate without conflict. The watchpost run4 lesson applies here too.
|
|
52
54
|
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"registerCanary": [
|
|
3
3
|
{
|
|
4
4
|
"id": "rc-2026-09-07-001",
|
|
5
|
-
"createdAt": "2026-09-
|
|
6
|
-
"buildVersion": "0.
|
|
5
|
+
"createdAt": "2026-09-07T11:12:00.498Z",
|
|
6
|
+
"buildVersion": "0.23.0-mockdriver",
|
|
7
7
|
"fixturePromptId": "canary-prompt-01",
|
|
8
8
|
"responseWordCount": 55,
|
|
9
9
|
"grades": {
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"id": "rc-2026-09-07-002",
|
|
38
|
-
"createdAt": "2026-09-
|
|
39
|
-
"buildVersion": "0.
|
|
38
|
+
"createdAt": "2026-09-07T11:12:00.499Z",
|
|
39
|
+
"buildVersion": "0.23.0-mockdriver",
|
|
40
40
|
"fixturePromptId": "canary-prompt-02",
|
|
41
41
|
"responseWordCount": 55,
|
|
42
42
|
"grades": {
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
"id": "rc-2026-09-07-003",
|
|
71
|
-
"createdAt": "2026-09-
|
|
72
|
-
"buildVersion": "0.
|
|
71
|
+
"createdAt": "2026-09-07T11:12:00.499Z",
|
|
72
|
+
"buildVersion": "0.23.0-mockdriver",
|
|
73
73
|
"fixturePromptId": "canary-prompt-03",
|
|
74
74
|
"responseWordCount": 55,
|
|
75
75
|
"grades": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rcf-lite",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "One-install tooling for the Requirements Confidence Framework (RCF): the unified `rcf` CLI grouped into the five RCF tool groups (discover, define, build, verify, audit) plus a small core set (init, doctor, guidance, mcp), an MCP server, the live tree viewer and the fresh-context adversarial ship-gate verifier. Consumes @stravica-ai/rcf-schemas.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-206",
|
|
3
|
+
"path": "../../blueprints/messaging-queue-cloudflare/blueprint.json",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-4201-1",
|
|
6
|
+
"AC-4201-2",
|
|
7
|
+
"AC-4201-3"
|
|
8
|
+
],
|
|
9
|
+
"dependencies": [],
|
|
10
|
+
"version": "0.1.0",
|
|
11
|
+
"status": "draft",
|
|
12
|
+
"createdAt": "2026-09-06T19:19:10.538Z",
|
|
13
|
+
"updatedAt": "2026-09-06T19:19:10.538Z"
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-207",
|
|
3
|
+
"path": "../../blueprints/messaging-queue-cloudflare/contributions/probes/producer-facade-ready.mjs",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-4201-4",
|
|
6
|
+
"AC-4201-5"
|
|
7
|
+
],
|
|
8
|
+
"dependencies": [],
|
|
9
|
+
"version": "0.1.0",
|
|
10
|
+
"status": "draft",
|
|
11
|
+
"createdAt": "2026-09-06T19:19:10.918Z",
|
|
12
|
+
"updatedAt": "2026-09-06T19:19:10.918Z"
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-208",
|
|
3
|
+
"path": "../../packages/rcf-lite/test/fixtures/infra-s3-and-queue/src/producer.mjs",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-4201-4",
|
|
6
|
+
"AC-4201-5",
|
|
7
|
+
"AC-4201-6"
|
|
8
|
+
],
|
|
9
|
+
"dependencies": [],
|
|
10
|
+
"version": "0.1.0",
|
|
11
|
+
"status": "draft",
|
|
12
|
+
"createdAt": "2026-09-06T19:19:11.278Z",
|
|
13
|
+
"updatedAt": "2026-09-06T19:19:11.278Z"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-209",
|
|
3
|
+
"path": "../../blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-2901-2",
|
|
6
|
+
"AC-2902-2",
|
|
7
|
+
"AC-3001-3"
|
|
8
|
+
],
|
|
9
|
+
"dependencies": [],
|
|
10
|
+
"version": "0.1.0",
|
|
11
|
+
"status": "draft",
|
|
12
|
+
"createdAt": "2026-09-07T09:13:02.458Z",
|
|
13
|
+
"updatedAt": "2026-09-07T09:13:02.458Z"
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-210",
|
|
3
|
+
"path": "../../blueprints/deploy-cloudflare-workers/blueprint.json",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-2901-1",
|
|
6
|
+
"AC-2902-1"
|
|
7
|
+
],
|
|
8
|
+
"dependencies": [],
|
|
9
|
+
"version": "0.1.0",
|
|
10
|
+
"status": "draft",
|
|
11
|
+
"createdAt": "2026-09-07T09:24:55.956Z",
|
|
12
|
+
"updatedAt": "2026-09-07T09:24:55.956Z"
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-211",
|
|
3
|
+
"path": "test/blueprint/deploy-cloudflare-workers-v-1-2-0-anatomy.test.js",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-2901-3"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-09-07T09:24:56.130Z",
|
|
11
|
+
"updatedAt": "2026-09-07T09:24:56.130Z"
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-212",
|
|
3
|
+
"path": "../../blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-3001-1"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-09-07T09:24:56.304Z",
|
|
11
|
+
"updatedAt": "2026-09-07T09:24:56.304Z"
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-213",
|
|
3
|
+
"path": "../../blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-3001-2"
|
|
6
|
+
],
|
|
7
|
+
"dependencies": [],
|
|
8
|
+
"version": "0.1.0",
|
|
9
|
+
"status": "draft",
|
|
10
|
+
"createdAt": "2026-09-07T09:24:56.479Z",
|
|
11
|
+
"updatedAt": "2026-09-07T09:24:56.479Z"
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-214",
|
|
3
|
+
"path": "../../blueprints/jobs-background/blueprint.json",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-4301-1",
|
|
6
|
+
"AC-4301-2",
|
|
7
|
+
"AC-4301-3",
|
|
8
|
+
"AC-4301-4"
|
|
9
|
+
],
|
|
10
|
+
"dependencies": [],
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"status": "draft",
|
|
13
|
+
"createdAt": "2026-09-07T10:16:40.294Z",
|
|
14
|
+
"updatedAt": "2026-09-07T10:16:40.294Z"
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-215",
|
|
3
|
+
"path": "../../blueprints/jobs-background/contributions/probes/apply-time-refusal.mjs",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-4301-2",
|
|
6
|
+
"AC-4301-5"
|
|
7
|
+
],
|
|
8
|
+
"dependencies": [],
|
|
9
|
+
"version": "0.1.0",
|
|
10
|
+
"status": "draft",
|
|
11
|
+
"createdAt": "2026-09-07T10:16:40.671Z",
|
|
12
|
+
"updatedAt": "2026-09-07T10:16:40.671Z"
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-216",
|
|
3
|
+
"path": "../../packages/rcf-lite/test/fixtures/infra-s3-and-queue/src/jobs-runtime.mjs",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-4301-5",
|
|
6
|
+
"AC-4301-6",
|
|
7
|
+
"AC-4301-7"
|
|
8
|
+
],
|
|
9
|
+
"dependencies": [],
|
|
10
|
+
"version": "0.1.0",
|
|
11
|
+
"status": "draft",
|
|
12
|
+
"createdAt": "2026-09-07T10:16:41.065Z",
|
|
13
|
+
"updatedAt": "2026-09-07T10:16:41.065Z"
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cnId": "CN-217",
|
|
3
|
+
"path": "../../packages/rcf-lite/src/blueprint/apply.js",
|
|
4
|
+
"implementsAcIds": [
|
|
5
|
+
"AC-4301-3",
|
|
6
|
+
"AC-4301-4"
|
|
7
|
+
],
|
|
8
|
+
"dependencies": [],
|
|
9
|
+
"version": "0.1.0",
|
|
10
|
+
"status": "draft",
|
|
11
|
+
"createdAt": "2026-09-07T10:16:41.456Z",
|
|
12
|
+
"updatedAt": "2026-09-07T10:16:41.456Z"
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T19:18:14.898Z",
|
|
3
|
+
"updatedAt": "2026-09-07T06:56:47.886Z",
|
|
4
|
+
"acIds": [
|
|
5
|
+
"AC-4201-1",
|
|
6
|
+
"AC-4201-2",
|
|
7
|
+
"AC-4201-3",
|
|
8
|
+
"AC-4201-4",
|
|
9
|
+
"AC-4201-5",
|
|
10
|
+
"AC-4201-6"
|
|
11
|
+
],
|
|
12
|
+
"fbsId": "FBS-062",
|
|
13
|
+
"prdId": "PRD-001",
|
|
14
|
+
"bsId": "BS-001",
|
|
15
|
+
"buildOrder": 50,
|
|
16
|
+
"executionStatus": "notStarted",
|
|
17
|
+
"title": "messaging-queue-cloudflare v1.0.0 blueprint on the shelf with six Node-only probes against wrangler dev plus one accountBound real-account concurrency smoke and a shared sample-app fixture (T-3 slice)",
|
|
18
|
+
"summary": "T-3 shelf-blueprint track of the ratified infra round 5 spec (2026-09-06, section 5.3) minted with dex reserved-block chain ids via --id (REQ-042 / US-4201 / TS-072 / FBS-062 / CN-206..208) after T-1 landed at 040/4001/070/060/200..202 and T-2 landed at 041/4101/071/061/203..205. Ships the messaging-queue-cloudflare v1.0.0 blueprint on the shelf with 21 contributions in the 6 REQ / 8 US 29101-29108 / 3 TAC 3001-3003 / 4 ADR 3001-3004 groups per spec section 5.3, six Node-only probes under blueprints/messaging-queue-cloudflare/contributions/probes/ (producer-facade-ready, publish-to-delivery, retry-and-dlq, event-secrecy, real-account-concurrency-smoke plus a shared probe-utils helper module) with matching run-shims writing per-blueprint reports at .rcf/reports/blueprints/messaging-queue-cloudflare/, and the T-3 slice of the shared sample-app fixture at packages/rcf-lite/test/fixtures/infra-s3-and-queue/. Four probes local-first (accountBound false); real-account-concurrency-smoke carries accountBound true and records accountBoundSkipped shape per spec section 3.5 without CI_HAS_CLOUDFLARE_ACCOUNT. Declares capabilities [queue], suggestedCompanions logging and errorHandling, providesRoles absent, requiresAppliedCapabilities absent (composes on deploy-cloudflare-workers transitively via the wrangler binding, not through the capability mechanism). Contributes ADR-3002 as scope:global on new topic deliverySemantics per spec section 5.3. Every ADR contribution entry carries standardsTraceClause per section 8a.2 (per HQ mid-flight ruling after PR #154 gate). Extends packages/rcf-lite/docs/blueprint-authoring.md section 6a table with a queue row naming the reserved messaging-queue-postgres sibling (Baz decision 7) per spec section 5.6; appends one shelf-registry row for messaging-queue-cloudflare at 29101-29899 / 30xx to every shipped blueprint docs/topics.md.",
|
|
19
|
+
"dependsOnFbsIds": []
|
|
20
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-07T09:12:10.596Z",
|
|
3
|
+
"updatedAt": "2026-09-07T09:12:58.000Z",
|
|
4
|
+
"acIds": [
|
|
5
|
+
"AC-2901-1",
|
|
6
|
+
"AC-2901-2",
|
|
7
|
+
"AC-2901-3",
|
|
8
|
+
"AC-2902-1",
|
|
9
|
+
"AC-2902-2",
|
|
10
|
+
"AC-3001-1",
|
|
11
|
+
"AC-3001-2",
|
|
12
|
+
"AC-3001-3"
|
|
13
|
+
],
|
|
14
|
+
"fbsId": "FBS-063",
|
|
15
|
+
"prdId": "PRD-001",
|
|
16
|
+
"bsId": "BS-001",
|
|
17
|
+
"buildOrder": 51,
|
|
18
|
+
"executionStatus": "notStarted",
|
|
19
|
+
"title": "T-0 deploy-cloudflare-workers v1.2.0 minor bump: seven-contribution additive delta on the shipped v1.1.0 blueprint, cf-platform shared sample-app fixture, assets-manifest-scan probe module, anatomy test suite",
|
|
20
|
+
"summary": "T-0 shelf-blueprint minor-bump track of the ratified Cloudflare round 6 spec (2026-09-06 section 5.0) minted with the HQ sequential chain-id block via --id (REQ-029 REQ-030 US-2901 US-2902 US-3001 TS-073 TS-074 TS-075 FBS-063 CN-209) after HQ round-4 T-5 landed at REQ-028 US-2801 TS-057 FBS-047 and Dex round-5 T-3 landed at REQ-042 US-4201 TS-072 FBS-062 CN-206..208 per HQ mid-flight ruling on repo-chain id blocks per train. Ships the deploy-cloudflare-workers v1.2.0 additive-minor delta on the shipped v1.1.0 blueprint (seven new contributions in the existing 12xx US band and 13xx suffix: 2 REQs REQ-013 and REQ-014; 3 USs US-12113 US-12114 US-12115; 1 ADR ADR-1306 with the verbatim Cloudflare Pages landing-page quote and standardsTraceClause Cloudflare Pages landing-page recommendation (2026-09-06); 1 probe module assets-manifest-scan.mjs with anchorAcId AC-12113-1 and accountBound false; 2 new elicits assets-directory string default empty and run-worker-first boolean default false, both on top-level elicits[]). Ships the cf-platform shared sample-app fixture at packages/rcf-lite/test/fixtures/cf-platform/ (wrangler.toml with [assets] directory = ./dist and run_worker_first = true, dist/index.html, src/index.mjs Worker entry, package.json declaring wrangler devDependency and wrangler dev start, run-assets-manifest-scan.mjs shim, README with the two induced-failure switches SIMULATE_MIXED_SHAPE and SIMULATE_EMPTY_ASSETS documented). Adds one anatomy test file at packages/rcf-lite/test/blueprint/deploy-cloudflare-workers-v-1-2-0-anatomy.test.js covering the 8 TCs on TS-073 TS-074 TS-075 (blueprint shape, probe contract and scan-pass, chain-slice cross-check, elicits shape, fixture files, ADR body and clause, guide section and URLs, three-state probed verdicts). Updates the blueprint README.md with a v1.2.0 delta section, ships a new blueprint CHANGELOG.md with the v1.2.0 entry, adds the guide section titled Workers-with-static-assets: the SPA-on-Workers shape linking the Cloudflare migrate-from-Pages guide and citing the static-assets docs page, bumps the deploy-cloudflare-workers row on blueprints/deploy-cloudflare-workers/docs/topics.md and on blueprints/application-spa/docs/topics.md from shipped v1.0.0 to shipped v1.2.0. Existing v1.1.0 contributions carry through unchanged; no capability minted; no new global topic; no runtime dependency added; the section 6a capability table under packages/rcf-lite/docs/blueprint-authoring.md is NOT touched (T-1 through T-6 own that). The loader's supported when block only accepts requiresCapability arrays, so the spec's intended when-elicitedNonEmpty predicate on run-worker-first is NOT shipped and is named under CONCERNS on the PR.",
|
|
21
|
+
"dependsOnFbsIds": []
|
|
22
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-07T10:16:11.359Z",
|
|
3
|
+
"updatedAt": "2026-09-07T10:17:10.379Z",
|
|
4
|
+
"acIds": [
|
|
5
|
+
"AC-4301-1",
|
|
6
|
+
"AC-4301-2",
|
|
7
|
+
"AC-4301-3",
|
|
8
|
+
"AC-4301-4",
|
|
9
|
+
"AC-4301-5",
|
|
10
|
+
"AC-4301-6",
|
|
11
|
+
"AC-4301-7"
|
|
12
|
+
],
|
|
13
|
+
"fbsId": "FBS-064",
|
|
14
|
+
"prdId": "PRD-001",
|
|
15
|
+
"bsId": "BS-001",
|
|
16
|
+
"buildOrder": 52,
|
|
17
|
+
"executionStatus": "notStarted",
|
|
18
|
+
"title": "jobs-background v1.0.0 blueprint on the shelf with five Node-only probes wired to the T-3 in-memory queue seam, a shared sample-app fixture extension carrying two toy jobs plus jobs-runtime plus scheduler, plus the CLI --allow-no-queue-yet flag and the queue-family sidecar-notes derivation on the T-5 mechanism (T-4 slice, post-#164 re-mint)",
|
|
19
|
+
"summary": "T-4 shelf-blueprint track of the ratified infra round 5 spec (2026-09-06, section 5.4) re-minted with next-free ids after HQ round-6 T-0 PR #164 landed and consumed our original block (TS-073 / FBS-063 / CN-209..212). New chain: REQ-043 / US-4301 (unchanged; did not collide) / TS-076 / FBS-064 / CN-214..217 all minted via rcf define create --id on origin/main 321371e. Ships the jobs-background v1.0.0 blueprint with 22 contributions in the 6 REQ / 9 US 30101-30109 / 3 TAC 3101-3103 / 4 ADR 3101-3104 groups per spec section 5.4, five Node-only probes under blueprints/jobs-background/contributions/probes/ (apply-time-refusal, apply-time-override, fake-clock-cron, retry-and-fail, event-secrecy) with matching run-shims writing per-blueprint reports at .rcf/reports/blueprints/jobs-background/, and the T-4 slice of the shared sample-app fixture extending packages/rcf-lite/test/fixtures/infra-s3-and-queue/ with a jobs/ directory and jobs-runtime plus scheduler modules on top of T-3's in-memory queue seam. All five probes local-first (accountBound false). Declares capabilities [backgroundJobs], suggestedCompanions logging and errorHandling, providesRoles absent, requiresAppliedCapabilities {capabilities:[queue],allowSkipFlag:allow-no-queue-yet,refusalMessageId:jobs-background-no-queue} per Baz decision 5. Contributes ADR-3101 as scope:global on new topic backgroundJobModel per spec section 5.4. Every ADR contribution entry carries standardsTraceClause per section 8a.2.",
|
|
20
|
+
"dependsOnFbsIds": [
|
|
21
|
+
"FBS-062"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-07T09:09:31.207Z",
|
|
3
|
+
"updatedAt": "2026-09-07T09:09:31.236Z",
|
|
4
|
+
"description": "T-0 track of the ratified Cloudflare round 6 spec (2026-09-06 section 5.0). The rcf-lite shelf bumps the deploy-cloudflare-workers blueprint from v1.1.0 to v1.2.0 with an additive-minor delta that blesses the Workers-with-static-assets shape as the SPA-on-Workers deploy shape. The blueprint gains two new REQ contributions (deploy-cloudflare-workers-REQ-013 for the Workers-with-static-assets shape and deploy-cloudflare-workers-REQ-014 for the SPA fallback discipline via run_worker_first), three new US contributions in the existing 12xx band (deploy-cloudflare-workers-US-12113 SPA-on-Workers deploy; deploy-cloudflare-workers-US-12114 assets-directory elicitation; deploy-cloudflare-workers-US-12115 migrate-from-Pages guidance), one new ADR contribution (ADR-1306-deploy-cloudflare-workers-spa-shape carrying the verbatim Cloudflare Pages landing-page recommendation, standardsTraceClause Cloudflare Pages landing-page recommendation 2026-09-06, recommendedDefault true), one new source-tree scan probe module (assets-manifest-scan.mjs, accountBound false, anchorAcId matching the assetsBlockEmitted AC) that parses the applied fixture wrangler.toml and asserts the [assets] block presence, the run_worker_first presence and absence of any Pages-only pages_build_output_dir field, and two new elicited parameters on blueprint.json elicits[] (assets-directory kind string default empty for the bare-Worker shape; run-worker-first kind boolean default false). The shipped v1.1.0 contribution set (REQs 001 through 012, USs 12101 through 12112, TACs 1301 through 1306, ADRs 1301 through 1305, deploymentTarget global topic, suggestedCompanions logging and errorHandling) carries through unchanged. No capability minted, no new global topic, no runtime dependency added. Ships packages/rcf-lite/test/fixtures/cf-platform/ as the shared sample-app fixture that T-1 through T-3 and T-5 extend. HQ sequential chain-id block: REQ-029 / US-2901 / US-2902 / TS-073 / TS-074 / FBS-063 / CN-209 minted via --id after HQ round-4 T-5 landed at REQ-028 and Dex round-5 T-3 landed at REQ-042 per HQ mid-flight ruling on repo-chain id blocks per train.",
|
|
5
|
+
"category": "functional",
|
|
6
|
+
"domain": "deploy",
|
|
7
|
+
"priority": "must",
|
|
8
|
+
"reqId": "REQ-029",
|
|
9
|
+
"prdId": "PRD-001",
|
|
10
|
+
"title": "The rcf-lite shelf bumps the deploy-cloudflare-workers blueprint from v1.1.0 to v1.2.0 with an additive-minor delta that blesses the Workers-with-static-assets shape and ships the cf-platform shared sample-app fixture",
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"status": "draft",
|
|
13
|
+
"shapeClassification": {
|
|
14
|
+
"shapes": [
|
|
15
|
+
"webUi"
|
|
16
|
+
],
|
|
17
|
+
"reason": "keyword-scan",
|
|
18
|
+
"classifiedAt": "2026-09-07T09:09:31.235Z",
|
|
19
|
+
"signals": [
|
|
20
|
+
{
|
|
21
|
+
"source": "description",
|
|
22
|
+
"shape": "webUi",
|
|
23
|
+
"match": "Page"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"source": "description",
|
|
27
|
+
"shape": "webUi",
|
|
28
|
+
"match": "Page"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"source": "description",
|
|
32
|
+
"shape": "webUi",
|
|
33
|
+
"match": "page"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"source": "description",
|
|
37
|
+
"shape": "webUi",
|
|
38
|
+
"match": "Page"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"source": "description",
|
|
42
|
+
"shape": "webUi",
|
|
43
|
+
"match": "page"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"source": "description",
|
|
47
|
+
"shape": "webUi",
|
|
48
|
+
"match": "Page"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"source": "description",
|
|
52
|
+
"shape": "webUi",
|
|
53
|
+
"match": "page"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-07T09:09:31.409Z",
|
|
3
|
+
"updatedAt": "2026-09-07T09:09:31.438Z",
|
|
4
|
+
"description": "T-0 SPA fallback discipline half of the Cloudflare round 6 T-0 delta (2026-09-06 section 5.0). The blueprint gains one new REQ contribution (deploy-cloudflare-workers-REQ-014 SPA fallback discipline via elicited run_worker_first: when true, the Worker script runs before asset lookup for arbitrary routing; when false or unanswered, static asset lookup runs first and the Worker handles only unmatched paths), one new US contribution (deploy-cloudflare-workers-US-12115 migrate-from-Pages guidance in the guide section) that links the Cloudflare migrate-from-Pages guide from the ADR-1306 verbatim landing-page quote, one new elicit (run-worker-first kind boolean default false; the spec's intended when-predicate {elicitedNonEmpty: [assets-directory]} is NOT shipped this round because the loader's supported when block only accepts requiresCapability arrays per src/blueprint/loader.js validateElicits, and the elicit fires unconditionally with the guide teaching that a non-empty assets-directory is what makes run_worker_first meaningful; the loader extension is captured under CONCERNS on the PR, not blocking T-0). The T-0 probe module assets-manifest-scan.mjs anchors AC-2902-1 (the spaFallbackShape canonical AC) via a Node-only source-tree scan of the applied fixture wrangler.toml. The one new ADR ADR-1306-deploy-cloudflare-workers-spa-shape carries the verbatim Cloudflare Pages landing-page quote (Workers supports most Pages use cases and offers a broader feature set. It is Cloudflare's primary platform for building applications. Start new projects with Workers.), standardsTraceClause Cloudflare Pages landing-page recommendation 2026-09-06, recommendedDefault true. HQ sequential chain-id block: REQ-030 / US-3001 / TS-075 minted via --id.",
|
|
5
|
+
"category": "functional",
|
|
6
|
+
"domain": "deploy",
|
|
7
|
+
"priority": "must",
|
|
8
|
+
"reqId": "REQ-030",
|
|
9
|
+
"prdId": "PRD-001",
|
|
10
|
+
"title": "T-0 SPA fallback discipline via run_worker_first elicit and migrate-from-Pages guidance on deploy-cloudflare-workers v1.2.0",
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"status": "draft",
|
|
13
|
+
"shapeClassification": {
|
|
14
|
+
"shapes": [
|
|
15
|
+
"webUi"
|
|
16
|
+
],
|
|
17
|
+
"reason": "keyword-scan",
|
|
18
|
+
"classifiedAt": "2026-09-07T09:09:31.437Z",
|
|
19
|
+
"signals": [
|
|
20
|
+
{
|
|
21
|
+
"source": "title",
|
|
22
|
+
"shape": "webUi",
|
|
23
|
+
"match": "Page"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"source": "description",
|
|
27
|
+
"shape": "webUi",
|
|
28
|
+
"match": "Page"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"source": "description",
|
|
32
|
+
"shape": "webUi",
|
|
33
|
+
"match": "Page"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"source": "description",
|
|
37
|
+
"shape": "webUi",
|
|
38
|
+
"match": "page"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"source": "description",
|
|
42
|
+
"shape": "webUi",
|
|
43
|
+
"match": "Page"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"source": "description",
|
|
47
|
+
"shape": "webUi",
|
|
48
|
+
"match": "page"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"source": "description",
|
|
52
|
+
"shape": "webUi",
|
|
53
|
+
"match": "Page"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"source": "description",
|
|
57
|
+
"shape": "webUi",
|
|
58
|
+
"match": "Page"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"source": "description",
|
|
62
|
+
"shape": "webUi",
|
|
63
|
+
"match": "page"
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createdAt": "2026-09-06T19:16:55.365Z",
|
|
3
|
+
"updatedAt": "2026-09-06T19:16:55.402Z",
|
|
4
|
+
"category": "functional",
|
|
5
|
+
"domain": "application",
|
|
6
|
+
"priority": "must",
|
|
7
|
+
"description": "The rcf-lite shelf ships the messaging-queue-cloudflare v1.0.0 blueprint (blueprints/messaging-queue-cloudflare/) with 20 to 24 contributions per the ratified infra round 5 spec section 5.3: 6 REQs (producer facade sole-reader of the Queues binding with producerReady on boot; publish/consume/ack with stable message-id and producer-supplied trace-id; retry contract; DLQ contract with default max-attempts 3 and 4-day retention per Cloudflare Queues dead-letter documentation; batch consume bounded by Cloudflare max 100 messages and max 60 seconds per Cloudflare Queues platform limits; four lifecycle events with metadata-only fields), 8 USs 29101-29108 binding runtime-observable ACs, 3 TACs (3001 producer facade, 3002 consumer registration on the Worker queue handler, 3003 event sink), 4 ADRs (3001 adapter Cloudflare Queues shipped first adapter, 3002 deliverySemantics scope global at-least-once, 3003 max-attempts default 3 floor 1 ceiling 100, 3004 batch size default 10 batch timeout default 5 seconds). The blueprint declares suggestedCompanions logging and errorHandling with spec section 5.3 reasons, providesRoles absent, capabilities [queue], requiresAppliedCapabilities absent (composes on deploy-cloudflare-workers transitively via the wrangler binding, not through the capability mechanism). Contributes ADR-3002 as scope:global on new topic deliverySemantics with at-least-once as the shipped shape so future exactly-once or at-most-once siblings conflict here by design. Ships six probe modules under blueprints/messaging-queue-cloudflare/contributions/probes/ each exporting the spec section 3.2 verdict envelope with an anchorAcId matching a contributed AC id, and matching run-shims writing per-blueprint reports at .rcf/reports/blueprints/messaging-queue-cloudflare/. Four probes local-first (accountBound false); real-account-concurrency-smoke carries accountBound true and records the accountBoundSkipped shape per spec section 3.5 without CI_HAS_CLOUDFLARE_ACCOUNT. Ships the T-3 side of the shared sample-app fixture at packages/rcf-lite/test/fixtures/infra-s3-and-queue/ with a wrangler.toml declaring a Cloudflare Worker with queue binding RCF_TEST_QUEUE and DLQ binding RCF_TEST_DLQ, an in-memory queue driver enabling Node-only probes without live Cloudflare Queues, producer and consumer modules realising the facade contract, three wired induced-failure switches (SIMULATE_CONSUMER_RETRY, SIMULATE_DLQ_OVERFLOW, SIMULATE_PII_IN_BODY), and a README extension naming the wrangler dev boot line and the elicited parameters. Extends packages/rcf-lite/docs/blueprint-authoring.md section 6a capability-declaration table with one row for queue naming the reserved messaging-queue-postgres sibling per Baz decision 7 and spec section 5.6. Appends one row for messaging-queue-cloudflare at US band 29101-29899 / ADR-TAC suffix block 30xx to the shelf-wide id-band registry table under docs/topics.md on every shipped blueprint. Minted with dex reserved-block chain ids via --id per HQ mid-flight ruling on repo-chain id blocks per train. Miniflare Queues sub-page is NOT cited (spec confirmed 404); the Cloudflare Queues local-development page is the citation for the wrangler dev seam.",
|
|
8
|
+
"reqId": "REQ-042",
|
|
9
|
+
"prdId": "PRD-001",
|
|
10
|
+
"title": "Messaging-queue-cloudflare v1.0.0 blueprint on the shelf",
|
|
11
|
+
"version": "0.1.0",
|
|
12
|
+
"status": "draft",
|
|
13
|
+
"shapeClassification": {
|
|
14
|
+
"shapes": [
|
|
15
|
+
"webUi",
|
|
16
|
+
"httpApi",
|
|
17
|
+
"persistence"
|
|
18
|
+
],
|
|
19
|
+
"reason": "keyword-scan",
|
|
20
|
+
"classifiedAt": "2026-09-06T19:16:55.400Z",
|
|
21
|
+
"signals": [
|
|
22
|
+
{
|
|
23
|
+
"source": "description",
|
|
24
|
+
"shape": "webUi",
|
|
25
|
+
"match": "table"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"source": "description",
|
|
29
|
+
"shape": "persistence",
|
|
30
|
+
"match": "table"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"source": "description",
|
|
34
|
+
"shape": "httpApi",
|
|
35
|
+
"match": "post"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"source": "description",
|
|
39
|
+
"shape": "webUi",
|
|
40
|
+
"match": "table"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"source": "description",
|
|
44
|
+
"shape": "persistence",
|
|
45
|
+
"match": "table"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"source": "description",
|
|
49
|
+
"shape": "webUi",
|
|
50
|
+
"match": "page"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"source": "description",
|
|
54
|
+
"shape": "webUi",
|
|
55
|
+
"match": "page"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
}
|