Skip to content

values prints every value a path glob wants as path = "text" lines - #9

Merged
MartenH merged 5 commits into
mainfrom
values-and-ignored-elements
Oct 17, 2026
Merged

MartenH merged 5 commits into
mainfrom
values-and-ignored-elements

Conversation

@MartenH

@MartenH MartenH commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

Split (2026-10-17): this PR is now values alone, one commit on main. --ignore-element, where every review finding since the first rounds came from, moved to its own draft PR; the review threads about it below are answered there.

What

arxmodel values PATTERN <file|dir>...: every value whose AUTOSAR path a path glob matches (or lies below a path it matches), one a line, path = "text":

/Body/LampCfg/Dim = "10"
/Body/LampCfg/Signal = "/Sig/A"
/Body/Head#WATTS = "55"
  • A value the merge names by its definition (an ECUC parameter or reference value: the policy's item_identity roles, or the built-in rules' by_definition) is its container's path and the definition's last name, its label as a key (Dim[v1]). Of its parts, the one no fragment writes another part after is the value; of several, the last in the merged view; of copies from several files, the first file's, the others not printed (check reports them). Its other parts follow a #.
  • Any other value is named as findings and diffs name elements (/Body/Head#WATTS). A referrable element's SHORT-NAME is its path; attributes are not values; structured comments, not compared, are left out.
  • The pattern is the policy filters' path glob (*, **, #, keys); / is the root; a pattern that is an existing file is refused (the pattern comes first). Exit 1 when nothing matches.
  • Checked.values(pattern) is the library's. The walk writes each path into one reused builder and matches on its bytes, so a string is made only for a value printed; the command prints each as found.

Every values finding from the earlier review rounds is in, and the one at 13:58Z (another file's copy of the value is not printed).

Measured

On a large real-world model: a value query takes the load and merge plus up to 0.6 s, at the same peak memory as get. With its schema, the output is the same as the previous head's; under the built-in rules, only the other files' copies of a value are gone.

Tests

values_test.v (paths, globs, the root, an item's parts, labels, quoting, items split over files, copies of a value) and scripts/values_cli_test.sh. v test ., the other CLI scripts and check_reports.sh pass with the pinned toolchain.

CI step to add (not in this PR)

      - name: Values through the command
        run: scripts/values_cli_test.sh bin/arxmodel

🤖 Generated with Claude Code

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 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-17T18:16:59.231755Z ab755cc Manual request
ℹ️ 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: 9bc062e0ff

ℹ️ 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 thread arxmodel/values.v Outdated
Comment thread arxmodel/values.v Outdated
Comment thread arxmodel/compare.v Outdated
Comment thread arxmodel/speccheck.v Outdated
Comment thread arxmodel/merge.v Outdated
@MartenH
MartenH force-pushed the values-and-ignored-elements branch from 9bc062e to 00006ab Compare October 17, 2026 11:42
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

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

ℹ️ 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 thread arxmodel/values.v Outdated
Comment thread arxmodel/values.v
Comment thread arxmodel/merge.v Outdated
Comment thread arxmodel/values.v Outdated
Comment thread arxmodel/compare.v Outdated
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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: 30120dc96a

ℹ️ 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 thread arxmodel/compare.v Outdated
Comment thread arxmodel/values.v Outdated
Comment thread arxmodel/merge.v Outdated
Comment thread arxmodel/speccheck.v Outdated
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@MartenH
MartenH force-pushed the values-and-ignored-elements branch from a1679f1 to 0587472 Compare October 17, 2026 13:56

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

ℹ️ 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 thread arxmodel/values.v
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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: 05874728a6

ℹ️ 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 thread arxmodel/compare.v Outdated
Comment thread arxmodel/compare.v Outdated
Comment thread arxmodel/merge.v Outdated
Comment thread arxmodel/speccheck.v
Comment thread arxmodel/compare.v Outdated
@MartenH
MartenH force-pushed the values-and-ignored-elements branch from 0587472 to 7de4bc9 Compare October 17, 2026 16:11
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

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

ℹ️ 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 thread arxmodel/compare.v Outdated
Comment thread arxmodel/valuekeys.v Outdated
`arxmodel values PATTERN <file|dir>...` merges the files as get does and prints every value whose
AUTOSAR path a path glob matches, or lies below a path it matches, one a line, `path = "text"`
(the text a TOML basic string), in the order of the merged view.

- A value the merge names by its definition (an item of the policy's item_identity roles, or of
  the built-in rules' by_definition: ECUC parameter and reference values) is its container's path
  and the definition's last name (`/Pkg/Cfg/Dim = "10"`), its label a key. Of its parts, the one
  no fragment writes another part after is the value (of several, the last in the merged view;
  of copies from several files, the first file's, the others not printed: check reports them);
  its other parts follow a `#`.
- Any other value is named as findings name elements (`/Pkg/Lamp#WATTS = "55"`). A referrable
  element's SHORT-NAME is its path, not a value; attributes are not values; structured comments,
  not compared, are left out.
- The pattern is the policy filters' path glob; `/` is the root. The walk writes each path into
  one builder and matches on its bytes: a string is made only for a value printed, and the
  command prints each as found. Checked.values is the library's.
- Flat.identified keeps the built-in identity rules a Flat was made of, so values names their
  items by definition too.

On a large real-world model, a value query takes the load and merge plus up to 0.6 s at the same
peak memory.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@MartenH
MartenH force-pushed the values-and-ignored-elements branch from 7de4bc9 to d1fa32b Compare October 17, 2026 16:23
@MartenH MartenH changed the title values prints every value a path glob wants as path = "text" lines; --ignore-element values prints every value a path glob wants as path = "text" lines Oct 17, 2026
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

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

ℹ️ 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 thread arxmodel/values.v Outdated
Comment thread arxmodel/values.v
Comment thread cmd/arxmodel/main.v Outdated
- An item's label is no candidate for its value: a label written after the value (a variation
  point after VALUE) no longer makes the value a `#VALUE` part; the label stays a part.
- Roles the policy identifies whose items have no wrapper are named by their definition too: the
  rules record them (RuleSet.direct_identity_roles, Flat.direct_identities), and an item is one
  when its merge rule keys it by that definition.
- Checked.each_value gives each value to a function as it is found (path and text views valid
  during the call), and the command prints through it: nothing is held, a broad query's memory
  is the model's. Checked.values collects through the same walk.

On a large real-world model, the output is the same as before, with its schema and with the
built-in rules; a query of every value peaks at the model's memory.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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: 2c6a5b28d0

ℹ️ 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 thread arxmodel/merge.v
A rules file now writes `# direct-identity:` for each item_identity role without a wrapper, and
reads it back, so a model merged by a rules file names those items by their definition in values
as one merged by the schema does. The format is 4: a file of format 3 has no such lines, and is
refused, to be made again.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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: 969460e1b7

ℹ️ 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 thread arxmodel/values.v Outdated
Comment thread arxmodel/values.v
Comment thread arxmodel/rules.v Outdated
…ther fragments

- One definition given several values under one container (a set) is printed with each value's
  place among them, `Level[#2]`, as a path shows an item keyed by its content, so each can be
  asked for; the merge orders them side by side, so two neighbours tell, no list is made.
- Of an item's parts with the value's element name, only copies from other fragments (other
  files) are left out: two written side by side in one fragment are both printed.
- The identity of an item_identity role is found in its key wherever it stands (a split key may
  give another part first), for direct roles and wrapper roles alike, and an item of a direct role
  is one when its rule keys by it anywhere.

On a large real-world model, the lines of definitions with several values gain their place; every
other line is as before, at the same time and peak memory.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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: 0b1ba0818e

ℹ️ 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 thread arxmodel/values.v Outdated
Comment thread arxmodel/values.v Outdated
…ntity in the key

- An identity or label the schema writes as an attribute (`@NAME` in the key) is read from the
  attribute: identity paths are element steps and, at their end, an attribute.
- Wrapper item_identity roles find the policy's identity in their key wherever it stands, as
  direct roles do (identity_parts), so a split key giving another part first no longer names the
  values by that part.

On a large real-world model the output is as before, with its schema and with the built-in rules.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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: 83d95f9d37

ℹ️ 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 thread arxmodel/values.v
Comment thread arxmodel/values.v
Comment thread arxmodel/rules.v
@MartenH

MartenH commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

@codex review

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

ℹ️ 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 thread arxmodel/values.v
Comment thread arxmodel/values.v
Comment thread arxmodel/values.v Outdated
Comment thread arxmodel/values.v
@MartenH
MartenH force-pushed the values-and-ignored-elements branch from ab755cc to 83d95f9 Compare October 17, 2026 18:33
@MartenH
MartenH merged commit 8db0df4 into main Oct 17, 2026
2 checks passed
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.

1 participant