Atlas: Orders with Lifecycle
Executive summary
Section titled “Executive summary”Snapshot: 2026-08-24. The full implementation stack is in review: twelve stacked
pull requests — the pilot pair, the eight Phase-2 increments, and the two Phase-3
increments — rebased onto operations main 8.4.1. Nine are marked ready for review
(reviewers: nail60, mprobber, denisa); three are deliberate drafts (the reconstituted
H1 hardening #271 and both Phase-3
increments). Phase 2’s backward-compatibility campaign is closed: API equality 32/32
and UI regression 10/10 against the 8.4.0 baseline on real dev, with the verdict and
evidence recorded on the Phase-2 umbrella ticket
PDEV-1117; dev was restored to 8.4.0
afterwards. Next: the reviewer pass, then the bottom-up merge cascade starting at
#220.
Details live in the linked sections: Recent milestones · Phases at a glance · The PR stack · Increment traceability · Decisions and where they landed.
This page is the map of the Orders v2 effort: from any starting point — a ticket, a pull request, a decision — you can reach everything related to it. New to the project? Read Goal, then Design, then come back here to find the work in flight. The companion views at the bottom offer an interactive navigator and a question-answering notebook generated from the same map.
Recent milestones
Section titled “Recent milestones”Dated, most recent first; each entry links to its record. This section absorbs the running narrative so the executive summary stays bounded.
- 2026-08-24 — The stack went to review. Cascade rebase onto
main8.4.1 (a CI-only delta; chain integrity verified commit-for-commit), nine PRs un-drafted with reviewers assigned, api-test sanity green across the ready set. - 2026-08-22/23 — Backward-compatibility campaign executed and closed. On real
dev: snapshot → authoritative 8.4.0 baseline (32/32) → Phase-2 deploy → equality 32/32, every pin matched → UI regression 10/10 (full card trip live) → manual regression →devrestored to 8.4.0 with full-count verification. Verdict on PDEV-1117. - 2026-08-21 — Phase-2 packaged for dev. Third rebase sweep onto
main8.4.0 (byte-identical content), common-module 16.1.1 adopted at the stack tip. - 2026-08-20/21 — Phase-3 increments built and audited as drafts: #288 (CardCycle occurrence spine) and #291 (reason-precise guards, lifecycle config, wire cutover, and the delete precondition).
- 2026-08-19 — Main-adoption round. The stack re-authored fresh-start onto the
queued-CI/CD
mainand common-module 16.0.0; the round surfaced and fixed two pre-existing bugs the old schema collision had masked (receipt-redelivery idempotency; stale station fixtures). - 2026-08-14 — DEC-03 amended (F9b). Received quantity is financially binding at close: delivery revocations reverse the accrual; post-close reversals refuse and alarm. The amendment text rides documentation #160, the Phase-2 documentation-consolidation PR.
Phases at a glance
Section titled “Phases at a glance”The effort runs in phases under a single specification root. Phase 0+1 piloted the occurrence-log primitives on DemandItem; Phase 2 builds the net-new order module on that foundation; Phase 3 cuts the kanban lifecycle over to the same anatomy.
| Phase | Umbrella ticket | Status | Scope |
|---|---|---|---|
| Specification root | PDEV-469 | In Progress | Order V2 specification — parent of the whole effort |
| Phase 0+1 — DemandItem pilot | PDEV-947, PDEV-1110 | In Review | Occurrence-log primitives in common-module, the complete demand module + inventory peer in operations (the DT-019 “pilot carries the primitives” ruling) |
| Phase 2 — Orders replacement | PDEV-1117 | In Review (all increments; exit report posted) | Net-new procurement/order module on the DT-018 design; the single consolidated umbrella (PDEV-1132 dissolved 2026-08-14); frontend track PDEV-1133 |
| Phase 3 — Kanban lifecycle cutover | Leaf tickets PDEV-1696–PDEV-1700; frontend PDEV-1695 | In Progress (two increments built, drafts) | CardCycle occurrence spine + reason-precise guards and lifecycle config on the kanban side, per the DT-026 decomposition. Phase-3 project documentation follows the Phase-2 consolidation |
The PR stack
Section titled “The PR stack”The open work is a single stacked chain in operations: each PR’s base branch is the PR
below it, so the chain merges bottom-up starting at #220. As of 2026-08-24 the chain is
rebased onto main 8.4.1; nine PRs are ready for review and three are drafts — the
reconstituted H1 hardening (#271, which sits inside the chain between T0 and I4 and
replaces the merged-then-evaporated #229) and both Phase-3 increments (#288, #291). The
merged pilot increments are the foundation the stack sits on; the service-layer
conventions ruled during the #220 review were merged into the
Kotlin Coding Standards via
documentation PR #141
(2026-07-28) and are applied across all stack PRs.
Increment traceability
Section titled “Increment traceability”One row per increment. Design anchors name the decisions the increment implements —
DEC-NN from Decisions, fork (F-n) and option (O-n) rulings from
the DT-018 design record.
| Increment | Ticket | PR | Status | Design anchors |
|---|---|---|---|---|
| Pilot I1 — occurrence-store spike | PDEV-1110 | operations#217 | Merged (verdict GREEN) | Go/no-go on constraint threading |
| Pilot I2 — common-module enablers | PDEV-1110 | common-module#203 | Merged (13.1.0 published) | GeneralizedQuantity algebra, typed guard-failure channel |
| Pilot I3 — demand skeleton + single-log kinds | PDEV-1110 | operations#218, operations#219 | Merged | The 3-layer module contract (phase01 plan) |
| Pilot I4 — demand sagas + inventory module | PDEV-947 | operations#220 | In review (chain base) | Cross-module sagas, R7 listener; source of the r2 convention rulings |
| Pilot I5 — law probes + phase exit | PDEV-947 | operations#222 | In review | Phase-exit criteria of PDEV-1110; closes PDEV-947 |
| P2-I1 — order module skeleton + SupplierBinding | PDEV-1134 | operations#224 | In review | DEC-04/DEC-05, F8/O6 (SupplierBinding) |
| P2-I2 — OrderLine + item pin + attach | PDEV-1135 | operations#225 | In review | F6 (card-less lines); server-derived item pin (PDEV-1418 amendment) |
| P2-I3 — submit saga + settle + acknowledgment | PDEV-1136 | operations#227 | In review | DEC-01/DEC-02/DEC-05, O2 (submit choreography) |
| P2-T0 — API-test baseline | PDEV-1160 | operations#228 | In review | Traceability catch-up on the api-tests infrastructure |
| P2-H1 — transaction hardening | PDEV-1166 | operations#229 (merged), reconstituted in-chain as operations#271 | #229 merged 2026-07-20; #271 draft | Commit-side envelopes, unique committed-successor fork guard on five tables, F1 refusal rows |
| P2-I4 — receipt edge, both directions | PDEV-1137 | operations#231 | In review | DEC-03 as amended (F9/F9b: accrual + reversal; after-close refuses and alarms); delivery-id idempotency |
| P2-IQ — demand station-validation | PDEV-1139 | operations#273 | In review | DT-021 V1 station placeholder (tenant-validated, cheapest-first guard ordering) |
| P2-I5 — law probes + legacy retirement (closer) | PDEV-1138 | operations#275 | In review (chain top of Phase 2) | Phase-2 exit; receipts self-heal (C6); legacy procurement/orders retirement; ui-compat api-test category |
| P3-I1 — CardCycle spine | PDEV-1696 | operations#288 | Draft (built, audited) | Kanban cycle occurrence log + same-transaction status projection + mid-trip backfill |
| P3-I2 — guards, config, wire | PDEV-1697 | operations#291 | Draft (built, audited) | Twelve reason-precise guards; composite refusal envelope; five-active LifecycleConfig (READY ruling); delete precondition |
| P2-U1 — order-queue screen + queue-add composite | PDEV-1140 | — | Queued, on hold | DT-021 (three-arm BFF composite, auto-release at attach) |
| P2-U2 — order composition + supplier binding UI | PDEV-1141 | — | Queued, on hold | DEC-04 surfaced in UI |
| P2-U3 — legacy PO-sheet retirement | PDEV-1142 | — | Queued, on hold | Zero-data-migration stance (client-side sheet) |
Decisions and where they landed
Section titled “Decisions and where they landed”Product and design decisions, the document that records each, and the increments that implement them.
| Decision | Recorded in | Implemented by |
|---|---|---|
| DEC-01 — Holds on demand live order-side | Decisions | Submit/settle in operations#227; hold-dies-with-the-order on cancel |
| DEC-02 — Cancel is draft-only (O4: post-submit cancel parked) | Decisions | Order lifecycle in operations#224/#227 |
| DEC-03 — Received amounts accrue; open amounts are computed (F9). Amended 2026-08-14 (F9b): received quantity is financially binding at close — revocations reverse the accrual; post-close reversals refuse and alarm | Decisions; amendment text riding documentation#160 | operations#231 (both directions); recovery floor (receipts self-heal) in #275 |
| DEC-04 — The supplier freezes at submission (F8/O6) | Decisions | SupplierBinding in operations#224; freeze at submit in #227; pre-submit vendor cascade in #275 |
| DEC-05 — Four stored states, two computed views | Decisions | Order-subject kinds in operations#224; derived readings in #227 |
| DT-021 — “Add to Order Queue” is the demand signal (decided 2026-07-09) | Working design record (see below) | Station validation shipped in operations#273; PDEV-1140 composite queued |
| H1 rulings — envelopes, fork guard, F1 refusal capture | PDEV-1166 | operations#229 merged; reconstituted in-chain as #271 |
| Service-layer conventions (the #220 r2 rulings) | Kotlin Coding Standards (documentation#141, merged 2026-07-28) | All stack PRs (conventions pass completed 2026-07) |
| Stance: the orders module is an expendable prototype; domain cohesion over transactional guarantees | PDEV-1117 | Binding on all Phase-2 implementation |
Design sources
Section titled “Design sources”- This project directory — Goal, Design, Decisions: the reviewed design in plain language. Start here.
- Working design record (workbooks) — the formal DT-018 record with the Alloy-verified model and all fork/option rulings lives in Miguel’s working repository, not on this site:
workbooks/notebooks/domain-ontology/design-topics/dt-018-purchase-order/(alsodt-020-receiving/,dt-021-demand-collation-caller-policy.md) anddesign/procurement/order/(model, verification, law cards). Ask Miguel for access; the decisions themselves are summarized in Decisions and the tables above. - Conventions — Kotlin Coding Standards, extended with the service-layer architecture conventions in documentation#141.
- Module reference this project delivers — Orders module.
Related and parked
Section titled “Related and parked”Deliberately outside the current scope, with the reason the boundary sits where it does:
- PDEV-1167 — Bitemporal coordinate ties, platform closure. Platform-wide follow-up; parked so Phase 2 does not carry a platform change.
- PDEV-1116 — Audit async actors for spurious REFUSED-row pollution. Adjacent audit, not a Phase-2 deliverable.
- PDEV-517 — Kit orders. An F10 extension: a named seam, parked at the design boundary.
- F4 amendment protocol and O4 post-submit cancel — parked until designed against concrete requirements (see PDEV-1117).
Companion views
Section titled “Companion views”Generated navigation aids derived from this atlas. They are conveniences — this page is canonical; regenerate them when the map changes.
- Interactive navigator (Claude Artifact) — filterable ticket/PR table and the merge chain; private until shared from the artifact’s share menu.
- NotebookLM notebook (Arda — Orders v2) — ask-anything access over the design documents and this map; Google account required.
Copyright: © Arda Systems 2025-2026, All rights reserved