Repository navigation
docs(plan): Git porcelain for epistemic algebra, causal Pickaxe and Lance 13 history - #1605
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 42c65b7c6a
ℹ️ 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".
| - **CPG-5:** counterfactual replay/ablation and independent oracles; differentiate model dependence, derivation necessity, causal Pearl inference. | ||
| - **CPG-6:** user-facing Git vocabulary and benchmarks if CPG-0..5 pass, including bounded memory and crash/cleanup recovery. | ||
|
|
||
| **Prerequisite:** protect any existing consumers that require older Lance pins (root `Cargo.toml` documents older 7/0.30 lockstep and excluded Lance13 probes). Do not claim whole-workspace migration has happened. If Lance13 and LanceDB0.40 APIs introduce incompatible crate versions, leave the default workspace unchanged and publish only an isolated probe/failing report. |
There was a problem hiding this comment.
Update the prerequisite for the migrated workspace
At this commit, Cargo.toml:275-277 and Cargo.toml:348-360 already define Lance 13 and LanceDB 0.40 as the default workspace dependencies, so the claim that the root documents a 7/0.30 lockstep and that the whole-workspace migration has not happened is stale. Following this rollout instruction would keep validation in an isolated probe instead of testing the integration that now exists; rewrite the preflight around the current workspace pins while separately identifying any excluded consumers that still require older versions.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in #1618 (f95c72fe): CPG-0 and the prerequisite now name the workspace pins Lance 13.* and LanceDB 0.40.*, and reuse the H14c-5 row-identity measurement instead of a separate probe.
Generated by Claude Code
…and #1605 D-RMAP-1A §7 maps each of its generation concepts onto the identities D-TGA and #1605 already specify. Map and palette generation become readings of DurableRef (sealed) or ThoughtCommitId (speculative); the thought-palette binding is (ThoughtCommitId, palette generation) instead of (slot, incarnation). Focus generation stays an ephemeral witness, the index seal stays separate unless RelationFacts uses stable row ids, and authorization scope stays its own key component. D-RMAP adds no durable counter. Read in code: no version type carries a dataset or branch, versioned.rs::commit_encounter_round returns only the nodes version of a three-dataset write, AlphaStamp.visits saturates and is not a generation, and D-TGA defines no thought incarnation. Falsifiers X1-X9 are specified with their disables; none are run. Gaps recorded in thought-git-api-v1 and the causal-pickaxe plan: ThoughtCommitId must be never-reused, a dirty bit, and one DurableRef per dataset for a multi-dataset write. ENTROPY-MILESTONES M28, STATUS_BOARD D-RMAP-1A-V, board entry, entries index regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyWZYKycy6MoYDxHRVnV5K
d-rmap: palette generation in the binding, and versioning derived from Thought Git and #1605
#1622 is canonical for D-RST and D-RPR. #1624's duplicate plan file, same-named entry and status rows D-RPR-0..6 are withdrawn (dropped in the rebase); what #1622 lacked is now plan section 11 under the existing ids: - D-RPR-1 sub-cases 1a-1f (kill condition + disable run each) - anti-vacuity rules, incl. the measured first-focus failure - independent oracles; green -> red -> green protocol - refusals by axis: version, focus, scope, ordering, thought identity, narrow frame, capacity - measured preparation/reuse costs (break-even 76/11/1.8, CSR vs tile, escape reporting, bytes, zero-copy tension) - two-variable and multiplicity limits Corrections: WORLD/ANGLE/THOUGHT are metaphors (pointer notes in sections 1 and 3); thought identity is #1605's ThoughtCommitId and DurableRef; the "D-RST resolves to no plan" claim is withdrawn; D-MTP-1's Semijoin path is gather-shaped; the two ThoughtMask meanings are OPEN. The draft chain probe is banked as a patch in .claude/harvest/d-rpr-1-chain-probe-draft/: it applies to main 4dbd085, 5 of 6 tests pass there, and it is not merged because D-RPR-1 is not authorized. Board: the D-RPR-1 evidence column, entry 2026-10-20-d-rpr-consolidation-1624.md, regenerated index. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VncKoyG6JkpsoqhqTGTv3f
same-named entry and status rows D-RPR-0..6 are withdrawn (dropped in the rebase); what #1622 lacked is now plan section 11 under the existing ids: - D-RPR-1 sub-cases 1a-1f (kill condition + disable run each) - anti-vacuity rules, incl. the measured first-focus failure - independent oracles; green -> red -> green protocol - refusals by axis: version, focus, scope, ordering, thought identity, narrow frame, capacity - measured preparation/reuse costs (break-even 76/11/1.8, CSR vs tile, escape reporting, bytes, zero-copy tension) - two-variable and multiplicity limits Corrections: WORLD/ANGLE/THOUGHT are metaphors (pointer notes in sections 1 and 3); thought identity is #1605's ThoughtCommitId and DurableRef; the "D-RST resolves to no plan" claim is withdrawn; D-MTP-1's Semijoin path is gather-shaped; the two ThoughtMask meanings are OPEN. The draft chain probe is banked as a patch in .claude/harvest/d-rpr-1-chain-probe-draft/: it applies to main 4dbd085, 5 of 6 tests pass there, and it is not merged because D-RPR-1 is not authorized. Board: the D-RPR-1 evidence column, entry 2026-10-20-d-rpr-consolidation-1624.md, regenerated index. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VncKoyG6JkpsoqhqTGTv3f
Why this PR
The proposed Thought Git API in #1599 and candidate-resolution semantics in #1604 still need a precise boundary between cheap speculative revision in RAM, Lance dataset/version branching and persistence, and causal Pickaxe over semantic provenance and temporal epistemic horizons. This captures the operator's proposed Git × Lance 13/LanceDB 0.40 × stable rows ×
temporal.rsconnection without turning each of millions of folds into a storage transaction.Git porcelain as the public API (2026-10-18 extension)
Decision: expand #1605, not open #1606. This is the same architecture seen from the human/agent interface:
status,branch,add -p,diff --semantic,merge,rebase,blame,bisect,pickaxe,squash,checkoutandrevertare mapped to existing D-TGA thought operations, RelAlg normalization, Datalog dependency/retraction, R2IL/mask-risc execution, NAL evidence revision, temporal horizons and the single Lance writer.Invariants: Git is porcelain, not a VM; commands selecting identical typed intents must yield identical masked results. Staging proposals does not certify their truth; presence XOR alone is not a semantic value diff; Git ancestry cannot certify causality; historical queries enforce pinned read horizons and authorization. No second evaluator or new CE64 encoding.
New negative controls: CPG-18..25 cover porcelain-to-IR equivalence, read-only status, unchanged-presence/changed-value diff,
add -pnot proving claims, source-aware merge, nonmonotonic bisect/lineage refusal, historical authorization and CLI/AST parity. All are symbolic preregistrations, not executed tests.Source-grounded findings
Datasetexposes versions,create_branch,checkout_branch,checkout_version,tags,delta,read_version_transaction,restoreand stable-row-ID migration. Pinned APItemporal.rsalready separates owner-local trajectories from reader horizon, withContemporary,Anachronistic,Spoiler,Unknowable.QueryReference::default()uses unboundedu64::MAXdespiteStrict; causal/as-of Pickaxe MUST pin a concrete head. The data-dependencyDependsClosureis currently a seam whose defaultNoDepscannot certify cause._rowid≠ physical_rowaddr. Storage branch/version numbers require a dataset+branch+version composite ref, and the row mapping must be checked across compaction and updates..claude/board/entries/2026-09-24-cost-scales-with-dirty-rows-replay-budget-before-materialization.md.Files
.claude/plans/causal-pickaxe-resident-git-lance13-temporal-v1.md: precise design, identity and temporal boundaries, mapping of Git verbs to existing in-memory mask/D-TGA operations and native Lance durable refs, causal Pickaxe grades, dependency gates, and benchmark arms.docs/research/causal-pickaxe-version-temporal-fixtures.json: 26 pre-registered symbolic falsifiers, not yet executed. Includes stable-row movement, branch version collisions, read-only checkout, strict-horizon leakage, HLC/owner-local deinterlacing, source-root independence, alternative sufficient proofs/overdetermination, premise deletion requiring DRed, replay retention after squash, NoDeps failure, authorization and idempotent writer recovery.What it deliberately does NOT do
No code or dependency bump, new VM, per-fold persistence, second WAL, duplicate thought-Git lifecycle, CE64 bit repurposing, implicit native Git merge implementation, or claim of physical causality merely from commit ancestry.
Pickaxeis a candidate RelAlg/Datalog query over existing address/delta masks, with temporal filtering and independently justified derivation / counterfactual stages.Landing order
Review question: can we use native Lance branches/tags for durable checkpoints while keeping the thought Git DAG resident and the cause of a conclusion a provenance/ablation query, never a mere commit-parent edge?