56 lines
2.1 KiB
Markdown
56 lines
2.1 KiB
Markdown
# Evidence and safety rules
|
|
|
|
## Evidence levels
|
|
|
|
| Level | Meaning | Permitted use |
|
|
|---|---|---|
|
|
| Observed | Read from live SQL once | Diagnosis only |
|
|
| Reproduced | Seen in independent before/after saves | Decoder rule candidate |
|
|
| Round-trip proven | Decode → unchanged encode returns identical bytes | Safe read/transform component |
|
|
| Activation proven | A human Configurator applied it and active SQL verified it | Controlled `upo_test` writer component |
|
|
|
|
No rule may be promoted because a name, suffix, or payload shape “looks right”.
|
|
|
|
## Codec boundary
|
|
|
|
The configuration-storage specification is the adapter's sole authority for
|
|
decoding and encoding. A writer is enabled only when the relevant version of
|
|
that specification defines every changed byte and every dependent integrity
|
|
atom, and round-trip evidence proves the encoder. Any remaining opaque atom is
|
|
preserved byte-for-byte; if a requested edit requires changing it, the write is
|
|
unsupported until the specification is extended by a controlled experiment.
|
|
|
|
## Allowed mutation boundary
|
|
|
|
- The adapter runtime uses SQL only.
|
|
- `upo_test` may receive controlled writes to `ConfigSave` and
|
|
`ConfigCASSave` only.
|
|
- `Config`, `ConfigCAS`, and application data are never direct write targets.
|
|
- A write must have a live target resolution, optimistic SHA-1 precondition,
|
|
reversible evidence, atomic transaction, and readback verification.
|
|
- Repository coordination is a separate policy; an adapter marker is not a
|
|
native repository lock.
|
|
|
|
## Exact edits
|
|
|
|
For BSL fragment replacement, provide one of:
|
|
|
|
- an old fragment occurring exactly once;
|
|
- a larger unique surrounding fragment;
|
|
- a proven structural container path/offset plus original SHA-1.
|
|
|
|
If a fragment occurs zero or more than once, do not choose arbitrarily. Return
|
|
the count and candidate contexts. Deletion follows the same rule.
|
|
|
|
## What an agent must report
|
|
|
|
Every proposal and applied result must state:
|
|
|
|
- active and saved layers used;
|
|
- public target and SQL evidence retained internally;
|
|
- original and new SHA-1 values;
|
|
- paired files changed;
|
|
- exact-match count;
|
|
- rollback reference;
|
|
- Configurator refresh guidance.
|