Protect transcript refinement resume semantics

This commit is contained in:
2026-08-30 13:03:13 +00:00
parent 4d6086fefb
commit 7ee637803d
12 changed files with 512 additions and 16 deletions

View File

@@ -28,10 +28,26 @@ Run Audita polishing on base transcript and produce polished transcript.
- polished transcript schema validation is mandatory.
- report output is config-gated.
## Resume Semantics
The versioned semantic fingerprint covers the Audita service endpoint, model,
validation model, module set, transcript description, output schema, selected
external configuration path, and canonical polished-transcript identity. Module
ordering is normalized because the configured modules form a set. Audita's
executable, timeouts, concurrency, report and debug behavior, work retention,
and credential environment name are operational and do not invalidate a
successful result.
Narratio can fingerprint a selected model, module, or configuration identifier,
but it cannot inspect content that Audita privately resolves behind that stable
identifier. Force `polish` after changing such private content without changing
its identifier.
## Related Contracts And Tests
- [Audita](../integrations/audita.md) owns subprocess, validation, and failure
semantics.
- [Configuration](../config.md#pipeline) owns operator-selected Audita values.
- Implementation and tests: `internal/stage/polish.go`,
`internal/stage/polish_test.go`
`internal/stage/polish_test.go`,
`internal/stage/semantic_contracts_refinement.go`