Skip to content

fix: a flag a probe arm did not run decides a reading (#113) - #119

Merged
rookslog merged 2 commits into
mainfrom
fix/113-flag-presence-is-a-value-reading
Aug 14, 2026
Merged

rookslog merged 2 commits into
mainfrom
fix/113-flag-presence-is-a-value-reading

Conversation

@rookslog

Copy link
Copy Markdown
Owner

checkRecord read the flag NAMES as well as the structure. A record omitting
--strict-mcp-config, or carrying --verbose, was a broken file rather than a
failed probe. Only a wrong VALUE reached the acceptance test, so ADR-0024's
guarantee held for half the case it named, and the next move that adds or
removes a flag name would have made every committed record malformed.

Allowlist membership and required-flag presence move to the value reading.
isolationProblems now reads the names, the presence and the values, and
deriveOutcome reports all three as isolated. flagShapeProblems keeps
structural impossibility alone: flags that are not a non-empty array, an entry
that is not a string, a flag stated twice, a value-taking flag at the end of the
list, and a flag sitting where another flag's value belongs.

The principle the ADR amendment states: a check may refuse a record on a stable
identity fact of the collector, and never on a protocol choice this repository
versions. The pathway combination stays a shape refusal, untouched. Flag names,
required presence and TRACE_LINE_LIMIT decide a reading and never a record's
validity.

Operator ruling 2026-08-14, Option A on the fork #113 states.

The three committed records under bench/probes/ derive exactly what they
derived before, and test/probe.test.js pins each tuple.

Closes #113

`checkRecord` read the flag names as well as the structure, so a record
omitting `--strict-mcp-config` or carrying `--verbose` was a broken file
rather than a failed probe. Only a wrong value reached the acceptance
test, so ADR-0024's guarantee held for half the case it named.

Allowlist membership and required-flag presence move to the value
reading. `flagShapeProblems` keeps structural impossibility alone, which
is what no revision of this collector could have produced.

The principle: a check may refuse a record on a stable identity fact of
the collector, and never on a protocol choice this repository versions.

Operator ruling 2026-08-14, Option A on the issue's fork.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 14, 2026

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

ℹ️ 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 bench/probe.mjs
Comment thread bench/probe.mjs Outdated
Two review findings on the same root cause: the split moved more than
membership. `armFlags` returns a literal array, so a floating element and
a duplicated flag are impossible under every revision, whatever the set
becomes. Both return to the shape reading.

Duplication is now read before membership, so it is name-agnostic and
`--verbose --verbose` no longer passes a rule that names no flag. The
positional refusal names the position rather than the element, so a
credential-shaped positional no longer withholds the whole line.
@rookslog
rookslog merged commit d2c8443 into main Aug 14, 2026
8 checks passed
@rookslog
rookslog deleted the fix/113-flag-presence-is-a-value-reading branch August 14, 2026 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A probe's flag PRESENCE is a shape reading, so a flag-set move makes every record a broken file

1 participant