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,210 @@
1
+ schema: dxcomplete.workflows.v0
2
+ status: draft
3
+ notes:
4
+ - These workflows are editable templates.
5
+ - Add, remove, merge, or split workflows as the model becomes clearer.
6
+
7
+ workflows:
8
+ - id: decision_basis
9
+ name: Decision basis
10
+ draft_purpose: Move from user statement to expectations and requirements with enough detail to support useful cost, benefit, risk, confidence, and Weigh outcomes.
11
+ likely_roles:
12
+ - Owner
13
+ - Engineer
14
+ - Operator
15
+ - End User
16
+ draft_steps:
17
+ - Capture statement in the user's own words and restate the expected result.
18
+ - Confirm captured wording before recording it on the user's behalf.
19
+ - Confirm how success will be recognized where possible.
20
+ - Elicit requirements, dependencies, constraints, and unknowns from expectations.
21
+ - Make current-state cost context visible where it is relevant and available.
22
+ - Generate an itemized cost Estimate from the elicited requirement set where cost reasoning is needed.
23
+ - Capture Benefits where benefit reasoning is needed.
24
+ - Prepare the decision basis from Estimate, Benefits, risks, review notes, and linked Decisions where useful.
25
+ - Record a Commitment or Deferral.
26
+ - Link any separate Decision to the records that informed it.
27
+ - If committing, move the requirement set into Build and Go Live planning.
28
+ - If deferring, record the unmet conditions.
29
+ - Capture useful post-launch observations after delivery where available.
30
+ - Use available actuals to refine estimates for future projects.
31
+ rules:
32
+ - Cost visibility is mandatory.
33
+ - Complete cost data is not mandatory.
34
+ - Current-state cost context should be attempted where relevant, but may be unavailable.
35
+ - Post-launch observations should be captured when useful, but must not block closure.
36
+ - Transformation, greenfield, and limited-disclosure modes must be supported.
37
+ - Approval checkpoints reduce risk but should not block progress by themselves.
38
+ - Moving past an open checkpoint should leave the open risk visible.
39
+
40
+ - id: intake_triage
41
+ name: Intake and triage
42
+ draft_purpose: Decide whether a signal should become feedback, feature request, requirement, incident, problem, or another lifecycle object.
43
+ likely_roles:
44
+ - Owner
45
+ - Support Agent
46
+ - Operator
47
+ draft_steps:
48
+ - Capture signal.
49
+ - Identify source and urgency.
50
+ - Route to Owner, Operator, or Support Agent.
51
+ - Record initial object and links.
52
+ - Capture open questions.
53
+
54
+ - id: product_definition
55
+ name: Product definition
56
+ draft_purpose: Translate expectations into requirements before Weigh, then refine requirement detail after Commitment where needed.
57
+ likely_roles:
58
+ - Owner
59
+ - End User
60
+ - Engineer
61
+ draft_steps:
62
+ - Review linked Statement, Estimate, Benefits, and decisions where available.
63
+ - Review captured statement and expectations.
64
+ - Draft requirement and acceptance criteria.
65
+ - Add Engineer review notes where delivery input should remain visible.
66
+ - Refine requirement detail after Commitment where needed.
67
+ - Link source objects.
68
+ - Identify risks, constraints, and decisions.
69
+ - Confirm readiness for engineering review.
70
+
71
+ - id: engineering_execution
72
+ name: Engineering execution
73
+ draft_purpose: Refine committed requirements into tasks and perform implementation work.
74
+ likely_roles:
75
+ - Engineer
76
+ draft_steps:
77
+ - Review requirement and acceptance criteria.
78
+ - Review important notes attached to expectations or requirements.
79
+ - Add requirement detail and decide implementation approach.
80
+ - Break requirement into tasks.
81
+ - Assign Engineer tasks and identify Codex-assisted work where useful.
82
+ - Implement, review, and prepare for testing.
83
+
84
+ - id: qa_verification
85
+ name: QA verification
86
+ draft_purpose: Verify completed work against requirements and acceptance criteria.
87
+ likely_roles:
88
+ - Tester
89
+ - Engineer
90
+ draft_steps:
91
+ - Review requirement and task output.
92
+ - Plan verification.
93
+ - Execute checks.
94
+ - Record evidence and defects.
95
+ - Recommend pass, fail, or retest.
96
+
97
+ - id: product_validation
98
+ name: Product validation
99
+ draft_purpose: Decide whether verified work achieves the intended product outcome.
100
+ likely_roles:
101
+ - Owner
102
+ - End User
103
+ draft_steps:
104
+ - Review QA evidence.
105
+ - Validate outcome against product intent.
106
+ - Capture approval, rejection, or follow-up requirements.
107
+ - Link validation evidence.
108
+
109
+ - id: change_release_control
110
+ name: Change and release control
111
+ draft_purpose: Record a discrete service change, including plan, execution, rollback, notice, veto, emergency posture, and result.
112
+ likely_roles:
113
+ - Operator
114
+ - Owner
115
+ - Engineer
116
+ - Tester
117
+ draft_steps:
118
+ - Record the Change baseline.
119
+ - Confirm required evidence and notice.
120
+ - Assess risk, impact, and rollback.
121
+ - Append notice, veto, emergency, decision, result, recovery, note, or revision events as they occur.
122
+ - Link release or deployment evidence where needed.
123
+
124
+ - id: deployment_operations
125
+ name: Deployment and operations
126
+ draft_purpose: Deploy and run the service safely.
127
+ likely_roles:
128
+ - Operator
129
+ - Engineer
130
+ - Support Agent
131
+ draft_steps:
132
+ - Prepare deployment.
133
+ - Execute deployment.
134
+ - Monitor service health.
135
+ - Update Environment and Component records when operational inventory changes.
136
+ - Record deployment evidence.
137
+ - Route issues to incident or support workflows.
138
+
139
+ - id: operational_registry
140
+ name: Operational Registry maintenance
141
+ draft_purpose: Keep the inventory of Environments and Components understandable without turning it into monitoring, diagnostics, secret storage, event history, or a runbook.
142
+ likely_roles:
143
+ - Operator
144
+ - Engineer
145
+ draft_steps:
146
+ - Create or update Environment records for named operating contexts.
147
+ - Create or update Component records for operational items in each Environment.
148
+ - Record locator details, non-secret identifiers, and secret pointers where useful.
149
+ - Keep secret pointers as store and key names only; do not store secret values.
150
+ - Link Components to Changes, Decisions, Risks, or Tasks when those records need the inventory context.
151
+
152
+ - id: support_incident_management
153
+ name: Support and incident management
154
+ draft_purpose: Handle user-facing issues and service-impacting events.
155
+ likely_roles:
156
+ - Support Agent
157
+ - Operator
158
+ - Owner
159
+ - Engineer
160
+ draft_steps:
161
+ - Capture user or monitoring signal.
162
+ - Classify as ticket, incident, feedback, or problem candidate.
163
+ - Communicate status to affected users where needed.
164
+ - Resolve or route.
165
+ - Link follow-up objects.
166
+
167
+ - id: problem_improvement
168
+ name: Problem and improvement management
169
+ draft_purpose: Convert recurring or root-cause issues into durable improvements.
170
+ likely_roles:
171
+ - Operator
172
+ - Engineer
173
+ - Owner
174
+ - Support Agent
175
+ draft_steps:
176
+ - Identify recurring issue or root cause.
177
+ - Record problem.
178
+ - Decide whether improvement requires a requirement or Change.
179
+ - Track corrective action.
180
+ - Capture outcome and evidence.
181
+
182
+ - id: risk_control_management
183
+ name: Risk and control management
184
+ draft_purpose: Identify risks and define controls or evidence requirements.
185
+ likely_roles:
186
+ - Owner
187
+ - Operator
188
+ - Tester
189
+ - Engineer
190
+ draft_steps:
191
+ - Identify risk.
192
+ - Decide owner and impact.
193
+ - Define control or mitigation.
194
+ - Link related lifecycle objects.
195
+ - Review control evidence.
196
+
197
+ - id: audit_evidence_capture
198
+ name: Audit and evidence capture
199
+ draft_purpose: Preserve evidence for decisions, verification, controls, releases, deployments, and approvals.
200
+ likely_roles:
201
+ - Operator
202
+ - Tester
203
+ - Engineer
204
+ - Owner
205
+ draft_steps:
206
+ - Identify required evidence.
207
+ - Capture or link evidence.
208
+ - Record responsible person and timestamp.
209
+ - Review completeness.
210
+ - Preserve for audit or retrospective use.
@@ -0,0 +1,22 @@
1
+ {
2
+ "issuer": "https://dxcomplete.directeddomains.com",
3
+ "authorization_endpoint": "https://dxcomplete.directeddomains.com/api/dxcomplete/auth/authorize",
4
+ "token_endpoint": "https://dxcomplete.directeddomains.com/api/dxcomplete/auth/token",
5
+ "registration_endpoint": "https://dxcomplete.directeddomains.com/api/dxcomplete/auth/register",
6
+ "response_types_supported": [
7
+ "code"
8
+ ],
9
+ "code_challenge_methods_supported": [
10
+ "S256"
11
+ ],
12
+ "token_endpoint_auth_methods_supported": [
13
+ "none"
14
+ ],
15
+ "grant_types_supported": [
16
+ "authorization_code",
17
+ "refresh_token"
18
+ ],
19
+ "scopes_supported": [
20
+ "mcp:tools"
21
+ ]
22
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "resource": "https://dxcomplete.directeddomains.com/api/mcp",
3
+ "authorization_servers": [
4
+ "https://dxcomplete.directeddomains.com"
5
+ ],
6
+ "scopes_supported": [
7
+ "mcp:tools"
8
+ ],
9
+ "resource_name": "DX Complete"
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "resource": "https://dxcomplete.directeddomains.com/api/mcp",
3
+ "authorization_servers": [
4
+ "https://dxcomplete.directeddomains.com"
5
+ ],
6
+ "scopes_supported": [
7
+ "mcp:tools"
8
+ ],
9
+ "resource_name": "DX Complete"
10
+ }
@@ -0,0 +1,12 @@
1
+ # DX Complete
2
+
3
+ DX Complete helps teams decide what is worth doing, deliver it with control, run it safely, and learn from the results.
4
+
5
+ The documentation is organized into:
6
+
7
+ - Start here: a short overview.
8
+ - Outcomes: why the process exists and what it is meant to improve.
9
+ - Flow: phase workflows from Orient through Measure.
10
+ - Records: information kept so decisions, work, service issues, and measurements can be followed over time.
11
+ - Roles: who is responsible for each kind of work.
12
+ - Glossary: shared terms in plain language.
package/website/app.js ADDED
@@ -0,0 +1,36 @@
1
+ const roleDetails = {
2
+ owner: "Owner sets priorities, defines outcomes and requirements, commits budget and scope, validates outcomes, and accepts risk when needed.",
3
+ engineer: "Engineer turns committed requirements into tasks and working changes, directly or by driving coding-capable tools.",
4
+ tester: "Tester checks completed work against requirements and success criteria.",
5
+ operator: "Operator releases, deploys, monitors, runs the service, and manages users, permissions, settings, provisioning, and run-side security.",
6
+ supportAgent: "Support Agent helps users, captures signals, and routes questions, feedback, and issues to the right follow-up.",
7
+ endUser: "End User uses the service and provides requests, feedback, corrections, and issue reports."
8
+ };
9
+
10
+ const pageName = window.location.pathname.split("/").pop() || "index.html";
11
+ const activePage = pageName.startsWith("phase-") ? "flow.html" : pageName;
12
+ const links = [...document.querySelectorAll(".nav-link")];
13
+
14
+ links.forEach((link) => {
15
+ const href = link.getAttribute("href") || "";
16
+ const linkPage = href.split("/").pop() || "index.html";
17
+ link.classList.toggle("is-active", linkPage === activePage);
18
+ });
19
+
20
+ const detailPanel = document.querySelector("#role-detail");
21
+ const roleButtons = [...document.querySelectorAll("[data-detail]")];
22
+
23
+ roleButtons.forEach((button, index) => {
24
+ if (index === 0) {
25
+ button.classList.add("is-selected");
26
+ }
27
+
28
+ button.addEventListener("click", () => {
29
+ const detail = roleDetails[button.dataset.detail];
30
+ if (!detail || !detailPanel) return;
31
+
32
+ roleButtons.forEach((item) => item.classList.remove("is-selected"));
33
+ button.classList.add("is-selected");
34
+ detailPanel.textContent = detail;
35
+ });
36
+ });
@@ -0,0 +1,85 @@
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>Flow | 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">Flow</p>
32
+ <h1>Flow</h1>
33
+ <p class="lede">
34
+ Flow is where each phase is explained in detail. Each phase shows the main steps, the roles involved, the important choices, the records used, and the handoff to the next phase.
35
+ </p>
36
+ </section>
37
+
38
+ <section class="doc-section doc-section--last">
39
+ <h2 class="section-heading">Phase workflows</h2>
40
+ <p>
41
+ Open a phase to see how the work moves through the people involved. The rows read from top to bottom. The columns show who leads each step.
42
+ </p>
43
+ <div class="phase-index" aria-label="Phase workflow pages">
44
+ <a href="./phase-orient.html">
45
+ <span>01</span>
46
+ <strong>Orient</strong>
47
+ <p>Capture the desired outcome, restate expectations, and confirm how success will be recognized.</p>
48
+ </a>
49
+ <a href="./phase-elicit.html">
50
+ <span>02</span>
51
+ <strong>Elicit</strong>
52
+ <p>Turn expectations into requirements, dependencies, unknowns, and risk.</p>
53
+ </a>
54
+ <a href="./phase-weigh.html">
55
+ <span>03</span>
56
+ <strong>Weigh</strong>
57
+ <p>Compare expected cost, expected value, risks, and confidence before recording a Commitment or Deferral.</p>
58
+ </a>
59
+ <a href="./phase-build.html">
60
+ <span>04</span>
61
+ <strong>Build</strong>
62
+ <p>Turn committed requirements into tasks and working changes.</p>
63
+ </a>
64
+ <a href="./phase-go-live.html">
65
+ <span>05</span>
66
+ <strong>Go Live</strong>
67
+ <p>Prepare the change, confirm readiness, and put it into use.</p>
68
+ </a>
69
+ <a href="./phase-operate.html">
70
+ <span>06</span>
71
+ <strong>Operate</strong>
72
+ <p>Run the service, help users, and respond when something goes wrong.</p>
73
+ </a>
74
+ <a href="./phase-measure.html">
75
+ <span>07</span>
76
+ <strong>Measure</strong>
77
+ <p>Compare expected and actual cost or benefit when data is available.</p>
78
+ </a>
79
+ </div>
80
+ </section>
81
+ </main>
82
+ </div>
83
+ <script src="./app.js?v=5"></script>
84
+ </body>
85
+ </html>