Skip to content

Claude/odoo rs transcode lf8ya5#33

Open
AdaWorldAPI wants to merge 2 commits into
mainfrom
claude/odoo-rs-transcode-lf8ya5
Open

Claude/odoo rs transcode lf8ya5#33
AdaWorldAPI wants to merge 2 commits into
mainfrom
claude/odoo-rs-transcode-lf8ya5

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

No description provided.

claude added 2 commits June 30, 2026 07:11
…dancy

OGAR is Open Graph Active Record, so the canonical "recipe" IS the
ActiveRecord lifecycle protocol; a best-shaped (AR-canonical) consumer stores
that recipe once and carries only a per-class override bitmask + the genuine
deltas. This adds the consumer-side falsifier for that conjecture.

`tests/recipe_redundancy_probe.rs` is a default-build (offline, no ogar-emit,
no git deps) measurement that mirrors `ogar_actions::corpus_to_actions`'s
classification and measures how much of the lifted behavioural arm collapses to
the two shared recipe shapes vs genuine per-class content. An ogar-emit-gated
block pins the mirror to the real `corpus_action_rows` lift so the two can't
drift.

Result (slice_2 corpus, honest UPPER bound):
  guard arm    : 47 guards -> 1 shared recipe (full collapse)
  compute arm  : 101 distinct path-sets of 141 resolved (mostly genuine)
  headline     : 45.7% recipe-collapsible / 54.3% leftover (188 resolved)

This REFUTES the strong "Odoo -> 7%" reading and CONFIRMS the conjecture's
scoping: 7% is the best-shaped Rails-AR case, not compute-heavy Odoo-Python.

- excludes 170 reads-not-captured computes from the headline (data gap, not
  redundancy)
- records the result in docs/ODOO-OGAR-MIGRATION-SPRINT.md
- files two crate-path gaps in specs/UPSTREAM_WISHLIST.md (the live-source
  ruff_python_spo path drops _inherit; no method-body hash for true dedup)

Cross-ref OGAR D-RECIPE-BITMASK / PROBE-OGAR-AR-RECIPE-COLLAPSE.

Co-Authored-By: Claude <noreply@anthropic.com>
…ASK axis 2)

The recipe_redundancy_probe measured ONE collapse axis (within-class shape/path
dedup: 54.3% leftover on slice_2) and could NOT see inheritance — slice_2's base
mixins were out-of-slice. This adds the orthogonal axis: constructor-chaining
over LazyLock ClassViews shares inherited recipe parts at the base, so they are
not per-class leftover.

recipe_chaining_collapse.rs (default build, offline) measures it on the full
Odoo inheritance manifest (data/odoo_inheritance_manifest.ndjson, projected from
lance-graph's odoo_ontology corpus to has_function + inherits_from):

  classes 388 (101 with ancestors, max depth 5); 166 inherits_from; 3328 methods
  full recipe : chained 3328 / naive 4215 -> 21.0% collapse
  behavioural : chained 2848 / naive 3684 -> 22.7% collapse
  top bases   : mail_activity_mixin (324 copies), account_move (220),
                mail_thread (156)

This is the inheritance axis the slice_2 probe could not see; it STACKS with the
within-class 54.3% (a class's genuine leftover is its own-after-shape-dedup
methods, and even those are stored once and shared wherever inherited). Lower
bound — the corpus mixin harvest is shallow (real mail.thread ~100 methods, a
handful captured), so richer extraction only raises the collapse.

Also: pedantic-lint allow block on both probes (reporting fns are long, use
benign usize->f64 percentage casts, narrative docs).

Co-Authored-By: Claude <noreply@anthropic.com>
@cursor

cursor Bot commented Jul 9, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_e26a8682-b497-4170-aa1d-a1cc2ea2a8d2)

@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: d72431330f

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

Comment on lines +98 to +102
"reads_field" => {
reads
.entry(strip_ns(&t.s).to_string())
.or_default()
.insert(strip_ns(&t.o).to_string());

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 Build compute payloads from authoritative depends_on

The probe is supposed to measure each compute's dependency payload, but this branch records body-inferred reads_field rows; the corpus schema uses depends_on joined through emitted_by for the @api.depends inputs. In the committed data/slice_2.spo.ndjson, 167 _compute_* methods have no reads_field but do have depends_on dependencies, and the 141 methods with reads differ from their dependency sets (often just filtered/_fields), so the report marks many real computes as unresolved and the 54.3% leftover/collapse conclusion is computed from the wrong payload.

Useful? React with 👍 / 👎.

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