Files
alkstore/tasks/core-pin-offset-initial-value.md
T

2.4 KiB

id, name, status, depends_on, scope, risk, impact, level, tags
id name status depends_on scope risk impact level tags
core-pin-offset-initial-value Verify and pin EventReceiver::offset()'s pre-yield value (review 004 item 12) pending
narrow low project implementation
review-004-fixes
core
contract
verification

Description

The named gap from docs/reviews/004-pre-release-general-review.md §"Findings recorded, not fixed" item 12: EventReceiver::offset() pins the post-yield value only; the pre-yield return (the seeded checkpoint vs 0) is unpinned in core-contract.md's receiver text.

Two steps, in order:

  1. Verify the three engines' pre-yield values empirically — the review explicitly did not verify them this session. Probe per engine: a fresh consumer's offset() before any yield, and a consumer with a saved checkpoint's offset() before any yield. The contract suite is the natural home (a three-way equivalence leg, stamped per version_stamp.rs convention); per-engine tests are the acceptable alternative if the suite's harness shape fights the probe — implementer's choice, recorded.
  2. Pin the semantics in the contract text — core-contract.md's EventReceiver::offset() paragraph gains the pre-yield return (dated annotation). Doc-only.

If the engines diverge: do NOT paper over with a doc pin — record the divergence precisely (which engine, which arm) and raise with the user; a contract-observable divergence is a fix-the-code-or-amend conversation, not a doc edit.

Acceptance Criteria

  • The three engines' pre-yield offset() values verified equal by live runs (the probe/leg recorded; green on all three columns — pg against the harness server)
  • core-contract.md's EventReceiver::offset() text pins the pre-yield return with a dated annotation
  • If divergent instead: the divergence recorded and raised with the user (this AC replaces the doc pin, not supplements it)
  • Doc gate green; any new suite leg green on all three columns

References

  • docs/reviews/004-pre-release-general-review.md §"Findings recorded, not fixed" item 12 (the named gap)
  • docs/architecture/core-contract.md (the receiver text, the verification backlog)
  • alkstore-contract-suite (the three-column harness; the version-stamp convention)

Notes

To be filled by implementation agent

Summary

To be filled on completion