Skip to content

Commit 10ef4fd

Browse files
committed
docs(site): tighten evaluation-ready public surfaces
1 parent 0a0ad16 commit 10ef4fd

39 files changed

+1439
-1509
lines changed

CHANGELOG.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ This changelog tracks published releases and the major implementation milestones
2121
### Lab, Contract, And Release Surface
2222
- added a deterministic `examples/lab` end-to-end smoke flow for workspace creation through report export
2323
- updated the published OpenAPI contract, quickstart flow, lab assets, configuration guidance, and operator docs to match the new workspace APIs and runtime auth flow
24-
- added v1.6.0 release-note draft material and release-facing screenshot assets for the workspace-first operator application
24+
- added v1.6.0 release-note material and release-facing screenshot assets for the workspace-first operator application
2525

2626
## [1.5.0] - 2026-04-08
2727

@@ -31,7 +31,7 @@ This changelog tracks published releases and the major implementation milestones
3131

3232
### API And Dashboard Trust Surfaces
3333
- hardened the API contract with structured JSON error responses, stabilized migration command acknowledgements, and updated OpenAPI coverage for the operator-facing routes
34-
- improved dashboard-side error handling so settings and report workflows preserve request correlation and support-grade failure detail instead of flattening backend errors into generic strings
34+
- improved dashboard-side error handling so settings and report workflows preserve request correlation and operator-facing failure detail instead of flattening backend errors into generic strings
3535

3636
### Documentation And Operator Readiness
3737
- added presenter-ready demo assets, real-user validation templates, and commercialization decision guidance to support design-partner conversations and pilot packaging
@@ -98,7 +98,7 @@ This changelog tracks published releases and the major implementation milestones
9898

9999
## [1.1.0] - 2026-04-05
100100

101-
### Current Stable Surface
101+
### Current Tagged Feature Set
102102
- multi-platform discovery for VMware, Proxmox, Hyper-V, KVM, Nutanix, and Veeam-related backup inventory
103103
- dependency graph construction across workload, network, storage, and backup metadata
104104
- declarative cold and warm migration orchestration with preflight checks, execution windows, approval gates, checkpoints, resume support, verification, and rollback

CONTRIBUTING.md

Lines changed: 49 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,71 @@
11
# Contributing
22

3-
## How To Report Bugs
4-
Open a GitHub issue with a clear summary, the environment you were using, reproduction steps, expected behavior, and the actual behavior you observed. If logs or screenshots help clarify the problem, include them with any secrets removed. Use the bug-report template when possible so maintainers get the minimum triage context up front.
3+
## Before You Start
54

6-
## How To Request Features
7-
Open a GitHub issue describing the problem you are trying to solve, why existing behavior is not enough, and what a successful outcome would look like. Feature requests with operational context are easier to prioritize than solution-only requests.
5+
Viaduct's public-facing materials are part of the product surface. If your change affects operator behavior, update the relevant docs, examples, and release-facing assets in the same change.
6+
7+
## Reporting Bugs
8+
9+
Open a GitHub issue with:
10+
- a clear summary
11+
- your environment
12+
- reproduction steps
13+
- expected behavior
14+
- actual behavior
15+
16+
If logs or screenshots help, include them with secrets removed.
17+
18+
## Requesting Features
19+
20+
Open a GitHub issue that explains the operator or contributor problem first. Narrow, workflow-grounded requests are easier to evaluate than solution-only requests.
821

922
## Development Setup
23+
1024
- Go 1.24 or newer
11-
- Node.js 20 or newer for the dashboard
12-
- `make` (preferred, optional on Windows if you run the underlying commands directly)
25+
- Node.js 20.19 or newer for the dashboard
26+
- `make` for the standard workflow
1327
- `golangci-lint`
1428

15-
Clone the repository, install dependencies with `go mod tidy`, and use the Make targets for the standard workflow. The quickest release-candidate validation path is:
29+
Typical setup:
1630

1731
```bash
1832
go mod tidy
33+
make build
34+
```
35+
36+
For a fuller local check:
37+
38+
```bash
1939
make release-gate
2040
```
2141

22-
If you use Codex for repo tasks, the bootstrap script in `.codex/setup.sh` installs the expected linter version in supported environments.
42+
## Workflow Expectations
2343

