Skip to content

feat(od-ontology): od-codegen --actions — operator inspection of the behavioral lowering#10

Merged
AdaWorldAPI merged 1 commit into
mainfrom
claude/odoo-actions-cli
Jun 22, 2026
Merged

feat(od-ontology): od-codegen --actions — operator inspection of the behavioral lowering#10
AdaWorldAPI merged 1 commit into
mainfrom
claude/odoo-actions-cli

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

What

Mirrors --classids for the behavioral arm (corpus_to_actions, #9): a
--actions flag that prints one model.method <TAB> kind <TAB> detail row per
ActionDef (kind = depends|guard), respecting --focus. An operator can now
inspect the lifecycle lowering on any corpus the same way --classids
exposes the classid map.

$ od-codegen data/slice_2.spo.ndjson --focus account_move --actions
account_move._check_expense_ids   guard   before_save (reject)
account_move._compute_amount      depends account_move.line_ids, …

How (keeps ogar_vocab out of the bin)

New corpus_action_rows(&[Triple]) -> Vec<(model, predicate, kind, detail)>
keeps the ogar_vocab enum match inside od_ontology, so the bin prints rows
without depending on ogar-vocab or matching its #[non_exhaustive] enums. The
--actions arm self-gates under ogar-emit (the flag is recognized without the
feature; prints a rebuild directive), exactly like --classids.

Verified

End-to-end: 358 action rows on the full slice-2 corpus; the focused view
above. 39 lib + 7 bin tests (incl. action_rows_format_depends_and_guard +
parse_args_actions_flag), clippy 0, fmt-clean.

Closes the operator-visibility loop for the W3 behavioral arm: scope (#7) →
lowering (#9) → inspection (this). Builds on merged #9.

…behavioral lowering

Mirrors the --classids flag for the behavioral arm (corpus_to_actions, #9): one
`model.method <TAB> kind <TAB> detail` row per ActionDef, kind = depends|guard,
respecting --focus. Lets an operator inspect the lifecycle lowering on any
corpus the same way --classids exposes the classid map.

  $ od-codegen data/slice_2.spo.ndjson --focus account_move --actions
  account_move._check_expense_ids   guard   before_save (reject)
  account_move._compute_amount      depends account_move.line_ids, …

New `corpus_action_rows(&[Triple]) -> Vec<(model, predicate, kind, detail)>`
keeps the ogar_vocab enum match INSIDE od_ontology, so the bin prints the rows
without depending on ogar-vocab or matching its #[non_exhaustive] enums. The
--actions arm is self-gated under ogar-emit (flag recognized without the
feature; prints a rebuild directive).

Verified end-to-end: 358 action rows on the full slice_2 corpus. 39 lib + 7 bin
tests (incl. action_rows_format_depends_and_guard + parse_args_actions_flag),
clippy 0, fmt-clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

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