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,57 @@
|
|
|
1
|
+
# Draft Decision Basis
|
|
2
|
+
|
|
3
|
+
DX Complete should be modeled as:
|
|
4
|
+
|
|
5
|
+
```text
|
|
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
|
|
12
|
+
|
|
13
|
+
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
|
+
|
|
15
|
+
It should support:
|
|
16
|
+
|
|
17
|
+
- Transformation projects: existing state to improved state.
|
|
18
|
+
- Greenfield projects: new idea to new system.
|
|
19
|
+
- Limited-disclosure projects: client or sponsor does not share enough financial or current-state data.
|
|
20
|
+
|
|
21
|
+
## Required Framing
|
|
22
|
+
|
|
23
|
+
Cost visibility is mandatory.
|
|
24
|
+
|
|
25
|
+
Complete cost data is not mandatory.
|
|
26
|
+
|
|
27
|
+
Current-state cost context should be attempted, but it may be unavailable.
|
|
28
|
+
|
|
29
|
+
An itemized cost Estimate should be generated by default after enough expectations, requirements, constraints, dependencies, and unknowns have been elicited. It should keep one-time, recurring, period, and currency distinctions visible.
|
|
30
|
+
|
|
31
|
+
Benefits should be recorded before Weigh where possible. Benefit items may be quantified, or qualitative when an amount is not available.
|
|
32
|
+
|
|
33
|
+
Actual cost and benefit measurements should be captured after launch where available, but unavailable actuals should not block closure.
|
|
34
|
+
|
|
35
|
+
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
|
+
|
|
37
|
+
## Draft Decision Basis Flow
|
|
38
|
+
|
|
39
|
+
1. Statement capture
|
|
40
|
+
2. Capture statement and expectations
|
|
41
|
+
3. Elicit requirements, dependencies, and unknowns
|
|
42
|
+
4. Current cost context attempt
|
|
43
|
+
5. Itemized cost Estimate
|
|
44
|
+
6. Benefits where useful
|
|
45
|
+
7. Decision basis from Estimate, Benefits, risks, and linked Decision rationale
|
|
46
|
+
8. Weigh: Commitment or Deferral
|
|
47
|
+
9. Build
|
|
48
|
+
10. Go Live
|
|
49
|
+
11. Operate
|
|
50
|
+
12. Actual cost / benefit observations where available
|
|
51
|
+
13. Estimate refinement for future projects
|
|
52
|
+
|
|
53
|
+
## Boundary
|
|
54
|
+
|
|
55
|
+
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
|
+
|
|
57
|
+
The terms and object names are draft. The concepts are important.
|
package/docs/diagrams.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Draft Diagrams
|
|
2
|
+
|
|
3
|
+
The Mermaid diagrams are draft visualizations. They should be revised as roles, workflows, and object relationships change.
|
|
4
|
+
|
|
5
|
+
Installed diagram files:
|
|
6
|
+
|
|
7
|
+
- `00-decision-basis.mmd`
|
|
8
|
+
- `00-overview.mmd`
|
|
9
|
+
- `01-intake-triage.mmd`
|
|
10
|
+
- `02-product-definition.mmd`
|
|
11
|
+
- `03-engineering-execution.mmd`
|
|
12
|
+
- `04-qa-verification.mmd`
|
|
13
|
+
- `05-product-validation.mmd`
|
|
14
|
+
- `06-change-release-control.mmd`
|
|
15
|
+
- `07-deployment-operations.mmd`
|
|
16
|
+
- `08-support-incident-management.mmd`
|
|
17
|
+
- `09-problem-improvement.mmd`
|
|
18
|
+
- `10-risk-control-management.mmd`
|
|
19
|
+
- `11-audit-evidence-capture.mmd`
|
|
20
|
+
|
|
21
|
+
## Diagram Policy
|
|
22
|
+
|
|
23
|
+
Each diagram should stay editable in plain Mermaid. Avoid diagrams that imply the model is final unless the related Markdown and YAML have been updated to match that decision.
|
|
24
|
+
|
|
25
|
+
## Revision Questions
|
|
26
|
+
|
|
27
|
+
- Are the diagrams better as object flows, responsibility flows, or both?
|
|
28
|
+
- Should each diagram identify required evidence?
|
|
29
|
+
- Should role swimlanes be standardized?
|
|
30
|
+
- Should the decision-basis diagram stay separate from the Complete Engineering overview?
|
|
31
|
+
- Which diagrams belong in the package docs versus the installed project scaffold?
|
package/docs/glossary.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Glossary
|
|
2
|
+
|
|
3
|
+
## Business And Service Context
|
|
4
|
+
|
|
5
|
+
Approval: A separate authority confirming an expectation or decision, tracked when it reduces risk.
|
|
6
|
+
|
|
7
|
+
Workspace: The runtime container for one service scope and the records connected to it.
|
|
8
|
+
|
|
9
|
+
Weigh: The phase where cost, value, risk, and confidence are compared before recording a Commitment or Deferral.
|
|
10
|
+
|
|
11
|
+
Commitment: An Owner record that says preparation is sufficient to commit requirements or expectations into Build, with any reservations kept visible.
|
|
12
|
+
|
|
13
|
+
Reservation: A concern recorded inside a Commitment when the Owner moves forward despite it.
|
|
14
|
+
|
|
15
|
+
Deferral: An Owner record for not committing yet, with explicit conditions that make the path to a future Commitment clear.
|
|
16
|
+
|
|
17
|
+
Condition: Something that must be addressed before a Deferral can resolve into a Commitment.
|
|
18
|
+
|
|
19
|
+
Decision: A revisitable choice record. The current decision comes from the latest decision entry, while earlier arguments, notes, and decisions remain visible.
|
|
20
|
+
|
|
21
|
+
Decision Entry: One ordered entry in a Decision, such as an argument, note, or decision.
|
|
22
|
+
|
|
23
|
+
Decision Input: A record that informed a decision. Outgoing links from a decision show what informed it; incoming links to a record show which decisions used it.
|
|
24
|
+
|
|
25
|
+
DX Complete Ticket: A private, appendable item used to raise a question, report, request, correction, or follow-up with DX Complete.
|
|
26
|
+
|
|
27
|
+
Journal: A shared workspace record for useful notes that do not have a better dedicated home.
|
|
28
|
+
|
|
29
|
+
Journal Note: A raw Journal entry with text, author, and timestamp. It can be summarized later without being deleted.
|
|
30
|
+
|
|
31
|
+
Journal Summary: A compact Journal entry that summarizes covered notes and points back to them so details remain retrievable.
|
|
32
|
+
|
|
33
|
+
Operational Registry: The inventory of Environments and Components that shows what exists, where it lives, and which secret locations are relevant. It is not monitoring, diagnostics, a secret vault, an event log, or a runbook.
|
|
34
|
+
|
|
35
|
+
Environment: A named operating context such as local, staging, or production. Components belong to one Environment so each operating context can be understood separately.
|
|
36
|
+
|
|
37
|
+
Component: One operational item in one Environment, such as an app, database, queue, storage location, or external service. It records where it lives and which non-secret identifiers or secret locations matter.
|
|
38
|
+
|
|
39
|
+
Locator: Structured location information for a Component, such as a URL, project, region, host, or route.
|
|
40
|
+
|
|
41
|
+
Secret Pointer: A reference to where a secret is stored and what it is called. It should not contain the secret value.
|
|
42
|
+
|
|
43
|
+
Informed By: The relationship from a decision to the record that helped inform it.
|
|
44
|
+
|
|
45
|
+
Readable ID: A short record reference such as `REQ-0001`. It helps people refer to records while the UUID remains the primary key.
|
|
46
|
+
|
|
47
|
+
Record Link: A relationship from one record to another. Links can be added or removed when the relationship changes or was recorded incorrectly.
|
|
48
|
+
|
|
49
|
+
Statement: The user's own words before DX Complete interprets or translates them, kept as the traceable root for expectations and downstream work.
|
|
50
|
+
|
|
51
|
+
Expectation: The expected result and how success will be recognized, in user-facing language.
|
|
52
|
+
|
|
53
|
+
Version History: Prior versions kept when an expectation or requirement changes, so current wording can be understood without losing what came before.
|
|
54
|
+
|
|
55
|
+
Checkpoint: A confirmation point that reduces risk. It can be approved, formally accepted as risk by the Owner, or proceeded past with open risk visible.
|
|
56
|
+
|
|
57
|
+
Proceeding Past an Open Checkpoint: Moving forward while an approval, readiness concern, or other checkpoint is still open. The risk remains visible and is not formally accepted.
|
|
58
|
+
|
|
59
|
+
Risk Acceptance: An Owner decision to own an open risk on the project's behalf. It is different from simply proceeding past an open checkpoint.
|
|
60
|
+
|
|
61
|
+
Transformation: Work that moves from an existing state to an improved state.
|
|
62
|
+
|
|
63
|
+
Greenfield: Work that moves from a new idea to a new system.
|
|
64
|
+
|
|
65
|
+
Limited Disclosure: Work where available information is incomplete by design or circumstance.
|
|
66
|
+
|
|
67
|
+
## Cost And Benefit
|
|
68
|
+
|
|
69
|
+
Estimate: An itemized cost estimate used during Weigh, linked to the requirements or expectations it covers.
|
|
70
|
+
|
|
71
|
+
Estimate Line Item: One cost item inside an Estimate, with a label, amount or range, one-time or recurring timing, and currency.
|
|
72
|
+
|
|
73
|
+
Roll-up: Grouped totals from quantified cost or benefit items, keeping one-time amounts, recurring amounts, periods, and currencies distinct.
|
|
74
|
+
|
|
75
|
+
Benefits: An Owner-authored benefit record used during Weigh. Benefits may be quantified or qualitative.
|
|
76
|
+
|
|
77
|
+
Benefit Item: One item inside Benefits. It may have an amount or range, or it may be qualitative with no amount.
|
|
78
|
+
|
|
79
|
+
Estimate Refinement: The use of actual cost and benefit signals to improve future estimates.
|
|
80
|
+
|
|
81
|
+
## Roles
|
|
82
|
+
|
|
83
|
+
Owner: The role that sets authority, priority, outcome direction, requirements, product validation direction, budget commitment, escalation direction, and formal risk acceptance.
|
|
84
|
+
|
|
85
|
+
Engineer: The role that turns committed requirements into tasks and working changes, directly or by driving coding-capable tools.
|
|
86
|
+
|
|
87
|
+
Tester: The role that checks completed work against requirements and success criteria.
|
|
88
|
+
|
|
89
|
+
Operator: The role that releases, deploys, monitors, runs the service, and manages users, permissions, settings, provisioning, and run-side security.
|
|
90
|
+
|
|
91
|
+
Support Agent: The role that helps users, captures signals, and routes questions, feedback, and issues to the right follow-up.
|
|
92
|
+
|
|
93
|
+
End User: The person the service is for; uses the service and provides requests, feedback, corrections, and issue reports.
|
|
94
|
+
|
|
95
|
+
## Delivery
|
|
96
|
+
|
|
97
|
+
Requirement: A team-owned commitment that translates expectations into something buildable and verifiable.
|
|
98
|
+
|
|
99
|
+
Requirement Detail: Optional behavior, edge cases, or check notes kept with a requirement when needed.
|
|
100
|
+
|
|
101
|
+
Review Note: A free-text note on an expectation or requirement. It may be marked important, but it does not block progress or require an Owner response.
|
|
102
|
+
|
|
103
|
+
Task: A piece of work with an entry history. The current status comes from the latest status-change entry.
|
|
104
|
+
|
|
105
|
+
Task Entry: One ordered entry in a Task, such as a comment, note, or status change.
|
|
106
|
+
|
|
107
|
+
Complete Engineering: The controlled delivery lifecycle covering implementation, verification, validation, release, and deployment.
|
|
108
|
+
|
|
109
|
+
Codex: A coding-capable model that may assist the Engineer. Codex is not a role.
|
|
110
|
+
|
|
111
|
+
QA Verification: The check that delivered work satisfies requirements and acceptance criteria.
|
|
112
|
+
|
|
113
|
+
Product Validation: The check that verified work achieves the intended product outcome.
|
|
114
|
+
|
|
115
|
+
Change: A record for a specific alteration to the running service. It keeps the plan, execution, rollback, notice, veto, emergency, decision, result, and recovery history without controlling the operation.
|
|
116
|
+
|
|
117
|
+
Change Plan: The part of a Change record that explains what is changing, why, scope, timing, and notice.
|
|
118
|
+
|
|
119
|
+
Execution Plan: The ordered practical steps inside a Change record for carrying out the change.
|
|
120
|
+
|
|
121
|
+
Rollback Plan: The part of a Change record that explains how to reverse or recover if the change fails or should not remain in use.
|
|
122
|
+
|
|
123
|
+
Emergency Change: A change where normal notice is shortened or skipped because both importance and immediacy are recorded.
|
|
124
|
+
|
|
125
|
+
Veto: A serious recorded objection to a Change by the Owner or Engineer. It does not mechanically stop the Operator, but proceeding over it creates a strong accountability record.
|
|
126
|
+
|
|
127
|
+
Release: A grouped set of changes prepared for delivery.
|
|
128
|
+
|
|
129
|
+
Deployment: The act of putting a release or change into an environment.
|
|
130
|
+
|
|
131
|
+
## Operations And Control
|
|
132
|
+
|
|
133
|
+
Support Ticket: A user-facing support interaction, request, or issue report.
|
|
134
|
+
|
|
135
|
+
Incident: A service-impacting or potentially service-impacting event requiring response.
|
|
136
|
+
|
|
137
|
+
Problem: An underlying cause or recurring issue that may require investigation and improvement work.
|
|
138
|
+
|
|
139
|
+
Risk: An uncertainty or exposure that could affect product, service, delivery, compliance, or operations.
|
|
140
|
+
|
|
141
|
+
Control: A policy, check, approval, or evidence expectation used to manage risk or governance.
|
|
142
|
+
|
|
143
|
+
Evidence: Information, an artifact, measurement, approval, or result used to support a decision, verification, release, deployment, or control.
|
|
144
|
+
|
|
145
|
+
MCP: The operating interface used for role-aware DX Complete actions after initialization.
|
|
146
|
+
|
|
147
|
+
CLI: The command-line bootstrap mechanism, including `npx dxcomplete init`.
|
package/docs/index.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# DX Complete Draft Scaffold
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
|
|
5
|
+
Build a Node package that installs a reusable DX Complete documentation and scaffold kit into a project.
|
|
6
|
+
|
|
7
|
+
## Important Context
|
|
8
|
+
|
|
9
|
+
This is exploratory design work. The product goal is stable, but the engineering/service model, roles, workflows, object taxonomy, and diagrams are still being discovered.
|
|
10
|
+
|
|
11
|
+
Do not treat the current model as final. Preserve it as draft material and make it easy to revise.
|
|
12
|
+
|
|
13
|
+
## Core Product Outcome
|
|
14
|
+
|
|
15
|
+
The package should initialize a repo with process documentation, Mermaid diagrams, taxonomy files, decision-basis templates, cost-model templates, workflow templates, and placeholder configuration for a full end-to-end DX engineering and service control model.
|
|
16
|
+
|
|
17
|
+
The broader product premise is:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
DX Complete = Decision Basis + Complete Engineering + Operations Measurement
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Command target:
|
|
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:
|
|
32
|
+
|
|
33
|
+
- Workspace and service context
|
|
34
|
+
- Statement capture
|
|
35
|
+
- Shared Journal context
|
|
36
|
+
- Current-state cost context attempts
|
|
37
|
+
- Itemized cost estimates
|
|
38
|
+
- Benefits
|
|
39
|
+
- Decision basis for Weigh
|
|
40
|
+
- Weigh outcomes with Commitment or Deferral records, plus decisions with linked inputs where useful
|
|
41
|
+
- Direction
|
|
42
|
+
- Product definition
|
|
43
|
+
- Engineering execution
|
|
44
|
+
- Engineer implementation, including Codex-assisted work where appropriate
|
|
45
|
+
- QA verification
|
|
46
|
+
- Product validation
|
|
47
|
+
- Change and release control
|
|
48
|
+
- Deployment
|
|
49
|
+
- Operation
|
|
50
|
+
- User support
|
|
51
|
+
- Administration as part of operation
|
|
52
|
+
- Audit and evidence
|
|
53
|
+
- Actual cost / benefit measurement where available
|
|
54
|
+
- Estimate refinement for future projects
|
|
55
|
+
|
|
56
|
+
## How To Read These Docs
|
|
57
|
+
|
|
58
|
+
These documents record the current working hypotheses. They are not requirements for how every organization must operate.
|
|
59
|
+
|
|
60
|
+
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.
|
package/docs/model.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Draft Model
|
|
2
|
+
|
|
3
|
+
## Working Hypothesis
|
|
4
|
+
|
|
5
|
+
The model is a full DX lifecycle, not merely a software development workflow.
|
|
6
|
+
|
|
7
|
+
The broader product premise is:
|
|
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.
|
|
14
|
+
|
|
15
|
+
The current runtime scope decision is `Workspace`: the shared-runtime 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 hosted MCP route for that workspace.
|
|
16
|
+
|
|
17
|
+
Workspace MCP deployments are not database runtimes. They proxy auth and MCP requests to the central DX Complete service. The central service owns database access, Google OAuth exchange, workspace membership, readable-ID allocation, and MCP tool execution. Separate database deployment may be revisited later, but workspace servers should not hold database credentials in the current model.
|
|
18
|
+
|
|
19
|
+
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
|
+
|
|
21
|
+
The current decision-basis hypothesis 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
|
+
|
|
23
|
+
The current early lifecycle hypothesis 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
|
+
|
|
25
|
+
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
|
+
|
|
27
|
+
The current engineering lifecycle hypothesis is that the main end-to-end engineering object may be `Requirement`. 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. Feature Request, Feedback, Authoritative Request, Incident, Problem, Release, Deployment, and Control remain useful lifecycle concepts, but they are not separate runtime records in the current model.
|
|
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.
|
|
30
|
+
|
|
31
|
+
The current checkpoint hypothesis is that 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.
|
|
32
|
+
|
|
33
|
+
The current decision rationale hypothesis is that DX Complete should preserve 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 should 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.
|
|
34
|
+
|
|
35
|
+
This is a draft. The primary lifecycle object, object boundaries, role ownership, and lifecycle links may change.
|
|
36
|
+
|
|
37
|
+
## Model Layers
|
|
38
|
+
|
|
39
|
+
Direction sets authority, priority, boundaries, and escalation paths.
|
|
40
|
+
|
|
41
|
+
Workspace scope contains one service context and prevents records from different service scopes from mixing in the shared runtime. In the hosted model, the endpoint gets workspace scope from repo config, then the central service checks the authenticated actor identity and workspace authorization before executing tools.
|
|
42
|
+
|
|
43
|
+
Decision-basis work captures the initial statement and expected outcome, elicits expectations, requirements, and enough detail for useful estimates, attempts current-state cost visibility where relevant, estimates projected cost through `Estimate`, records expected value through `Benefits`, and supports Weigh. `Estimate` is the structured itemized cost record for Weigh. `Benefits` is the Owner-authored benefit record and may include quantified or qualitative benefit items. Decision records preserve rationale and linked inputs when a separate decision trail is useful.
|
|
44
|
+
|
|
45
|
+
Weigh records the Owner outcome: a Commitment that moves work into Build, or a Deferral that records unmet conditions.
|
|
46
|
+
|
|
47
|
+
Product definition converts needs, feedback, and authoritative requests into desired outcomes and requirements.
|
|
48
|
+
|
|
49
|
+
Engineering execution refines committed requirements into requirement detail where needed and decomposes work into tasks.
|
|
50
|
+
|
|
51
|
+
Engineer implementation performs task work directly or by driving coding-capable tools. Codex may assist as a coding-capable model, but Codex is not itself a role.
|
|
52
|
+
|
|
53
|
+
QA verification checks whether the work satisfies requirements and acceptance criteria.
|
|
54
|
+
|
|
55
|
+
Product validation checks whether the verified result is the right product outcome.
|
|
56
|
+
|
|
57
|
+
Change and release control records the service change, readiness basis, notice, vetoes, emergency posture, result, and recovery where needed.
|
|
58
|
+
|
|
59
|
+
Deployment and operation release, monitor, and run the service safely.
|
|
60
|
+
|
|
61
|
+
`Change` is the current run-side control record for a discrete, time-bound alteration to the running service. It is not a standing Operations Plan. A Change keeps baseline sections for change plan, execution steps, rollback plan, and risk or impact, then records notice, veto, emergency posture, decision, result, recovery, notes, and plan revisions as append-only events. DX Complete records the accountability trail; it does not perform or enforce the operation.
|
|
62
|
+
|
|
63
|
+
Support Agent work handles user-facing issues and routes signals into Owner or Operator follow-up.
|
|
64
|
+
|
|
65
|
+
Operator administration manages users, permissions, configuration, and governance setup.
|
|
66
|
+
|
|
67
|
+
Audit and evidence captures decisions, controls, releases, deployments, approvals, and verification results.
|
|
68
|
+
|
|
69
|
+
Operations measurement captures actual cost and benefit observations where available and feeds future estimate refinement.
|
|
70
|
+
|
|
71
|
+
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
|
+
|
|
73
|
+
## Draft Relationship Shape
|
|
74
|
+
|
|
75
|
+
```mermaid
|
|
76
|
+
flowchart LR
|
|
77
|
+
Workspace --> Statement
|
|
78
|
+
Workspace --> Journal[Journal]
|
|
79
|
+
Statement --> Expectation
|
|
80
|
+
Expectation --> Requirement
|
|
81
|
+
Requirement --> Estimate
|
|
82
|
+
Requirement --> Benefits
|
|
83
|
+
Requirement --> Risk
|
|
84
|
+
Estimate --> DecisionBasis
|
|
85
|
+
Benefits --> DecisionBasis
|
|
86
|
+
Requirement --> DecisionBasis
|
|
87
|
+
Risk --> DecisionBasis
|
|
88
|
+
DecisionBasis --> Weigh{Weigh}
|
|
89
|
+
Weigh -->|Commit| Commitment
|
|
90
|
+
Weigh -->|Defer| Deferral
|
|
91
|
+
Deferral -->|Conditions resolved| Commitment
|
|
92
|
+
Commitment --> Task
|
|
93
|
+
Task --> Change
|
|
94
|
+
OperationalSignal[Operational signal] --> Ticket[DX Complete Ticket]
|
|
95
|
+
OperationalSignal --> Risk
|
|
96
|
+
OperationalSignal --> Task
|
|
97
|
+
OperationalSignal --> Requirement
|
|
98
|
+
Change --> ActualObservation[Actual cost or benefit observation]
|
|
99
|
+
ActualObservation --> Estimate
|
|
100
|
+
ActualObservation --> Benefits
|
|
101
|
+
Decision -. informed_by .-> Requirement
|
|
102
|
+
Decision -. informed_by .-> Estimate
|
|
103
|
+
Decision -. informed_by .-> Benefits
|
|
104
|
+
Decision -. informed_by .-> Risk
|
|
105
|
+
Decision -. informed_by .-> Change
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Revision Principle
|
|
109
|
+
|
|
110
|
+
Keep the model editable. If a team discovers that `Change`, `Requirement`, or another object should be the central lifecycle object, update the docs and YAML files before treating the scaffold as operating policy.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Open Questions
|
|
2
|
+
|
|
3
|
+
Use this file to keep uncertainty visible. The package should preserve draft thinking without making the model appear decided.
|
|
4
|
+
|
|
5
|
+
## Model
|
|
6
|
+
|
|
7
|
+
- What is the main lifecycle object?
|
|
8
|
+
- Should the model optimize first for decision-basis clarity, product delivery, service operation, compliance, or a balanced lifecycle?
|
|
9
|
+
- Which parts of the model are universal and which are implementation-specific?
|
|
10
|
+
- How should related workspaces be grouped when a client, company, or portfolio view is needed?
|
|
11
|
+
|
|
12
|
+
## Decision Basis
|
|
13
|
+
|
|
14
|
+
- What minimum cost visibility is required before proceeding?
|
|
15
|
+
- How should transformation, greenfield, and limited-disclosure workspace modes differ?
|
|
16
|
+
- Should a pause or stop decision have a revisit date by default?
|
|
17
|
+
|
|
18
|
+
## Cost And Benefit
|
|
19
|
+
|
|
20
|
+
- Which cost categories should exist by default?
|
|
21
|
+
- How should unavailable current-state baseline data be represented?
|
|
22
|
+
- How should intentionally undisclosed data differ from unavailable data?
|
|
23
|
+
- When are quantified Benefits required?
|
|
24
|
+
- What actual cost and benefit measurements are realistic after launch?
|
|
25
|
+
- How should actuals refine future estimates when the data is incomplete?
|
|
26
|
+
|
|
27
|
+
## Roles
|
|
28
|
+
|
|
29
|
+
- Which roles are mandatory?
|
|
30
|
+
- Which roles are optional for small teams?
|
|
31
|
+
- Which roles can be held by the same person?
|
|
32
|
+
- Who owns final release authority?
|
|
33
|
+
- Who owns service operation authority during incidents?
|
|
34
|
+
|
|
35
|
+
## Objects
|
|
36
|
+
|
|
37
|
+
- Are `Requirement`, `Change`, and `Feature Request` distinct enough?
|
|
38
|
+
- Is `Authoritative Request` an object or a source type?
|
|
39
|
+
- Should `Control` be a first-class object?
|
|
40
|
+
- Should `Risk` link to requirements, releases, controls, or all of them?
|
|
41
|
+
|
|
42
|
+
## Workflows
|
|
43
|
+
|
|
44
|
+
- What is the minimum viable lifecycle?
|
|
45
|
+
- Which approvals are required for normal changes?
|
|
46
|
+
- What evidence should be recorded when normal change notice is shortened or skipped?
|
|
47
|
+
- How does Support Agent route issues into Owner versus Operator follow-up?
|
|
48
|
+
- Where should Product validation occur relative to release approval?
|
|
49
|
+
|
|
50
|
+
## Evidence
|
|
51
|
+
|
|
52
|
+
- What evidence should be required for each object?
|
|
53
|
+
- Which evidence should be automated?
|
|
54
|
+
- Which evidence should be manually approved?
|
|
55
|
+
- How should audit trails be preserved across tools?
|
|
56
|
+
|
|
57
|
+
## Packaging
|
|
58
|
+
|
|
59
|
+
- Should initialization create only documentation, or also tool-specific configuration?
|
|
60
|
+
- Should GitHub, Jira, Linear, or other integrations be optional modules?
|
|
61
|
+
- Should teams be able to select a lightweight, standard, or regulated scaffold profile?
|
package/docs/roles.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Roles
|
|
2
|
+
|
|
3
|
+
These roles describe responsibility in the current DX Complete model. One person may hold more than one role, especially in a small team.
|
|
4
|
+
|
|
5
|
+
## Current Role Model
|
|
6
|
+
|
|
7
|
+
- Owner
|
|
8
|
+
- Engineer
|
|
9
|
+
- Tester
|
|
10
|
+
- Operator
|
|
11
|
+
- Support Agent
|
|
12
|
+
- End User
|
|
13
|
+
|
|
14
|
+
## Responsibilities
|
|
15
|
+
|
|
16
|
+
Owner sets authority, priority, escalation direction, outcome direction, requirements, product validation direction, budget commitment, and formal risk acceptance.
|
|
17
|
+
|
|
18
|
+
Engineer turns committed requirements into tasks and working changes. The Engineer may implement directly, drive coding-capable tools such as Codex, and leave non-blocking review notes on expectations or requirements.
|
|
19
|
+
|
|
20
|
+
Tester checks completed work against requirements and success criteria.
|
|
21
|
+
|
|
22
|
+
Operator releases, deploys, monitors, and runs the service. Operator also owns provisioning, administration, users, permissions, settings, infrastructure, and run-side security.
|
|
23
|
+
|
|
24
|
+
Support Agent helps users, captures signals, and routes questions, feedback, and issues to the right follow-up.
|
|
25
|
+
|
|
26
|
+
End User uses the service and provides requests, feedback, corrections, and issue reports.
|
|
27
|
+
|
|
28
|
+
## Folded Responsibilities
|
|
29
|
+
|
|
30
|
+
Coder is not a separate DX Complete role in the current model. Coding work is part of the Engineer role, and Codex is a coding-capable model that may assist the Engineer.
|
|
31
|
+
|
|
32
|
+
Admin is not a separate DX Complete role in the current model. Administration is part of the Operator role because it belongs to running and governing the service safely.
|
|
33
|
+
|
|
34
|
+
Director and Product Lead are not separate DX Complete roles in the current model. Their authority, outcome definition, requirement direction, product validation, budget, and risk-acceptance responsibilities are folded into Owner.
|
|
35
|
+
|
|
36
|
+
## Role Questions
|
|
37
|
+
|
|
38
|
+
- Which roles can be held by the same person in a small team?
|
|
39
|
+
- Which Owner approvals should be explicit checkpoints?
|
|
40
|
+
- Which run-side administration changes require change control?
|
|
41
|
+
- Which Support Agent signals should become requirements, incidents, problems, or risks?
|
|
42
|
+
- Which tasks are appropriate for Codex-assisted coding under Engineer direction?
|
package/docs/taxonomy.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Draft Taxonomy
|
|
2
|
+
|
|
3
|
+
The object taxonomy is draft material. Use it to preserve the current working model, not to declare final truth.
|
|
4
|
+
|
|
5
|
+
## Current Runtime Record Hypothesis
|
|
6
|
+
|
|
7
|
+
- Workspace
|
|
8
|
+
- DX Complete Ticket
|
|
9
|
+
- Statement
|
|
10
|
+
- Journal
|
|
11
|
+
- Environment
|
|
12
|
+
- Component
|
|
13
|
+
- Estimate
|
|
14
|
+
- Benefits
|
|
15
|
+
- Expectation
|
|
16
|
+
- Requirement
|
|
17
|
+
- Commitment
|
|
18
|
+
- Deferral
|
|
19
|
+
- Task
|
|
20
|
+
- Change
|
|
21
|
+
- Decision
|
|
22
|
+
- Risk
|
|
23
|
+
|
|
24
|
+
## Current Lifecycle Concepts
|
|
25
|
+
|
|
26
|
+
These concepts remain useful, but they are not separate runtime records in the current model.
|
|
27
|
+
|
|
28
|
+
- Feedback
|
|
29
|
+
- Authoritative Request
|
|
30
|
+
- Feature Request
|
|
31
|
+
- Incident
|
|
32
|
+
- Problem
|
|
33
|
+
- Support Ticket
|
|
34
|
+
- Release
|
|
35
|
+
- Deployment
|
|
36
|
+
- Control
|
|
37
|
+
- Evidence
|
|
38
|
+
- Estimate Refinement
|
|
39
|
+
|
|
40
|
+
## Current Lifecycle Hypothesis
|
|
41
|
+
|
|
42
|
+
`Workspace` is the runtime scope object. It contains one service scope and is the boundary for shared database 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.
|
|
43
|
+
|
|
44
|
+
Workspace-scoped lifecycle records use UUIDs as primary keys and links, while also carrying a human-readable reference such as `REQ-0001`. The readable reference is for people; it does not replace the UUID.
|
|
45
|
+
|
|
46
|
+
`DX Complete Ticket` is actor-scoped communication between an MCP client user and DX Complete. It can hold a question, report, request, correction, or follow-up and can receive appended entries over time. Its durable content is the title plus entries; summary is optional and is not generated automatically. It is private from the submitting actor's view, while DX Complete replies can be tracked as unread or read by that actor. The unread list identifies tickets that need attention; reading the ticket opens the full content and marks addressed replies read. It does not ingest files or assets, and does not automatically become a shared lifecycle object.
|
|
47
|
+
|
|
48
|
+
`Statement` is now a runtime collection. Statement preserves a user's own words before interpretation, can link to the expectation derived from it, and should preserve prior versions when edited.
|
|
49
|
+
|
|
50
|
+
`Journal` is shared workspace context. It is append-only and should be used for relevant background, preferences, observations, and notes that do not have a better dedicated record home. Dedicated records should be used first: claims and success conditions belong in Statement, Expectation, or Requirement records; choices belong in Decisions; actions belong in Tasks; risks and service changes belong in their matching records. Operational infrastructure state belongs in the Operational Registry through Environment and Component records. The sharp test is: will anything reference or depend on this? If yes, prefer a dedicated record. Journal entries can be linked when they inform another record, and Journal content that becomes load-bearing should be promoted.
|
|
51
|
+
|
|
52
|
+
`Environment` is a named operating context such as local, staging, or production. It helps the team separate what exists in one operating context from what exists in another, and it should preserve prior versions when edited.
|
|
53
|
+
|
|
54
|
+
`Component` is one operational item in one Environment. It can describe the kind of component, where it lives, non-secret identifiers, secret pointers, and notes. Secret pointers should name where a secret is stored and what it is called, not the secret value itself. Component history should stay versioned state; service events and process history belong in Change, Decision, Risk, Task, or other matching records.
|
|
55
|
+
|
|
56
|
+
`Estimate` is the structured itemized cost record used during Weigh. It can cover requirements or expectations, rolls cost totals up while keeping one-time, recurring, period, and currency distinctions visible, and should preserve prior versions when edited.
|
|
57
|
+
|
|
58
|
+
`Benefits` is the Owner-authored benefit record used during Weigh. It can cover requirements or expectations, may include quantified or qualitative benefit items, rolls up quantified benefit totals only, and should preserve prior versions when edited.
|
|
59
|
+
|
|
60
|
+
`Expectation` is now a runtime collection. It restates the expected result and how success will be recognized, in user-facing language. The MCP client should confirm wording before recording it on a user's behalf. Separate authority approval can be tracked when it reduces risk. Requirements should link back to the expectations they are meant to satisfy. When an expectation changes, prior versions should be kept so the current wording is not silently detached from what came before.
|
|
61
|
+
|
|
62
|
+
`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.
|
|
63
|
+
|
|
64
|
+
The main engineering object may be `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.
|
|
65
|
+
|
|
66
|
+
`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.
|
|
67
|
+
|
|
68
|
+
`Deferral` is the Owner's record for not committing yet. It records explicit conditions that must be addressed before a future Commitment. Conditions should have directly readable current state and append-only event history.
|
|
69
|
+
|
|
70
|
+
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 an independent object is proven necessary. `Task` is a cross-cutting execution record that can be created whenever a phase needs concrete action. Task status is derived from the latest status-change entry so prior movement remains visible. The Engineer works primarily on `Task`; Codex assistance may also operate on Tasks where appropriate.
|
|
71
|
+
|
|
72
|
+
Approval and similar checkpoints are 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.
|
|
73
|
+
|
|
74
|
+
`Feature Request`, `Feedback`, `Authoritative Request`, `Incident`, `Problem`, `Support Ticket`, `Release`, `Deployment`, `Control`, `Evidence`, and `Estimate Refinement` remain lifecycle concepts. In the current runtime, they should be represented through current records such as Requirement, Task, Change, Risk, Decision, Estimate, Benefits, or DX Complete Ticket unless a later model decision promotes them into first-class records.
|
|
75
|
+
|
|
76
|
+
`Change` is now the run-side record for a discrete alteration to the running service. It should keep the original plan, execution steps, rollback plan, and risk or impact as the baseline, then use append-only events for notice, veto, emergency posture, decision, result, recovery, notes, and plan revisions. A Change is not a standing Operations Plan and does not enforce deployment.
|
|
77
|
+
|
|
78
|
+
`Decision` captures the matter being decided, ordered argument/note/decision entries, and links to records that informed the choice. The current decision is derived from the latest decision entry, while earlier decisions and arguments remain visible. Arguments are not weighted by default and do not need to be mapped to a single side of a choice. DX Complete preserves the decision trail; it does not decide whether the authority's reasoning was correct.
|
|
79
|
+
|
|
80
|
+
Decision inputs use the `informed_by` relationship from a Decision to the records that informed it. Outbound links from a Decision answer "what informed this decision?" Inbound links to an input record answer "which decisions used this?"
|
|
81
|
+
|
|
82
|
+
## Editable Source
|
|
83
|
+
|
|
84
|
+
The installed scaffold includes `dxcomplete/process/taxonomy.yml`. Treat that file as the editable taxonomy source for a project.
|
|
85
|
+
|
|
86
|
+
## Taxonomy Questions
|
|
87
|
+
|
|
88
|
+
- Is `Requirement` the main lifecycle object, or should the center be `Change`, `Feature Request`, or another object?
|
|
89
|
+
- Is `Workspace` sufficient as the service-scope boundary, or will related workspaces need a stronger grouping model?
|
|
90
|
+
- Should future work need a grouping model above Workspace, or is Workspace sufficient as the service scope?
|
|
91
|
+
- Should decision arguments remain embedded text, or should they become first-class records after repeated use?
|
|
92
|
+
- How should limited-disclosure cost data be represented?
|
|
93
|
+
- Should `Authoritative Request` be a separate object or a source category for Requirements?
|
|
94
|
+
- Should `Incident` and `Support Ticket` be distinct in small teams?
|
|
95
|
+
- Should `Control` be modeled as a lifecycle object, a policy object, or both?
|
|
96
|
+
- How should evidence attach to each object?
|