dxcomplete 0.1.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 (121) hide show
  1. package/.env.example +11 -0
  2. package/README.md +215 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +212 -0
  5. package/dist/http/server.d.ts +7 -0
  6. package/dist/http/server.js +236 -0
  7. package/dist/http/service.d.ts +7 -0
  8. package/dist/http/service.js +725 -0
  9. package/dist/init.d.ts +13 -0
  10. package/dist/init.js +128 -0
  11. package/dist/install-manifest.d.ts +25 -0
  12. package/dist/install-manifest.js +96 -0
  13. package/dist/mcp/docs.d.ts +98 -0
  14. package/dist/mcp/docs.js +438 -0
  15. package/dist/mcp/server.d.ts +20 -0
  16. package/dist/mcp/server.js +2345 -0
  17. package/dist/package-root.d.ts +2 -0
  18. package/dist/package-root.js +28 -0
  19. package/dist/runtime/actor.d.ts +14 -0
  20. package/dist/runtime/actor.js +42 -0
  21. package/dist/runtime/auth.d.ts +162 -0
  22. package/dist/runtime/auth.js +394 -0
  23. package/dist/runtime/check.d.ts +7 -0
  24. package/dist/runtime/check.js +16 -0
  25. package/dist/runtime/config.d.ts +17 -0
  26. package/dist/runtime/config.js +93 -0
  27. package/dist/runtime/mongo.d.ts +9 -0
  28. package/dist/runtime/mongo.js +56 -0
  29. package/dist/runtime/records.d.ts +336 -0
  30. package/dist/runtime/records.js +1463 -0
  31. package/dist/runtime/workspace.d.ts +19 -0
  32. package/dist/runtime/workspace.js +102 -0
  33. package/dist/upgrade.d.ts +20 -0
  34. package/dist/upgrade.js +246 -0
  35. package/dist/validate.d.ts +10 -0
  36. package/dist/validate.js +119 -0
  37. package/dist/version.d.ts +3 -0
  38. package/dist/version.js +12 -0
  39. package/docs/codex-integration.md +29 -0
  40. package/docs/cost-model.md +61 -0
  41. package/docs/decision-basis.md +57 -0
  42. package/docs/diagrams.md +31 -0
  43. package/docs/glossary.md +147 -0
  44. package/docs/index.md +60 -0
  45. package/docs/model.md +110 -0
  46. package/docs/open-questions.md +61 -0
  47. package/docs/roles.md +42 -0
  48. package/docs/taxonomy.md +96 -0
  49. package/docs/workflows.md +60 -0
  50. package/package.json +62 -0
  51. package/scripts/check-env-surface.mjs +136 -0
  52. package/scripts/check-public-copy.mjs +263 -0
  53. package/scripts/check-service-boundary.mjs +63 -0
  54. package/scripts/dogfood-work-order.mjs +506 -0
  55. package/scripts/smoke-mcp-http.mjs +3572 -0
  56. package/src/cli.ts +268 -0
  57. package/src/http/server.ts +314 -0
  58. package/src/http/service.ts +934 -0
  59. package/src/init.ts +227 -0
  60. package/src/install-manifest.ts +144 -0
  61. package/src/mcp/docs.ts +557 -0
  62. package/src/mcp/server.ts +3525 -0
  63. package/src/package-root.ts +31 -0
  64. package/src/runtime/actor.ts +61 -0
  65. package/src/runtime/auth.ts +673 -0
  66. package/src/runtime/check.ts +18 -0
  67. package/src/runtime/config.ts +128 -0
  68. package/src/runtime/mongo.ts +89 -0
  69. package/src/runtime/records.ts +2303 -0
  70. package/src/runtime/workspace.ts +155 -0
  71. package/src/upgrade.ts +356 -0
  72. package/src/validate.ts +139 -0
  73. package/src/version.ts +16 -0
  74. package/templates/github/workflows/dxcomplete.yml +16 -0
  75. package/templates/next/pages/api/auth/callback/google.js +12 -0
  76. package/templates/next/pages/api/dxcomplete/[...path].js +12 -0
  77. package/templates/next/pages/api/dxcomplete.js +12 -0
  78. package/templates/next/pages/api/mcp.js +12 -0
  79. package/templates/next/vercel.json +18 -0
  80. package/templates/process/README.md +38 -0
  81. package/templates/process/controls.yml +113 -0
  82. package/templates/process/cost-model.yml +71 -0
  83. package/templates/process/decision-basis.yml +53 -0
  84. package/templates/process/decisions/.gitkeep +1 -0
  85. package/templates/process/diagrams/00-decision-basis.mmd +24 -0
  86. package/templates/process/diagrams/00-overview.mmd +20 -0
  87. package/templates/process/diagrams/01-intake-triage.mmd +20 -0
  88. package/templates/process/diagrams/02-product-definition.mmd +14 -0
  89. package/templates/process/diagrams/03-engineering-execution.mmd +15 -0
  90. package/templates/process/diagrams/04-qa-verification.mmd +12 -0
  91. package/templates/process/diagrams/05-product-validation.mmd +12 -0
  92. package/templates/process/diagrams/06-change-release-control.mmd +16 -0
  93. package/templates/process/diagrams/07-deployment-operations.mmd +16 -0
  94. package/templates/process/diagrams/08-support-incident-management.mmd +16 -0
  95. package/templates/process/diagrams/09-problem-improvement.mmd +14 -0
  96. package/templates/process/diagrams/10-risk-control-management.mmd +14 -0
  97. package/templates/process/diagrams/11-audit-evidence-capture.mmd +13 -0
  98. package/templates/process/evidence/.gitkeep +1 -0
  99. package/templates/process/risks/.gitkeep +1 -0
  100. package/templates/process/roles.yml +96 -0
  101. package/templates/process/taxonomy.yml +514 -0
  102. package/templates/process/workflows.yml +210 -0
  103. package/website/.well-known/oauth-authorization-server +22 -0
  104. package/website/.well-known/oauth-protected-resource/api/dxcomplete/mcp +10 -0
  105. package/website/.well-known/oauth-protected-resource/api/mcp +10 -0
  106. package/website/README.md +12 -0
  107. package/website/app.js +36 -0
  108. package/website/flow.html +85 -0
  109. package/website/glossary.html +280 -0
  110. package/website/index.html +90 -0
  111. package/website/objects.html +287 -0
  112. package/website/outcomes.html +117 -0
  113. package/website/phase-build.html +101 -0
  114. package/website/phase-elicit.html +102 -0
  115. package/website/phase-go-live.html +103 -0
  116. package/website/phase-measure.html +93 -0
  117. package/website/phase-operate.html +102 -0
  118. package/website/phase-orient.html +92 -0
  119. package/website/phase-weigh.html +98 -0
  120. package/website/roles.html +52 -0
  121. package/website/styles.css +1169 -0
