Skip to content

symfonic.agent.cutover.memory_rows

memory_rows

The shape of one TA8.37 row: recommended, applied, and the argument (C1 lane).

The same split :mod:~symfonic.agent.cutover.prompting_rows made for TA8.38, and for the same reason: the shape and its reasons here, the thirty-one rows in :mod:~symfonic.agent.cutover.memory_surfaces. A trusted surface should be readable end to end without the validation that enforces it in the way.

The rule this type exists to make un-forgettable is TA8.38's, restated because this lane is where it costs the most: the triage is a recommendation, a lane may override it, and a lane may not ignore it silently. :attr:MemorySurface.override_argument is required exactly when :attr:~MemorySurface.applied is not what :attr:~MemorySurface.recorded asks for, so the one state that cannot be expressed is the one this programme kept producing: a row that quietly did something other than what was filed.

One rule is new here, and TA8.19's session_id defect is why. A row that claims MIGRATED must name the consumer that reads the value and the observable that moves when the value moves โ€” :attr:MemorySurface.consumer and :attr:MemorySurface.observable are non-empty for a served row, checked at construction. A value threaded into a constructor nothing dereferences is the defect this lane was written to avoid repeating, and a data structure that could express it would be an invitation.

MemorySurface dataclass

MemorySurface(path: str, subgroup: str, owner: str, recorded: str, applied: str, served_by: tuple[str, ...], refused_by: tuple[str, ...], inert_on: tuple[str, ...], consumer: str, observable: str, condition: str | None = None, override_argument: str | None = None)

One TA8.37 row: what the triage recommended, and what this lane did.

served_by / refused_by / inert_on partition :data:~symfonic.agent.cutover.lifecycle_contract.PUBLIC_ENTRY_POINTS exactly, for the reason :class:~symfonic.agent.cutover.admission_surfaces.AdmissionSurface gives: an unmeasured third entry point is the gap that made two thirds of this programme's earlier evidence unusable, and a row with a hole in its surface would reintroduce it as a data structure.

inert_on is the honest third state and it is not a synonym for served. A field whose only reader sits above the dispatch, or behind a flag the envelope refuses, is honoured identically whichever body serves the turn โ€” which is a fact about the field, not a claim about the migrated path.

overridden property

overridden: bool

True when this lane did not apply the recorded recommendation.