24-
## Workflow
2544
1. Fork the repository.
26-
2. Create a feature branch for your work.
27-
3. Make your changes with focused commits and update docs, examples, and sample configs when public behavior changes.
28-
4. Run `go test ./... -v -race`, `go vet ./...`, `make build`, and `cd web && npm run build` for the surfaces you touched.
29-
5. Run `make release-gate` before asking for review when your change affects release, packaging, dashboard, migrations, tenant behavior, plugins, or docs.
30-
6. Submit a pull request with context about the problem, solution, compatibility impact, and verification.
45+
2. Create a focused branch.
46+
3. Make the smallest coherent set of changes.
47+
4. Update docs, examples, sample configs, and public assets when operator-visible behavior changes.
48+
5. Run the verification commands for the surfaces you touched.
49+
6. Submit a pull request with scope, rationale, compatibility impact, and validation notes.
50+
51+
## Verification Expectations
52+
53+
- Run `go test ./... -v -race`, `go vet ./...`, `make build`, and `cd web && npm run build` for the relevant surfaces.
54+
- Run `make release-gate` before asking for review when the change affects release, packaging, dashboard, migrations, tenants, plugins, docs, or public assets.
55+
- Add regression coverage for bug fixes.
56+
57+
## Compatibility And Scope
3158

32-
## Compatibility Expectations
3359
- Preserve API, state-store, and plugin compatibility where possible.
34-
- Document any migration requirement or operator-facing behavior change in the PR and relevant docs.
35-
- Keep tenant boundaries strict and explicit in tests and implementation.
36-
- Add regression coverage for every bug fix.
37-
38-
## Documentation And Examples
39-
- Top-level docs such as `README.md`, `INSTALL.md`, `QUICKSTART.md`, `UPGRADE.md`, `RELEASE.md`, `SUPPORT.md`, and `SECURITY.md` are part of the public product surface.
40-
- Keep detailed docs under `docs/` aligned with the public entrypoint docs at the repo root.
41-
- Historical phase documents under `docs/roadmaps/` are archives. Update them only to clarify shipped outcomes, not to describe current active work.
42-
- Example configs and lab assets should remain runnable and parseable. Prefer realistic examples over pseudo-configuration.
43-
44-
## Testing Expectations
45-
- Table-driven Go tests are the default.
46-
- Integration tests live under `tests/integration/`.
47-
- Release and packaging changes should include validation for examples, install flows, or generated artifacts where practical.
48-
- If you touch dashboard code, run `cd web && npm run build`.
49-
50-
## Codebase Orientation
60+
- Keep tenant boundaries strict and explicit.
61+
- Prefer extending existing packages over introducing parallel abstractions.
62+
- Keep the public maturity language honest. Use evaluation-ready or more cautious wording unless stronger proof exists.
63+
64+
## Helpful References
65+
5166
- Architecture overview: [docs/architecture.md](docs/architecture.md)
5267
- Codebase map: [docs/reference/codebase-map.md](docs/reference/codebase-map.md)
5368
- Configuration guide: [docs/reference/configuration.md](docs/reference/configuration.md)
5469
- Plugin author guide: [docs/reference/plugin-author-guide.md](docs/reference/plugin-author-guide.md)
55-
56-
## Support
57-
For usage questions, evaluation help, or contribution process questions, start with [SUPPORT.md](SUPPORT.md).
58-
59-
## Security
60-
If you believe you have found a security issue, follow the process in [SECURITY.md](SECURITY.md) instead of opening a public bug report.
70+
- Support and contributor help: [SUPPORT.md](SUPPORT.md)
71+
- Security process: [SECURITY.md](SECURITY.md)

INSTALL.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# Installation
22

3-
This document is the top-level installation entrypoint for Viaduct. For a deeper walkthrough, see [docs/getting-started/installation.md](docs/getting-started/installation.md).
3+
This is the top-level installation entrypoint for Viaduct. Use it together with [QUICKSTART.md](QUICKSTART.md) if you want the fastest evaluation path, or see [docs/getting-started/installation.md](docs/getting-started/installation.md) for the deeper walkthrough.
44

