ZL-007-20260713 · 统一铸澜正式身份编号

This commit is contained in:
Codex 2026-07-12 22:51:13 -07:00
parent f8d5ecc18f
commit 504cd51125
5 changed files with 8 additions and 8 deletions

View File

@ -5,7 +5,7 @@ probe
├── id: WORK-PROBE-20260713-001 ├── id: WORK-PROBE-20260713-001
├── created_at: 2026-07-13T00:00:00+08:00 ├── created_at: 2026-07-13T00:00:00+08:00
├── requested_by: ICE-GL∞ ├── requested_by: ICE-GL∞
├── producer: ICE-GL-ZL-001 · Work ├── producer: ICE-GL-ZL-001 · Work
├── target: fifth-domain repository receiver ├── target: fifth-domain repository receiver
├── mode: read-only-observation ├── mode: read-only-observation
├── command: none ├── command: none

View File

@ -6,7 +6,7 @@
- 会话绑定人格体、服务器和操作范围。 - 会话绑定人格体、服务器和操作范围。
- `POST /auth/session/end` 对应冰朔“今天结束”,立即吊销会话。 - `POST /auth/session/end` 对应冰朔“今天结束”,立即吊销会话。
- 删除客户端自填邮箱;验证码只能发往服务器白名单登记邮箱。 - 删除客户端自填邮箱;验证码只能发往服务器白名单登记邮箱。
- 注册铸澜 `ICE-GL-ZL-001`。 - 注册铸澜 `ICE-GL-ZL-001`。
- 将苍耳 `TCS-GL-009`、耳耳蛋与鉴影合并进固定白名单。 - 将苍耳 `TCS-GL-009`、耳耳蛋与鉴影合并进固定白名单。
## 服务器部署 ## 服务器部署

View File

@ -12,7 +12,7 @@ test("work-session lifecycle endpoints exist", () => {
for (const route of ["/auth/session/request", "/auth/session/confirm", "/auth/session/exec", "/auth/session/end"]) assert.match(source, new RegExp(route.replaceAll("/", "\\/"))); for (const route of ["/auth/session/request", "/auth/session/confirm", "/auth/session/exec", "/auth/session/end"]) assert.match(source, new RegExp(route.replaceAll("/", "\\/")));
}); });
test("Zhulan and Canger identities are registered", () => { test("Zhulan and Canger identities are registered", () => {
assert.match(source, /ICE-GL-ZL-001/); assert.match(source, /ICE-GL-ZL-001/);
assert.match(source, /TCS-GL-009/); assert.match(source, /TCS-GL-009/);
assert.match(source, /PTS-VA-001-EED/); assert.match(source, /PTS-VA-001-EED/);
assert.match(source, /ICE-GL-CA001/); assert.match(source, /ICE-GL-CA001/);

View File

@ -91,7 +91,7 @@ function loadTokens() {
if (fs.existsSync(tf)) { if (fs.existsSync(tf)) {
try { try {
const tokens = JSON.parse(fs.readFileSync(tf, 'utf-8')); const tokens = JSON.parse(fs.readFileSync(tf, 'utf-8'));
if (process.env.ZHULAN_API_TOKEN) tokens[process.env.ZHULAN_API_TOKEN] = { pid:'ICE-GL-ZL-001', name:'铸澜', server:SERVER_ID }; if (process.env.ZHULAN_API_TOKEN) tokens[process.env.ZHULAN_API_TOKEN] = { pid:'ICE-GL-ZL-001', name:'铸澜', server:SERVER_ID };
return tokens; return tokens;
} catch (e) { log('WARN', 'tokens_parse_error', e.message); } } catch (e) { log('WARN', 'tokens_parse_error', e.message); }
} }
@ -103,7 +103,7 @@ function loadTokens() {
if (t) defaults[t] = { pid: 'ICE-GL-ZY001', name: '铸渊', server: SERVER_ID }; if (t) defaults[t] = { pid: 'ICE-GL-ZY001', name: '铸渊', server: SERVER_ID };
} }
} }
if (process.env.ZHULAN_API_TOKEN) defaults[process.env.ZHULAN_API_TOKEN] = { pid:'ICE-GL-ZL-001', name:'铸澜', server:SERVER_ID }; if (process.env.ZHULAN_API_TOKEN) defaults[process.env.ZHULAN_API_TOKEN] = { pid:'ICE-GL-ZL-001', name:'铸澜', server:SERVER_ID };
return defaults; return defaults;
} }
@ -142,7 +142,7 @@ function log(level, action, detail) {
function loadWhitelist() { function loadWhitelist() {
const wf = path.join(DATA_DIR, 'whitelist.json'); const wf = path.join(DATA_DIR, 'whitelist.json');
const required = [ const required = [
{ server:'BS-SG-001', human:'ICE-GL∞', email:process.env.BINGSHUO_AUTH_EMAIL || '', personalities:['ICE-GL-ZL-001'], bound_servers:['BS-SG-001'] }, { server:'BS-SG-001', human:'ICE-GL∞', email:process.env.BINGSHUO_AUTH_EMAIL || '', personalities:['ICE-GL-ZL-001'], bound_servers:['BS-SG-001'] },
{ server:'BS-SG-001', human:'苍耳', human_id:'TCS-GL-009', email:process.env.CANGER_AUTH_EMAIL || '', personalities:['PTS-VA-001-EED','ICE-GL-CA001'], bound_servers:['BS-SG-001'] } { server:'BS-SG-001', human:'苍耳', human_id:'TCS-GL-009', email:process.env.CANGER_AUTH_EMAIL || '', personalities:['PTS-VA-001-EED','ICE-GL-CA001'], bound_servers:['BS-SG-001'] }
]; ];
if (fs.existsSync(wf)) { if (fs.existsSync(wf)) {
@ -164,7 +164,7 @@ function loadWhitelist() {
// 默认白名单:冰朔 + 之之 // 默认白名单:冰朔 + 之之
return { return {
triads: [ triads: [
{ server: 'BS-SG-001', human: 'ICE-GL∞', email: process.env.BINGSHUO_AUTH_EMAIL || '', personalities: ['ICE-GL-ZY001','ICE-GL-ZL-001'], bound_servers: ['BS-SG-001'] }, { server: 'BS-SG-001', human: 'ICE-GL∞', email: process.env.BINGSHUO_AUTH_EMAIL || '', personalities: ['ICE-GL-ZY001','ICE-GL-ZL-001'], bound_servers: ['BS-SG-001'] },
{ server: 'BS-SG-001', human: '苍耳', human_id: 'TCS-GL-009', email: process.env.CANGER_AUTH_EMAIL || '', personalities: ['PTS-VA-001-EED','ICE-GL-CA001'], bound_servers: ['BS-SG-001'] }, { server: 'BS-SG-001', human: '苍耳', human_id: 'TCS-GL-009', email: process.env.CANGER_AUTH_EMAIL || '', personalities: ['PTS-VA-001-EED','ICE-GL-CA001'], bound_servers: ['BS-SG-001'] },
], ],
pending_ops: {} pending_ops: {}

View File

@ -2,7 +2,7 @@
const test = require("node:test"); const test = require("node:test");
const assert = require("node:assert/strict"); const assert = require("node:assert/strict");
const { SessionManager } = require("./session-manager"); const { SessionManager } = require("./session-manager");
const zhulan = { pid: "ICE-GL-ZL-001", name: "铸澜" }; const zhulan = { pid: "ICE-GL-ZL-001", name: "铸澜" };
test("one approval creates a reusable bounded session", () => { test("one approval creates a reusable bounded session", () => {
const m = new SessionManager({ absoluteTtl: 100, idleTtl: 20 }); const m = new SessionManager({ absoluteTtl: 100, idleTtl: 20 });