Skip to content

Pywel 1.0.0

Choose a tag to compare

@RolandSaint RolandSaint released this 10 Sep 15:17
· 29 commits to main since this release

Pywel 1.0.0

Pywel is an unofficial, portable, machine-readable Crimson Desert knowledge standard for AI agents. It is not created, endorsed, or operated by Pearl Abyss.

This version supplies offline JSON/JSONL and a small read-only loopback REST and stdio MCP reference implementation. Required operation uses no model, cloud account, database, hosted service, or personal configuration. The fixed dataset contains 310 entities, 1,396 claims, 77 evidence records, and 27 patch identities, plus one source-supported unobserved strategy and one safe receipt. Historical indexed coverage ends at 1.14.00; it is not current-live-game coverage.

Facts, provenance, uncertainty, patch applicability, rights, and compatibility behavior remain explicit. Source support does not establish observed gameplay, source availability, or rights. Software/schema/documentation use Apache-2.0; contributor data/database rights and compatible adaptations use CC BY-SA 4.0 within LICENSE-DATA and DATA_RIGHTS. Third-party game IP is excluded from those grants. Personal data, copied source bodies, private paths, secrets, game assets, leaks, and unauthorized extraction output are prohibited.

Source and release identity

Item Value
Repository https://github.com/RolandSaint/pywel
Initial commit / v1.0.0 target b6d6c0b455273bc3ecb9bf00427156827939dc03
Source tree 4f8e59084b1ae48ae3a9de8b56d59bfc544be548
Source inventory 163 files / 3,896,716 bytes
Build ID bld_f8f534d88ae1b9e139596232
Source-export inventory 164 files / 3,921,100 bytes
Source-export manifest SHA-256 dc793f7dc1296d14a4d9f10ea20a3971d5dc002d4c71040f11132a8908fc935b
Data bundle inventory 54 files / 3,413,572 bytes
Bundle checksum-file SHA-256 4d0608c6032df6a8aab4b5d714689a381d402ebdcc1d53ede75bc9c3fd9c9049
Fixed scope SHA-256 9bea33a672f0d2043e19e706e4d67cd8537823ad47154242916422c53c7aeb7f

The repository begins with one parentless commit. Original private development Git objects, refs, release assets, caches, and local configuration are excluded. The accepted M5 source was e054cc101bdbe3cd1a8b3e49c69c38572756b795, tree b6f2c7f234d4b9660a7140ed6466fa4f88efa44e; its public-safe acceptance evidence and original artifact identities remain in docs/M5_COMPLETION.md.

Publication changes from M5

Publication updates current repository/status instructions, public tag/clone and security-support pointers, and stale authorization language. Historical M2–M5 private PR hyperlinks become explicitly historical plain references. The M5 record gains a historical label and the accepted identities needed for public readers. The existing CI workflow gains only push: branches: [main], so the initial public commit receives the same checks as reviewed contributions.

The complete changed path set is .github/workflows/ci.yml, 000_LOAD_FIRST_PYWEL.yaml, AGENTS.md, README.md, SECURITY.md, docs/API_V1.md, docs/ARCHITECTURE.md, docs/COMPATIBILITY.md, docs/M2_COMPLETION.md, docs/M3_COMPLETION.md, docs/M4_COMPLETION.md, docs/M5_COMPLETION.md, docs/OPERATIONS.md, docs/PORTABILITY.md, docs/RELEASE_SCOPE.md, and docs/ROADMAP_TO_1_0.md.

Canonical/vocabulary data, runtime code, schemas, tests, OpenAPI, quality manifests, package/lockfile, dependencies, licenses, and attribution are byte-identical to M5. Software remains 1.0.0 and private: true continues to prevent npm publication. No knowledge expansion, architecture change, service, transport, model, database, or ongoing automation is added.

Verification

The prepared source passes all 139 tests across 17 files, pinned Node 24.18.0, type checking, canonical validation, repository policy, source-boundary verification, build, and source-bound distribution checks. Two data builds and two source exports match exactly. The full dependency audit on 2026-09-10 reports zero vulnerabilities. Canonical validation has zero errors and the unchanged strategy_unobserved warning, which supplies no gameplay observation credit. Final publication-diff/privacy review finds no unresolved blocker in the prepared source.

Another assistant operator cloned the supplied clean Git bundle into a fresh checkout, verified all 163 source files and the sole root history, installed locked dependencies into a fresh directory with empty personal configuration, and passed the same 139 tests. Both archives reproduced byte for byte. Compiled REST/MCP payloads and software version 1.0.0 matched, outbound networking was blocked, and processes shut down cleanly. This used the same managed Linux environment, existing pinned Node binary, and cached public packages; it does not establish a separate machine, operating system, human operator, or cold registry bootstrap.

The publication command requires the actual public main push workflow to pass for the exact commit before creating the tag or release. Its final run URL is appended below during publication. M5's independently verified runtime, rights/attribution, correction/recovery, and compatibility evidence remains applicable to unchanged material. The original history is excluded, not certified clean; neither hashes nor a CI result certify every gameplay assertion or blanket downstream commercial clearance.

Release assets and reproduction

Archive SHA-256
pywel-v1.0.0-source.tar.gz 92788b9d34fed7b6f3c29e1b36ed42f41e174950721cbfd331274bcfbd28b51d
pywel-v1.0.0-data.tar.gz 18a5270d18559f5abaa28da3ce57c7bc07896e555729fa41a2b4c293ca36eac5

Download both archives and pywel-v1.0.0-SHA256SUMS, then run sha256sum -c pywel-v1.0.0-SHA256SUMS (or shasum -a 256 -c pywel-v1.0.0-SHA256SUMS). The source archive expands to pywel-v1.0.0-source/, an immutable export with SOURCE_MANIFEST.json; use docs/OPERATIONS.md to create a separate working checkout. The data archive expands to pywel-v1.0.0-data/ and can be read offline without installing a runtime. GitHub's automatically generated tag archives are separate source packages and are not covered by these two archive hashes.

To reproduce from the tag checkout, use Node 24.18.0, the documented locked install and checks, npm run test:determinism, and npm run m1:export with an absent export destination. Recreate the release archives with GNU tar 1.35 and gzip 1.12 from the checkout root:

tar --sort=name --format=ustar --mtime=@0 --owner=0 --group=0 --numeric-owner --mode='u=rwX,go=rX' --transform='s,^\./,pywel-v1.0.0-source/,' -C dist/public-source -cf - . | gzip -n -9 > pywel-v1.0.0-source.tar.gz
tar --sort=name --format=ustar --mtime=@0 --owner=0 --group=0 --numeric-owner --mode='u=rwX,go=rX' --transform='s,^\./,pywel-v1.0.0-data/,' -C dist/data -cf - . | gzip -n -9 > pywel-v1.0.0-data.tar.gz
sha256sum -c pywel-v1.0.0-SHA256SUMS

Packaging fixes file order, tar format, timestamps, ownership, permissions, and gzip metadata. Both archives were created twice and compared byte for byte, and their full extracted inventories and contents were checked against the source export and data bundle. Archive-format tooling is separate from the Node reference runtime requirements.

Deferred work

Coverage refreshes, gameplay observations, consumer benchmarks, hosting, package conveniences, and patch notifications remain optional. Models, orchestration, automated promotion, extraction tools, extra transports/storage, and generalized infrastructure require a demonstrated need. No hosted service, npm release, domain, or paid operation accompanies v1.0.0.

Accepted public commit: b6d6c0b455273bc3ecb9bf00427156827939dc03.

Public CI: https://github.com/RolandSaint/pywel/actions/runs/34494305020