rom24-quickmud-python 2.13.29__py3-none-any.whl → 2.13.31__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rom24-quickmud-python
3
- Version: 2.13.29
3
+ Version: 2.13.31
4
4
  Summary: A modern Python port of the ROM 2.4b6 MUD engine with full telnet server and JSON world loading
5
5
  Author-email: Mark Jedrzejczyk <mark.jedrzejczyk@gmail.com>
6
6
  Maintainer-email: Mark Jedrzejczyk <mark.jedrzejczyk@gmail.com>
@@ -59,15 +59,15 @@ Dynamic: license-file
59
59
 
60
60
  # QuickMUD - A Modern ROM 2.4 Python Port
61
61
 
62
- [![Version](https://img.shields.io/badge/version-2.13.29-blue.svg)](https://github.com/Nostoi/rom24-quickmud-python)
62
+ [![Version](https://img.shields.io/badge/version-2.13.31-blue.svg)](https://github.com/Nostoi/rom24-quickmud-python)
63
63
  [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
64
64
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
65
65
  [![Tests](https://img.shields.io/badge/tests-5451%20passing-brightgreen.svg)](https://github.com/Nostoi/rom24-quickmud-python)
66
- [![ROM 2.4b Parity](https://img.shields.io/badge/ROM%202.4b%20Parity-revalidation%20in%20progress-orange.svg)](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md)
66
+ [![ROM 2.4b Parity](https://img.shields.io/badge/ROM%202.4b%20Parity-parity%20beta-blue.svg)](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md)
67
67
  [![ROM C Audit](https://img.shields.io/badge/ROM%20C%20Audit-43%2F43%20audited-success.svg)](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md)
68
68
  [![Integration Tests](https://img.shields.io/badge/integration%20tests-1000%2B-brightgreen.svg)](tests/integration/)
69
69
 
70
- **QuickMUD is a modern Python port of the legendary ROM 2.4b6 MUD engine**, derived from ROM 2.4b6, Merc 2.1 and DikuMUD. This is a complete rewrite that brings the classic text-based MMORPG experience to modern Python with async networking and JSON world data. The engine currently has a green suite and broad ROM audit coverage, but **parity trust rebuild / revalidation is in progress** after live bugs exposed gaps in observable-behavior verification.
70
+ **QuickMUD is a modern Python port of the legendary ROM 2.4b6 MUD engine**, derived from ROM 2.4b6, Merc 2.1 and DikuMUD. This is a complete rewrite that brings the classic text-based MMORPG experience to modern Python with async networking and JSON world data. The engine is **feature-complete and playable** all 255 ROM commands, combat, spells, and world systems are implemented and green. Parity fidelity is in a **beta hardening phase**: high confidence on audited + test-covered surfaces, with a systematic methodology (per-file audits → cross-file invariants → differential harness) closing the remaining behavioral tail.
71
71
 
72
72
  ## 🎮 What is a MUD?
73
73
 
@@ -75,7 +75,7 @@ A "[Multi-User Dungeon](https://en.wikipedia.org/wiki/MUD)" (MUD) is a text-base
75
75
 
76
76
  ## ✨ Key Features
77
77
 
78
- - **🎯 ROM parity trust rebuild in progress**: audit coverage is broad, but user-visible command/session surfaces are being revalidated against stricter ROM-exact tests
78
+ - **🎯 Parity beta**: feature-complete and playable; all 255 ROM commands implemented; parity fidelity is systematically hardened surface-by-surface via per-file audits, cross-file invariant tests, and a live differential harness against the original C engine
79
79
  - **🚀 Modern Python Architecture**: Fully async/await networking with SQLAlchemy ORM
80
80
  - **📡 Multiple Connection Options**: Telnet, WebSocket, and SSH server support
81
81
  - **🗺️ JSON World Loading**: Easy-to-edit world data with 352+ room resets
@@ -83,7 +83,7 @@ A "[Multi-User Dungeon](https://en.wikipedia.org/wiki/MUD)" (MUD) is a text-base
83
83
  - **⚔️ ROM Combat System**: Classic ROM combat mechanics and skill system
84
84
  - **👥 Social Features**: Say, tell, shout, and 100+ social interactions
85
85
  - **🛠️ Admin Commands**: Teleport, spawn, ban management, and OLC building
86
- - **📊 Comprehensive Testing**: 5,329 passing tests across unit, integration, and command-registry suites
86
+ - **📊 Comprehensive Testing**: 5,451 passing tests across unit, integration, and command-registry suites
87
87
  - **🔧 ROM C-Compatible API**: Public API wrappers for external tools and scripts (27 functions)
88
88
 
89
89
  ## 📦 Installation
@@ -222,42 +222,38 @@ python -m mud # Start development server
222
222
 
223
223
  ## 🎯 Project Status
224
224
 
225
- **Honest one-line summary:** broad implementation and audit coverage of ROM 2.4b6
226
- is complete and the test suite is green, but the project is in a **verification
227
- trust-rebuild phase** — "audited" means a per-file audit document exists, not that
228
- behavior is proven bug-free, and a small number of parity gaps remain open.
229
-
230
- - **Version**: 2.13.29
231
- - **ROM 2.4b Gameplay Parity**: ⚠️ **broadly implemented, verification hardening in
232
- progress** combat, skills, spells, movement, communication, world/db, save/load,
233
- mob programs, and all 255 ROM commands are implemented and pass their tests. However,
234
- some surfaces that were previously marked "verified" were only smoke-tested, and are
235
- being rechecked with ROM-exact assertions. Treat the audit coverage below as
236
- *process completeness*, not a guarantee of bit-for-bit correctness.
237
- - **ROM C Source Audit**: ✅ **100% audit-bound coverage** — 43 of 43 applicable ROM C
238
- files have a completed audit document, with 3 additional ROM files intentionally N/A
239
- (`recycle.c`, `mem.c`, `imc.c`). This tracks that every applicable file has been
240
- *reviewed and documented*; it does not by itself certify behavioral parity (three
241
- production bugs this year shipped against files marked ≥95% audited — see the
242
- cross-file invariants tracker for why per-file audits are necessary but not
243
- sufficient). See
225
+ **Stage: parity beta** feature-complete and playable; parity fidelity is being
226
+ systematically hardened toward ROM-exact behavioral equivalence.
227
+
228
+ - **Version**: 2.13.31
229
+ - **Playability**: ✅ All 255 ROM commands implemented. Combat, spells, skills,
230
+ movement, shops, mob programs, OLC building, and admin tools work and pass their
231
+ tests. You can run a server and play today.
232
+ - **Parity confidence**: high on audited + test-covered surfaces; moderate on the
233
+ uncovered tail (surfaces not yet reached by the differential harness). "Parity beta"
234
+ means: the engine behaves like ROM on everything we've checked; there may be
235
+ edge-case divergences we haven't checked yet. The standard stages (alpha/beta/GA)
236
+ measure feature completeness for a port the meaningful axis is *parity confidence*,
237
+ not whether features exist.
238
+ - **ROM C Source Audit**: **43 / 43 files audited** — every applicable ROM C file
239
+ has a completed audit document (3 intentional N/A: `recycle.c`, `mem.c`, `imc.c`).
240
+ Per-file audits confirm *what was reviewed*; they don't by themselves certify
241
+ bit-for-bit behavioral parity. See
244
242
  [`docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md`](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md).
245
- Notable: `handler.c` affects system is now **100% complete** (11/11 functions,
246
- including `affect_join` merge semantics 2026-06-08).
247
- - **Cross-file Invariants**: **25/25 enforced** — message delivery, prompt clamping,
248
- registry membership, same-room combat, death/connection behavior, RNG determinism,
249
- persistence coherence, and room-flag survival (`.are`→JSON→runtime) are locked by
250
- dedicated regression tests. This layer exists specifically to catch the contract
251
- violations that per-file audits miss.
252
- - **Open parity gaps**: a small backlog of identified divergences is tracked and being
253
- closed one failing-test-first commit at a time. Open gaps are logged in the per-file
254
- `docs/parity/*_C_AUDIT.md` documents.
255
- - **Test Suite**: ✅ **5451 passed, 4 skipped** (full `pytest` run, ~150s parallel).
256
- Three layers — unit (`tests/test_*.py`), integration (`tests/integration/`), and
257
- command-registry (`test_all_commands.py`).
258
- - **Active focus**: trust rebuild — replacing weak smoke assertions with ROM-exact
259
- output, boundary, and runtime-path tests on the highest-risk user-visible surfaces,
260
- and closing the remaining documented parity gaps.
243
+ - **Cross-file Invariants**: **25 / 25 enforced** contracts that span modules
244
+ (message delivery, prompt clamping, registry membership, same-room combat,
245
+ death/reconnect ordering, RNG determinism, persistence coherence, room-flag survival)
246
+ are each locked by a dedicated regression test. This layer catches the class of bug
247
+ that per-file audits structurally miss.
248
+ - **Differential harness**: live the original ROM 2.4b6 C engine and the Python
249
+ port are run through identical scripted scenarios and their observable state is
250
+ diffed. Any behavioral divergence surfaces mechanically rather than requiring a
251
+ hand-written assertion. Coverage is growing; uncovered surfaces are the remaining
252
+ parity-confidence gap.
253
+ - **Test Suite**: ✅ **5,451 passed, 4 skipped** (full `pytest` run, ~150s parallel).
254
+ Unit, integration, command-registry, and differential-harness layers.
255
+ - **Active focus**: expanding differential harness scenario coverage and closing the
256
+ identified gap backlog (tracked in `docs/parity/*_C_AUDIT.md`).
261
257
  - **Compatibility**: Python 3.10+, cross-platform
262
258
 
263
259
  ## 🏛️ Architecture
@@ -279,9 +275,18 @@ Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTIN
279
275
  ## 📚 Documentation
280
276
 
281
277
  ### Verification Status
282
- - [ROM C subsystem tracker](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md) - canonical audit surface
283
- - [ROM parity verification guide](docs/ROM_PARITY_VERIFICATION_GUIDE.md) - current verification standard
284
- - [ROM 2.4b6 Parity Certification](ROM_2.4B6_PARITY_CERTIFICATION.md) - historical certification document; claims are being revalidated
278
+
279
+ The parity verification stack has four layers — consult all four, not just the first:
280
+
281
+ | Layer | What it measures | Document |
282
+ |-------|-----------------|----------|
283
+ | Per-file audit | Every ROM C function has a Python equivalent | [ROM C subsystem tracker](docs/parity/ROM_C_SUBSYSTEM_AUDIT_TRACKER.md) |
284
+ | Cross-file invariants | Contracts spanning modules (message delivery, registry, RNG, identity, …) | [Cross-file invariants tracker](docs/parity/CROSS_FILE_INVARIANTS_TRACKER.md) — 25 enforced |
285
+ | Divergence class roster | Structural C↔Python gaps (async, int-math, pointer identity, …) | [Divergence class roster](docs/parity/DIVERGENCE_CLASS_ROSTER.md) |
286
+ | Differential harness | C engine vs Python port, identical scenarios, state diffed | [Diff harness findings](tools/diff_harness/FINDINGS.md) |
287
+
288
+ - [ROM parity verification guide](docs/ROM_PARITY_VERIFICATION_GUIDE.md) — methodology, confidence tiers, when to use each layer
289
+ - [ROM 2.4b6 Parity Certification](docs/ROM_2.4B6_PARITY_CERTIFICATION.md) — historical document; predates cross-file invariants methodology
285
290
 
286
291
  ### User Documentation
287
292
  - [User Guide](docs/USER_GUIDE.md) - Player and server operator documentation
@@ -289,8 +294,9 @@ Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTIN
289
294
  - [Builder Migration Guide](docs/BUILDER_MIGRATION_GUIDE.md) - For ROM builders transitioning to QuickMUD
290
295
 
291
296
  ### Developer Documentation
292
- - [ROM Parity Feature Tracker](docs/parity/ROM_PARITY_FEATURE_TRACKER.md) - Detailed parity status
293
- - [ROM API Reference](ROM_API_COMPLETION_REPORT.md) - ROM C-compatible public API
297
+ - [ROM Parity Feature Tracker](docs/parity/ROM_PARITY_FEATURE_TRACKER.md) - Feature-level parity backlog
298
+ - [Integration Test Coverage Tracker](docs/parity/INTEGRATION_TEST_COVERAGE_TRACKER.md) - Coverage by gameplay system
299
+ - [ROM API Reference](docs/ROM_API_COMPLETION_REPORT.md) - ROM C-compatible public API
294
300
  - [Installation Guide](docs/installation.md)
295
301
  - [Configuration](docs/configuration.md)
296
302
  - [World Building](docs/world-building.md)
@@ -218,9 +218,9 @@ mud/world/obj_find.py,sha256=wVF3KlcEm4Bc4GiQZs4yWH5Ih87F-JSM7MtVI8cZEJs,5277
218
218
  mud/world/time_persistence.py,sha256=GfhVr6H86Q4YXkeGhhgVAfm5s3ZBT8bF6K_zwqKRkAc,1663
219
219
  mud/world/vision.py,sha256=XV92cnmf7c_z0GAraWyTc6cZ-mzyfLndwX9S6eFm4iE,12392
220
220
  mud/world/world_state.py,sha256=DskgF4k48TrYP82eYyJE_PWtpwjmDHPAD_xy4CXN-es,8824
221
- rom24_quickmud_python-2.13.29.dist-info/licenses/LICENSE,sha256=anQ2j9As6sIC8tZgQCXbo0-09JDH9vPiqhA9djnOvkY,1078
222
- rom24_quickmud_python-2.13.29.dist-info/METADATA,sha256=EsiHJuiJXiEoW_ICra7k97EOZiqgmHMJEZR7bHwqtX4,18007
223
- rom24_quickmud_python-2.13.29.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
224
- rom24_quickmud_python-2.13.29.dist-info/entry_points.txt,sha256=VFru08UQTXZA_CkK-NBjJmWHyEX5a3864fQHjhaojbw,41
225
- rom24_quickmud_python-2.13.29.dist-info/top_level.txt,sha256=Fk1WPmabIIjp7_iZXLYpbAVqiq7lG7TeAHt30AsOKtQ,4
226
- rom24_quickmud_python-2.13.29.dist-info/RECORD,,
221
+ rom24_quickmud_python-2.13.31.dist-info/licenses/LICENSE,sha256=anQ2j9As6sIC8tZgQCXbo0-09JDH9vPiqhA9djnOvkY,1078
222
+ rom24_quickmud_python-2.13.31.dist-info/METADATA,sha256=ERfLJl-4STdVTJWeofCvhgrICJ9R_dMCnzNiR34TgO4,18767
223
+ rom24_quickmud_python-2.13.31.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
224
+ rom24_quickmud_python-2.13.31.dist-info/entry_points.txt,sha256=VFru08UQTXZA_CkK-NBjJmWHyEX5a3864fQHjhaojbw,41
225
+ rom24_quickmud_python-2.13.31.dist-info/top_level.txt,sha256=Fk1WPmabIIjp7_iZXLYpbAVqiq7lG7TeAHt30AsOKtQ,4
226
+ rom24_quickmud_python-2.13.31.dist-info/RECORD,,