55
## Requirements
6+
67
- Go 1.24 or newer
78
- Node.js 20.19 or newer if you want to build the dashboard
89
- `make` for the standard workflow
@@ -29,7 +30,7 @@ npm run build
2930
## Install From A Release Bundle
3031

3132
Release bundles produced by `make package-release-matrix` include:
32-
- the CLI binary
33+
- CLI binary
3334
- built web assets
3435
- docs and sample configs
3536
- install scripts
@@ -55,6 +56,11 @@ viaduct version
5556
viaduct --help
5657
```
5758

58-
The fastest no-infrastructure evaluation path is the local KVM lab in [examples/lab](examples/lab). Continue with [QUICKSTART.md](QUICKSTART.md).
59+
## Recommended Next Step
60+
61+
The cleanest evaluation path is still the local lab in [examples/lab](examples/lab). Continue with [QUICKSTART.md](QUICKSTART.md).
5962

60-
Reference deployment assets for Docker Compose, systemd, and Kubernetes live in [examples/deploy](examples/deploy). Start with [examples/deploy/README.md](examples/deploy/README.md) and use the Kubernetes notes in [examples/deploy/kubernetes/README.md](examples/deploy/kubernetes/README.md) if you want a pilot-style in-cluster evaluation.
63+
For packaged or persistent evaluation environments:
64+
- use PostgreSQL instead of the in-memory store
65+
- prefer service-account keys for normal operator access
66+
- keep the Vite dev server out of any shared or internet-facing environment

QUICKSTART.md

Lines changed: 35 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
# Quickstart
22

3-
This is the fastest way to evaluate Viaduct from source without a live hypervisor.
3+
This is the fastest source-based evaluation path for Viaduct. It uses the local lab so you can reach the workspace-to-report flow without a live hypervisor estate.
44

5-
The default first-run path is now the workspace-first operator flow:
5+
## Maturity Note
66

7-
1. bootstrap the local lab tenant and service account
8-
2. sign into the dashboard with a runtime key
9-
3. create a pilot workspace
10-
4. discover, inspect, simulate, save a plan, and export a report
7+
Viaduct is evaluation-ready. Start in the lab or a supervised pilot first.
118

129
## 1. Build The CLI
1310

@@ -17,16 +14,24 @@ make build
1714
./bin/viaduct version
1815
```
1916

20-
## 2. Seed A Local Config
17+
On Windows PowerShell:
18+
19+
```powershell
20+
go mod tidy
21+
make build
22+
.\bin\viaduct.exe version
23+
```
24+
25+
## 2. Seed The Local Config
2126

2227
```bash
2328
mkdir -p ~/.viaduct
2429
cp examples/lab/config.yaml ~/.viaduct/config.yaml
2530
```
2631

27-
The lab config points the KVM source at the local fixture set. For any non-demo environment, configure `state_store_dsn` and use PostgreSQL for persistence.
32+
The lab config uses the local KVM fixture set. For any persistent non-demo environment, configure `state_store_dsn` and use PostgreSQL.
2833

29-
## 3. Start The API With An Admin Bootstrap Key
34+
## 3. Start The API
3035

3136
```bash
3237
export VIADUCT_ADMIN_KEY=lab-admin
@@ -40,83 +45,66 @@ $env:VIADUCT_ADMIN_KEY = "lab-admin"
4045
.\bin\viaduct.exe serve-api --port 8080
4146
```
4247

43-
## 4. Create The Lab Tenant
48+
## 4. Seed The Lab Tenant And Service Account
4449

4550
```bash
4651
curl -X POST \
4752
-H "X-Admin-Key: lab-admin" \
4853
-H "Content-Type: application/json" \
4954
--data @examples/lab/tenant-create.json \
5055
http://localhost:8080/api/v1/admin/tenants
51-
```
52-
53-
This seeds the deterministic tenant key `lab-tenant-key`.
5456

55-
## 5. Create The Lab Service Account
56-
57-
```bash
5857
curl -X POST \
5958
-H "X-API-Key: lab-tenant-key" \
6059
-H "Content-Type: application/json" \
6160
--data @examples/lab/service-account-create.json \
6261
http://localhost:8080/api/v1/service-accounts
6362
```
6463

