94 lines
5.2 KiB
Markdown
94 lines
5.2 KiB
Markdown
# Phase 0.9E-R Y2JB release-to-source binding
|
|
|
|
Date: 2026-07-18
|
|
|
|
## Official source acquisition
|
|
|
|
The official repository was acquired from
|
|
`https://github.com/Gezine/Y2JB.git` into ignored host-only path
|
|
`work/upstream/Y2JB-official`. It is detached at tag `1.6`:
|
|
|
|
- commit: `0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2`;
|
|
- tree: `c4344f43af7c268337437e6419548dba6f6bc211`;
|
|
- status: clean;
|
|
- submodules: none;
|
|
- Git LFS pointers: none;
|
|
- tracked files at 1.6: 19;
|
|
- license: MIT.
|
|
|
|
No project file from that tree was executed and no dependency was installed.
|
|
The upstream tree remains ignored and is not vendored.
|
|
|
|
## Source archives
|
|
|
|
Each official GitHub tag source archive was downloaded outside tracked paths,
|
|
closed, hashed locally, and compared byte-for-byte by pathname with the exact
|
|
Git tree. All regular files match their tag tree.
|
|
|
|
The requested URLs were the official GitHub API form
|
|
`https://api.github.com/repos/Gezine/Y2JB/zipball/<tag>` for each exact tag in
|
|
the table. GitHub's redirect target was not retained as provenance and is
|
|
listed as a gap rather than reconstructed.
|
|
|
|
| Tag | Commit | Tree | Archive bytes | Locally computed SHA-256 | Archive ↔ tree |
|
|
|---|---|---|---:|---|---|
|
|
| `Y2JB-1.2.1` | `6210f98c23552e6eb3c4c8981f72a200bb6121b2` | `928ceb979881a063457270dde4961ea4a06bc1fa` | 142038 | `dd7b05234aec35696b6d00ea4420f7bc1e09d57a4fe64363fdaa6728a37b7201` | 20/20 files exact |
|
|
| `1.3` | `82e6bbf1935d5f41c3bd5bd9e6598cf90bb2e022` | `df29ffe4d8131b5f8b0da1874e34b95a41f0660d` | 185243 | `661993fbeec566bdfc0c5d9b89eeddc4a1f21f4a8c0b7392fddea4f73ce636d6` | 22/22 files exact |
|
|
| `1.4` | `02eda2e772df629ecfe5a46459769bd8c994ef3e` | `ec06403b45f7b68e01eb5053f81277dee4910dd2` | 151619 | `53d7fb1e665d0534d446cfe980841a0b8eed7eda35424c2f9c4abad32d5aaec5` | 19/19 files exact |
|
|
| `1.5` | `5fa556e6281229057dace3254b099f95261df386` | `db364529c347f34b8ddb186f57bb61dab91113db` | 149934 | `5d964faaf1b941c2fc8a006b10ae909b15d8f2c27d120e08b37196f1e464ad6d` | 19/19 files exact |
|
|
| `1.6` | `0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2` | `c4344f43af7c268337437e6419548dba6f6bc211` | 150964 | `8385c439458c6954fd1198760ab0ef8245543235c83db90d041591362027cae4` | 19/19 files exact |
|
|
|
|
This establishes `REPRODUCIBLE_CONTENT_BINDING` between each downloaded source
|
|
archive and its official Git tree. It establishes no relationship between the
|
|
local MediaFire-marked backup and any tag.
|
|
|
|
## Static 1.6 inventory
|
|
|
|
The 1.6 tree contains one HTML file, ten JavaScript files, three Python host
|
|
tools, one embedded kexp binary, and one embedded ELF. It contains no WASM,
|
|
service worker, web manifest, submodule, LFS pointer, loader generator, or
|
|
build script for the embedded blobs.
|
|
|
|
Important 1.6 file identities:
|
|
|
|
| Path | Bytes | SHA-256 |
|
|
|---|---:|---|
|
|
| `README.md` | 7500 | `16bfdaa624b8b04f4a6a4a7d512ca8473ad2db73e80df39a974267403e34f751` |
|
|
| `payload_sender.py` | 1064 | `8c87920c41dbdbd66b9f36ca9509f0d6bef9170f351dd97ff831cfb98e642ec6` |
|
|
| `log_server.py` | 929 | `463114fd46479a7286706de13beb3f52221f36f3cbe37dc5a27bdb6104787a98` |
|
|
| `appinfo_editor.py` | 2008 | `c1bcb453660f597cbc9026dba76519a4929fc3e967c183deec8a1ca56912e2e8` |
|
|
| `splash.html` | 596 | `0060fce48b104d57025399814e29e9db83923068e7fce899c6235ff7da2e72ef` |
|
|
| `main.js` | 44909 | `4f2a87a4550e453b13ada660136d9e7019230bf8fdf7016e855911bd38f0e3d5` |
|
|
| `global.js` | 8760 | `1b39c3fe7576f80f6ff3cd32fcb5eef2cbb972b574897f80a28370fb1afceb1d` |
|
|
| `kernel.js` | 9113 | `631aac816ed674dce6460cea49fa62961b06ed9446b14f6340416bb98d0326de` |
|
|
| `misc.js` | 16308 | `05df5102239af19a9f5a28fb6994dc213db8ab54c7bd7120243b92409c8f8407` |
|
|
| `remotejsloader.js` | 7132 | `30cc6d1535549b2a49b47a9e0c85a3444cf84177be54398691694b7c6505f38e` |
|
|
| `aioshellcode.js` | 3870 | `feb50f1a7596dfde61611ae347fc7d2ec2ca34e75d05fa5d91340df2d762d310` |
|
|
| `kexp_2026_05_25.bin` | 18912 | `618f4b121cd26f2b259ade4fc3a69b3bdb631667758ae63fb9d316b4362015eb` |
|
|
| `elfldr-ps5-1340.elf` | 397000 | `30478bcadb6439e1247451c4ac706b6e1385044dd0f12d6486b6d7057929453b` |
|
|
|
|
The embedded 1.6 ELF is an x86-64 PIE with entry `0x4700` and `DT_NEEDED`
|
|
entries for `libkernel_web.sprx`, `libSceLibcInternal.sprx`, and
|
|
`libSceNet.sprx`. It has no source or generator in Y2JB; its commit identity is
|
|
therefore the containing Y2JB blob only, not a claimed elfldr source commit.
|
|
|
|
Across tags the embedded elfldr identities are:
|
|
|
|
| Tag | Embedded file | SHA-256 | Binding |
|
|
|---|---|---|---|
|
|
| 1.2.1 / 1.3 | `elfldr.elf` | `00ce93eb217b3720f40f18f47221ed25702847c570593e468823abffbcadd562` | binary only |
|
|
| 1.4 | `elfldr_1320_v5.elf` | `5839049ca949462c9e8cb40be35afd783ac07d50a290857a5558ceeb81fb90fe` | binary only |
|
|
| 1.5 | `elfldr-ps5-0.23.elf` | `092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8` | byte-equal to the already pinned public v0.23 asset |
|
|
| 1.6 | `elfldr-ps5-1340.elf` | `30478bcadb6439e1247451c4ac706b6e1385044dd0f12d6486b6d7057929453b` | binary only |
|
|
|
|
## Binding decision
|
|
|
|
- official tag source archive → Git tree:
|
|
`REPRODUCIBLE_CONTENT_BINDING`;
|
|
- official release → same-tag source: `OFFICIAL_RELEASE_ASSOCIATION`;
|
|
- local outer ZIP → official release: no association;
|
|
- local inner `SIECAF` → source: `UNBOUND`;
|
|
- local backup overall: `LOCAL_BACKUP_NOT_CORRELATED`.
|
|
|
|
No official source association was promoted into a local inner-content match.
|