docs(market): close Gap 1 — active seller row under forSale is live-confirmed
The one claim the Fix B promotion left open: no active listing existed during
that session, so only the expired path had been exercised.
Closed with a disposable card (75 ST, res 212188, wire id 100000178 — one of
three identical copies, not in the squad) listed through the real FIFA 17 client
at 150/200 for 1h, so expiry arrives naturally. No timestamp touched.
Wire: itemState=forSale, tradeState=active, 12 atoms, prices intact, expires
3562 -> 3556 over a 6s sample (live clock), /trade/status coherent, counts
{count:1, selling:1}, coins unchanged, zero inactive rows (Fix A intact).
The decisive evidence is client-side, not ours: a read-only /proc/<pid>/mem
decode of the live trade-pile auction record returned
itemState=5(forSale)
on the very field that read -1(<unrecognised>) under listFS. Direct A/B on the
only changed field, taken from the client's own memory.
Operator confirmed the row renders under LISTED ITEMS with correct prices, a
counting-down timer, normal art, and correctly non-actionable while active.
No code change required — the promoted implementation was already correct on the
active path. Claim boundary unchanged: this proves the client DECODES the token
and says nothing about the Flash action-gate term.
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"gap": 1,
|
||||
"test": "ACTIVE seller row under itemState=forSale",
|
||||
"date": "2026-08-17",
|
||||
"disposable_card": {
|
||||
"wire_item_id": 100000178,
|
||||
"resourceId": 212188,
|
||||
"rating": 75,
|
||||
"preferredPosition": "ST",
|
||||
"copies_owned": 3,
|
||||
"discardValue": 600,
|
||||
"in_active_squad": false,
|
||||
"untradeable": false
|
||||
},
|
||||
"pre_state": {
|
||||
"club_items": 1966,
|
||||
"coins": 29843976,
|
||||
"tradePile_rows": 0,
|
||||
"tradePile_counts": {
|
||||
"count": 0,
|
||||
"maxAuctionsAllowed": 100,
|
||||
"offered": 0,
|
||||
"selling": 0,
|
||||
"sold": 0
|
||||
}
|
||||
},
|
||||
"listing_creation_route_log": "utas-host owner=RUST route=market-list POST item_id=100000178 listed=true trade_id=1000000178",
|
||||
"client_flow_observed_rust_owned": [
|
||||
"PUT /ut/game/fifa17/item (club -> trade pile move)",
|
||||
"POST /ut/game/fifa17/auctionhouse (ISStart) -> 200",
|
||||
"GET /ut/game/fifa17/tradePile (repeated)",
|
||||
"GET /ut/game/fifa17/trade/status?tradeIds=1000000178 -> requested=1 returned=1 (repeated poll)",
|
||||
"GET /ut/game/fifa17/tradePile/counts"
|
||||
],
|
||||
"wire_active_row": {
|
||||
"tradeId": 1000000178,
|
||||
"tradeState": "active",
|
||||
"itemState": "forSale",
|
||||
"startingBid": 150,
|
||||
"buyNowPrice": 200,
|
||||
"currentBid": 0,
|
||||
"bidState": "none",
|
||||
"sellerName": "CAGE",
|
||||
"sellerEstablished": 1,
|
||||
"watched": false,
|
||||
"coinsProcessed": 0,
|
||||
"atom_count": 12,
|
||||
"itemData_attributeList_entries": 6
|
||||
},
|
||||
"countdown_sample": {
|
||||
"expires": [
|
||||
3562,
|
||||
3556
|
||||
],
|
||||
"delta_secs": 6,
|
||||
"live": true
|
||||
},
|
||||
"trade_status_coherent_while_running": true,
|
||||
"trade_status_rows": [
|
||||
{
|
||||
"bidState": "none",
|
||||
"buyNowPrice": 200,
|
||||
"coinsProcessed": 0,
|
||||
"currentBid": 0,
|
||||
"expires": 3556,
|
||||
"itemData": {
|
||||
"assetId": 212188,
|
||||
"attributeList": [
|
||||
{
|
||||
"index": 0,
|
||||
"value": 90
|
||||
},
|
||||
{
|
||||
"index": 1,
|
||||
"value": 70
|
||||
},
|
||||
{
|
||||
"index": 2,
|
||||
"value": 64
|
||||
},
|
||||
{
|
||||
"index": 3,
|
||||
"value": 78
|
||||
},
|
||||
{
|
||||
"index": 4,
|
||||
"value": 24
|
||||
},
|
||||
{
|
||||
"index": 5,
|
||||
"value": 62
|
||||
}
|
||||
],
|
||||
"cardassetid": 212188,
|
||||
"cardsubtypeid": 0,
|
||||
"contract": 7,
|
||||
"definitionId": 212188,
|
||||
"discardValue": 600,
|
||||
"fitness": 99,
|
||||
"id": 100000178,
|
||||
"itemState": "forSale",
|
||||
"itemType": "player",
|
||||
"leagueId": 19,
|
||||
"nation": 21,
|
||||
"owners": 1,
|
||||
"playStyle": 250,
|
||||
"preferredPosition": "ST",
|
||||
"rareflag": 1,
|
||||
"rating": 75,
|
||||
"resourceId": 212188,
|
||||
"teamid": 112172,
|
||||
"untradeable": false
|
||||
},
|
||||
"sellerEstablished": 1,
|
||||
"sellerName": "CAGE",
|
||||
"startingBid": 150,
|
||||
"tradeId": 1000000178,
|
||||
"tradeState": "active",
|
||||
"watched": false
|
||||
}
|
||||
],
|
||||
"tradePile_counts_while_active": {
|
||||
"count": 1,
|
||||
"maxAuctionsAllowed": 100,
|
||||
"offered": 0,
|
||||
"selling": 1,
|
||||
"sold": 0
|
||||
},
|
||||
"coins_unchanged": true,
|
||||
"fix_a_inactive_rows": 0,
|
||||
"CARD_OFFERSTATE_live_decode": {
|
||||
"observed": true,
|
||||
"method": "read-only /proc/<pid>/mem via fifa17-recon-derived auction_record_probe.py; slide proven by FNV control MATCH before any other read; O_RDONLY + pread only",
|
||||
"client_pid": 29670,
|
||||
"container": "model->vt[0x120] (trade pile), rows=1, +0x60 override=1",
|
||||
"record": {
|
||||
"tradeId": 1000000178,
|
||||
"STATE_tradeState": "1(active)",
|
||||
"YOURBID_bidState": "0(none)",
|
||||
"MAX_CREDITS_buyNowPrice": 200,
|
||||
"RESERVEDPRICE_startingBid": 150,
|
||||
"currentBid": 0,
|
||||
"expires": 3457,
|
||||
"coinsProcessed": 0,
|
||||
"IS_GLOW_flagB": 0,
|
||||
"INBOX_flagA": 0,
|
||||
"IS_WATCHED": 0
|
||||
},
|
||||
"item": {
|
||||
"CARD_ID": 212188,
|
||||
"CARD_TYPE": 1,
|
||||
"tradeable": 1,
|
||||
"rating": 75,
|
||||
"CARD_OFFERSTATE_itemState": "5(forSale)",
|
||||
"pile": 0
|
||||
},
|
||||
"ab_significance": "This is the direct A/B on the only changed field. Baseline `listFS` decoded to -1(<unrecognised>) in the client's own record; candidate `forSale` decodes to 5. Every other field in the record is unchanged in kind.",
|
||||
"claim_boundary": "Proves the CLIENT DECODES the token correctly. Says nothing about the Flash action-gate term."
|
||||
},
|
||||
"ui_acceptance": {
|
||||
"operator_report": "looks right",
|
||||
"confirmed": [
|
||||
"card renders under LISTED ITEMS (not the TRANSFER LIST section)",
|
||||
"Start Price 150 and Buy Now 200 displayed correctly, Current Bid as expected",
|
||||
"Time Remaining visibly counting down",
|
||||
"card art renders normally; no malformed row, no duplicate, no premature Expired, no crash",
|
||||
"row correctly non-actionable while active (established FIFA 17 behaviour, not a fault)"
|
||||
],
|
||||
"corroboration": "the client's trade-pile container populated with exactly this row (rows=1), so the Transfer List screen bound and drew it"
|
||||
},
|
||||
"verdict": "GAP 1 CLOSED \u2014 LIVE-CONFIRMED: an active seller auction with itemState=forSale renders correctly and is decoded by the client as CARD_OFFERSTATE=5",
|
||||
"code_change_required": false
|
||||
}
|
||||
Reference in New Issue
Block a user