Commit 094c098
committed
fix(structural): statutory legal floor + TCMB double-count audit; dataset expansion + identification diagnostics
Freeze the structural architecture (no new model/source/quality abstraction/SaleProbability/ML). Two corrections + a dataset-expansion & identification sprint over the already-validated UYAP/KAP/TOKI families.
1) Statutory floor: legal_floor = max(0.5*Q, priority_claims) + realization_costs (was max(0.5Q, pc+rc)). muhammen_bedel preserved as appraised value Q, never the reserve/floor. Missing components -> legal_floor_exact=false with observed components preserved (lower bound, not fabricated).
2) TCMB anchor audit: a contemporaneous provincial TL/m2 level is used directly (V=U_gt*m2*exp(b'dZ)); the full KFE level is NOT multiplied again. roll_unit_price(U_t0,kfe_t,kfe_t0)=U_t0*(kfe_t/kfe_t0) applies the KFE RATIO only when rolling an older anchor. CLI --kfe-factor removed.
- UYAP schema expanded (public_record_id, auction_date, offer_count, source_audited, parcel/unit-net/unit-gross areas kept DISTINCT, never substituted); sold+unsold; uyap_observed_moments adds variance/quantiles/mass-near-floor/offer-bidder distribution.
- KAP structural dataset (real-estate disposal, related_party=false, realized price + appraisal/prior reference); moments over log(sale/appraisal). Not documented as 'KAP gives eta' -- eta jointly estimated with the mechanism shift.
- TOKI guards: same project + same table semantics + non-decreasing count&total; revision_detected on decrease/semantics-change/stratum-disappearance; no property-level pairs.
- Identification: sold structural identify -> dataset counts + numerical moment Jacobian (central differences, common random numbers), rank/singular values/condition number/weak directions, eta+shift profile diagnostics. rank(J)<dim(theta) -> NOT_IDENTIFIED -> prediction switches to sensitivity mode. Optimizer convergence is not identification.
- Terminology: structural value is a 'structural-method prototype using provisional parameters' (sensitivity mode) until identification supports the vector; still 'inferred structural distribution', never observed/measured.
- Validated Level-2 (KAP 963554, TOKI PMVR3, UYAP 16766356960) unchanged; consumer path frozen; no fabricated fields/floors/counts/cohorts/identification.
- 161 tests passing1 parent a906a34 commit 094c098
11 files changed
Lines changed: 1002 additions & 130 deletions
File tree
- src/sold
- structural
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
131 | 131 | | |
132 | | - | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
133 | 135 | | |
134 | 136 | | |
135 | 137 | | |
| |||
299 | 301 | | |
300 | 302 | | |
301 | 303 | | |
302 | | - | |
| 304 | + | |
303 | 305 | | |
304 | 306 | | |
305 | 307 | | |
| |||
322 | 324 | | |
323 | 325 | | |
324 | 326 | | |
325 | | - | |
| 327 | + | |
| 328 | + | |
326 | 329 | | |
327 | 330 | | |
328 | 331 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1391 | 1391 | | |
1392 | 1392 | | |
1393 | 1393 | | |
1394 | | - | |
1395 | 1394 | | |
1396 | 1395 | | |
1397 | | - | |
| 1396 | + | |
1398 | 1397 | | |
1399 | 1398 | | |
1400 | | - | |
1401 | | - | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
1402 | 1402 | | |
1403 | 1403 | | |
1404 | 1404 | | |
| |||
1408 | 1408 | | |
1409 | 1409 | | |
1410 | 1410 | | |
1411 | | - | |
| 1411 | + | |
1412 | 1412 | | |
1413 | 1413 | | |
1414 | 1414 | | |
1415 | 1415 | | |
1416 | 1416 | | |
1417 | 1417 | | |
1418 | 1418 | | |
1419 | | - | |
| 1419 | + | |
| 1420 | + | |
1420 | 1421 | | |
1421 | 1422 | | |
1422 | 1423 | | |
1423 | | - | |
| 1424 | + | |
1424 | 1425 | | |
1425 | 1426 | | |
1426 | 1427 | | |
1427 | | - | |
| 1428 | + | |
1428 | 1429 | | |
1429 | 1430 | | |
1430 | 1431 | | |
1431 | 1432 | | |
1432 | 1433 | | |
1433 | 1434 | | |
1434 | 1435 | | |
1435 | | - | |
| 1436 | + | |
1436 | 1437 | | |
1437 | 1438 | | |
1438 | 1439 | | |
| |||
1482 | 1483 | | |
1483 | 1484 | | |
1484 | 1485 | | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
1485 | 1594 | | |
1486 | 1595 | | |
1487 | 1596 | | |
| |||
0 commit comments