Skip to content

🔥 v0.1.6 closes: the scoring fake retires in favour of embedded shards, both adapters share one identity and read path, and the phase is sealed - #79

Open
ebigunso wants to merge 14 commits into
impl/v0-1-6-w3-task4-embedded-storefrom
impl/v0-1-6-w5-task7-closeout
Open

🔥 v0.1.6 closes: the scoring fake retires in favour of embedded shards, both adapters share one identity and read path, and the phase is sealed#79
ebigunso wants to merge 14 commits into
impl/v0-1-6-w3-task4-embedded-storefrom
impl/v0-1-6-w5-task7-closeout

Conversation

@ebigunso

@ebigunso ebigunso commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

v0.1.6 Wave 5, Task_7 (closeout), stacked on Task_4. With this PR the stack holds the complete phase.

  • The deterministic vector scoring fake and its embedding-bearing record type are retired; success-path tests run through temporary embedded shards, so they exercise the persistence path. Recording and failure-injecting fakes stay. The test fixture and the port-contract tests release the shard before deleting their temp directory (zero leaked directories in a full run).
  • Task_8 audit dispositions: one v5 point-identity derivation shared by both adapters with a parity assertion (no compat shim; rebuild from graph authority is the path); one shared read function for the record contract returning the closed error vocabulary, with the service adapter's stringly database errors removed and width-conversion failures classified as conversion errors; the canary pins that an indexed shard searched exactly returns the exhaustive result; the service zero-norm verdict takes scanned from the scope count; the duplicate vector-config validation is reduced; stale header comments and the README filtering line are corrected; the last test-only payload field constant is deleted.
  • Documentation deferred from earlier reviews: the public completeness type documents all four verdict meanings and the scanned and fetched counters; the port trait documents the verdict guarantees; the facade constructor and Settings::new describe both vector-store modes. The exhaustive verdict is defined by its semantic condition (every scoped record scored through an adapter-known exhaustive path with the cohort closed), reconciled in ADR-I-0024's wording.
  • Closeout: version 0.1.6; roadmap row and phase document marked finished; the plan moved to completed with status done and all five deferral-reconfirmation rows dispositioned (the evaluation repository's rows are pending there by ruling).

Validation

  • Worker (cm-worker2): fmt; Clippy --all-targets --all-features -D warnings; rustdoc with warnings denied; bare cargo test (396 library, 31 integration, 1 doctest; 5 ignored) with a temp-directory census of zero delta; zero-hit censuses for the retired fake, its record type, and the deleted payload constant; service-up suite with the live switch and the ignored Qdrant tests.
  • Reviewer (cm-reviewer, Tier D plus Definition-of-Done census): approved at the final pin after five findings across two revisions (error kind for the scroll-limit overflow; a surviving test-only constant; the exhaustive-verdict wording; the fixture temp-directory race; the port-contract test's reopen lifecycle).

🤖 Generated with Claude Code

@ebigunso ebigunso self-assigned this Sep 4, 2026
@ebigunso
ebigunso requested a balanced review from Copilot September 4, 2026 05:57

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The service zero-norm count can race with its scroll, and two public counter/configuration descriptions are inaccurate.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Closes v0.1.6 by exercising embedded vector persistence in tests, unifying adapter identity/read behavior, and finalizing phase documentation.

Changes:

  • Replaces deterministic scoring fakes with temporary embedded shards.
  • Shares point-ID derivation and typed payload decoding across adapters.
  • Documents recall completeness and marks the phase complete.
File summaries
File Description
tests/vector_port_contract_tests.rs Adds bounded embedded-root cleanup.
src/usecases/retrieve.rs Migrates retrieval tests to embedded storage.
src/usecases/correct_forget.rs Migrates correction tests and failure wrappers.
src/test_support.rs Introduces the temporary embedded-store fixture.
src/ports/vector_candidate.rs Documents completeness guarantees.
src/policy.rs Removes obsolete test export.
src/models/vector/record.rs Removes fake-record conversions.
src/models/vector/candidate_record.rs Removes the fake record type.
src/models/vector.rs Removes its fake-record re-export.
src/memory.rs Uses embedded storage in facade tests.
src/config/app_settings.rs Documents vector backend settings.
src/composition.rs Documents both vector-store modes.
src/api/types/retrieval.rs Documents completeness verdicts and counters.
src/adapters/qdrant/store.rs Adds scoped counting and shared payload handling.
src/adapters/qdrant/payload.rs Centralizes identity and payload decoding.
src/adapters/qdrant_edge/mod.rs Reuses shared logic and hardens shutdown tests.
README.md Corrects embedded filtering description.
docs/roadmap/development_roadmap.md Marks v0.1.6 finished.
docs/design/roadmap-phases/v0_1_6_embedded_vector_candidate_recall.md Finalizes phase status.
docs/decisions/implementation/ADR-I-0024-vector-candidate-recall-reports-completeness-and-prefilters-never-match-unknown.md Clarifies exhaustive recall semantics.
docs/coding-agent/plans/completed/v0-1-6-embedded-vector-recall-plan.md Records completed work and validation.
docs/coding-agent/lessons.md Captures implementation and review lessons.
Cargo.toml Bumps the crate to 0.1.6.
Cargo.lock Synchronizes the package version.
Review details
  • Files reviewed: 23/24 changed files
  • Comments generated: 3
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/adapters/qdrant/store.rs Outdated
Comment thread src/api/types/retrieval.rs Outdated
Comment thread src/config/app_settings.rs
Copilot AI review requested due to automatic review settings September 4, 2026 07:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The closeout status conflicts with pending required evidence, and the ADR split lacks required reciprocal supersession metadata.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details

Suppressed comments (1)

docs/coding-agent/plans/completed/v0-1-6-embedded-vector-recall-plan.md:3

  • The plan is marked done even though its Definition of Done still requires the evaluation repository's cross-mode comparison at closeout (line 16), while the new progress entries explicitly say that evidence is still pending (lines 264 and 267). Either record the approved waiver by updating the goal/DoD, or keep the plan open until the required evidence is consumed; otherwise the closeout status is internally inconsistent.
  • Files reviewed: 30/31 changed files
  • Comments generated: 1
  • Review effort level: Balanced

@ebigunso

ebigunso commented Sep 4, 2026

Copy link
Copy Markdown
Owner Author

Follow-up 0f3e90e (+ a20b7ef): the zero-norm verdict's scanned count comes from the final scroll response that closed the scope (no separate count request that could race writes); fetched is documented as the final prefix size; Settings::new documents when the store location is validated; the prefilter ruling moves from ADR-I-0024 into the new ADR-I-0028 with all downstream references updated; the remaining time-relative wording in three records is rewritten; the backfill prerequisite is stated in the payload note and the phase document; the orchestrator rules' date is current. Reviewed internally (cm-reviewer, bounded re-check, approved); bare and live suites pass with a zero-delta temp-directory census.

ebigunso and others added 7 commits September 4, 2026 16:58
…the completed plan records the cross-mode evidence waiver

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… pending there by ruling

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… evidence consumed when produced

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…t-a-gate rule

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ation repository's part is consumed when produced

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ced here

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 4, 2026 08:45
@ebigunso

ebigunso commented Sep 4, 2026

Copy link
Copy Markdown
Owner Author

Closeout consistency (f4e2a7e..21d9786, docs only, reviewed internally): reciprocal partial supersession between ADR-I-0024 and ADR-I-0028; every statement in the completed plan, the phase document, ADR-I-0023, and ADR-I-0025 now uses one rule for companion-repository evidence: this repository's evidence is produced and cited, the evaluation repository's rows are dispositioned as pending there and consumed when produced, never a closeout gate (decider ruling recorded in ADR-I-0023). This resolves the suppressed Copilot note that the plan was marked done while its Definition of Done required pending evidence. A Progress Log entry records the 2026-09-03 plan approval.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The persistent point-identity clean break and cross-adapter storage lifecycle changes warrant final human verification.

Review details
  • Files reviewed: 30/31 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants