Skip to content

log: one writer comes from ownership; drop the racing-writer framing - #27

Merged
AdaWorldAPI merged 1 commit into
mainfrom
ccr-1d749cc5-q8s5qs
Oct 11, 2026
Merged

AdaWorldAPI merged 1 commit into
mainfrom
ccr-1d749cc5-q8s5qs

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

Reverts the racing-writer framing #26 put into hubspo-store::log.

Two writers on one mailbox break SoA ownership (iron rule 11), so the log does not handle that case. It was never observed in a run; it came from reading Lance's commit code.

  • log.rs: doc comments only. The version checks again report a second writer as a broken deployment, which is what ownership excludes; they no longer describe a race the log must reconcile. No logic changes.
  • ISSUES.md:
    • ISS-LOG-RACING-WRITER is now EXCLUDED. Only its Status line changed, per the file's rule.
    • New entry ISS-LOG-NON-BATCH-VERSION, the one finding that holds with a single writer. A Lance version that is not a batch (CreateIndex, UpdateConfig, Restore) makes every later commit fail and replay refuse the log. The roadmap item "an index on row" would add such a version, and the resident fold already made that index unnecessary.

The exploration map for the excluded case, lance-graph #1467, is closed unmerged.

Checks: cargo fmt --all --check; cargo clippy -p hubspo-store --features lance --all-targets --no-deps -D warnings; cargo doc with -D warnings; cargo test -p hubspo-store --features lance (14 tests) — all pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PPcakjk7ioQsnasmNDtc5z


Generated by Claude Code

Two writers on one mailbox break SoA ownership, so the log does not handle
that case. The comments again say the version checks report a broken
deployment; they no longer present it as a race the log must reconcile.
ISS-LOG-RACING-WRITER is excluded (never observed; it came from reading
Lance's commit code). The one finding that holds with a single writer is
recorded as ISS-LOG-NON-BATCH-VERSION: a non-batch Lance version on the
log dataset stops the log. Doc comments and board only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPcakjk7ioQsnasmNDtc5z
@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 11, 2026 06:29
@AdaWorldAPI
AdaWorldAPI merged commit d6c1cdc into main Oct 11, 2026
2 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-11T06:30:24.605162Z 063c8dc Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 063c8dc252

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

//! `Append` instead of failing it, and the check after the append detects
//! the race only once that batch is durable; replay then refuses the log
//! until it is reconciled (ISS-LOG-RACING-WRITER).
//! [`LogError::Diverged`], never accepted. One writer comes from ownership

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Do not describe racing appends as never accepted

When two Log instances pass the pre-append version check concurrently, Lance rebases both appends and this method discovers the mismatch only after Dataset::write has made the batch durable. It returns Diverged without updating the resident table, but the write was still accepted on disk and can make replay refuse the log—as the retained issue description itself states. Calling this “never accepted” hides an important error contract and may lead callers or operators to retry without reconciling an already-written batch.

Useful? React with 👍 / 👎.

AdaWorldAPI pushed a commit that referenced this pull request Oct 14, 2026
…#22-#25

D-QRY-1 points at the D-CMR set algebra (relalg prototype, #1546),
D-QRY-5 at the D-CMR-5 preimage hop, D-FLOW-1 at graph-flow-lance.
New ask ISS-LG-GRAPHFLOW-LANCE-PATHS; the preflight pin issue is
still open at c21bd165.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPcakjk7ioQsnasmNDtc5z
AdaWorldAPI added a commit that referenced this pull request Oct 14, 2026
board: synergies from lance-graph #1530–#1546, rs-graph-llm #27, spear #22–#25
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