Readonlyacknowledgment"fresh" -- the cited file currently exists and either matches the
committed baseline hash or has no baseline yet (a brand-new citation,
nothing to contradict it yet). "stale" -- the cited file exists but its
content has changed since the committed baseline. "missing" -- the
cited file no longer exists at all. Re-derived from scratch every run;
never cached across runs.
Readonlycolumn1-indexed column number.
ReadonlycontentSHA-256 hex digest of the cited file's content as observed this run --
undefined iff acknowledgment === "missing" (nothing to hash). This is
the one field that makes freshness checking possible without a
snapshot-only shadow type: the live EvidenceModel.dependency a caller
gets back and the persisted evidence snapshot a later run reads back as
its baseline are the exact same shape -- this run's contentHash becomes
next run's comparison target directly. See evidence-snapshot.ts and
ADR 0037.
ReadonlyfileRoot-relative, POSIX-separated.
Readonlyline1-indexed line number.
One developer-declared runtime.VariableEvidenceDocs.dynamicAccess citation's current acknowledgment state -- a claim, never an observation. Kept fully separate from
VariableAccessStatus(which stays exactly 3-valued and purely AST-derived) so a developer's assertion can never make env-cap claim it observed something it didn't. Seeevidence-snapshot.ts'scomputeDynamicAccessAcknowledgments()(where this is computed) and ADR 0037.