dxcomplete 0.2.2 → 0.3.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/README.md +63 -70
- package/dist/cli.js +2 -2
- package/docs/cost-model.md +2 -2
- package/docs/decision-basis.md +5 -11
- package/docs/diagrams.md +3 -3
- package/docs/index.md +25 -39
- package/docs/model.md +12 -20
- package/docs/open-questions.md +1 -1
- package/docs/taxonomy.md +6 -7
- package/docs/workflows.md +3 -3
- package/package.json +2 -2
- package/templates/process/README.md +10 -10
- package/templates/process/controls.yml +19 -19
- package/templates/process/cost-model.yml +3 -3
- package/templates/process/decision-basis.yml +4 -4
- package/templates/process/diagrams/00-decision-basis.mmd +1 -1
- package/templates/process/diagrams/00-overview.mmd +1 -1
- package/templates/process/diagrams/01-intake-triage.mmd +4 -4
- package/templates/process/diagrams/02-product-definition.mmd +3 -3
- package/templates/process/diagrams/03-engineering-execution.mmd +1 -1
- package/templates/process/diagrams/04-qa-verification.mmd +1 -1
- package/templates/process/diagrams/05-product-validation.mmd +1 -1
- package/templates/process/diagrams/06-change-release-control.mmd +1 -1
- package/templates/process/diagrams/07-deployment-operations.mmd +1 -1
- package/templates/process/diagrams/08-support-incident-management.mmd +1 -1
- package/templates/process/diagrams/09-problem-improvement.mmd +1 -1
- package/templates/process/diagrams/10-risk-control-management.mmd +1 -1
- package/templates/process/diagrams/11-audit-evidence-capture.mmd +1 -1
- package/templates/process/roles.yml +6 -6
- package/templates/process/taxonomy.yml +46 -46
- package/templates/process/workflows.yml +29 -29
- package/website/account.html +57 -0
- package/website/app.js +177 -0
- package/website/flow.html +4 -0
- package/website/glossary.html +4 -0
- package/website/index.html +4 -0
- package/website/objects.html +4 -0
- package/website/operating-guide.html +4 -0
- package/website/outcomes.html +4 -0
- package/website/phase-build.html +4 -0
- package/website/phase-elicit.html +4 -0
- package/website/phase-go-live.html +4 -0
- package/website/phase-measure.html +4 -0
- package/website/phase-operate.html +4 -0
- package/website/phase-orient.html +4 -0
- package/website/phase-weigh.html +4 -0
- package/website/roles.html +4 -0
- package/website/styles.css +217 -1
package/README.md
CHANGED
|
@@ -1,55 +1,63 @@
|
|
|
1
1
|
# DX Complete
|
|
2
2
|
|
|
3
|
-
DX Complete installs
|
|
3
|
+
DX Complete installs the workspace-side documentation, process files, and MCP route needed for a service to use the hosted DX Complete record system.
|
|
4
4
|
|
|
5
|
-
This
|
|
5
|
+
This npm package is the installer for a client workspace. It is not the central DX Complete service. The hosted service stores records, manages Google OAuth, checks workspace membership, assigns readable IDs, and executes MCP tools. An installed workspace must be provisioned in DX Complete and configured with its service URL, client ID, and client secret before its MCP route can be used.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Create those credentials by signing in at `https://dxcomplete.directeddomains.com/account.html`. Store the secret in the client workspace hosting environment; it is shown once.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
For the full DX Complete method and browser documentation, see `https://dxcomplete.directeddomains.com`.
|
|
10
|
+
|
|
11
|
+
## Install A Workspace
|
|
12
|
+
|
|
13
|
+
1. Create or open the Next.js project repo that will expose the DX Complete route for this service.
|
|
14
|
+
|
|
15
|
+
2. Install DX Complete into that project:
|
|
10
16
|
|
|
11
17
|
```sh
|
|
12
18
|
npx dxcomplete init
|
|
13
19
|
```
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
3. Sign in at `https://dxcomplete.directeddomains.com/account.html`.
|
|
16
22
|
|
|
17
|
-
|
|
23
|
+
4. Create a workspace for the service.
|
|
18
24
|
|
|
19
|
-
|
|
25
|
+
5. Replace the generated `dxcomplete/workspace.json` with the workspace JSON shown by the account page.
|
|
20
26
|
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
6. Store the service values shown by the account page in the client workspace hosting environment:
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
DXC_SERVICE_URL=https://dxcomplete.directeddomains.com
|
|
31
|
+
DXC_SERVICE_CLIENT_ID=...
|
|
32
|
+
DXC_SERVICE_CLIENT_SECRET=...
|
|
23
33
|
```
|
|
24
34
|
|
|
25
|
-
|
|
35
|
+
7. Deploy the workspace app and verify its MCP route at `/api/mcp`.
|
|
26
36
|
|
|
27
|
-
|
|
37
|
+
The init command creates editable DX Complete documentation and process files under `dxcomplete/`, installs Next.js route wrappers under `pages/api/`, writes Vercel compatibility settings, and creates an initial `dxcomplete/workspace.json` file. The hosted account page is the source of the provisioned workspace JSON and one-time service secret.
|
|
28
38
|
|
|
29
|
-
|
|
39
|
+
`DXC_SERVICE_URL` is environment-specific, `DXC_SERVICE_CLIENT_ID` is a provisioning detail, and `DXC_SERVICE_CLIENT_SECRET` is a secret. Workspace deployments do not need database credentials, OAuth provider secrets, or central-service provisioning secrets.
|
|
30
40
|
|
|
31
|
-
|
|
41
|
+
## What It Installs
|
|
32
42
|
|
|
33
|
-
-
|
|
34
|
-
- Product definition
|
|
35
|
-
- Engineering execution
|
|
36
|
-
- Engineer implementation, including Codex-assisted work where appropriate
|
|
37
|
-
- QA verification
|
|
38
|
-
- Product validation
|
|
39
|
-
- Change and release control
|
|
40
|
-
- Deployment
|
|
41
|
-
- Operation
|
|
42
|
-
- User support
|
|
43
|
-
- Administration as part of operation
|
|
44
|
-
- Audit and evidence
|
|
43
|
+
DX Complete adds a workspace-side scaffold for one service scope:
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
- Editable process documentation under `dxcomplete/docs/`.
|
|
46
|
+
- Editable process data under `dxcomplete/process/`.
|
|
47
|
+
- Workspace identity in `dxcomplete/workspace.json`.
|
|
48
|
+
- Install metadata in `dxcomplete/.install-manifest.json`.
|
|
49
|
+
- Next.js route wrappers under `pages/api/`.
|
|
50
|
+
- Vercel compatibility settings in `vercel.json`.
|
|
51
|
+
- An optional basic GitHub workflow.
|
|
52
|
+
- A root `AGENTS.md` only when the target project does not already have one.
|
|
47
53
|
|
|
48
|
-
The
|
|
54
|
+
The documentation and process files are intentionally local to the installed workspace. Teams can adapt them to match how their service is actually governed, built, released, operated, supported, and measured.
|
|
49
55
|
|
|
50
|
-
|
|
56
|
+
## Current Record Set
|
|
51
57
|
|
|
52
|
-
Current runtime records include Workspace, Statement, Journal, Environment, Component, Maintenance Schedule, Expectation, Requirement, Estimate, Benefits, Value Realization, Commitment, Deferral, Task, Change, Incident, Problem, Support Request, Decision, Risk, and DX Complete Ticket.
|
|
58
|
+
The hosted DX Complete runtime stores records for the service lifecycle. Current runtime records include Workspace, Statement, Journal, Environment, Component, Maintenance Schedule, Expectation, Requirement, Estimate, Benefits, Value Realization, Commitment, Deferral, Task, Change, Incident, Problem, Support Request, Decision, Risk, and DX Complete Ticket.
|
|
59
|
+
|
|
60
|
+
Workspace-scoped lifecycle records receive readable references such as `REQ-0001` while UUID remains the primary key and link target. DX Complete keeps ledger-style records appendable where history matters, and state-style records versioned where the current shape matters.
|
|
53
61
|
|
|
54
62
|
## Usage
|
|
55
63
|
|
|
@@ -89,14 +97,19 @@ Validate the scaffold shape:
|
|
|
89
97
|
npx dxcomplete validate
|
|
90
98
|
```
|
|
91
99
|
|
|
92
|
-
By default, the scaffold is written to `dxcomplete/` and a
|
|
100
|
+
By default, the scaffold is written to `dxcomplete/` and a basic workflow is written to `.github/workflows/dxcomplete.yml`. Existing files are not overwritten unless `--force` is provided.
|
|
101
|
+
|
|
102
|
+
If the target project does not already have a root `AGENTS.md`, `dxcomplete init` writes a small Codex guidance file that points future engineering agents to `dxcomplete/docs/operating-guide.md` and `dxcomplete/docs/codex-integration.md`. If a root `AGENTS.md` already exists, it is skipped. `dxcomplete upgrade` does not overwrite a user-owned `AGENTS.md`.
|
|
93
103
|
|
|
94
|
-
|
|
104
|
+
`dxcomplete upgrade` previews by default. It manages the installed route wrappers, Vercel compatibility configuration, and `dxcomplete/.install-manifest.json`. It does not overwrite `dxcomplete/workspace.json`. It reports drift in `dxcomplete/docs` and `dxcomplete/process` because those files become user-owned after installation.
|
|
95
105
|
|
|
96
|
-
`dxcomplete upgrade` previews by default. It manages the installed route wrappers, Vercel compatibility configuration, and `dxcomplete/.install-manifest.json`. It does not overwrite `dxcomplete/workspace.json`. It reports drift in `dxcomplete/docs` and `dxcomplete/process` because those files are expected to become user-owned after installation.
|
|
97
106
|
Run `dxcomplete init` before `dxcomplete upgrade`; upgrade refuses targets that do not already have `dxcomplete/workspace.json`.
|
|
98
107
|
|
|
99
|
-
|
|
108
|
+
## Workspace Runtime and MCP
|
|
109
|
+
|
|
110
|
+
The installed workspace exposes a Model Context Protocol route for that workspace. The route does not open the database directly and does not run the hosted DX Complete service. It proxies auth and MCP requests to the hosted service. Access is scoped by the installed repo's `dxcomplete/workspace.json`, authenticated actor identity, and workspace membership.
|
|
111
|
+
|
|
112
|
+
The installed route wrappers are written under `pages/api/` so the workspace can remain a normal Next.js app on Vercel:
|
|
100
113
|
|
|
101
114
|
```text
|
|
102
115
|
pages/api/mcp.js
|
|
@@ -105,37 +118,17 @@ pages/api/dxcomplete/[...path].js
|
|
|
105
118
|
pages/api/auth/callback/google.js
|
|
106
119
|
```
|
|
107
120
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
## Package and Compatibility Versioning
|
|
111
|
-
|
|
112
|
-
DX Complete uses one package version, one workspace compatibility gate, and one surface fingerprint:
|
|
113
|
-
|
|
114
|
-
- `packageVersion` is the npm package release version from `package.json`.
|
|
115
|
-
- `workspaceCompatibility` is the installed workspace compatibility gate. It changes only when an installed workspace must update its route/proxy surface to keep talking safely to the hosted DX Complete service.
|
|
116
|
-
- `surfaceFingerprint` is an automatic hash of the live MCP tools, tool schemas, process guide, and on-demand doc references. It can change without requiring a package release or workspace upgrade.
|
|
117
|
-
|
|
118
|
-
The MCP `surfaceVersion` field is a stable surface identifier. Use `surfaceFingerprint` for exact surface reconciliation and `workspaceCompatibility` for upgrade decisions.
|
|
119
|
-
|
|
120
|
-
## Workspace Runtime and MCP
|
|
121
|
-
|
|
122
|
-
The documentation scaffold is the first milestone. The runtime layer treats Workspace as the boundary for one service scope.
|
|
123
|
-
|
|
124
|
-
The default MCP deployment model is one endpoint per workspace. A Next.js project repo installs DX Complete and exposes an MCP route for that workspace. That workspace route does not open the database directly and does not run the hosted DX Complete service. It proxies auth and MCP requests to that service. Access is scoped by the installed repo's `dxcomplete/workspace.json`, authenticated actor identity, and workspace membership. Do not use a workspace environment variable for this boundary.
|
|
121
|
+
Hosted MCP is exposed in the installed workspace app at `/api/mcp`. The workspace route uses Streamable HTTP, advertises OAuth metadata for remote MCP clients, proxies OAuth through the hosted DX Complete service, and returns DX Complete bearer tokens scoped to the configured workspace. The installed repo supplies workspace identity through `dxcomplete/workspace.json`; the hosted service stores workspace memberships and executes MCP tools.
|
|
125
122
|
|
|
126
|
-
|
|
123
|
+
The hosted DX Complete service uses Google OAuth for account sign-in. Its Google OAuth callback URL is:
|
|
127
124
|
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
DXC_SERVICE_CLIENT_ID=...
|
|
131
|
-
DXC_SERVICE_CLIENT_SECRET=...
|
|
125
|
+
```text
|
|
126
|
+
https://dxcomplete.directeddomains.com/api/dxcomplete/web/auth/google/callback
|
|
132
127
|
```
|
|
133
128
|
|
|
134
|
-
`
|
|
135
|
-
|
|
136
|
-
Once connected, the hosted DX Complete service stores records for the workspace. The first runtime collections cover workspaces, statements, journal entries, environments, components, estimates, benefits, expectations, requirements, commitments, deferrals, tasks, changes, decisions, and risks. Use the MCP tools to create and link those records inside the intended workspace. Workspace-scoped lifecycle records receive a human-readable reference such as `REQ-0001` while UUID remains the primary key and link target.
|
|
129
|
+
On Vercel, `vercel.json` must include `dxcomplete/workspace.json` in the API function bundle. The scaffold includes this by default with `functions["pages/api/**/*.js"].includeFiles`. Vercel reserves `/.well-known`, so the installed Next app rewrites the OAuth discovery metadata paths to the DX Complete route wrapper.
|
|
137
130
|
|
|
138
|
-
|
|
131
|
+
## MCP Tools
|
|
139
132
|
|
|
140
133
|
Useful MCP tools include:
|
|
141
134
|
|
|
@@ -160,17 +153,21 @@ Useful MCP tools include:
|
|
|
160
153
|
- `link_records` and `unlink_records` for explicit relationships when a typed tool does not already create or remove the link.
|
|
161
154
|
- `archive_record` for cleanup without deleting evidence.
|
|
162
155
|
|
|
163
|
-
|
|
156
|
+
A DX Complete Ticket is the private place for an MCP client user to raise a question, report, request, correction, or follow-up with DX Complete. It has an ID and can receive appended entries over time. The durable content is the title plus entries; summary is optional and is not generated automatically. DX Complete replies can be tracked as unread or read by the submitting actor. Formal shared work should be created or linked separately when someone decides the ticket needs process follow-up.
|
|
164
157
|
|
|
165
|
-
|
|
158
|
+
The Journal is shared workspace context, not a private ticket. It is for useful notes that do not already belong in a dedicated record such as Statement, Expectation, Requirement, Decision, Risk, Change, or Task. Journal content that becomes load-bearing should be promoted to the appropriate record and linked back where useful.
|
|
166
159
|
|
|
167
|
-
|
|
160
|
+
The Operating Guide explains record routing by role. Engineer/Codex work defaults to Requirement -> Task. Tester evidence usually belongs in Task entries, review notes, Risk, Decision, or Journal. Operator work uses Change for run-side alterations, Incident for specific service-impacting occurrences, Problem for underlying or recurring causes, and Environment or Component for operational inventory. Support Agent work starts with DX Complete Ticket, then promotes to shared records only when needed.
|
|
168
161
|
|
|
169
|
-
|
|
162
|
+
## Package and Compatibility Versioning
|
|
170
163
|
|
|
171
|
-
|
|
164
|
+
DX Complete uses one package version, one workspace compatibility gate, and one surface fingerprint:
|
|
172
165
|
|
|
173
|
-
|
|
166
|
+
- `packageVersion` is the npm package release version from `package.json`.
|
|
167
|
+
- `workspaceCompatibility` is the installed workspace compatibility gate. It changes only when an installed workspace must update its route/proxy surface to keep talking safely to the hosted DX Complete service.
|
|
168
|
+
- `surfaceFingerprint` is an automatic hash of the live MCP tools, tool schemas, process guide, and on-demand doc references. It can change without requiring a package release or workspace upgrade.
|
|
169
|
+
|
|
170
|
+
The MCP `surfaceVersion` field is a stable surface identifier. Use `surfaceFingerprint` for exact surface reconciliation and `workspaceCompatibility` for upgrade decisions. `runtime_status`, `get_process_guide`, and `get_doc` return the same `surfaceVersion` and `surfaceFingerprint`, so an MCP client can refresh when the surface is stale or inconsistent.
|
|
174
171
|
|
|
175
172
|
## Repository Structure
|
|
176
173
|
|
|
@@ -178,10 +175,6 @@ The Operating Guide explains record routing by role. Engineer/Codex work default
|
|
|
178
175
|
docs/ Installed DX Complete documentation
|
|
179
176
|
templates/process/ Installed editable process files
|
|
180
177
|
templates/next/ Installed Next.js route wrappers
|
|
181
|
-
templates/github/ Optional GitHub workflow
|
|
178
|
+
templates/github/ Optional basic GitHub workflow
|
|
182
179
|
dist/ Published CLI and workspace MCP proxy handler
|
|
183
180
|
```
|
|
184
|
-
|
|
185
|
-
## Design Principle
|
|
186
|
-
|
|
187
|
-
Use the scaffold to preserve the current thinking without freezing it. Prefer explicit draft status, open questions, TODOs, and editable configuration over hardcoded claims about how the model must work.
|
package/dist/cli.js
CHANGED
|
@@ -34,7 +34,7 @@ async function main(argv) {
|
|
|
34
34
|
console.log(`Initialized DX Complete scaffold in ${result.targetDir}`);
|
|
35
35
|
printList("Written", result.written);
|
|
36
36
|
printList("Skipped existing", result.skipped);
|
|
37
|
-
console.log("
|
|
37
|
+
console.log("Next: sign in at https://dxcomplete.directeddomains.com/account.html, create the workspace, replace dxcomplete/workspace.json with the returned workspace JSON, and store the service values in the hosting environment.");
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
if (args.command === "upgrade") {
|
|
@@ -164,7 +164,7 @@ Usage:
|
|
|
164
164
|
dxcomplete validate [--target <dir>]
|
|
165
165
|
|
|
166
166
|
Commands:
|
|
167
|
-
init Install the editable
|
|
167
|
+
init Install the editable DX Complete workspace scaffold into a project.
|
|
168
168
|
upgrade Preview or apply compatibility-critical scaffold updates.
|
|
169
169
|
validate Validate the expected scaffold file shape.
|
|
170
170
|
|
package/docs/cost-model.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Cost Model
|
|
2
2
|
|
|
3
3
|
Cost modeling is first-class in DX Complete. Do not reduce the top-level model to OPEX. OPEX/CAPEX-like categories may exist inside the cost model, but the top-level concept should remain Cost Model / Decision Basis.
|
|
4
4
|
|
|
@@ -27,7 +27,7 @@ The structured `Estimate` record is cost-only. It keeps one-time and recurring c
|
|
|
27
27
|
|
|
28
28
|
Expected value belongs in `Benefits`. Benefits may include quantified items with amounts, or qualitative items that are complete without an amount.
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## Cost Records
|
|
31
31
|
|
|
32
32
|
Current-state cost context should be attempted where relevant. It may be complete, partial, unavailable, or limited by disclosure, but it is no longer a separate runtime record in the current model.
|
|
33
33
|
|
package/docs/decision-basis.md
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Decision Basis
|
|
2
2
|
|
|
3
|
-
DX Complete
|
|
3
|
+
A DX effort implies a decision to improve or create a digital capability with some expected business benefit. DX Complete therefore keeps cost and benefit reasoning before engineering work begins, plus actual measurement after delivery where possible.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
Decision Basis + Complete Engineering + Operations Measurement
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
This is a working hypothesis, but the need is first-class. A DX effort implies a decision to improve or create a digital capability with some expected business benefit. The model therefore needs cost and benefit reasoning before engineering work begins, plus actual measurement after delivery where possible.
|
|
10
|
-
|
|
11
|
-
## Draft Purpose
|
|
5
|
+
## Purpose
|
|
12
6
|
|
|
13
7
|
The decision basis explains whether there is enough reason and confidence to commit after expectations and the requirement set have been elicited, or whether the work should be deferred until named conditions are addressed.
|
|
14
8
|
|
|
@@ -34,7 +28,7 @@ Actual cost and benefit measurements should be captured after launch where avail
|
|
|
34
28
|
|
|
35
29
|
Weigh should preserve the Owner outcome: a Commitment if the work moves forward, or a Deferral if conditions must be addressed first. Decision records can still preserve decision entries, loose argument entries, notes, and linked inputs where a separate decision trail is useful. DX Complete should not require numeric weights or treat the recorded rationale as proof that the choice was objectively correct.
|
|
36
30
|
|
|
37
|
-
##
|
|
31
|
+
## Decision Basis Flow
|
|
38
32
|
|
|
39
33
|
1. Statement capture
|
|
40
34
|
2. Capture statement and expectations
|
|
@@ -54,4 +48,4 @@ Weigh should preserve the Owner outcome: a Commitment if the work moves forward,
|
|
|
54
48
|
|
|
55
49
|
The decision basis should not pretend that every DX effort has clean financial data. It should create visibility into what is known, estimated, unavailable, or deliberately undisclosed.
|
|
56
50
|
|
|
57
|
-
The terms and
|
|
51
|
+
The workspace process files can adapt the terms and local guidance, but the decision basis should keep cost, benefit, risk, confidence, and the Owner outcome visible.
|
package/docs/diagrams.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Diagrams
|
|
2
2
|
|
|
3
|
-
The Mermaid diagrams
|
|
3
|
+
The Mermaid diagrams visualize the current DX Complete workflow and record relationships. Revise them when local role, workflow, or record decisions change.
|
|
4
4
|
|
|
5
5
|
Installed diagram files:
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ Installed diagram files:
|
|
|
20
20
|
|
|
21
21
|
## Diagram Policy
|
|
22
22
|
|
|
23
|
-
Each diagram should stay editable in plain Mermaid.
|
|
23
|
+
Each diagram should stay editable in plain Mermaid. Keep related Markdown, YAML, and Mermaid files aligned when a workspace policy changes.
|
|
24
24
|
|
|
25
25
|
## Revision Questions
|
|
26
26
|
|
package/docs/index.md
CHANGED
|
@@ -1,61 +1,47 @@
|
|
|
1
|
-
# DX Complete
|
|
1
|
+
# DX Complete Workspace Docs
|
|
2
2
|
|
|
3
3
|
## Goal
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
These files describe how this workspace uses DX Complete to decide what is worth doing, deliver it with control, run it safely, and learn from the results.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
DX Complete is installed into a service repo as workspace-owned documentation, process files, and route wrappers. The hosted DX Complete service stores records, manages sign-in, checks workspace membership, assigns readable IDs, and executes MCP tools.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Install And Provisioning Context
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
The npm package installs the workspace-side files. It does not install the hosted DX Complete service.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
For a new workspace:
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
1. Run `npx dxcomplete init` in the Next.js project repo.
|
|
16
|
+
2. Sign in at `https://dxcomplete.directeddomains.com/account.html`.
|
|
17
|
+
3. Create a workspace for the service.
|
|
18
|
+
4. Replace `dxcomplete/workspace.json` with the workspace JSON shown by the account page.
|
|
19
|
+
5. Store `DXC_SERVICE_URL`, `DXC_SERVICE_CLIENT_ID`, and `DXC_SERVICE_CLIENT_SECRET` in the workspace app hosting environment.
|
|
20
|
+
6. Deploy the workspace app and verify the MCP route at `/api/mcp`.
|
|
16
21
|
|
|
17
|
-
The
|
|
22
|
+
The service secret is shown once by the account page. Store it in the hosting environment, not in the repo.
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
DX Complete = Decision Basis + Complete Engineering + Operations Measurement
|
|
21
|
-
```
|
|
24
|
+
## Current Product Model
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
```sh
|
|
26
|
-
npx dxcomplete init
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Scope Of The Draft Model
|
|
30
|
-
|
|
31
|
-
The installed scaffold should help describe and evolve a model covering:
|
|
26
|
+
The installed model covers:
|
|
32
27
|
|
|
33
28
|
- Workspace and service context
|
|
34
29
|
- Statement capture
|
|
35
30
|
- Shared Journal context
|
|
36
|
-
-
|
|
37
|
-
- Itemized cost estimates
|
|
38
|
-
- Benefits
|
|
31
|
+
- Cost context, itemized estimates, benefits, and measured value
|
|
39
32
|
- Decision basis for Weigh
|
|
40
|
-
- Weigh outcomes with Commitment or Deferral records
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
- Engineering execution
|
|
44
|
-
-
|
|
45
|
-
- QA verification
|
|
46
|
-
- Product validation
|
|
33
|
+
- Weigh outcomes with Commitment or Deferral records
|
|
34
|
+
- Decisions with linked inputs where useful
|
|
35
|
+
- Direction and product definition
|
|
36
|
+
- Engineering execution and task work
|
|
37
|
+
- QA verification and product validation
|
|
47
38
|
- Change and release control
|
|
48
|
-
- Deployment
|
|
49
|
-
-
|
|
50
|
-
- User support
|
|
39
|
+
- Deployment and operation
|
|
40
|
+
- User support, incidents, and problems
|
|
51
41
|
- Administration as part of operation
|
|
52
|
-
- Audit and
|
|
53
|
-
- Actual cost / benefit measurement where available
|
|
54
|
-
- Estimate refinement for future projects
|
|
42
|
+
- Audit, evidence, risk, and measurement
|
|
55
43
|
- Role-by-role operating guidance
|
|
56
44
|
|
|
57
45
|
## How To Read These Docs
|
|
58
46
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
Use `operating-guide.md` to see how each role should choose records in normal work. Use `open-questions.md` to capture uncertain areas before turning them into policy. Use the YAML files in `templates/process/` as the editable source for roles, objects, workflows, and controls.
|
|
47
|
+
Use `operating-guide.md` to see how each role should choose records in normal work. Use `taxonomy.md` to understand the current record set. Use `open-questions.md` for genuine unresolved policy questions. Use the YAML files in `dxcomplete/process/` as editable workspace process data.
|
package/docs/model.md
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# DX Complete Model
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Current Model
|
|
4
4
|
|
|
5
5
|
The model is a full DX lifecycle, not merely a software development workflow.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
```text
|
|
10
|
-
DX Complete = Decision Basis + Complete Engineering + Operations Measurement
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
It should include cost and benefit reasoning before engineering begins, both build/change roles and run/service roles, and actual measurement after delivery where available.
|
|
7
|
+
It includes cost and benefit reasoning before engineering begins, both build/change roles and run/service roles, and actual measurement after delivery where available.
|
|
14
8
|
|
|
15
9
|
The current runtime scope decision is `Workspace`: the hosted-record container for one service scope. The default MCP deployment model is one endpoint per workspace. Each installed project repo carries its workspace identity in editable DX Complete config and exposes one MCP route for that workspace.
|
|
16
10
|
|
|
@@ -18,21 +12,19 @@ Workspace MCP deployments are not database runtimes and do not install the hoste
|
|
|
18
12
|
|
|
19
13
|
Workspace carries the service identity through its name, summary, and mode when useful. A separate service charter record is not part of the current model; if a presentation summary is needed, it should be derived from the workspace and current expectations.
|
|
20
14
|
|
|
21
|
-
The current decision-basis
|
|
15
|
+
The current decision-basis model is that `Statement`, `Expectation`, `Requirement`, `Estimate`, `Benefits`, and `Decision` sit upstream of Build inside the Workspace. Statements, expectations, dependencies, constraints, unknowns, and requirements should be elicited before useful estimates are generated. Current-state cost context should be attempted where relevant, an itemized cost `Estimate` should be generated by default from the elicited requirement set where cost reasoning is needed, expected `Benefits` should be recorded where possible, and Weigh should bridge into Build through a Commitment or keep the path visible through a Deferral. A Decision can preserve ordered rationale entries and records that informed the Owner's judgment.
|
|
22
16
|
|
|
23
|
-
The current early lifecycle
|
|
17
|
+
The current early lifecycle is `Statement -> Expectation -> Requirement -> Commitment`, with `Deferral` as the alternate Weigh outcome that can resolve into a Commitment. `Statement` preserves the user's own words before interpretation as a runtime record. `Expectation` is tracked as a runtime record and restates the expected result and how success will be recognized in user-facing language. The MCP client should confirm captured wording before recording it on a user's behalf. Separate authority approval, usually by Owner, can be tracked when it reduces risk. `Requirement` is the team-owned commitment that translates expectations into something buildable and verifiable. Statements, expectations, and requirements should keep prior versions when their current wording changes. `Commitment` records the Owner moving requirements or expectations into Build. `Task` is a cross-cutting execution object that can be created whenever a phase needs concrete action. `Journal` is cross-cutting shared workspace context for relevant notes that do not have a dedicated record home.
|
|
24
18
|
|
|
25
19
|
A separate technical specification object is not part of the current model. Implementation and verification detail should live inside a Requirement as optional requirement detail until the need for an independent object is proven.
|
|
26
20
|
|
|
27
|
-
The current engineering lifecycle
|
|
28
|
-
|
|
29
|
-
The current review-note hypothesis is that Engineer input on Expectations or Requirements should be preserved as append-only free text. A review note can be marked important to draw attention, but it does not block progress, create a severity state, or require an Owner response.
|
|
21
|
+
The current engineering lifecycle uses `Requirement` as the main end-to-end engineering object. Requirements are shaped during elicitation, committed or deferred during Weigh, and refined into requirement detail and tasks during Build once covered by a Commitment. Task is a cross-cutting execution record with ordered entries and a current status derived from the latest status-change entry. The Engineer works primarily on Tasks and may use coding-capable tools such as Codex where appropriate. Incident and Problem are run-side records: Incident records a specific service-impacting occurrence, and Problem records an underlying or recurring cause evidenced by incidents. Feature Request, Feedback, Authoritative Request, Release, Deployment, and Control remain useful lifecycle concepts, but they are not separate runtime records in the current model.
|
|
30
22
|
|
|
31
|
-
|
|
23
|
+
Engineer input on Expectations or Requirements is preserved as append-only free text. A review note can be marked important to draw attention, but it does not block progress, create a severity state, or require an Owner response.
|
|
32
24
|
|
|
33
|
-
|
|
25
|
+
Approval and similar confirmation points are advisory risk checkpoints, not blockers. A checkpoint can be approved, formally accepted as risk by the Owner, or proceeded past with the open risk still visible. Proceeding past an open checkpoint does not close or accept the risk.
|
|
34
26
|
|
|
35
|
-
|
|
27
|
+
DX Complete preserves the matter being decided, ordered decision entries, loose argument and note entries, and the records that informed the choice. The current decision is derived from the latest decision entry while earlier decisions remain visible. DX Complete does not require numeric weights or attempt to prove that the decision was objectively correct. Authority can make a poor or unreasonable decision; the system's role is to keep the decision trail visible for accountability, review, audit, and learning.
|
|
36
28
|
|
|
37
29
|
## Model Layers
|
|
38
30
|
|
|
@@ -70,7 +62,7 @@ Operations measurement captures actual cost and benefit observations where avail
|
|
|
70
62
|
|
|
71
63
|
Decision rationale captures ordered entries for the matter being decided, including decision entries, argument entries, and notes without forcing those arguments into weighted or directional scoring. Decision inputs link the Decision to the records that informed it, so the trail can be followed from the choice back to its basis.
|
|
72
64
|
|
|
73
|
-
##
|
|
65
|
+
## Relationship Shape
|
|
74
66
|
|
|
75
67
|
```mermaid
|
|
76
68
|
flowchart LR
|
|
@@ -105,6 +97,6 @@ flowchart LR
|
|
|
105
97
|
Decision -. informed_by .-> Change
|
|
106
98
|
```
|
|
107
99
|
|
|
108
|
-
##
|
|
100
|
+
## Adaptation Principle
|
|
109
101
|
|
|
110
|
-
Keep the
|
|
102
|
+
Keep the workspace process files editable. If a team makes a local policy decision that changes how it uses `Change`, `Requirement`, or another record, update the Markdown, YAML, and Mermaid files together so the workspace guidance stays consistent.
|
package/docs/open-questions.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Open Questions
|
|
2
2
|
|
|
3
|
-
Use this file to keep
|
|
3
|
+
Use this file to keep genuine unresolved policy questions visible. When a question is answered, update the related Markdown, YAML, and Mermaid files together.
|
|
4
4
|
|
|
5
5
|
## Model
|
|
6
6
|
|
package/docs/taxonomy.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# DX Complete Records
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The record set describes the current DX Complete runtime model for one workspace.
|
|
4
4
|
|
|
5
|
-
## Current Runtime
|
|
5
|
+
## Current Runtime Records
|
|
6
6
|
|
|
7
7
|
- Workspace
|
|
8
8
|
- DX Complete Ticket
|
|
@@ -39,7 +39,7 @@ These concepts remain useful, but they are not separate runtime records in the c
|
|
|
39
39
|
- Evidence
|
|
40
40
|
- Estimate Refinement
|
|
41
41
|
|
|
42
|
-
## Current Lifecycle
|
|
42
|
+
## Current Lifecycle Model
|
|
43
43
|
|
|
44
44
|
`Workspace` is the runtime scope object. It contains one service scope and is the boundary for hosted DX Complete records. The default MCP deployment model is one endpoint per installed workspace, with workspace identity coming from DX Complete config and access constrained by authenticated actor plus workspace authorization.
|
|
45
45
|
|
|
@@ -67,7 +67,7 @@ Workspace-scoped lifecycle records use UUIDs as primary keys and links, while al
|
|
|
67
67
|
|
|
68
68
|
`ReviewNote` is not a separate collection. Expectations and Requirements can carry append-only review notes. A note can be marked important, but it does not create a severity state, block progress, or require an Owner response.
|
|
69
69
|
|
|
70
|
-
The main engineering object
|
|
70
|
+
The main engineering object is `Requirement`. Requirements translate expectations into team-owned commitments that are shaped during elicitation, weighed by the Owner, and refined during Build once covered by a Commitment. When a requirement changes, prior versions should be kept so the current commitment remains reconstructable.
|
|
71
71
|
|
|
72
72
|
`Commitment` is the Owner's point-in-time authority record that moves named requirements or expectations into Build. It can include reservations: concerns the Owner is moving forward despite.
|
|
73
73
|
|
|
@@ -89,9 +89,8 @@ Decision inputs use the `informed_by` relationship from a Decision to the record
|
|
|
89
89
|
|
|
90
90
|
The installed scaffold includes `dxcomplete/process/taxonomy.yml`. Treat that file as the editable taxonomy source for a project.
|
|
91
91
|
|
|
92
|
-
## Taxonomy Questions
|
|
92
|
+
## Open Taxonomy Questions
|
|
93
93
|
|
|
94
|
-
- Is `Requirement` the main lifecycle object, or should the center be `Change`, `Feature Request`, or another object?
|
|
95
94
|
- Is `Workspace` sufficient as the service-scope boundary, or will related workspaces need a stronger grouping model?
|
|
96
95
|
- Should future work need a grouping model above Workspace, or is Workspace sufficient as the service scope?
|
|
97
96
|
- Should decision arguments remain embedded text, or should they become first-class records after repeated use?
|
package/docs/workflows.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Workflows
|
|
2
2
|
|
|
3
|
-
These workflows
|
|
3
|
+
These workflows describe the current DX Complete lifecycle paths. Adapt the workspace-owned process files when a local policy decision changes how the team works.
|
|
4
4
|
|
|
5
5
|
## Current Workflow Areas
|
|
6
6
|
|
|
@@ -26,7 +26,7 @@ These workflows are editable drafts. They describe likely lifecycle paths withou
|
|
|
26
26
|
- Actual cost / benefit observations
|
|
27
27
|
- Estimate refinement
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## End-To-End Flow
|
|
30
30
|
|
|
31
31
|
1. A signal enters through feedback, authoritative request, support ticket, service-impact event, recurring issue, or strategic direction.
|
|
32
32
|
2. Statement capture preserves the user's own words and links the work to the Workspace context.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dxcomplete",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Install
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Install the DX Complete workspace-side docs, process files, and MCP route for the hosted record service.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"dxcomplete",
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
# DX Complete Process Scaffold
|
|
2
2
|
|
|
3
|
-
This directory
|
|
3
|
+
This directory contains editable process files for this DX Complete workspace.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Update these files when the workspace makes local decisions about decision-basis, engineering, service operation, roles, workflows, records, and controls.
|
|
6
6
|
|
|
7
7
|
The current scope commitment is that a Workspace contains one service scope. Statements, journal entries, decisions, requirements, work, cost, benefit, support, operations, and measurement records should be understood inside that workspace unless a project explicitly decides otherwise. The default runtime shape is one MCP endpoint for that installed workspace, with workspace identity coming from DX Complete config and access constrained by authenticated actor identity plus workspace authorization.
|
|
8
8
|
|
|
9
9
|
## Files
|
|
10
10
|
|
|
11
|
-
- `decision-basis.yml` stores
|
|
12
|
-
- `cost-model.yml` stores
|
|
13
|
-
- `roles.yml` stores
|
|
14
|
-
- `taxonomy.yml` stores
|
|
15
|
-
- `workflows.yml` stores
|
|
16
|
-
- `controls.yml` stores
|
|
11
|
+
- `decision-basis.yml` stores decision-basis templates and Commitment-or-Deferral framing.
|
|
12
|
+
- `cost-model.yml` stores current-state cost context, estimate, and actuals concepts.
|
|
13
|
+
- `roles.yml` stores role responsibilities.
|
|
14
|
+
- `taxonomy.yml` stores lifecycle records and relationships.
|
|
15
|
+
- `workflows.yml` stores workflow templates.
|
|
16
|
+
- `controls.yml` stores controls and evidence expectations.
|
|
17
17
|
- `diagrams/` stores editable Mermaid diagrams.
|
|
18
18
|
- `evidence/` stores captured evidence or pointers to evidence.
|
|
19
19
|
- `decisions/` stores decision records.
|
|
@@ -21,7 +21,7 @@ The current scope commitment is that a Workspace contains one service scope. Sta
|
|
|
21
21
|
|
|
22
22
|
## Editing Guidance
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
When a decision changes the workspace process, capture the decision record and update the relevant YAML, Markdown, and Mermaid files together.
|
|
25
25
|
|
|
26
26
|
## Suggested First Pass
|
|
27
27
|
|
|
@@ -35,4 +35,4 @@ Prefer explicit draft language until a decision is made. When a decision is made
|
|
|
35
35
|
8. Keep `Requirement` as the main engineering lifecycle object unless the model proves otherwise.
|
|
36
36
|
9. Remove objects that are too heavy for the current context.
|
|
37
37
|
10. Add evidence expectations only where they are useful.
|
|
38
|
-
11. Review open questions before turning
|
|
38
|
+
11. Review open questions before turning local process changes into policy.
|