Skip to content

Re-land #281 unlocks (PolicyRewriter, DomainProfile) — orphaned by merge order#284

Merged
AdaWorldAPI merged 3 commits into
mainfrom
claude/foundry-unlocks-r2-2026-04-29
Apr 29, 2026
Merged

Re-land #281 unlocks (PolicyRewriter, DomainProfile) — orphaned by merge order#284
AdaWorldAPI merged 3 commits into
mainfrom
claude/foundry-unlocks-r2-2026-04-29

Conversation

@AdaWorldAPI
Copy link
Copy Markdown
Owner

Why this PR exists

PR #281 was marked merged but the unlock content never landed on main. The merge order on 2026-04-29 was:

time event
06:26:15 #280 (foundry-fixes) merged to main
06:26:30 #281 (foundry-unlocks) merged to claude/foundry-fixes-r2-2026-04-29 (its base — already drained into main)

#281 landed on the orphaned branch tip 2190edaa, which is no longer reachable from main. The three unlock commits sit there with nowhere to go.

This PR brings that content forward against the current main. No content change vs the original #281 — same three commits, same +496 / -0 footprint.

What's wired

  • A-unlock-policy (99f67a0) — Generalised PolicyRewriter trait + ColumnMaskRewriter (epiphany E1)
  • A-unlock-stepdomain (bb6a5eb)DomainProfile with HIPAA-grade thresholds + verb taxonomy seam (E5) + Display impl on StepDomain
  • A-META R2 unlocks (1765660) — Wires the policy module + trajectory-audit feature stub

Files changed (vs current main)

crates/lance-graph-callcenter/src/lib.rs           |   7 +
crates/lance-graph-callcenter/src/policy.rs        | 309 +++++++++++++++++++++++   (NEW)
crates/lance-graph-contract/Cargo.toml             |   6 +
crates/lance-graph-contract/src/orchestration.rs   | 174 +++++++++++++
4 files changed, 496 insertions(+)

Verification

Cross-link

Generated by Claude Code


Generated by Claude Code

claude added 3 commits April 29, 2026 05:45
- Added pub mod policy gate behind auth-rls-lite (PolicyRewriter trait
  + ColumnMaskRewriter from epiphany E1)
- Added trajectory-audit feature alias on lance-graph-contract for the
  forward-stub step_trajectory_hash helper (E4 cross-PR bridge)
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

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: 176566087c

ℹ️ 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".

// row encryption, differential privacy stubs) sharing the OptimizerRule slot
// with the existing RLS rewriter. Gated on auth-rls-lite (where the
// DataFusion types live).
#[cfg(any(feature = "auth-rls-lite", feature = "auth-rls", feature = "auth", feature = "full"))]
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 Restrict policy module to features that compile its rewriters

policy is exported for auth-rls, auth, and full, but the key API (PolicyRewriter, ColumnMaskRewriter, and its OptimizerRule impl) is compiled only under auth-rls-lite in policy.rs. In a full build, consumers can import lance_graph_callcenter::policy but cannot use the advertised rewriter types, which creates a feature-flag mismatch and breaks downstream code that expects the policy rewriter surface to exist when policy is present.

Useful? React with 👍 / 👎.

@AdaWorldAPI AdaWorldAPI merged commit 83ab35e into main Apr 29, 2026
2 of 10 checks passed
AdaWorldAPI added a commit that referenced this pull request Apr 30, 2026
Sprint C agent (PR #311) flagged five staleness items in the vision
doc that were out of its §7-only scope. Closing the debt now:

  Header           DRAFT - pending review (2026-04-28)
                   -> Status: F1 parity shipped 2026-04-30. F1
                      latency benchmark not yet started. F2 is a
                      posture, not a delivery.

  §2 anchor        as of 2026-04-28
                   -> as of 2026-04-30 (post-F1 parity ship)

  §2 latency cell  Designed to match; F1 numbers (forward tense)
                   -> Designed to match; benchmark pending

  §2 caveat        F1 publishes the first numbers (forward tense)
                   -> F1 parity has shipped (correctness); the
                      separately-scoped F1 latency benchmark has
                      not been started. Distinguishes the two
                      sub-deliverables explicitly.

  §3 F1            We stand up a Foundry instance... (forward)
                   -> Shipped 2026-04-30. Cross-link to §7's
                      as-shipped architecture.

  §3 F2            gated upstream by lance-graph PR-1 / PR-2
                   -> lance-graph PR #278 + #280 + #284 (RLS) and
                      PR #278 + #302 (audit). Status today:
                      lance-graph in production; medcare-rs
                      adopter not yet open. Posture, not
                      delivery.

  §3 F3            gated upstream by lance-graph PR-4
                   -> lance-graph PR #278 + #280 (parser +
                      hardening). Status today: parser stub on
                      lance-graph main; medcare-rs adopter is
                      future round-2 work.

  §4               benchmark harness lands as part of F1
                   F1 numbers are published (both forward tense)
                   -> F1 parity (correctness) shipped; F1 latency
                      benchmarking has not been started. The two
                      are separately-scoped F1 sub-deliverables.

What this PR does NOT touch:
  - F4, F5, §5 (risks), §6 (NOT promising), §7 (next deliverable
    just landed in PR #311 - clean already).
  - The vision doc's tone rule. Every change cites a concrete PR
    number or file path; no marketing language introduced.
  - Performance numbers. None claimed; the §4 'do not quote
    unbenchmarked numbers' rule is preserved verbatim.

Diff: +41 / -26 across 1 file. Markdown renders cleanly.

Cross-link: PR #311 (the §7 fix that motivated this cleanup).
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