Make render status receipt based
This commit is contained in:
parent
21c4992f9c
commit
0fe968c475
10 changed files with 913 additions and 27 deletions
|
|
@ -160,6 +160,31 @@ committed success. A separate 700-character preflight test proves the callback a
|
|||
are never created. Changeset lifecycle receipts now obey the configured changeset byte limit on
|
||||
both write and read.
|
||||
|
||||
#### Receipt-based render status
|
||||
|
||||
Successful declared renders now publish a bounded, atomic version-1 receipt below the disposable
|
||||
cache. It binds project/root/adapter/source identity, the normalized view configuration, renderer
|
||||
identity, template and output hashes, byte size, and safe regular-file identities. Generic renders
|
||||
also publish the verified source generation used by cheap status.
|
||||
|
||||
Normal status compares only source-generation, descriptor/view, template-file, output-file, and
|
||||
receipt identities. It does not call `Project.load()`, prepare the renderer, construct HTML, read
|
||||
the full output, rebuild the index, or repair missing state. Missing and corrupt receipts are
|
||||
`unverified`; source, template, or output changes are `stale`. An explicit `deep` option on the
|
||||
Python, CLI, and MCP status surfaces preserves the old side-effect-free full-render equivalence
|
||||
oracle.
|
||||
|
||||
Receipt failure after atomic output replacement is reported as degraded publication success, not a
|
||||
false render failure. Canonical application converts the same condition into a degraded
|
||||
derived-refresh report while retaining canonical success. Focused tests forbid source loading and
|
||||
renderer preparation during warm status and cover output, template, missing-receipt, corrupt-
|
||||
receipt, and post-publication receipt-failure behavior.
|
||||
|
||||
After race hardening, a 50-sample three-node receipt-status check measured a 3.202 ms median and
|
||||
3.509 ms p95, compared with the 1.941 ms Milestone 0 three-node full-render status. The small
|
||||
fixture does not show the scaling benefit; the 1,000-node Milestone 0 status baseline was
|
||||
150.591 ms and will be rerun in the final Milestone 1 evidence pass.
|
||||
|
||||
#### Bounded indexed retrieval
|
||||
|
||||
Search, metadata filtering, backlinks, dependency traversal, and impact traversal now query one
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue