65 lines
2.4 KiB
Markdown
65 lines
2.4 KiB
Markdown
# CASAN Commercial Readiness Contract
|
||
|
||
## Promise
|
||
|
||
After `casan init`, a repository can use CASAN Core prompt assurance and the
|
||
Local Assurance Viewer without modifying application source, installing a
|
||
Domain Pack, running a domain pipeline, or exporting HTML after every prompt.
|
||
|
||
CASAN never turns missing evidence into zero and never calls an installation
|
||
READY when a required client activation step remains.
|
||
|
||
## State model
|
||
|
||
| Dimension | Ready state | Non-blocking state | Owner |
|
||
|---|---|---|---|
|
||
| Core | `ready`, `ready_with_attention` | — | CASAN runtime + selected client |
|
||
| Domain Pipeline | `configured` | `discovered`, `not_configured` | Project team |
|
||
| Provider Telemetry | `available` | `optional_unavailable` | Client/provider adapter |
|
||
|
||
Core installation acceptance uses H1–H7 as an installation contract:
|
||
|
||
1. H1 project configuration exists and is valid;
|
||
2. H2 selected client integration is installed and trust is explicit;
|
||
3. H3 local report capability exists in the resolved runtime;
|
||
4. H4 enforcement mode is disclosed (`observe` is a warning);
|
||
5. H5 evidence directories are writable;
|
||
6. H6 provider token/cost telemetry is measured when available and explicitly
|
||
optional when unavailable;
|
||
7. H7 bootstrap and version/hash pin exist.
|
||
|
||
When at least one selected client route is operational but another selected
|
||
route fails the deep doctor check, Core is `ready_with_attention`: reports and
|
||
governed prompts remain usable through the healthy route, while the broken
|
||
route is shown as an explicit activation action.
|
||
|
||
These checks do not claim that a real prompt run is H1–H7 certified. Run
|
||
certification is created only from canonical lifecycle evidence after a prompt.
|
||
|
||
## CASAN-owned files
|
||
|
||
- `.casan/discovery.json`: bounded read-only discovery projection;
|
||
- `.casan/readiness.json`: shared CLI/viewer state;
|
||
- `.casan/domain.json`: optional reference to a project-owned manifest.
|
||
|
||
No command above creates requirements, traceability mappings, tests, source
|
||
files or a fake runnable pipeline.
|
||
|
||
## Operator path
|
||
|
||
```bash
|
||
casan init
|
||
casan doctor
|
||
casan readiness --refresh
|
||
casan view
|
||
|
||
# Optional, only for project-specific SRS→test acceptance
|
||
casan domain discover
|
||
casan domain configure path/to/project.manifest.json
|
||
casan pipeline --help
|
||
```
|
||
|
||
`casan pipeline` runs only when the project provides
|
||
`scripts/run-casan-pipeline.mjs`. Otherwise it returns
|
||
`CASAN_PIPELINE_NOT_CONFIGURED` while leaving Core fully usable.
|