@@ -0,0 +1,287 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Records | DX Complete</title>
7
+ <link rel="stylesheet" href="./styles.css?v=5" />
8
+ </head>
9
+ <body>
10
+ <a class="skip-link" href="#content">Skip to content</a>
11
+ <header class="topbar">
12
+ <div class="topbar__brand">
13
+ <span class="brand-mark" aria-hidden="true">DX</span>
14
+ <span><strong>DX Complete</strong><small>Plan, deliver, run, measure</small></span>
15
+ </div>
16
+ </header>
17
+ <div class="layout">
18
+ <aside class="sidebar" aria-label="Documentation pages">
19
+ <div class="sidebar__eyebrow">Pages</div>
20
+ <nav>
21
+ <a class="nav-link" href="./index.html">Start here</a>
22
+ <a class="nav-link" href="./outcomes.html">Outcomes</a>
23
+ <a class="nav-link" href="./flow.html">Flow</a>
24
+ <a class="nav-link" href="./objects.html">Records</a>
25
+ <a class="nav-link" href="./roles.html">Roles</a>
26
+ <a class="nav-link" href="./glossary.html">Glossary</a>
27
+ </nav>
28
+ </aside>
29
+ <main id="content" class="content" tabindex="-1">
30
+ <section class="doc-section doc-section--last">
31
+ <p class="section-kicker">Records</p>
32
+ <h1>Records</h1>
33
+ <p class="lede">Records are information DX Complete keeps so decisions, work, service issues, and measurements can be followed over time.</p>
34
+ <p>
35
+ Records are grouped by how they are usually used. Some records, especially Task and Decision, can appear in any phase when they help keep the work clear.
36
+ </p>
37
+ <p>
38
+ Shared records also have a short reference such as <strong>REQ-0001</strong>, so people can refer to them without reading the full system ID.
39
+ </p>
40
+
41
+ <section class="record-routing" aria-labelledby="record-routing-title">
42
+ <h2 id="record-routing-title">Choosing the right record</h2>
43
+ <p>
44
+ Use the clearest dedicated record first. Journal is for useful context only when the information has no better home.
45
+ </p>
46
+ <div class="record-fields" aria-label="Record routing guidance">
47
+ <div><span>Desired result</span><b>Use Statement, Expectation, or Requirement</b><p>Use these when the information says what should be true, what success looks like, or what must be made buildable.</p></div>
48
+ <div><span>Choice</span><b>Use Decision</b><p>Use Decision when alternatives were considered and a choice should remain visible.</p></div>
49
+ <div><span>Action</span><b>Use Task</b><p>Use Task when someone needs to do or coordinate work.</p></div>
50
+ <div><span>Service event or risk</span><b>Use Change or Risk</b><p>Use the matching record when the information is controlled history, service change, uncertainty, or exposure.</p></div>
51
+ <div><span>Infrastructure state</span><b>Use Environment or Component</b><p>Use the Operational Registry for what exists, where it lives, and which secret locations matter.</p></div>
52
+ <div><span>Useful context</span><b>Use Journal</b><p>Use Journal for relevant background, preference, observation, or context that does not fit a dedicated record.</p></div>
53
+ </div>
54
+ <p>
55
+ The simplest test is: will another record depend on this, satisfy it, or use it as an input? If yes, choose a dedicated record. If a Journal note later becomes important to decisions or work, promote it to the right record.
56
+ </p>
57
+ </section>
58
+
59
+ <div class="record-groups" aria-label="Records by use">
60
+ <section>
61
+ <span>Scope</span>
62
+ <h2>Set the need</h2>
63
+ <div class="record-list">
64
+ <details class="record-item">
65
+ <summary><span class="record-name">Workspace</span><span class="record-summary">The container for one service and the work connected to it.</span></summary>
66
+ <div class="record-fields" aria-label="Workspace fields">
67
+ <div><span>Workspace name</span><b>Required</b><p>The name people use for this service space.</p></div>
68
+ <div><span>Service scope</span><b>Required</b><p>What service or area the workspace contains.</p></div>
69
+ <div><span>Mode</span><b>Optional</b><p>Whether the work is transformation, greenfield, limited disclosure, or mixed.</p></div>
70
+ <div><span>Status</span><b>Optional</b><p>Whether the workspace is active, paused, closed, or being reviewed.</p></div>
71
+ <div><span>Related workspaces</span><b>Optional</b><p>Other service spaces connected to this one.</p></div>
72
+ </div>
73
+ </details>
74
+ <details class="record-item">
75
+ <summary><span class="record-name">Statement</span><span class="record-summary">A person's own words before they are interpreted or translated.</span></summary>
76
+ <div class="record-fields" aria-label="Statement fields">
77
+ <div><span>Original words</span><b>Required</b><p>The request, concern, idea, direction, objection, or observation as expressed.</p></div>
78
+ <div><span>Source</span><b>Required</b><p>Who or what the statement came from.</p></div>
79
+ <div><span>Context</span><b>Optional</b><p>Where it came up and what was happening around it.</p></div>
80
+ <div><span>Related expectation</span><b>Optional</b><p>The expectation restated from this statement.</p></div>
81
+ </div>
82
+ </details>
83
+ <details class="record-item">
84
+ <summary><span class="record-name">Journal</span><span class="record-summary">Shared workspace notes for useful context that has no dedicated record home.</span></summary>
85
+ <div class="record-fields" aria-label="Journal fields">
86
+ <div><span>Note</span><b>Required</b><p>Free-form context, preference, background, observation, or other relevant information.</p></div>
87
+ <div><span>Author and time</span><b>Automatic</b><p>Who added the entry and when it was added.</p></div>
88
+ <div><span>Label</span><b>Optional</b><p>A short free-form label to help filter or scan entries.</p></div>
89
+ <div><span>Summary entry</span><b>Optional</b><p>A compact entry that points back to the notes it summarizes.</p></div>
90
+ <div><span>Archive</span><b>Automatic</b><p>Older notes can leave the default view after they are summarized, while still remaining retrievable.</p></div>
91
+ <div><span>Related records</span><b>Optional</b><p>Entries can be linked when they inform a decision, risk, requirement, or other record.</p></div>
92
+ </div>
93
+ </details>
94
+ <details class="record-item">
95
+ <summary><span class="record-name">Expectation</span><span class="record-summary">The result a person or group expects, including how success will be recognized.</span></summary>
96
+ <div class="record-fields" aria-label="Expectation fields">
97
+ <div><span>Expectation</span><b>Required</b><p>The restated result and success condition in plain language.</p></div>
98
+ <div><span>Approval state</span><b>Required</b><p>Whether it is not decided yet, approved, not approved, or superseded.</p></div>
99
+ <div><span>Approved by</span><b>Optional</b><p>The authority who approved the expectation when approval is needed.</p></div>
100
+ <div><span>Review notes</span><b>Optional</b><p>Engineer input that should remain visible without blocking progress.</p></div>
101
+ <div><span>Important flag</span><b>Optional</b><p>Highlights a review note without requiring an Owner response.</p></div>
102
+ <div><span>Version history</span><b>Optional</b><p>Prior wording kept when the expectation changes.</p></div>
103
+ <div><span>Related statement</span><b>Optional</b><p>The original statement that led to this expectation.</p></div>
104
+ <div><span>Related requirement</span><b>Optional</b><p>The requirement meant to satisfy this expectation.</p></div>
105
+ </div>
106
+ </details>
107
+ <details class="record-item">
108
+ <summary><span class="record-name">Requirement</span><span class="record-summary">A commitment to make something true in a buildable and checkable way.</span></summary>
109
+ <div class="record-fields" aria-label="Requirement fields">
110
+ <div><span>Requirement</span><b>Required</b><p>What the team is committing to make true.</p></div>
111
+ <div><span>Success criteria</span><b>Required</b><p>How people will know the requirement is satisfied.</p></div>
112
+ <div><span>Related expectation</span><b>Optional</b><p>The expectation this requirement is meant to satisfy.</p></div>
113
+ <div><span>Requirement detail</span><b>Optional</b><p>Extra behavior, edge cases, or check notes needed to build or verify the requirement.</p></div>
114
+ <div><span>Review notes</span><b>Optional</b><p>Engineer input that should remain visible without blocking progress.</p></div>
115
+ <div><span>Important flag</span><b>Optional</b><p>Highlights a review note without requiring an Owner response.</p></div>
116
+ <div><span>Version history</span><b>Optional</b><p>Prior wording kept when the requirement changes.</p></div>
117
+ <div><span>Priority</span><b>Optional</b><p>How important it is compared with other requirements.</p></div>
118
+ <div><span>Related records</span><b>Optional</b><p>Links to risks, decisions, costs, benefits, or tasks.</p></div>
119
+ </div>
120
+ </details>
121
+ </div>
122
+ </section>
123
+
124
+ <section>
125
+ <span>Weigh</span>
126
+ <h2>Decide whether to commit now or defer</h2>
127
+ <div class="record-list">
128
+ <details class="record-item">
129
+ <summary><span class="record-name">Estimate</span><span class="record-summary">An itemized cost view for the scope being weighed.</span></summary>
130
+ <div class="record-fields" aria-label="Estimate fields">
131
+ <div><span>Line items</span><b>Required</b><p>The individual cost entries, each with amount, timing, period when recurring, and currency.</p></div>
132
+ <div><span>Covered scope</span><b>Required</b><p>The requirements or expectations the Estimate covers.</p></div>
133
+ <div><span>Roll-up</span><b>Required</b><p>Grouped cost totals that keep one-time, recurring, period, and currency separate.</p></div>
134
+ <div><span>Version history</span><b>Automatic</b><p>Prior versions are kept when the Estimate changes.</p></div>
135
+ </div>
136
+ </details>
137
+ <details class="record-item">
138
+ <summary><span class="record-name">Benefits</span><span class="record-summary">The expected value for the scope being weighed.</span></summary>
139
+ <div class="record-fields" aria-label="Benefits fields">
140
+ <div><span>Benefit items</span><b>Required</b><p>The expected benefits, with amounts where they can be estimated and plain descriptions where they cannot.</p></div>
141
+ <div><span>Covered scope</span><b>Required</b><p>The requirements or expectations the Benefits record covers.</p></div>
142
+ <div><span>Roll-up</span><b>Automatic</b><p>Grouped totals for quantified benefits only.</p></div>
143
+ <div><span>Version history</span><b>Automatic</b><p>Prior versions are kept when Benefits change.</p></div>
144
+ </div>
145
+ </details>
146
+ <details class="record-item">
147
+ <summary><span class="record-name">Commitment</span><span class="record-summary">An Owner record that moves requirements or expectations into Build.</span></summary>
148
+ <div class="record-fields" aria-label="Commitment fields">
149
+ <div><span>Commitment</span><b>Required</b><p>What the Owner is committing to move forward.</p></div>
150
+ <div><span>Committed items</span><b>Required</b><p>The requirements or expectations included in the Commitment.</p></div>
151
+ <div><span>Reservations</span><b>Optional</b><p>Concerns the Owner is moving forward despite.</p></div>
152
+ <div><span>Resolved deferral</span><b>Optional</b><p>The earlier Deferral this Commitment resolves.</p></div>
153
+ </div>
154
+ </details>
155
+ <details class="record-item">
156
+ <summary><span class="record-name">Deferral</span><span class="record-summary">An Owner record for not committing yet, with conditions for a future Commitment.</span></summary>
157
+ <div class="record-fields" aria-label="Deferral fields">
158
+ <div><span>Reason</span><b>Required</b><p>Why the Owner is not committing yet.</p></div>
159
+ <div><span>Conditions</span><b>Required</b><p>What must be addressed before a future Commitment.</p></div>
160
+ <div><span>Condition history</span><b>Optional</b><p>Notes and updates showing how the conditions changed over time.</p></div>
161
+ <div><span>Status</span><b>Required</b><p>Whether the Deferral is open, resolved, or abandoned.</p></div>
162
+ </div>
163
+ </details>
164
+ <details class="record-item">
165
+ <summary><span class="record-name">Risk</span><span class="record-summary">Something uncertain that could affect value, delivery, service, or compliance.</span></summary>
166
+ <div class="record-fields" aria-label="Risk fields">
167
+ <div><span>Risk</span><b>Required</b><p>The uncertainty or exposure.</p></div>
168
+ <div><span>Impact</span><b>Required</b><p>What could happen if the risk occurs.</p></div>
169
+ <div><span>Likelihood</span><b>Optional</b><p>How likely the risk seems.</p></div>
170
+ <div><span>Response</span><b>Optional</b><p>How the risk should be reduced, accepted, avoided, or watched.</p></div>
171
+ <div><span>Checkpoint</span><b>Optional</b><p>The open confirmation or check that creates this risk.</p></div>
172
+ <div><span>Responsible person</span><b>Optional</b><p>Who is responsible for watching or handling it.</p></div>
173
+ </div>
174
+ </details>
175
+ </div>
176
+ </section>
177
+
178
+ <section>
179
+ <span>Work</span>
180
+ <h2>Act on the work</h2>
181
+ <div class="record-list">
182
+ <details class="record-item">
183
+ <summary><span class="record-name">Task</span><span class="record-summary">Concrete work with an entry history and a current status from the latest status entry.</span></summary>
184
+ <div class="record-fields" aria-label="Task fields">
185
+ <div><span>Task</span><b>Required</b><p>The work to be done.</p></div>
186
+ <div><span>Description</span><b>Required</b><p>The practical explanation of the work.</p></div>
187
+ <div><span>Related requirement</span><b>Optional</b><p>The requirement the task supports, when the task implements a requirement.</p></div>
188
+ <div><span>Status entries</span><b>Required</b><p>Status changes kept in order. The latest status entry is the current status.</p></div>
189
+ <div><span>Assigned person</span><b>Optional</b><p>Who is doing or coordinating the work.</p></div>
190
+ <div><span>Task entries</span><b>Optional</b><p>Comments, notes, and status changes that preserve how the task moved over time.</p></div>
191
+ </div>
192
+ </details>
193
+ <details class="record-item">
194
+ <summary><span class="record-name">Change</span><span class="record-summary">A record for a specific alteration to the running service.</span></summary>
195
+ <div class="record-fields" aria-label="Change fields">
196
+ <div><span>Change plan</span><b>Required</b><p>What is changing, why, scope, timing, and notice.</p></div>
197
+ <div><span>Execution plan</span><b>Required</b><p>The ordered steps for carrying out the change.</p></div>
198
+ <div><span>Rollback plan</span><b>Required</b><p>How to reverse or recover if the change should not remain in use.</p></div>
199
+ <div><span>Risk and impact</span><b>Required</b><p>The expected risk, service impact, and open concerns.</p></div>
200
+ <div><span>Events</span><b>Optional</b><p>Notice, veto, emergency, decision, result, recovery, notes, and revisions kept in order.</p></div>
201
+ </div>
202
+ </details>
203
+ </div>
204
+ </section>
205
+
206
+ <section>
207
+ <span>Operate</span>
208
+ <h2>Know what exists</h2>
209
+ <div class="record-list">
210
+ <details class="record-item">
211
+ <summary><span class="record-name">Environment</span><span class="record-summary">A named operating context such as local, staging, or production.</span></summary>
212
+ <div class="record-fields" aria-label="Environment fields">
213
+ <div><span>Name</span><b>Required</b><p>The name people use for this operating context.</p></div>
214
+ <div><span>Description</span><b>Optional</b><p>What the environment is for and how people should understand it.</p></div>
215
+ <div><span>Version history</span><b>Automatic</b><p>Prior versions are kept when the Environment changes.</p></div>
216
+ </div>
217
+ </details>
218
+ <details class="record-item">
219
+ <summary><span class="record-name">Component</span><span class="record-summary">One operational item that belongs to one Environment.</span></summary>
220
+ <div class="record-fields" aria-label="Component fields">
221
+ <div><span>Environment</span><b>Required</b><p>The operating context this Component belongs to.</p></div>
222
+ <div><span>Kind</span><b>Required</b><p>A plain label such as app, database, storage, queue, service, or another useful term.</p></div>
223
+ <div><span>Location details</span><b>Required</b><p>Where the Component lives, such as a URL, project, region, host, or route.</p></div>
224
+ <div><span>Identifiers</span><b>Optional</b><p>Non-secret names such as database name, account, project, region, or username.</p></div>
225
+ <div><span>Secret pointers</span><b>Optional</b><p>Where relevant secrets are stored and what they are called. Do not put credential values here.</p></div>
226
+ <div><span>Notes</span><b>Optional</b><p>Useful operating context that belongs with this Component.</p></div>
227
+ <div><span>Version history</span><b>Automatic</b><p>Prior versions are kept when the Component changes.</p></div>
228
+ </div>
229
+ </details>
230
+ </div>
231
+ <p>
232
+ The Operational Registry is inventory only. It does not monitor, diagnose, store secret values, keep event history, or replace operating procedures.
233
+ </p>
234
+ </section>
235
+
236
+ <section>
237
+ <span>Throughout</span>
238
+ <h2>Decide and follow up</h2>
239
+ <div class="record-list">
240
+ <details class="record-item">
241
+ <summary><span class="record-name">Decision</span><span class="record-summary">A recorded choice with ordered entries and links to the records that informed it.</span></summary>
242
+ <div class="record-fields" aria-label="Decision fields">
243
+ <div><span>Matter</span><b>Required</b><p>The issue or choice being decided.</p></div>
244
+ <div><span>Decision entries</span><b>Optional</b><p>Choices kept in order. The latest decision entry is the current decision.</p></div>
245
+ <div><span>Argument entries</span><b>Optional</b><p>Arguments, facts, tradeoffs, or concerns that were visible at the time.</p></div>
246
+ <div><span>Note entries</span><b>Optional</b><p>Other context that should remain with the decision.</p></div>
247
+ <div><span>Decision inputs</span><b>Optional</b><p>The records that informed the choice.</p></div>
248
+ <div><span>Next step</span><b>Optional</b><p>What should happen because of the choice.</p></div>
249
+ </div>
250
+ </details>
251
+ <details class="record-item">
252
+ <summary><span class="record-name">DX Complete Ticket</span><span class="record-summary">A private place to raise a question, report, request, correction, or follow-up with DX Complete.</span></summary>
253
+ <div class="record-fields" aria-label="DX Complete Ticket fields">
254
+ <div><span>Title</span><b>Required</b><p>A short name for the ticket.</p></div>
255
+ <div><span>First entry</span><b>Required</b><p>The original question, report, request, correction, or follow-up.</p></div>
256
+ <div><span>Follow-up entries</span><b>Optional</b><p>Later updates added without replacing what was first recorded.</p></div>
257
+ <div><span>DX Complete replies</span><b>Optional</b><p>Responses addressed back to the person who raised the ticket.</p></div>
258
+ <div><span>Archive</span><b>Optional</b><p>Hide the ticket from the active list when it no longer needs attention.</p></div>
259
+ <div><span>Shared work</span><b>Optional</b><p>A requirement, task, risk, change, or decision can be created separately if follow-up is needed.</p></div>
260
+ <div><span>Files</span><b>Not included</b><p>Tickets keep text entries; file or asset handling belongs elsewhere.</p></div>
261
+ </div>
262
+ </details>
263
+ </div>
264
+ </section>
265
+
266
+ <section>
267
+ <span>Concepts</span>
268
+ <h2>Kept inside records</h2>
269
+ <div class="record-list">
270
+ <div class="record-item">
271
+ <div class="record-fields" aria-label="Concepts kept inside records">
272
+ <div><span>Constraints, dependencies, and unknowns</span><b>Concept</b><p>These are normally captured in requirements, risks, decisions, review notes, or task details.</p></div>
273
+ <div><span>Verification and validation</span><b>Concept</b><p>Checks and outcomes can be captured in task details, change history, decisions, or linked notes.</p></div>
274
+ <div><span>Release, deployment, controls, and evidence</span><b>Concept</b><p>These are currently represented through Change events, risks, decisions, and supporting notes.</p></div>
275
+ <div><span>Support, incidents, problems, and feedback</span><b>Concept</b><p>Operational signals can be handled through tickets, risks, tasks, changes, decisions, or new requirements.</p></div>
276
+ <div><span>Measurement and estimate refinement</span><b>Concept</b><p>Actual cost or benefit observations can update estimates, benefits, risks, decisions, or future work.</p></div>
277
+ </div>
278
+ </div>
279
+ </div>
280
+ </section>
281
+ </div>
282
+ </section>
283
+ </main>
284
+ </div>
285
+ <script src="./app.js?v=5"></script>
286
+ </body>
287
+ </html>
@@ -0,0 +1,117 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Outcomes | DX Complete</title>
7
+ <link rel="stylesheet" href="./styles.css?v=5" />
8
+ </head>
9
+ <body>
10
+ <a class="skip-link" href="#content">Skip to content</a>
11
+ <header class="topbar">
12
+ <div class="topbar__brand">
13
+ <span class="brand-mark" aria-hidden="true">DX</span>
14
+ <span><strong>DX Complete</strong><small>Plan, deliver, run, measure</small></span>
15
+ </div>
16
+ </header>
17
+ <div class="layout">
18
+ <aside class="sidebar" aria-label="Documentation pages">
19
+ <div class="sidebar__eyebrow">Pages</div>
20
+ <nav>
21
+ <a class="nav-link" href="./index.html">Start here</a>
22
+ <a class="nav-link" href="./outcomes.html">Outcomes</a>
23
+ <a class="nav-link" href="./flow.html">Flow</a>
24
+ <a class="nav-link" href="./objects.html">Records</a>
25
+ <a class="nav-link" href="./roles.html">Roles</a>
26
+ <a class="nav-link" href="./glossary.html">Glossary</a>
27
+ </nav>
28
+ </aside>
29
+ <main id="content" class="content" tabindex="-1">
30
+ <section class="doc-section">
31
+ <p class="section-kicker">Outcomes</p>
32
+ <h1>Why DX Complete exists</h1>
33
+ <p class="lede">
34
+ DX Complete gives teams a shared way to decide what is worth doing, control how it changes, run it safely, and learn from the result.
35
+ </p>
36
+ <p>
37
+ The process is meant to reduce unclear decisions, hidden cost, disconnected handoffs, and unsupported changes.
38
+ </p>
39
+ </section>
40
+
41
+ <section class="doc-section">
42
+ <h2 class="section-heading">What improves</h2>
43
+ <div class="outcome-grid" aria-label="DX Complete outcomes">
44
+ <section>
45
+ <span>01</span>
46
+ <h3>Consistent operation</h3>
47
+ <p>Teams use the same phases, records, roles, and handoffs to manage work and service signals.</p>
48
+ </section>
49
+ <section>
50
+ <span>02</span>
51
+ <h3>Clearer decisions</h3>
52
+ <p>Goals, requirements, estimates, risks, and decisions stay connected.</p>
53
+ </section>
54
+ <section>
55
+ <span>03</span>
56
+ <h3>Budget clarity</h3>
57
+ <p>Current cost is attempted, future cost is estimated, and actual cost is captured when available.</p>
58
+ </section>
59
+ <section>
60
+ <span>04</span>
61
+ <h3>Controlled change</h3>
62
+ <p>Expectations, requirements, tasks, checks, releases, and deployments can be followed.</p>
63
+ </section>
64
+ <section>
65
+ <span>05</span>
66
+ <h3>Review and compliance support</h3>
67
+ <p>Important decisions, checks, approvals, releases, and measurements have a place to be recorded.</p>
68
+ </section>
69
+ <section>
70
+ <span>06</span>
71
+ <h3>Measured improvement</h3>
72
+ <p>Measured results can improve future assumptions about cost, value, risk, and effort.</p>
73
+ </section>
74
+ </div>
75
+ </section>
76
+
77
+ <section class="doc-section">
78
+ <h2 class="section-heading">Transformation value</h2>
79
+ <p>
80
+ Transformation work improves an existing way of operating. DX Complete helps compare the current state with the expected future state, then compare the delivered result when data is available.
81
+ </p>
82
+ <p>
83
+ This can show whether the change reduced cost, reduced effort, reduced risk, increased capacity, or improved service quality.
84
+ </p>
85
+ <div class="outcome-compare" aria-label="Transformation comparison">
86
+ <div>
87
+ <span>Before</span>
88
+ <strong>Current cost and friction</strong>
89
+ <p>What the existing process, service, support load, risk, delay, or manual effort costs today.</p>
90
+ </div>
91
+ <div>
92
+ <span>Planned</span>
93
+ <strong>Expected cost and value</strong>
94
+ <p>What the proposed change is expected to cost and what improvement it is expected to create.</p>
95
+ </div>
96
+ <div>
97
+ <span>After</span>
98
+ <strong>Measured improvement</strong>
99
+ <p>What changed after launch, including actual cost and benefit when those signals are available.</p>
100
+ </div>
101
+ </div>
102
+ </section>
103
+
104
+ <section class="doc-section doc-section--last">
105
+ <h2 class="section-heading">What good looks like</h2>
106
+ <div class="outcome-list" aria-label="Expected results">
107
+ <div><strong>People know why work is happening.</strong><p>The goal, problem, and requirement set are clear enough to discuss and decide.</p></div>
108
+ <div><strong>Cost is visible enough to make a responsible choice.</strong><p>Incomplete data is allowed, but unknowns and assumptions are visible.</p></div>
109
+ <div><strong>Change is traceable from idea to operation.</strong><p>Records show how a request became requirements, tasks, checks, change history, release, deployment, and support history.</p></div>
110
+ <div><strong>Service learning feeds future work.</strong><p>User support signals, incidents, actual cost, and measured value can improve the next decision.</p></div>
111
+ </div>
112
+ </section>
113
+ </main>
114
+ </div>
115
+ <script src="./app.js?v=5"></script>
116
+ </body>
117
+ </html>
@@ -0,0 +1,101 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Build | DX Complete</title>
7
+ <link rel="stylesheet" href="./styles.css?v=5" />
8
+ </head>
9
+ <body>
10
+ <a class="skip-link" href="#content">Skip to content</a>
11
+ <header class="topbar">
12
+ <div class="topbar__brand">
13
+ <span class="brand-mark" aria-hidden="true">DX</span>
14
+ <span><strong>DX Complete</strong><small>Plan, deliver, run, measure</small></span>
15
+ </div>
16
+ </header>
17
+ <div class="layout">
18
+ <aside class="sidebar" aria-label="Documentation pages">
19
+ <div class="sidebar__eyebrow">Pages</div>
20
+ <nav>
21
+ <a class="nav-link" href="./index.html">Start here</a>
22
+ <a class="nav-link" href="./outcomes.html">Outcomes</a>
23
+ <a class="nav-link" href="./flow.html">Flow</a>
24
+ <a class="nav-link" href="./objects.html">Records</a>
25
+ <a class="nav-link" href="./roles.html">Roles</a>
26
+ <a class="nav-link" href="./glossary.html">Glossary</a>
27
+ </nav>
28
+ </aside>
29
+ <main id="content" class="content" tabindex="-1">
30
+ <section class="doc-section">
31
+ <p class="section-kicker">Phase 04</p>
32
+ <h1>Build</h1>
33
+ <p class="lede">
34
+ Build turns committed requirements into tasks, working changes, and verification.
35
+ </p>
36
+ <p>
37
+ Read the workflow from top to bottom. Each column shows the role leading that step.
38
+ </p>
39
+ <div class="lane-workflow lane-workflow--four" aria-label="Build phase workflow">
40
+ <div class="lane-head">Owner</div>
41
+ <div class="lane-head">Engineer</div>
42
+ <div class="lane-head">Engineer</div>
43
+ <div class="lane-head">Tester</div>
44
+ <div class="lane-cell"><div class="work-step">Confirms committed requirements and success criteria.</div></div>
45
+ <div class="lane-cell"><div class="work-step">Adds requirement detail, breaks work into tasks, and guides the approach.</div></div>
46
+ <div class="lane-cell"></div>
47
+ <div class="lane-cell"></div>
48
+ <div class="lane-cell"></div>
49
+ <div class="lane-cell"></div>
50
+ <div class="lane-cell"><div class="work-step">Builds assigned work.</div></div>
51
+ <div class="lane-cell"></div>
52
+ <div class="lane-cell"></div>
53
+ <div class="lane-cell"></div>
54
+ <div class="lane-cell"></div>
55
+ <div class="lane-cell"><div class="work-step">Checks completed work against requirements.</div></div>
56
+ <div class="lane-cell"><div class="work-step work-step--choice">Does the result fit the intended outcome?</div></div>
57
+ <div class="lane-cell"></div>
58
+ <div class="lane-cell"><div class="work-step">Fixes gaps when checks do not pass.</div></div>
59
+ <div class="lane-cell"></div>
60
+ <div class="lane-cell"></div>
61
+ <div class="lane-cell"><div class="work-step">Prepares the change for go-live review.</div></div>
62
+ <div class="lane-cell"></div>
63
+ <div class="lane-cell"></div>
64
+ </div>
65
+ </section>
66
+ <section class="doc-section doc-section--last">
67
+ <div class="phase-summary">
68
+ <section>
69
+ <h2>Records</h2>
70
+ <ul>
71
+ <li>Requirement</li>
72
+ <li>Task</li>
73
+ <li>Decision</li>
74
+ <li>Risk</li>
75
+ </ul>
76
+ </section>
77
+ <section>
78
+ <h2>Important choices</h2>
79
+ <ul>
80
+ <li>Is the requirement detailed enough to build and check?</li>
81
+ <li>Does the work meet the requirements?</li>
82
+ <li>Does the result still fit the intended outcome?</li>
83
+ <li>Is the change ready for go-live review?</li>
84
+ </ul>
85
+ </section>
86
+ <section>
87
+ <h2>Handoff</h2>
88
+ <p>Build ends when the change is ready to be reviewed for Go Live.</p>
89
+ </section>
90
+ </div>
91
+ <div class="phase-nav">
92
+ <a href="./phase-weigh.html">Previous: Weigh</a>
93
+ <a href="./flow.html">All phases</a>
94
+ <a href="./phase-go-live.html">Next: Go Live</a>
95
+ </div>
96
+ </section>
97
+ </main>
98
+ </div>
99
+ <script src="./app.js?v=5"></script>
100
+ </body>
101
+ </html>
@@ -0,0 +1,102 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Elicit | DX Complete</title>
7
+ <link rel="stylesheet" href="./styles.css?v=5" />
8
+ </head>
9
+ <body>
10
+ <a class="skip-link" href="#content">Skip to content</a>
11
+ <header class="topbar">
12
+ <div class="topbar__brand">
13
+ <span class="brand-mark" aria-hidden="true">DX</span>
14
+ <span><strong>DX Complete</strong><small>Plan, deliver, run, measure</small></span>
15
+ </div>
16
+ </header>
17
+ <div class="layout">
18
+ <aside class="sidebar" aria-label="Documentation pages">
19
+ <div class="sidebar__eyebrow">Pages</div>
20
+ <nav>
21
+ <a class="nav-link" href="./index.html">Start here</a>
22
+ <a class="nav-link" href="./outcomes.html">Outcomes</a>
23
+ <a class="nav-link" href="./flow.html">Flow</a>
24
+ <a class="nav-link" href="./objects.html">Records</a>
25
+ <a class="nav-link" href="./roles.html">Roles</a>
26
+ <a class="nav-link" href="./glossary.html">Glossary</a>
27
+ </nav>
28
+ </aside>
29
+ <main id="content" class="content" tabindex="-1">
30
+ <section class="doc-section">
31
+ <p class="section-kicker">Phase 02</p>
32
+ <h1>Elicit</h1>
33
+ <p class="lede">
34
+ Elicit turns expectations into requirements and gathers enough detail to estimate the work.
35
+ </p>
36
+ <p>
37
+ Read the workflow from top to bottom. Each column shows the role leading that step.
38
+ </p>
39
+ <div class="lane-workflow lane-workflow--four" aria-label="Elicit phase workflow">
40
+ <div class="lane-head">End User</div>
41
+ <div class="lane-head">Owner</div>
42
+ <div class="lane-head">Engineer</div>
43
+ <div class="lane-head">Operator / Support Agent</div>
44
+ <div class="lane-cell"></div>
45
+ <div class="lane-cell"><div class="work-step">Reviews confirmed or open expectations.</div></div>
46
+ <div class="lane-cell"></div>
47
+ <div class="lane-cell"></div>
48
+ <div class="lane-cell"><div class="work-step">Answers questions and confirms what satisfaction would mean.</div></div>
49
+ <div class="lane-cell"></div>
50
+ <div class="lane-cell"></div>
51
+ <div class="lane-cell"></div>
52
+ <div class="lane-cell"></div>
53
+ <div class="lane-cell"><div class="work-step">Drafts requirements from expectations.</div></div>
54
+ <div class="lane-cell"><div class="work-step">Identifies delivery dependencies, requirement detail, likely constraints, and review notes.</div></div>
55
+ <div class="lane-cell"><div class="work-step">Adds run, support, access, and readiness concerns.</div></div>
56
+ <div class="lane-cell"></div>
57
+ <div class="lane-cell"><div class="work-step work-step--choice">Enough detail to estimate and commit?</div></div>
58
+ <div class="lane-cell"></div>
59
+ <div class="lane-cell"></div>
60
+ <div class="lane-cell"><div class="work-step">Answers gaps when more detail is needed.</div></div>
61
+ <div class="lane-cell"><div class="work-step">Prepares the requirement set and visible open risks for Weigh.</div></div>
62
+ <div class="lane-cell"></div>
63
+ <div class="lane-cell"></div>
64
+ </div>
65
+ </section>
66
+ <section class="doc-section doc-section--last">
67
+ <div class="phase-summary">
68
+ <section>
69
+ <h2>Records</h2>
70
+ <ul>
71
+ <li>Expectation</li>
72
+ <li>Requirement</li>
73
+ <li>Risk</li>
74
+ <li>Decision</li>
75
+ <li>DX Complete Ticket</li>
76
+ </ul>
77
+ </section>
78
+ <section>
79
+ <h2>Important choices</h2>
80
+ <ul>
81
+ <li>Is enough known to estimate responsibly?</li>
82
+ <li>Which requirements need more confirmation or review notes?</li>
83
+ <li>Which unknowns can wait, and which must be answered now?</li>
84
+ <li>Does the request need to be narrowed before commitment?</li>
85
+ </ul>
86
+ </section>
87
+ <section>
88
+ <h2>Handoff</h2>
89
+ <p>Elicit ends when requirements are clear enough to compare cost, value, risk, and confidence, or the open risk is visible.</p>
90
+ </section>
91
+ </div>
92
+ <div class="phase-nav">
93
+ <a href="./phase-orient.html">Previous: Orient</a>
94
+ <a href="./flow.html">All phases</a>
95
+ <a href="./phase-weigh.html">Next: Weigh</a>
96
+ </div>
97
+ </section>
98
+ </main>
99
+ </div>
100
+ <script src="./app.js?v=5"></script>
101
+ </body>
102
+ </html>