@afokapu/atdd-bun 0.3.1 → 0.4.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.
Files changed (41) hide show
  1. package/PLANNER_PORT.md +1 -1
  2. package/README.md +56 -1
  3. package/conventions/planner.docs/planner.docs.journey-view-current.convention.yaml +53 -0
  4. package/detectors/planner_docs_capability/atdd.implementation.yaml +2 -0
  5. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/index.adoc +170 -0
  6. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/svg/journey-buy.svg +61 -0
  7. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/svg/path-buy-nominal.svg +81 -0
  8. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/svg/train-orders-archive-order.svg +13 -0
  9. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/svg/train-orders-place-order.svg +31 -0
  10. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/svg/train-orders-reject-empty-cart.svg +22 -0
  11. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/svg/train-orders-retry-payment.svg +22 -0
  12. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/svg/train-orders-ship-order.svg +35 -0
  13. package/detectors/planner_docs_capability/fixtures/clean/docs/purpose/journeys/svg/train-orders-take-payment.svg +27 -0
  14. package/detectors/planner_docs_capability/fixtures/clean/plan/_journeys/buy.yaml +24 -0
  15. package/detectors/planner_docs_capability/fixtures/clean/plan/_themes.yaml +3 -0
  16. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/_interlockings/checkout.yaml +43 -0
  17. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/_interlockings/fulfilment.yaml +33 -0
  18. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/_interlockings/payment.yaml +43 -0
  19. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/_interlockings/returns.yaml +33 -0
  20. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/orders/archive-order.yaml +11 -0
  21. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/orders/place-order.yaml +21 -0
  22. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/orders/reject-empty-cart.yaml +16 -0
  23. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/orders/retry-payment.yaml +16 -0
  24. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/orders/ship-order.yaml +21 -0
  25. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/orders/take-payment.yaml +21 -0
  26. package/detectors/planner_docs_capability/fixtures/clean/plan/_trains/orders/unrouted-refund.yaml +11 -0
  27. package/detectors/planner_docs_capability/fixtures/dirty_journey_view/docs/index.adoc +3 -0
  28. package/detectors/planner_docs_capability/fixtures/dirty_journey_view/plan/_trains/_interlockings/fulfilment.yaml +33 -0
  29. package/detectors/planner_static_validators/atdd.implementation.yaml +2 -0
  30. package/detectors/planner_static_validators/fixtures/dirty/plan/_trains/_interlockings/uncomposed.yaml +4 -0
  31. package/integrity.json +40 -11
  32. package/package.json +3 -2
  33. package/planner-nodes/ENFORCEMENT_SCOPE.yaml +7 -1
  34. package/planner-nodes/nodes/planner.journey.interlocking-composed.convention.yaml +43 -0
  35. package/relationships.yaml +4514 -0
  36. package/src/cli.ts +9 -0
  37. package/src/docs-capability.ts +10 -1
  38. package/src/hooks.ts +1 -1
  39. package/src/index.ts +2 -0
  40. package/src/journey-docs.ts +355 -0
  41. package/src/planner-validators.ts +29 -0
@@ -0,0 +1,43 @@
1
+ schema_version: 1.0.0
2
+ rule_id: planner.journey.interlocking-composed
3
+ kind: constraint
4
+ status: active
5
+ name: Every interlocking is composed into a journey
6
+ statement: >-
7
+ A plan that declares interlockings must declare at least one journey, and every interlocking must be
8
+ reached by a journey: either as a journey's entrypoint interlocking or as the destination of a
9
+ continuation reachable from that entrypoint. An interlocking no journey reaches is a routing decision
10
+ with no stated trigger and no stated place in the product flow.
11
+ rationale: >-
12
+ planner.journey.continuation-closure validates the journeys a plan declares, so a plan that declares
13
+ none, or leaves some interlockings outside every journey, passes it vacuously. The journey is where
14
+ the plan says what starts a routing decision and what happens after its train completes; without
15
+ this rule a decomposition can stop at interlockings and look complete while the end-to-end flow was
16
+ never decided.
17
+ terms:
18
+ - term_id: composed_interlocking
19
+ text: >-
20
+ an interlocking that is the entrypoint of at least one journey, or the destination of a
21
+ continuation reachable from a journey's entrypoint.
22
+ - term_id: vacuous_topology
23
+ text: >-
24
+ a plan with interlockings and no journey. Every interlocking is reported, because none of them is
25
+ composed.
26
+ implementation:
27
+ type: validator
28
+ ref: planner.static.validators.bun::journeyCompositionFindings
29
+ metadata:
30
+ severity: 4
31
+ disposition: strict
32
+ introduced_in: 0.4.0
33
+ validation:
34
+ family: closure
35
+ template: graph_route_space_closure
36
+ variant: planner_journey_composition
37
+ phase: CONFIRM
38
+ enforcement: confirm-blocking
39
+ subject_kind: interlocking
40
+ failure_evidence:
41
+ - interlocking_id
42
+ - journey_count
43
+ - reason