Skip to content

feat(trilean-combinatorics): build covering arrays without materialising the solution set - #113

Merged
Mearman merged 1 commit into
mainfrom
feat/streaming-covering-arrays
Oct 29, 2026
Merged

Mearman merged 1 commit into
mainfrom
feat/streaming-covering-arrays

Conversation

@Mearman

@Mearman Mearman commented Oct 29, 2026

Copy link
Copy Markdown
Member

coveringArray now builds the array in parameter order (IPOG), asking the engine through the strategy context's completions whether a valid combination agrees with a partial row and stopping at the first, so it never reads the solution set and its memory follows the number of t-tuples. The limit becomes optional and bounds the rows the construction holds. The old greedy construction stays in the test support as the reference: the new output is checked against isCoveringArray at strengths 1 to 3, compared with the reference's size over the generated models, and held to a bound on engine queries derived from the tuple count.

Fixes #112

@Mearman
Mearman force-pushed the feat/trilean-combinatorics branch from d6957b6 to a4564ba Compare October 29, 2026 09:11
@Mearman
Mearman force-pushed the feat/streaming-covering-arrays branch from 960698f to 67dd53f Compare October 29, 2026 10:07
@Mearman
Mearman marked this pull request as ready for review October 29, 2026 10:08
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 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
🔒 Security Review ⚠️ Failed 2026-10-29T11:17:32.240991Z
We couldn’t complete this review. Comment @codex security review to try again.
189905f 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

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

Base automatically changed from feat/trilean-combinatorics to main October 29, 2026 11:16
…ing the solution set

coveringArray now uses an in-parameter-order construction (IPOG):
rows start from the coverable t-tuples of the first t dimensions,
each later dimension is placed by horizontal growth and then vertical growth,
and every row is completed and redundant rows dropped at the end.
Whether a tuple is coverable, and whether a row may take a value,
are asked of the engine through the strategy context's completions,
stopping at the first valid combination,
so memory follows the number of t-tuples and not the solution set.

limit is now optional and bounds the rows the construction holds,
still refusing with combinatrix's LimitExceededError past it.

The greedy construction over the whole solution set moves to the test support
as the reference the new output is compared with.
A work-count test bounds the engine queries on a model
whose solution set is far larger than its tuple count.
@Mearman
Mearman force-pushed the feat/streaming-covering-arrays branch from 67dd53f to 189905f Compare October 29, 2026 11:17
@Mearman

Mearman commented Oct 29, 2026

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

@Mearman
Mearman enabled auto-merge (rebase) October 29, 2026 11:17
@Mearman
Mearman merged commit 62ce2ae into main Oct 29, 2026
14 checks passed
@Mearman
Mearman deleted the feat/streaming-covering-arrays branch October 29, 2026 11:36
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in trilean-combinatorics@1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build trilean-combinatorics covering arrays without materialising the solution set

1 participant