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.
- package/.env.example +11 -0
- package/README.md +215 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +212 -0
- package/dist/http/server.d.ts +7 -0
- package/dist/http/server.js +236 -0
- package/dist/http/service.d.ts +7 -0
- package/dist/http/service.js +725 -0
- package/dist/init.d.ts +13 -0
- package/dist/init.js +128 -0
- package/dist/install-manifest.d.ts +25 -0
- package/dist/install-manifest.js +96 -0
- package/dist/mcp/docs.d.ts +98 -0
- package/dist/mcp/docs.js +438 -0
- package/dist/mcp/server.d.ts +20 -0
- package/dist/mcp/server.js +2345 -0
- package/dist/package-root.d.ts +2 -0
- package/dist/package-root.js +28 -0
- package/dist/runtime/actor.d.ts +14 -0
- package/dist/runtime/actor.js +42 -0
- package/dist/runtime/auth.d.ts +162 -0
- package/dist/runtime/auth.js +394 -0
- package/dist/runtime/check.d.ts +7 -0
- package/dist/runtime/check.js +16 -0
- package/dist/runtime/config.d.ts +17 -0
- package/dist/runtime/config.js +93 -0
- package/dist/runtime/mongo.d.ts +9 -0
- package/dist/runtime/mongo.js +56 -0
- package/dist/runtime/records.d.ts +336 -0
- package/dist/runtime/records.js +1463 -0
- package/dist/runtime/workspace.d.ts +19 -0
- package/dist/runtime/workspace.js +102 -0
- package/dist/upgrade.d.ts +20 -0
- package/dist/upgrade.js +246 -0
- package/dist/validate.d.ts +10 -0
- package/dist/validate.js +119 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.js +12 -0
- package/docs/codex-integration.md +29 -0
- package/docs/cost-model.md +61 -0
- package/docs/decision-basis.md +57 -0
- package/docs/diagrams.md +31 -0
- package/docs/glossary.md +147 -0
- package/docs/index.md +60 -0
- package/docs/model.md +110 -0
- package/docs/open-questions.md +61 -0
- package/docs/roles.md +42 -0
- package/docs/taxonomy.md +96 -0
- package/docs/workflows.md +60 -0
- package/package.json +62 -0
- package/scripts/check-env-surface.mjs +136 -0
- package/scripts/check-public-copy.mjs +263 -0
- package/scripts/check-service-boundary.mjs +63 -0
- package/scripts/dogfood-work-order.mjs +506 -0
- package/scripts/smoke-mcp-http.mjs +3572 -0
- package/src/cli.ts +268 -0
- package/src/http/server.ts +314 -0
- package/src/http/service.ts +934 -0
- package/src/init.ts +227 -0
- package/src/install-manifest.ts +144 -0
- package/src/mcp/docs.ts +557 -0
- package/src/mcp/server.ts +3525 -0
- package/src/package-root.ts +31 -0
- package/src/runtime/actor.ts +61 -0
- package/src/runtime/auth.ts +673 -0
- package/src/runtime/check.ts +18 -0
- package/src/runtime/config.ts +128 -0
- package/src/runtime/mongo.ts +89 -0
- package/src/runtime/records.ts +2303 -0
- package/src/runtime/workspace.ts +155 -0
- package/src/upgrade.ts +356 -0
- package/src/validate.ts +139 -0
- package/src/version.ts +16 -0
- package/templates/github/workflows/dxcomplete.yml +16 -0
- package/templates/next/pages/api/auth/callback/google.js +12 -0
- package/templates/next/pages/api/dxcomplete/[...path].js +12 -0
- package/templates/next/pages/api/dxcomplete.js +12 -0
- package/templates/next/pages/api/mcp.js +12 -0
- package/templates/next/vercel.json +18 -0
- package/templates/process/README.md +38 -0
- package/templates/process/controls.yml +113 -0
- package/templates/process/cost-model.yml +71 -0
- package/templates/process/decision-basis.yml +53 -0
- package/templates/process/decisions/.gitkeep +1 -0
- package/templates/process/diagrams/00-decision-basis.mmd +24 -0
- package/templates/process/diagrams/00-overview.mmd +20 -0
- package/templates/process/diagrams/01-intake-triage.mmd +20 -0
- package/templates/process/diagrams/02-product-definition.mmd +14 -0
- package/templates/process/diagrams/03-engineering-execution.mmd +15 -0
- package/templates/process/diagrams/04-qa-verification.mmd +12 -0
- package/templates/process/diagrams/05-product-validation.mmd +12 -0
- package/templates/process/diagrams/06-change-release-control.mmd +16 -0
- package/templates/process/diagrams/07-deployment-operations.mmd +16 -0
- package/templates/process/diagrams/08-support-incident-management.mmd +16 -0
- package/templates/process/diagrams/09-problem-improvement.mmd +14 -0
- package/templates/process/diagrams/10-risk-control-management.mmd +14 -0
- package/templates/process/diagrams/11-audit-evidence-capture.mmd +13 -0
- package/templates/process/evidence/.gitkeep +1 -0
- package/templates/process/risks/.gitkeep +1 -0
- package/templates/process/roles.yml +96 -0
- package/templates/process/taxonomy.yml +514 -0
- package/templates/process/workflows.yml +210 -0
- package/website/.well-known/oauth-authorization-server +22 -0
- package/website/.well-known/oauth-protected-resource/api/dxcomplete/mcp +10 -0
- package/website/.well-known/oauth-protected-resource/api/mcp +10 -0
- package/website/README.md +12 -0
- package/website/app.js +36 -0
- package/website/flow.html +85 -0
- package/website/glossary.html +280 -0
- package/website/index.html +90 -0
- package/website/objects.html +287 -0
- package/website/outcomes.html +117 -0
- package/website/phase-build.html +101 -0
- package/website/phase-elicit.html +102 -0
- package/website/phase-go-live.html +103 -0
- package/website/phase-measure.html +93 -0
- package/website/phase-operate.html +102 -0
- package/website/phase-orient.html +92 -0
- package/website/phase-weigh.html +98 -0
- package/website/roles.html +52 -0
- package/website/styles.css +1169 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import workspaceConfig from "../../../dxcomplete/workspace.json";
|
|
2
|
+
import handleDxcompleteRequest, { configureDxcompleteWorkspace } from "dxcomplete/http";
|
|
3
|
+
|
|
4
|
+
configureDxcompleteWorkspace(workspaceConfig);
|
|
5
|
+
|
|
6
|
+
export const config = {
|
|
7
|
+
api: {
|
|
8
|
+
bodyParser: false
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default handleDxcompleteRequest;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import workspaceConfig from "../../dxcomplete/workspace.json";
|
|
2
|
+
import handleDxcompleteRequest, { configureDxcompleteWorkspace } from "dxcomplete/http";
|
|
3
|
+
|
|
4
|
+
configureDxcompleteWorkspace(workspaceConfig);
|
|
5
|
+
|
|
6
|
+
export const config = {
|
|
7
|
+
api: {
|
|
8
|
+
bodyParser: false
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default handleDxcompleteRequest;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import workspaceConfig from "../../dxcomplete/workspace.json";
|
|
2
|
+
import handleDxcompleteRequest, { configureDxcompleteWorkspace } from "dxcomplete/http";
|
|
3
|
+
|
|
4
|
+
configureDxcompleteWorkspace(workspaceConfig);
|
|
5
|
+
|
|
6
|
+
export const config = {
|
|
7
|
+
api: {
|
|
8
|
+
bodyParser: false
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default handleDxcompleteRequest;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openapi.vercel.sh/vercel.json",
|
|
3
|
+
"functions": {
|
|
4
|
+
"pages/api/**/*.js": {
|
|
5
|
+
"includeFiles": "dxcomplete/workspace.json"
|
|
6
|
+
}
|
|
7
|
+
},
|
|
8
|
+
"rewrites": [
|
|
9
|
+
{
|
|
10
|
+
"source": "/.well-known/oauth-authorization-server",
|
|
11
|
+
"destination": "/api/dxcomplete/.well-known/oauth-authorization-server"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"source": "/.well-known/oauth-protected-resource/api/mcp",
|
|
15
|
+
"destination": "/api/dxcomplete/.well-known/oauth-protected-resource/api/mcp"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# DX Complete Process Scaffold
|
|
2
|
+
|
|
3
|
+
This directory is an editable draft scaffold for a DX Complete model.
|
|
4
|
+
|
|
5
|
+
The current model is not final. Update these files as the decision-basis, engineering, service, roles, workflows, object taxonomy, and controls become clearer.
|
|
6
|
+
|
|
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 hosted 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
|
+
|
|
9
|
+
## Files
|
|
10
|
+
|
|
11
|
+
- `decision-basis.yml` stores draft decision-basis templates and Commitment-or-Deferral framing.
|
|
12
|
+
- `cost-model.yml` stores draft current-state cost context, estimate, and actuals concepts.
|
|
13
|
+
- `roles.yml` stores draft role responsibilities.
|
|
14
|
+
- `taxonomy.yml` stores draft lifecycle objects and relationships.
|
|
15
|
+
- `workflows.yml` stores draft workflow templates.
|
|
16
|
+
- `controls.yml` stores placeholder controls and evidence expectations.
|
|
17
|
+
- `diagrams/` stores editable Mermaid diagrams.
|
|
18
|
+
- `evidence/` stores captured evidence or pointers to evidence.
|
|
19
|
+
- `decisions/` stores decision records.
|
|
20
|
+
- `risks/` stores risk notes and linked controls.
|
|
21
|
+
|
|
22
|
+
## Editing Guidance
|
|
23
|
+
|
|
24
|
+
Prefer explicit draft language until a decision is made. When a decision is made, capture the decision record and update the relevant YAML, Markdown, and Mermaid files together.
|
|
25
|
+
|
|
26
|
+
## Suggested First Pass
|
|
27
|
+
|
|
28
|
+
1. Confirm which roles exist in the current team.
|
|
29
|
+
2. Capture statement and restate expectations.
|
|
30
|
+
3. Add shared Journal notes only for relevant context that does not belong in a dedicated record.
|
|
31
|
+
4. Elicit requirements, dependencies, constraints, and unknowns from expectations.
|
|
32
|
+
5. Attempt current-state cost context, even if the result is unavailable or limited-disclosure.
|
|
33
|
+
6. Generate an itemized cost Estimate and capture Benefits from the elicited requirement set.
|
|
34
|
+
7. Decide whether the decision basis is sufficient for Commitment, or whether Deferral conditions should stay visible.
|
|
35
|
+
8. Keep `Requirement` as the main engineering lifecycle object unless the model proves otherwise.
|
|
36
|
+
9. Remove objects that are too heavy for the current context.
|
|
37
|
+
10. Add evidence expectations only where they are useful.
|
|
38
|
+
11. Review open questions before turning placeholders into policy.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
schema: dxcomplete.controls.v0
|
|
2
|
+
status: draft
|
|
3
|
+
notes:
|
|
4
|
+
- Controls are placeholders.
|
|
5
|
+
- Do not treat these as compliance requirements without a project-specific decision.
|
|
6
|
+
|
|
7
|
+
controls:
|
|
8
|
+
- id: cost_visibility
|
|
9
|
+
name: Cost visibility
|
|
10
|
+
draft_purpose: Ensure the workspace elicits enough detail, attempts current-state cost visibility, generates a cost Estimate where cost reasoning is needed, and records Benefits where benefit reasoning is needed.
|
|
11
|
+
applies_to:
|
|
12
|
+
- Workspace
|
|
13
|
+
- Estimate
|
|
14
|
+
- Benefits
|
|
15
|
+
draft_evidence:
|
|
16
|
+
- Elicited needs, dependencies, constraints, and unknowns.
|
|
17
|
+
- Current-state cost context, including unavailable or undisclosed data notes where applicable.
|
|
18
|
+
- Estimate with assumptions and cost roll-up.
|
|
19
|
+
- Benefits with quantified or qualitative benefit items.
|
|
20
|
+
- Weigh outcome, linked inputs, and remaining concerns.
|
|
21
|
+
open_questions:
|
|
22
|
+
- What is enough cost visibility to commit when baseline data is unavailable?
|
|
23
|
+
|
|
24
|
+
- id: requirement_acceptance_criteria
|
|
25
|
+
name: Requirement acceptance criteria
|
|
26
|
+
draft_purpose: Ensure each requirement has enough clarity for engineering work, QA verification, and product validation.
|
|
27
|
+
applies_to:
|
|
28
|
+
- Requirement
|
|
29
|
+
draft_evidence:
|
|
30
|
+
- Requirement record with acceptance criteria.
|
|
31
|
+
- Owner or delegated approval.
|
|
32
|
+
- Review notes where Engineer input should remain visible.
|
|
33
|
+
open_questions:
|
|
34
|
+
- What is the minimum acceptance criteria format?
|
|
35
|
+
|
|
36
|
+
- id: implementation_review
|
|
37
|
+
name: Implementation review
|
|
38
|
+
draft_purpose: Ensure engineering output is reviewed before QA verification.
|
|
39
|
+
applies_to:
|
|
40
|
+
- Task
|
|
41
|
+
- Change
|
|
42
|
+
draft_evidence:
|
|
43
|
+
- Pull request, commit, or task review notes.
|
|
44
|
+
- Engineer approval or review outcome.
|
|
45
|
+
open_questions:
|
|
46
|
+
- Can Codex-generated changes be accepted by automated checks alone?
|
|
47
|
+
|
|
48
|
+
- id: qa_verification_evidence
|
|
49
|
+
name: QA verification evidence
|
|
50
|
+
draft_purpose: Preserve verification results against requirements and acceptance criteria.
|
|
51
|
+
applies_to:
|
|
52
|
+
- Requirement
|
|
53
|
+
- Task
|
|
54
|
+
- Change
|
|
55
|
+
draft_evidence:
|
|
56
|
+
- Test plan or verification notes.
|
|
57
|
+
- Pass, fail, or retest outcome.
|
|
58
|
+
- Defects or follow-up tasks where needed.
|
|
59
|
+
open_questions:
|
|
60
|
+
- Which changes require formal QA evidence?
|
|
61
|
+
|
|
62
|
+
- id: product_validation
|
|
63
|
+
name: Product validation
|
|
64
|
+
draft_purpose: Confirm the verified output is the right product outcome.
|
|
65
|
+
applies_to:
|
|
66
|
+
- Requirement
|
|
67
|
+
- Release
|
|
68
|
+
draft_evidence:
|
|
69
|
+
- Product validation note.
|
|
70
|
+
- Owner approval or user input where required.
|
|
71
|
+
open_questions:
|
|
72
|
+
- Is product validation required before every release?
|
|
73
|
+
|
|
74
|
+
- id: release_readiness
|
|
75
|
+
name: Release readiness
|
|
76
|
+
draft_purpose: Confirm change scope, risk, rollback, notice, veto, emergency posture, and required evidence before release.
|
|
77
|
+
applies_to:
|
|
78
|
+
- Change
|
|
79
|
+
- Release
|
|
80
|
+
draft_evidence:
|
|
81
|
+
- Change record with baseline plan sections.
|
|
82
|
+
- Append-only Change events for notice, veto, emergency, decision, result, recovery, notes, or revisions where applicable.
|
|
83
|
+
- Release checklist.
|
|
84
|
+
- Linked QA and product validation evidence.
|
|
85
|
+
- Rollback or mitigation notes.
|
|
86
|
+
open_questions:
|
|
87
|
+
- Who owns release approval?
|
|
88
|
+
|
|
89
|
+
- id: deployment_record
|
|
90
|
+
name: Deployment record
|
|
91
|
+
draft_purpose: Preserve when, where, and how a release was deployed.
|
|
92
|
+
applies_to:
|
|
93
|
+
- Deployment
|
|
94
|
+
draft_evidence:
|
|
95
|
+
- Deployment identifier or URL.
|
|
96
|
+
- Environment.
|
|
97
|
+
- Timestamp.
|
|
98
|
+
- Operator or automation identity.
|
|
99
|
+
open_questions:
|
|
100
|
+
- Which deployment evidence is automatically available?
|
|
101
|
+
|
|
102
|
+
- id: incident_response_record
|
|
103
|
+
name: Incident response record
|
|
104
|
+
draft_purpose: Preserve response details for service-impacting events.
|
|
105
|
+
applies_to:
|
|
106
|
+
- Incident
|
|
107
|
+
draft_evidence:
|
|
108
|
+
- Timeline.
|
|
109
|
+
- Impact.
|
|
110
|
+
- Actions taken.
|
|
111
|
+
- Resolution and follow-up links.
|
|
112
|
+
open_questions:
|
|
113
|
+
- Which support tickets should be promoted to incidents?
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
schema: dxcomplete.cost_model.v0
|
|
2
|
+
status: draft
|
|
3
|
+
notes:
|
|
4
|
+
- Use broad cost language at the top level.
|
|
5
|
+
- OPEX/CAPEX-like categories can exist inside the cost model, but should not be the top-level frame.
|
|
6
|
+
- Current-state context, Estimate, Benefits, and post-launch observations are distinct concepts.
|
|
7
|
+
|
|
8
|
+
cost_visibility_rules:
|
|
9
|
+
visibility_required: true
|
|
10
|
+
complete_data_required: false
|
|
11
|
+
current_state_context_attempt_required: true
|
|
12
|
+
estimate_required_by_default: true
|
|
13
|
+
actuals_required_when_available: true
|
|
14
|
+
missing_actuals_block_closure: false
|
|
15
|
+
|
|
16
|
+
cost_data_availability:
|
|
17
|
+
- known
|
|
18
|
+
- estimated
|
|
19
|
+
- partial
|
|
20
|
+
- unavailable
|
|
21
|
+
- undisclosed
|
|
22
|
+
- not_applicable
|
|
23
|
+
|
|
24
|
+
cost_objects:
|
|
25
|
+
estimate:
|
|
26
|
+
purpose: Itemized cost information for the scope being weighed.
|
|
27
|
+
generated_by_default: true
|
|
28
|
+
draft_fields:
|
|
29
|
+
- line_items
|
|
30
|
+
- covered_requirements
|
|
31
|
+
- covered_expectations
|
|
32
|
+
- rollup_by_currency_timing_and_period
|
|
33
|
+
- assumptions
|
|
34
|
+
- confidence
|
|
35
|
+
- notes
|
|
36
|
+
rules:
|
|
37
|
+
- Estimate line items are cost items.
|
|
38
|
+
- One-time and recurring totals should remain separate.
|
|
39
|
+
- Recurring totals should remain separated by period.
|
|
40
|
+
- Edits should preserve prior versions.
|
|
41
|
+
|
|
42
|
+
benefits:
|
|
43
|
+
purpose: Expected benefit information for the scope being weighed.
|
|
44
|
+
draft_fields:
|
|
45
|
+
- benefit_items
|
|
46
|
+
- covered_requirements
|
|
47
|
+
- covered_expectations
|
|
48
|
+
- quantified_rollup_by_currency_timing_and_period
|
|
49
|
+
- assumptions
|
|
50
|
+
- confidence
|
|
51
|
+
- notes
|
|
52
|
+
rules:
|
|
53
|
+
- Benefit items may be quantified or qualitative.
|
|
54
|
+
- Qualitative benefit items are complete without amount, timing, period, or currency.
|
|
55
|
+
- Quantified one-time and recurring totals should remain separate.
|
|
56
|
+
- Quantified recurring totals should remain separated by period.
|
|
57
|
+
- Edits should preserve prior versions.
|
|
58
|
+
|
|
59
|
+
example_cost_categories:
|
|
60
|
+
- build_labor
|
|
61
|
+
- codex_assisted_implementation
|
|
62
|
+
- qa_and_validation
|
|
63
|
+
- infrastructure
|
|
64
|
+
- licenses_and_tools
|
|
65
|
+
- migration
|
|
66
|
+
- training_and_adoption
|
|
67
|
+
- support_load
|
|
68
|
+
- operational_run_cost
|
|
69
|
+
- maintenance
|
|
70
|
+
- risk_mitigation
|
|
71
|
+
- decommissioning_or_replacement
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
schema: dxcomplete.decision_basis.v0
|
|
2
|
+
status: draft
|
|
3
|
+
notes:
|
|
4
|
+
- Decision basis is first-class, but it is assembled from deliberate records rather than a standalone extra record.
|
|
5
|
+
- Use Estimate for cost, Benefits for expected value, and Decision entries for rationale where a separate decision trail is useful.
|
|
6
|
+
- Cost visibility is mandatory, but complete cost data is not mandatory.
|
|
7
|
+
|
|
8
|
+
decision_basis_rules:
|
|
9
|
+
cost_visibility_required: true
|
|
10
|
+
complete_cost_data_required: false
|
|
11
|
+
current_state_context_attempt_required: true
|
|
12
|
+
estimate_generated_by_default: true
|
|
13
|
+
actuals_block_closure: false
|
|
14
|
+
supports_workspace_modes:
|
|
15
|
+
- transformation
|
|
16
|
+
- greenfield
|
|
17
|
+
- limited-disclosure
|
|
18
|
+
|
|
19
|
+
draft_decision_basis:
|
|
20
|
+
id: null
|
|
21
|
+
workspace_id: null
|
|
22
|
+
status: draft
|
|
23
|
+
problem_to_be_solved: null
|
|
24
|
+
goal: null
|
|
25
|
+
workspace_mode: null
|
|
26
|
+
estimate_id: null
|
|
27
|
+
benefits_id: null
|
|
28
|
+
decision_id: null
|
|
29
|
+
decision_basis_summary: null
|
|
30
|
+
weigh_outcome: null # commitment | deferral
|
|
31
|
+
decision_rationale:
|
|
32
|
+
decision_entries: []
|
|
33
|
+
argument_entries: []
|
|
34
|
+
note_entries: []
|
|
35
|
+
elicited_needs: []
|
|
36
|
+
downstream_requirement_ids: []
|
|
37
|
+
measurement_plan:
|
|
38
|
+
intended_observations: []
|
|
39
|
+
notes: null
|
|
40
|
+
assumptions: []
|
|
41
|
+
unavailable_data: []
|
|
42
|
+
limited_disclosure_notes: []
|
|
43
|
+
|
|
44
|
+
draft_statuses:
|
|
45
|
+
- draft
|
|
46
|
+
- awaiting_current_state_context
|
|
47
|
+
- awaiting_estimate
|
|
48
|
+
- awaiting_benefits
|
|
49
|
+
- ready_for_decision
|
|
50
|
+
- commitment_recorded
|
|
51
|
+
- deferral_recorded
|
|
52
|
+
- measuring_actuals
|
|
53
|
+
- closed
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
%% DX Complete draft diagram. Decision basis is upstream of Complete Engineering.
|
|
2
|
+
flowchart LR
|
|
3
|
+
Workspace[Workspace] --> Statement[Capture User Statement]
|
|
4
|
+
Statement --> Expectation[Restate Expected Result]
|
|
5
|
+
Expectation --> Elicit[Elicit requirements, dependencies, and unknowns]
|
|
6
|
+
Elicit --> CurrentCostContext[Current Cost Context]
|
|
7
|
+
CurrentCostContext --> Estimate[Itemized Estimate]
|
|
8
|
+
Elicit --> Benefits[Benefits]
|
|
9
|
+
Estimate --> DecisionBasis[Decision Basis]
|
|
10
|
+
Benefits --> DecisionBasis
|
|
11
|
+
CurrentCostContext --> DecisionBasis
|
|
12
|
+
DecisionBasis --> Weigh{Weigh}
|
|
13
|
+
Weigh -. informed_by .-> DecisionBasis
|
|
14
|
+
Weigh -. informed_by .-> Estimate
|
|
15
|
+
Weigh -. informed_by .-> Benefits
|
|
16
|
+
Weigh -->|Commit| Commitment[Commitment]
|
|
17
|
+
Weigh -->|Defer| Deferral[Deferral]
|
|
18
|
+
Deferral -->|Conditions resolved| Commitment
|
|
19
|
+
Commitment --> Build[Build]
|
|
20
|
+
Build --> GoLive[Go Live]
|
|
21
|
+
GoLive --> Operate[Operate]
|
|
22
|
+
Operate --> Observations[Post-launch Observations]
|
|
23
|
+
Observations --> EstimateLearning[Estimate Refinement]
|
|
24
|
+
EstimateLearning -. informs .-> Estimate
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
%% DX Complete draft diagram. Revise as the model evolves.
|
|
2
|
+
flowchart LR
|
|
3
|
+
Workspace[Workspace] --> Orient[Orient]
|
|
4
|
+
Workspace --> Journal[Journal]
|
|
5
|
+
Orient --> Statement[Statement]
|
|
6
|
+
Statement --> Expectation[Expectation]
|
|
7
|
+
Expectation --> Elicit[Elicit]
|
|
8
|
+
Elicit --> Estimate[Itemized Estimate]
|
|
9
|
+
Elicit --> Benefits[Benefits]
|
|
10
|
+
Estimate --> Weigh
|
|
11
|
+
Benefits --> Weigh
|
|
12
|
+
Elicit --> Weigh{Weigh}
|
|
13
|
+
Weigh -->|Commit| Commitment[Commitment]
|
|
14
|
+
Weigh -->|Defer| Deferral[Deferral]
|
|
15
|
+
Deferral -->|Conditions resolved| Commitment
|
|
16
|
+
Commitment --> Build[Build]
|
|
17
|
+
Build --> GoLive[Go Live]
|
|
18
|
+
GoLive --> Operate[Operate]
|
|
19
|
+
Operate --> Measure[Measure]
|
|
20
|
+
Measure --> FutureContext[Future estimate context]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
%% Draft intake and triage workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
Signal[Incoming signal] --> Source{Likely source?}
|
|
4
|
+
Source -->|Client or user| SupportSignal[Support Ticket draft]
|
|
5
|
+
Source -->|Product idea| Feedback[Feedback draft]
|
|
6
|
+
Source -->|Authority or commitment| AuthoritySignal[Authoritative Request draft]
|
|
7
|
+
Source -->|Service health| Incident[Incident draft]
|
|
8
|
+
SupportSignal --> Triage[Triage]
|
|
9
|
+
Feedback --> Triage
|
|
10
|
+
AuthoritySignal --> Triage
|
|
11
|
+
Incident --> Triage
|
|
12
|
+
Triage --> OwnerRoute[Route to Owner]
|
|
13
|
+
Triage --> OpsRoute[Route to Operator]
|
|
14
|
+
Triage --> DecisionRoute[Route for authority decision]
|
|
15
|
+
ProductRoute --> RequirementCandidate[Requirement candidate]
|
|
16
|
+
OpsRoute --> IncidentOrProblem[Incident or Problem candidate]
|
|
17
|
+
DecisionRoute --> Decision[Decision or priority]
|
|
18
|
+
RequirementCandidate --> OpenQuestions[Capture open questions]
|
|
19
|
+
IncidentOrProblem --> OpenQuestions
|
|
20
|
+
Decision --> OpenQuestions
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
%% Draft product definition workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
SourceObject[Feedback / Feature Request / Authoritative Request / Problem] --> Clarify[Clarify desired outcome]
|
|
4
|
+
Clarify --> Statement[Capture User Statement]
|
|
5
|
+
Statement --> Expectation[Restate Expected Result]
|
|
6
|
+
Expectation --> Requirement[Draft Requirement]
|
|
7
|
+
Requirement --> Acceptance[Draft acceptance criteria]
|
|
8
|
+
Acceptance --> Constraints[Identify constraints and risks]
|
|
9
|
+
Constraints --> Review{Ready for engineering review?}
|
|
10
|
+
Review -->|No| OpenQuestions[Record open questions]
|
|
11
|
+
OpenQuestions --> Clarify
|
|
12
|
+
Review -->|Yes| EngineerReview[Engineer review]
|
|
13
|
+
EngineerReview --> Decision[Record decision if needed]
|
|
14
|
+
Decision --> RequirementReady[Requirement ready for execution]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
%% Draft engineering execution workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
Requirement[Committed Requirement] --> RequirementDetail[Refine requirement detail]
|
|
4
|
+
RequirementDetail --> Approach[Engineer decides implementation approach]
|
|
5
|
+
Approach --> Tasks[Decompose into Tasks]
|
|
6
|
+
Tasks --> Eligibility{Codex assistance useful?}
|
|
7
|
+
Eligibility -->|Yes| CodexTask[Engineer task with Codex assistance]
|
|
8
|
+
Eligibility -->|No| ManualTask[Engineer task]
|
|
9
|
+
CodexTask --> EngineerReview[Engineer review]
|
|
10
|
+
ManualTask --> EngineerReview
|
|
11
|
+
EngineerReview --> Complete{Ready for QA verification?}
|
|
12
|
+
Complete -->|No| Rework[Rework or clarify]
|
|
13
|
+
Rework --> Tasks
|
|
14
|
+
Complete -->|Yes| ReadyForCheck[Ready for verification]
|
|
15
|
+
ReadyForCheck --> QAHandoff[QA handoff]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
%% Draft QA verification workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
QAHandoff[QA handoff] --> ReviewInputs[Review requirement, tasks, and acceptance criteria]
|
|
4
|
+
ReviewInputs --> Plan[Plan verification]
|
|
5
|
+
Plan --> Execute[Execute checks]
|
|
6
|
+
Execute --> Result{Verification result}
|
|
7
|
+
Result -->|Pass| Evidence[Record QA evidence]
|
|
8
|
+
Result -->|Fail| Defect[Record defect or follow-up task]
|
|
9
|
+
Result -->|Unclear| Clarification[Request clarification]
|
|
10
|
+
Defect --> Engineer[Return to Engineer]
|
|
11
|
+
Clarification --> OwnerOrEngineer[Owner or Engineer clarification]
|
|
12
|
+
Evidence --> ProductValidation[Product validation]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
%% Draft product validation workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
QAEvidence[QA evidence] --> ProductReview[Owner reviews outcome]
|
|
4
|
+
ProductReview --> Outcome{Right outcome?}
|
|
5
|
+
Outcome -->|Yes| ValidationEvidence[Record validation evidence]
|
|
6
|
+
Outcome -->|No| FollowUpRequirement[Create or revise Requirement]
|
|
7
|
+
Outcome -->|Needs end user input| ClientReview[End User review]
|
|
8
|
+
ClientReview --> ClientOutcome{Accepted?}
|
|
9
|
+
ClientOutcome -->|Yes| ValidationEvidence
|
|
10
|
+
ClientOutcome -->|No| FollowUpRequirement
|
|
11
|
+
ValidationEvidence --> ReleaseCandidate[Release candidate]
|
|
12
|
+
FollowUpRequirement --> ProductDefinition[Product definition]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
%% Draft change and release control workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
Change[Create Change record] --> Plan[Record change plan]
|
|
4
|
+
Plan --> Execution[Record execution steps]
|
|
5
|
+
Execution --> Rollback[Record rollback plan]
|
|
6
|
+
Rollback --> RiskImpact[Record risk and impact]
|
|
7
|
+
RiskImpact --> Notice[Append notice event]
|
|
8
|
+
Notice --> Veto{Veto recorded?}
|
|
9
|
+
Veto -->|Yes| VetoEvent[Append veto event]
|
|
10
|
+
Veto -->|No| Decision[Append decision event]
|
|
11
|
+
VetoEvent --> Decision
|
|
12
|
+
Decision --> Emergency{Emergency path?}
|
|
13
|
+
Emergency -->|Yes| EmergencyEvent[Append importance and immediacy]
|
|
14
|
+
Emergency -->|No| Release[Prepare release or deployment]
|
|
15
|
+
EmergencyEvent --> Release
|
|
16
|
+
Release --> Result[Append result or recovery event]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
%% Draft deployment and operations workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
DeploymentPrep[Deployment preparation] --> Deploy[Deploy release]
|
|
4
|
+
Deploy --> Record[Record Deployment evidence]
|
|
5
|
+
Record --> Registry[Update Environment and Component records if inventory changed]
|
|
6
|
+
Registry --> Monitor[Monitor service health]
|
|
7
|
+
Monitor --> Healthy{Healthy?}
|
|
8
|
+
Healthy -->|Yes| Operate[Operate service]
|
|
9
|
+
Healthy -->|No| Incident[Create or update Incident]
|
|
10
|
+
Incident --> Response[Incident response]
|
|
11
|
+
Response --> Rollback{Rollback needed?}
|
|
12
|
+
Rollback -->|Yes| RollbackAction[Rollback or mitigation]
|
|
13
|
+
Rollback -->|No| ContinueMonitor[Continue monitoring]
|
|
14
|
+
RollbackAction --> Record
|
|
15
|
+
ContinueMonitor --> Monitor
|
|
16
|
+
Operate --> SupportSignals[Route user-facing signals to Support Agent]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
%% Draft support and incident management workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
UserSignal[End User signal] --> Ticket[Support Ticket]
|
|
4
|
+
Ticket --> Classify{Classify}
|
|
5
|
+
Classify -->|Question or request| SupportResponse[Support Agent response]
|
|
6
|
+
Classify -->|Outcome signal| Feedback[Feedback]
|
|
7
|
+
Classify -->|Service impact| Incident[Incident]
|
|
8
|
+
Classify -->|Recurring issue| ProblemCandidate[Problem candidate]
|
|
9
|
+
Incident --> Operator[Operator response]
|
|
10
|
+
Operator --> UserComms[Support Agent communicates status]
|
|
11
|
+
Feedback --> Owner[Owner triage]
|
|
12
|
+
ProblemCandidate --> ProblemReview[Problem review]
|
|
13
|
+
SupportResponse --> CloseTicket[Close or update ticket]
|
|
14
|
+
UserComms --> CloseTicket
|
|
15
|
+
Owner --> CloseTicket
|
|
16
|
+
ProblemReview --> CloseTicket
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
%% Draft problem and improvement workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
Signal[Incident / Support Ticket / QA defect / Operator finding] --> Problem[Problem draft]
|
|
4
|
+
Problem --> Investigate[Investigate likely cause]
|
|
5
|
+
Investigate --> CauseKnown{Cause known?}
|
|
6
|
+
CauseKnown -->|No| MoreEvidence[Collect more evidence]
|
|
7
|
+
MoreEvidence --> Investigate
|
|
8
|
+
CauseKnown -->|Yes| Improvement{Improvement needed?}
|
|
9
|
+
Improvement -->|Requirement| Requirement[Create Requirement]
|
|
10
|
+
Improvement -->|Service change| Change[Create Change]
|
|
11
|
+
Improvement -->|No action| Decision[Record decision]
|
|
12
|
+
Requirement --> ProductDefinition[Product definition]
|
|
13
|
+
Change --> ChangeControl[Change and release control]
|
|
14
|
+
Decision --> Review[Schedule review if needed]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
%% Draft risk and control management workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
RiskSignal[Risk signal] --> Risk[Risk draft]
|
|
4
|
+
Risk --> Assess[Assess likelihood, impact, and owner]
|
|
5
|
+
Assess --> Treatment{Treatment}
|
|
6
|
+
Treatment -->|Accept| Decision[Record acceptance decision]
|
|
7
|
+
Decision -. informed_by .-> Risk
|
|
8
|
+
Treatment -->|Mitigate| Control[Define Control]
|
|
9
|
+
Treatment -->|Avoid or defer| Requirement[Create or revise Requirement]
|
|
10
|
+
Control --> EvidenceNeed[Define evidence need]
|
|
11
|
+
EvidenceNeed --> LinkedObjects[Link Requirement / Release / Deployment]
|
|
12
|
+
LinkedObjects --> Review[Review control evidence]
|
|
13
|
+
Requirement --> ProductDefinition[Product definition]
|
|
14
|
+
Decision --> Review
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
%% Draft audit and evidence capture workflow.
|
|
2
|
+
flowchart TD
|
|
3
|
+
LifecycleObject[Requirement / Task / Change / Release / Deployment / Incident / Control] --> EvidenceNeed{Evidence needed?}
|
|
4
|
+
EvidenceNeed -->|No| Note[Record no evidence required decision if useful]
|
|
5
|
+
EvidenceNeed -->|Yes| Capture[Capture or link evidence]
|
|
6
|
+
Capture --> ResponsiblePerson[Record responsible person and timestamp]
|
|
7
|
+
ResponsiblePerson --> Review[Review completeness]
|
|
8
|
+
Review --> Complete{Complete?}
|
|
9
|
+
Complete -->|Yes| Preserve[Preserve evidence]
|
|
10
|
+
Complete -->|No| Gap[Record evidence gap]
|
|
11
|
+
Gap --> FollowUp[Assign follow-up]
|
|
12
|
+
Note --> Preserve
|
|
13
|
+
Preserve --> AuditTrail[Audit trail]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
schema: dxcomplete.roles.v0
|
|
2
|
+
status: editable
|
|
3
|
+
notes:
|
|
4
|
+
- This role model is a working operating model.
|
|
5
|
+
- One person may hold more than one role, especially in a small team.
|
|
6
|
+
- Director and Product Lead are folded into Owner. Coder is folded into Engineer. Admin is folded into Operator.
|
|
7
|
+
- Revise ownership and escalation paths before treating them as policy.
|
|
8
|
+
|
|
9
|
+
roles:
|
|
10
|
+
- id: owner
|
|
11
|
+
name: Owner
|
|
12
|
+
draft_responsibility: Sets authority, priority, outcome direction, requirements, product validation direction, budget commitment, escalation direction, and formal risk acceptance.
|
|
13
|
+
likely_owns:
|
|
14
|
+
- authority
|
|
15
|
+
- priority
|
|
16
|
+
- outcomes
|
|
17
|
+
- requirements
|
|
18
|
+
- acceptance criteria
|
|
19
|
+
- product validation direction
|
|
20
|
+
- budget commitment
|
|
21
|
+
- formal risk acceptance
|
|
22
|
+
- escalation
|
|
23
|
+
- strategic direction
|
|
24
|
+
folded_responsibilities:
|
|
25
|
+
- Director authority and escalation
|
|
26
|
+
- Product Lead outcome definition and validation
|
|
27
|
+
open_questions:
|
|
28
|
+
- Which Owner approvals should be explicit checkpoints?
|
|
29
|
+
- Which requests require Owner review before becoming requirements?
|
|
30
|
+
|
|
31
|
+
- id: engineer
|
|
32
|
+
name: Engineer
|
|
33
|
+
draft_responsibility: Turns committed requirements into tasks and working changes, either directly or by driving coding-capable tools.
|
|
34
|
+
likely_owns:
|
|
35
|
+
- solution approach
|
|
36
|
+
- task decomposition
|
|
37
|
+
- implementation
|
|
38
|
+
- implementation review
|
|
39
|
+
- technical decisions
|
|
40
|
+
- Codex-assisted task direction
|
|
41
|
+
folded_responsibilities:
|
|
42
|
+
- Coder task implementation
|
|
43
|
+
open_questions:
|
|
44
|
+
- Which tasks are eligible for Codex-assisted coding?
|
|
45
|
+
- What implementation evidence is required before testing?
|
|
46
|
+
|
|
47
|
+
- id: tester
|
|
48
|
+
name: Tester
|
|
49
|
+
draft_responsibility: Checks completed work against requirements and success criteria.
|
|
50
|
+
likely_owns:
|
|
51
|
+
- verification plans
|
|
52
|
+
- test evidence
|
|
53
|
+
- defect signals
|
|
54
|
+
- release quality input
|
|
55
|
+
open_questions:
|
|
56
|
+
- Which changes require formal verification evidence?
|
|
57
|
+
|
|
58
|
+
- id: operator
|
|
59
|
+
name: Operator
|
|
60
|
+
draft_responsibility: Releases, deploys, monitors, and runs the service, including provisioning, administration, users, permissions, settings, and run-side security.
|
|
61
|
+
likely_owns:
|
|
62
|
+
- release execution
|
|
63
|
+
- deployment
|
|
64
|
+
- monitoring
|
|
65
|
+
- service health
|
|
66
|
+
- operational incidents
|
|
67
|
+
- provisioning
|
|
68
|
+
- user administration
|
|
69
|
+
- permission configuration
|
|
70
|
+
- run-side security
|
|
71
|
+
folded_responsibilities:
|
|
72
|
+
- Admin user and permission management
|
|
73
|
+
open_questions:
|
|
74
|
+
- Which administration or run-side security changes require change control?
|
|
75
|
+
|
|
76
|
+
- id: support_agent
|
|
77
|
+
name: Support Agent
|
|
78
|
+
draft_responsibility: Helps users, captures signals, and routes questions, feedback, and issues to the right follow-up.
|
|
79
|
+
likely_owns:
|
|
80
|
+
- user issue communication
|
|
81
|
+
- support tickets
|
|
82
|
+
- feedback capture
|
|
83
|
+
- issue routing
|
|
84
|
+
open_questions:
|
|
85
|
+
- When does a support ticket become an incident, problem, or requirement?
|
|
86
|
+
|
|
87
|
+
- id: end_user
|
|
88
|
+
name: End User
|
|
89
|
+
draft_responsibility: Uses the service and provides requests, feedback, corrections, and issue reports.
|
|
90
|
+
likely_owns:
|
|
91
|
+
- service use
|
|
92
|
+
- feedback
|
|
93
|
+
- issue reports
|
|
94
|
+
- corrections
|
|
95
|
+
open_questions:
|
|
96
|
+
- Which End User signals should become feedback, requirements, incidents, problems, or risks?
|