Skip to content

test: independently recover promoted values from typed stock-codec capture #177

Closed

Description

@casselc

The existing stock-codec embedded-typed fixture (native fixture index3) proves real SDK ingestion, a promoted Boolean/status live query, and shutdown. It uses backend/memory-backend; it does NOT independently recover that typed capture from a local object store.

By contrast the separate file-backed embedded/standalone fixtures join fresh reader processes, but do not install the same typed manifest. Passing both fixtures must not be reported as one combined typed-recovery proof.

Source at current main2615d30:
https://github.com/chucklehead-dev/oscope/blob/2615d30e28ff9c2a58197187c72622e5a551f6d1/test/oscope/embedded_durable_integration_test.clj

This was identified while qualifying the root exporter update to chucklehead-dev/jolt-otel-clickhouse#157. That library has its own full physical-row/type/recovery qualification; this issue is the application-level composition gap, not evidence of a newly discovered implementation defect.

Bounded acceptance:

  • Actual approved manifest installation and typed SDK capture into a fresh local Durable store, followed by confirmed shutdown/settlement.
  • Independently joined fresh reader of that same committed generation, checking promoted values AND statuses plus unchanged generic attributes; include false, absent/invalid cases and exact timestamps/multiplicity where the fixture promises them.
  • Respect schema authority: do not serialize an opaque installer capability and treat it as trusted, silently administer schema from a reader, or guess a column name without validation.
  • Reuse existing native process/receipt/cleanup controls. A count, successful flush, in-process query, or new observer marker alone cannot qualify recovery.
  • Include a rejected wrong-value/status or skipped-reader control. Preserve failed/unsettled artifacts; retire successful generated stores only after reader settlement.

Correctness/model assessment: existing publication/lease/ACK models abstract data and do not establish this schema-binding/value/recovery composition. Add a matching runtime trace or explicit model obligation if the implementation requires new schema-publication behavior; do not claim that unrelated model greens cover it. Start with the real fixture, not a broad new model design.

No default change, new persistence format, production bug claim or unchanged exhaustive rerun is implied. This is separate from minimal-profile refresh #167 and its stacked #144 work.

Activity

  1. casselc commented on Oct 21, 2026

    @casselc
    ContributorAuthor

    The gap is explicitly preserved in root integration PR #178 and docs/stock-codec.md, not treated as fixed. Its new observer proves a real selected projection result AFTER embedded startup and the existing typed value/status live query passes; separate file-backed embedded/standalone fresh readers also pass. These remain different cases.

    Root SDK3366a332 remains authoritative over exporter transitive dependencies. The observer's constructor-only/startup-only/missing/false/nil controls pass, including with ordinary assertions disabled. None of those facts substitutes for this issue's same-generation independently recovered promoted values/statuses.

    PR178 source review completed; final CI is pending. This issue remains open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions