<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guess-market/engine/src/main, branch 2.0</title>
<subtitle>definitely not polymarket
</subtitle>
<id>https://git.sartin.in/guess-market/atom?h=2.0</id>
<link rel='self' href='https://git.sartin.in/guess-market/atom?h=2.0'/>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/'/>
<updated>2026-08-13T16:28:27Z</updated>
<entry>
<title>Remove engine module</title>
<updated>2026-08-13T16:28:27Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-13T16:28:27Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=ca3edaa7fc9c78e856bc32f4fa7b76e43602819d'/>
<id>urn:sha1:ca3edaa7fc9c78e856bc32f4fa7b76e43602819d</id>
<content type='text'>
Superseded by the service module's GuessMarketContext implementation;
the JAXB model, TradingMechanism interface, and its LMSR/order-book
stubs had no remaining callers.
</content>
</entry>
<entry>
<title>Add service module with stubbed LocalGuessMarketContext</title>
<updated>2026-08-13T16:24:24Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-13T16:24:24Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=ae8486da5c542d6af9a2e0f9f7cc39729a055eee'/>
<id>urn:sha1:ae8486da5c542d6af9a2e0f9f7cc39729a055eee</id>
<content type='text'>
GuessMarketContext gained a richer surface (loadEvents/listEvents/
buyShares/closeEvent/account/save-restoreState) backed by new
EventDetailDTO, MarketStateDTO, OptionStateDTO and PurchaseReceiptDTO.
The old engine-module provider implemented the previous shape and is
removed; market.guess.service.LocalGuessMarketContext replaces it as a
stub, each method throwing UnsupportedOperationException pending a
real implementation.
</content>
</entry>
<entry>
<title>Replace EventDTO with richer EventSummaryDTO/TradeRowDTO view models</title>
<updated>2026-08-13T15:52:07Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-13T15:52:07Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=40fa8c52d2afc87c76b2d38566e9920120b2da3c'/>
<id>urn:sha1:40fa8c52d2afc87c76b2d38566e9920120b2da3c</id>
<content type='text'>
Introduce MechanismType and rename CommissionChargeType to
CommissionTiming to better describe LMSR vs order-book events.
LocalGuessMarketContext.GetAllEventsAsync is stubbed pending the new
mapping.
</content>
</entry>
<entry>
<title>Move I/O provider abstraction to ui-console, add ledger/account/problem DTOs</title>
<updated>2026-08-13T15:39:56Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-13T15:39:56Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=9dd3ec7ff11839503e4d5ef6639d0faa21403095'/>
<id>urn:sha1:9dd3ec7ff11839503e4d5ef6639d0faa21403095</id>
<content type='text'>
InputProvider/OutputProvider were api-layer types only ever implemented
by the console UI; relocate them there. Drop the unused
GuessMarketEngine/LocalGuessMarketService pair, flesh out LoadResultDTO
with success/failure variants, and make LocalGuessMarketContext.LoadAsync
report real outcomes instead of an empty placeholder.
</content>
</entry>
<entry>
<title>Move engine contracts to api module, add I/O provider abstraction and PicoContainer wiring</title>
<updated>2026-08-10T20:21:55Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-10T20:21:55Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=9d19a3187789f01d6dbbc73d14c7f90df3e67560'/>
<id>urn:sha1:9d19a3187789f01d6dbbc73d14c7f90df3e67560</id>
<content type='text'>
Relocates GuessMarketEngine/GuessMarketContext into market.guess.api so
engine and ui-console depend on a shared contract instead of engine
internals, and makes context loading async (CompletableFuture). Adds
InputProvider/OutputProvider interfaces with console implementations,
wires the console app's Menu through a PicoContainer, and adds the
generated model classes plus vendored picocontainer jar needed to build it.
</content>
</entry>
<entry>
<title>flatten modules to repo root, vendor deps, repair Eclipse build paths</title>
<updated>2026-08-09T11:46:25Z</updated>
<author>
<name>Kostya</name>
<email>mail@sartin.in</email>
</author>
<published>2026-08-09T11:46:25Z</published>
<link rel='alternate' type='text/html' href='https://git.sartin.in/guess-market/commit/?id=34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13'/>
<id>urn:sha1:34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13</id>
<content type='text'>
Move api, engine, ui-console and ui-desktop out of modules/ up to the
repo root and drop the empty exception project (GuessMarketException now
lives in api).

Vendor gson, jaxb, okhttp, openjfx and tomcat under lib/, and group the
JUnit standalone jar into lib/junit/ alongside them.

Rewrite every .classpath: drop the copy-pasted optional="true" that was
masking real build path errors, point the library entries at ../lib/,
and put the JUnit jar on the test source folders so the placeholder
AppTest classes compile.

ui-desktop: take the JavaFX jars off the modulepath (there is no
module-info.java, so module="true" left the packages unresolvable) and
add a Launcher that calls Application.launch, avoiding the "JavaFX
runtime components are missing" check without VM arguments.

engine: add LocalGuessMarketService and the GuessMarketContext provider
interface, and give GuessMarketException the no-arg and cause
constructors they need.
</content>
</entry>
</feed>
