Skip to content

Deliver promised public filesystem-stage integration target (T-11.3) #147

Description

@flyingrobots

Observable outcome

Deliver the originally promised tests/segment_filesystem_stage.rs public API integration target for completed roadmap T-11.3, without replacing its acceptance requirement with an existing unit-test filename.

Evidence and scope

Original ROADMAP.md at 1a586d8, lines 532–533, names this target alongside tests/segment_writer/. Current main 8d90251 has only tests/segment_filesystem_stage/sandbox.rs and four filesystem laws in src/adapters/filesystem_segment_stage_tests.rs. PR #136 corrected the living v1 ledger but did not create the named integration target. Existing scripted writer tests provide phase-injection coverage; preserve them.

Add meaningful integration laws through the publicly supported filesystem admission/writer/staging boundary. Verify exclusive creation preserves existing bytes, competing stage creation refuses with the exact typed failure, sealing yields canonical golden bytes, and interruption/drop before sealing preserves an explicitly recoverable prefix without producing a sealed receipt. Exercise production admission rather than claiming an unchecked test publisher proves platform admission. Update evidence ownership and the audit after delivery.

Acceptance checks

  • The exact named integration target exists and runs via cargo test --test segment_filesystem_stage --all-features in debug and release.
  • Laws exercise public API boundaries and exact typed refusals, golden byte evidence, and recovery/prefix semantics; an empty shim or included private unit suite does not satisfy this requirement.
  • Existing writer phase-injection, corruption, golden and recovery laws remain green; no evidence is relabeled as a new crash campaign.
  • Copy-isolated Docker validation uses an actually admitted filesystem and dedicated source build directory; no forged admission or host tests.
  • Required fmt, warnings-denied Clippy, source/documentation checks and CI pass; provide RED-on-parent evidence for the missing target and meaningful regressions for any demonstrated behavior defects.
  • Preserve original roadmap checkboxes and link issue, PR and integration commit; T-11.3 is not declared delivered before actual mainline evidence exists.

Exclusions and prerequisites

No byte-format, identity, sealing, publication-order or production durability change. The writable post-seal capability escape belongs to #146; do not duplicate its remediation here. No evidence-backed prerequisite edge to #146 is established merely because both concern stages. If production-path analysis establishes one, record the concrete invariant and dependency before implementation. This is an executable correction under audit #131, not an additional tracking container. Merge must leave main independently working.

Activity

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions