feat: admit numbered iPhone companion

This commit is contained in:
冰朔 2026-08-19 07:28:26 +08:00
commit fe1aaade0e
20 changed files with 1563 additions and 7 deletions

View file

@ -6,13 +6,21 @@ const catalog = JSON.parse(readFileSync(new URL('../contracts/module-donor-admis
const numbered = JSON.parse(readFileSync(new URL('../contracts/numbered-ipc-registry.json', import.meta.url), 'utf8'))
test('chaotic donors are read-only candidates and never a bulk merge source', () => {
assert.equal(catalog.state, 'SEVEN_CANDIDATES_ADMITTED_DONOR_SOURCES_REMAIN_READ_ONLY')
assert.equal(catalog.state, 'EIGHT_CANDIDATES_ADMITTED_DONOR_SOURCES_REMAIN_READ_ONLY')
assert.equal(catalog.root_rule.repair_old_application_in_place, false)
assert.equal(catalog.root_rule.bulk_merge_or_wholesale_copy_allowed, false)
assert.equal(catalog.root_rule.one_candidate_per_admission_cycle, true)
assert.ok(catalog.donors.every((donor) => donor.state.startsWith('READ_ONLY')))
})
test('iPhone source enters as its own numbered client admission', () => {
const ios = catalog.candidates.find((candidate) => candidate.client_number === 'HLP-IOS-CLIENT-001')
assert.equal(ios.candidate_number, 'HLP-DONOR-CAND-0008')
assert.equal(ios.desktop_runtime_module_number, 'HLP-MOD-OFFICIAL-MOBILE-SYNC-0001')
assert.equal(ios.numbered_ipc_module, 'HLP-NIPC-MOD-0030')
assert.match(ios.boundary, /NO SECOND PERSONA SYSTEM/)
})
test('candidate coordinates are unique but are not permanent runtime module numbers', () => {
const coordinates = catalog.candidates.map((candidate) => candidate.candidate_number)
const admitted = catalog.candidates.filter((candidate) => candidate.state.startsWith('ADMITTED'))