Skip to content

Add instanceFormat/certificateFormat declarations to STEINERTREE - #494

Open
Trosper3 wants to merge 4 commits into
CSharpAPIfrom
backfill/steinertree-format
Open

Add instanceFormat/certificateFormat declarations to STEINERTREE#494
Trosper3 wants to merge 4 commits into
CSharpAPIfrom
backfill/steinertree-format

Conversation

@Trosper3

Copy link
Copy Markdown
Contributor

Summary

  • STEINERTREE never adopted the self-describing instance/certificate format pattern (Interfaces/ProblemInterface.cs) and had no dedicated test file.
  • Declares instanceFormat describing the ((N,E),R,K) grammar and certificateFormat describing the connected-edge-set certificate, on STEINERTREE_Class.cs. Notes that the verifier checks connectivity and terminal coverage but does not enforce a weight bound against K.
  • Adds a new STEINERTREE_Tests.cs covering the format declarations, including a check that the certificate example quoted in the format string ({{8,6},{6,1},{1,2},{2,3},{3,5}}) actually verifies true against defaultInstance via the real verifier.

Closes #449

Test plan

  • dotnet test redux-tests/redux-tests.csproj --filter "FullyQualifiedName~STEINERTREE" — 3/3 passing

Trosper3 and others added 2 commits August 22, 2026 22:30
STEINERTREE never adopted the self-describing instance/certificate
format pattern (Interfaces/ProblemInterface.cs) and had no dedicated
test file. Declares instanceFormat describing the ((N,E),R,K) grammar
and certificateFormat describing the connected-edge-set certificate
(the verifier checks connectivity and terminal coverage; it does not
enforce a weight bound against K), and adds a new STEINERTREE_Tests.cs
covering the format declarations.

Includes a check that the certificate example quoted in the format
string actually verifies true against defaultInstance.
@github-actions

github-actions Bot commented Aug 23, 2026

Copy link
Copy Markdown

Redux Build System — CI Report

dotnet · commit 9aeecc3

Operation Status Summary Time
audit no known vulnerabilities 4.5s
format-check all files formatted 25.2s
lint 0 issues 36.2s
typecheck ⏭️ covered by lint (dotnet build)
unit-test 907 passed · coverage 70% (min 80%) 44.9s
build built local/redux:ci · 234MB 39.4s
integration-test ⏭️ no [integration] command
push ⏭️ not implemented

Overall: ❌ 4 passed · 1 failed · 3 skipped

…attern

Extracts the constructor's inline StringParser grammar into a named
InstanceGrammar const, and adds CertificateGrammar/CertificateExample
consts to SteinerTreeVerifier. instanceFormat/certificateFormat are
now interpolated from these plus _defaultInstance, instead of
hand-duplicated prose.
@Trosper3
Trosper3 requested a review from wrigjl August 31, 2026 18:02
Superseded by the richer test file for this problem already open in PR #517 (instantiation + verifier theory + solver coverage vs. this PR's 3-test format smoke check). Keeping the instanceFormat/certificateFormat declaration changes; only dropping the file that would otherwise collide on merge.
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.

Backfill instanceFormat/certificateFormat: NPC_STEINERTREE

1 participant