Repository navigation
Adapt Go prototype with symbolic semantic tests and fixes - #469
Open
CaelmBleidd wants to merge 43 commits into
Open
CaelmBleidd wants to merge 43 commits into
CaelmBleidd wants to merge 43 commits into
Conversation
CaelmBleidd
force-pushed
the
caelmbleidd/go-integration-tests
branch
from
October 9, 2026 10:59
44d678e to
4d8528a
Compare
CaelmBleidd
force-pushed
the
caelmbleidd/go-integration-tests
branch
from
October 9, 2026 13:19
670f659 to
6f89767
Compare
CaelmBleidd
changed the base branch from
main
to
caelmbleidd/go-prototype-emil
October 11, 2026 15:54
CaelmBleidd
force-pushed
the
caelmbleidd/go-integration-tests
branch
from
October 11, 2026 15:58
9cc0749 to
bbd4db9
Compare
CaelmBleidd
force-pushed
the
caelmbleidd/go-prototype-emil
branch
from
October 11, 2026 15:58
11af4ec to
00194ce
Compare
CaelmBleidd
force-pushed
the
caelmbleidd/go-integration-tests
branch
from
October 12, 2026 13:13
bbd4db9 to
c39d47e
Compare
CaelmBleidd
force-pushed
the
caelmbleidd/go-prototype-emil
branch
from
October 13, 2026 03:41
124d218 to
921c56d
Compare
Import the SSA/JacoDB frontend from buraindo/go-jacodb at 717bd41 onto current main. Add native semantic assertions and witness replay, fix the reproduced arithmetic and collection defects, and keep pointer metadata local to Go. Pin the exporter toolchain, add CI, enforce style, and document the remaining experimental boundaries.
Replace the original coverage smoke factories with explicit categorized properties using the shared TestRunner. Require both discovery of expected branches and consistency of every collected execution. Preserve native oracle comparisons and witness replay, expose structured pointer/interface values and argument snapshots, and keep the newly detected frontend/model failures visible in the draft integration.
…e type" This reverts commit d84934cf5a9c9dfc90e39f31822b41a2ce7db130.
CaelmBleidd
force-pushed
the
caelmbleidd/go-integration-tests
branch
from
October 13, 2026 03:55
c39d47e to
ef0f81d
Compare
CaelmBleidd
marked this pull request as ready for review
October 13, 2026 04:17
buraindo
reviewed
Oct 13, 2026
| val UINTPTR = BasicType(GoTypes.UINTPTR) | ||
| val FLOAT32 = BasicType(GoTypes.FLOAT32) | ||
| val FLOAT64 = BasicType(GoTypes.FLOAT64) | ||
| val STRING = SliceType(UINT8) |
Collaborator
There was a problem hiding this comment.
BasicType("string") -> BasicType(GoTypes.STRING)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The current Go frontend erased composite type identity and diverged from native Go on strings, value copies, pointers, interfaces and map keys. Preserve actual exported Go types and tuple schemas, UTF-8 indexing, array/struct value semantics and pointer identity. Map keys retain typed symbolic proxies and actual per-map payloads: +0/-0 compare equal, NaN does not, nil pointer keys remain valid, and guard-inactive range proxies cannot become phantom map entries. RHS effects occur before panic; nil map writes retain native failure behavior.
Based on #471 at 1000799, with #474 at 01cba79 as a genuine second parent. The shared input-reference-set engine fix belongs to #474 and is independently reviewable. JacoDB Go API is pinned to verified published a839f86ca8; producer #436 uses the actual buraindo/go branch.
Review typed schema conversion, mutable value copies, interface hashability and native map witnesses, including signed zero, NaN, nil pointers and hidden initial keys. Tests execute native Go oracles and replay symbolic witnesses; exporter and sample inventories are checked. Parent debug factories are replaced by this semantic harness, with bounded machine/solver lifetime.
Validation: all 305 native/solver/sample tests passed without skips after the final restack. The broader suite exposed discarded string-range index types and lost oversized-slice diagnostic causes; both are corrected without weakening tests or coverage. Four unsupported-boundary tests and final compilation/Detekt main/test passed after preserving exception causes. Exporter/native Go package tests passed. Linux CI exposed a borderline 5-second budget in the signed-zero input-map regression (95% coverage at 4.654 seconds). Only that test receives a bounded 30-second run/10-second solver budget; 100% coverage, all three outcomes and native replay for every witness remain required. The full native map regression suite and Detekt passed on final b574403, with repeated focused checks. Full CI run 38344995519 passed on this exact final head, including all 305 Go tests in Linux ci-go and all six other jobs. Existing limitations are kept explicit; this does not claim exhaustive Go language support. No upstream merge is included.