65-
This seeds the deterministic service-account key `lab-operator-key`.
64+
This creates:
65+
- tenant key: `lab-tenant-key`
66+
- service-account key: `lab-operator-key`
6667

67-
## 6. Start The Dashboard
68+
Use the service-account key for the normal operator flow. Keep the tenant key for bootstrap or break-glass admin work.
69+
70+
## 5. Start The Dashboard
6871

6972
```bash
7073
cd web
7174
npm ci
7275
npm run dev
7376
```
7477

75-
The dashboard expects the API at `/api` and opens on the pilot workspace route. The first screen is a runtime auth bootstrap flow.
78+
Open the Vite URL shown in the terminal. The dashboard starts on the pilot workspace route and asks for a runtime key.
7679

7780
Authenticate with:
78-
- `Service account`: `lab-operator-key`
79-
- `Tenant key`: `lab-tenant-key`
80-
81-
For normal dashboard and pilot use, prefer `VITE_VIADUCT_SERVICE_ACCOUNT_KEY`. Keep `VITE_VIADUCT_API_KEY` for tenant bootstrap or break-glass admin access.
82-
83-
If you create additional tenants or service accounts, verify the active identity with:
84-
85-
```bash
86-
curl -H "X-Service-Account-Key: <service-account-key>" http://localhost:8080/api/v1/tenants/current
87-
```
81+
- preferred: `lab-operator-key`
82+
- bootstrap only: `lab-tenant-key`
8883

89-
Use the tenant key only when you are bootstrapping the tenant or intentionally using tenant-admin access:
90-
91-
```bash
92-
curl -H "X-API-Key: <tenant-key>" http://localhost:8080/api/v1/tenants/current
93-
```
94-
95-
## 7. Run The Workspace-First Flow
84+
## 6. Run The Workspace-First Flow
9685

9786
In the dashboard:
9887

9988
1. Create the first pilot workspace from the prefilled lab defaults.
10089
2. Run discovery.
101-
3. Inspect the discovered workloads and dependency graph.
102-
4. Run simulation.
90+
3. Inspect the workload and graph state.
91+
4. Run readiness simulation.
10392
5. Save the plan.
10493
6. Export the pilot report.
10594

106-
The seeded API equivalent for workspace creation lives in [examples/lab/pilot-workspace-create.json](examples/lab/pilot-workspace-create.json).
95+
The matching seeded request body for API-driven creation is in [examples/lab/pilot-workspace-create.json](examples/lab/pilot-workspace-create.json).
10796

108-
## 8. Optional CLI Corroboration
97+
## 7. Optional CLI Corroboration
10998

11099
```bash
111100
./bin/viaduct discover --type kvm --source examples/lab/kvm --save
112101
./bin/viaduct plan --spec examples/lab/migration-window.yaml
113102
```
114103

115104
## Next Steps
116-
- Review [docs/operations/pilot-workspace-flow.md](docs/operations/pilot-workspace-flow.md) for the full workspace-first operator guide.
117-
- Review [docs/operations/migration-operations.md](docs/operations/migration-operations.md) for execution and rollback workflows.
118-
- Review [docs/operations/backup-portability.md](docs/operations/backup-portability.md) for Veeam portability guidance.
119-
- Review [docs/operations/multi-tenancy.md](docs/operations/multi-tenancy.md) before enabling shared-tenant operation.
120-
- Review [docs/operations/auth-role-audit-model.md](docs/operations/auth-role-audit-model.md) for the early-product trust model and attribution boundaries.
121-
- Review [examples/deploy/README.md](examples/deploy/README.md) if you want to move from local evaluation into a packaged pilot environment.
122-
- Review [examples/plugin-example/README.md](examples/plugin-example/README.md) if you want to validate plugin-backed connector loading.
105+
106+
- Detailed quickstart: [docs/getting-started/quickstart.md](docs/getting-started/quickstart.md)
107+
- Pilot workspace guide: [docs/operations/pilot-workspace-flow.md](docs/operations/pilot-workspace-flow.md)
108+
- Installation guide: [INSTALL.md](INSTALL.md)
109+
- Configuration reference: [docs/reference/configuration.md](docs/reference/configuration.md)
110+
- Deployment examples: [examples/deploy/README.md](examples/deploy/README.md)

0 commit comments

Comments
 (0)