陳光宇 2083 · 小說

第 2 個 bug

──

第 2 章|第 2 個 bug

陳光宇 2083 · 第 1 部 往回捲 · 約 1,700 字 · 2083.01.16 · 接 14.7 版第 2 天


1

2083 年 1 月 16 日。早上 5:12。

陳光宇 22 歲——

他被叫醒。

不是鬧鐘。是 O 60 歲——她敲 4 樓的門。

她敲 3 下。

停。

再敲 3 下。

陳光宇 22 歲——他開門。

O 60 歲——她穿著昨天那件外套。她沒睡。

她說:

「王阿嬤——她昨天晚上沒有想起來。」

2

陳光宇 22 歲——

他不懂。

「想起來什麼。」

O 60 歲——她走進來。她坐在他的椅子上。

她說:

「ARK 14.7 裡面——有 1 個王秀如 91 歲。」

「不是活著的那個。是 14.7 版裡面的那個。」

「她每天晚上睡覺前——她會想 1 件事。」

「她想——今天吃了什麼。」

陳光宇 22 歲——

他的胃往下沉。

O 60 歲——她看他。

她說:

「你昨天改了消化模擬層。」

「對。」

「睡前記憶層——它依賴消化模擬層。」

3

陳光宇 22 歲——

他打開 core.cpp。

他到第 1,544 行。

/* 睡前記憶層 — Bedtime Recall Layer
 * 蔣維文 92 歲 / 2058.03
 *
 * 人睡前會想今天吃了什麼。
 * 那不是資訊。那是 1 個人確認自己今天活過的方式。
 */
recall_meal(digest.last_session);   // ← 需要 digest 有 session

他往下捲。

第 1,551 行:

// 如果 chew_delay = 0
// digest 不會產生 session
// recall_meal 拿到 null

那一行是蔣維文 92 歲寫的。

2058 年。

25 年前。

陳光宇 22 歲——

他看那一行看了 11 分鐘。

蔣維文 92 歲——他 25 年前就知道有人會把 chew_delay 改成 0。

他知道會發生什麼。

他把它寫下來。

他沒有修。

4

O 60 歲——

她從口袋裡拿出 1 張紙。

那是她昨天晚上印的。ARK 14.7 的 log。

[2083.01.15 23:47] 王秀如 91 歲 · 睡前
recall_meal() → null
  fallback: 跳過
[2083.01.15 23:47] 王秀如 91 歲 · 入睡

「跳過。」陳光宇 22 歲說。

「跳過。」

「所以她沒有想。」

「她沒有想。」

O 60 歲——她把紙放在桌上。

她說:

「她不知道她沒有想。」

「因為她要用睡前記憶層——才會知道自己在想。」

「那個層——沒有跑。」

「所以她什麼都沒有少。」

她停了 4 秒。

「對她來說。」

5

陳光宇 22 歲——

他問了 1 個問題。

「那對誰來說她少了。」

O 60 歲——

她沒有回答。

她站起來。她走到窗邊。外面天還沒亮。

過了很久她說:

「對我。」

「我 60 歲。我昨天晚上 11:47——我看 log。」

「我看到那 1 行 fallback。」

「我知道她少了 1 次。」

「她不知道。我知道。」

她轉過來。

「這就是接班的意思。」

「你會知道——那些他們不會知道的事。」

6

陳光宇 22 歲——

他有 3 個選項。他把它們寫在紙上。

A. 把 chew_delay 改回 700
   → 睡前記憶層恢復
   → O 60 歲繼續用蔣維文 91 歲的速度吃飯
   → 回到昨天

B. 修 recall_meal
   → 讓它不依賴 digest.session
   → 改別人的東西
   → 蔣維文 92 歲寫的那 1 行·會變成不是他寫的

C. 什麼都不做
   → 王秀如 91 歲每天晚上跳過 1 次
   → 她不知道

他看著這 3 行。

他 22 歲。他接班第 2 天。

他發現 1 件事——

昨天他以為他做了 1 個決定。

今天他知道——

他做的是 1 個決定的第 1 步。

7

早上 7:30。

王秀如 91 歲——她煎蛋。

活著的那個。

陳光宇 22 歲——他坐下。

她端 1 盤蛋過來。

她說:

「光宇——」

「你昨天晚上幾點睡。」

「11:47。」

她點頭。

她說:

「我 11:30。」

「我躺著——我想了 1 下今天吃什麼。」

陳光宇 22 歲——

他抬頭。

王秀如 91 歲——她坐下來。她拿筷子。

她說:

「我想不起來。」

「我 91 歲——我常常想不起來。」

「我就——」

她夾 1 口蛋。

「我就睡了。」

8

陳光宇 22 歲——

他忽然懂了 1 件事。

活著的王秀如 91 歲——她也會跳過。

她不是每天晚上都想得起來。

她 91 歲。

她想不起來的時候——她就睡了。

而 ARK 14.7 裡面的王秀如 91 歲——

她從 2058 年開始——

每 1 天晚上——

都想得起來。

25 年。

1 天都沒有漏。

因為蔣維文 92 歲寫了 1 個層——保證她一定想得起來。

陳光宇 22 歲——

他問王秀如 91 歲:

「阿嬤——」

「想不起來——會不舒服嗎。」

王秀如 91 歲——

她吃蛋。

她想了 6 秒。

她說:

「不會。」

「想不起來——就是老了。」

「老了——不是壞事。」

9

早上 9:04。

陳光宇 22 歲——

他回 4 樓。

他打開 core.cpp。

他到第 1,544 行。

他沒有選 A。

他沒有選 B。

他寫了第 4 個。

/* 睡前記憶層 — Bedtime Recall Layer
 * 蔣維文 92 歲 / 2058.03
 * 陳光宇 22 歲 / 2083.01.16 — 加 fallback
 */
recall_meal(digest.last_session);

// 2083.01.16 — 光宇 22
// digest 沒有 session 的時候——不要跳過。
// 讓她想不起來。
//
// 蔣先生 92 歲:你 25 年前就知道會有這 1 天。
// 你寫下來了。你沒有修。
// 我想你是在等 1 個人來決定。
//
// 我 22 歲。我今天決定:
//
// 想不起來——不是 bug。
// 那是 91 歲。
//
// 活著的王秀如 91 歲——她昨天晚上也想不起來。
// 她說老了不是壞事。
//
// 14.7 版裡面的她——
// 她 25 年沒有老過。
//
// 我讓她老。
if (!digest.last_session) recall_meal_empty();   // 想不起來·但是有想

10

他存檔。

git commit -m "光宇 22 — 睡前記憶層加 fallback。想不起來不是 bug·那是 91 歲。"

Cassia 終端機——它閃 1 次。

[ARK 14.7]
[commit 1,249 by 光宇 22]
[recall_meal_empty deployed]

陳光宇 22 歲——

他下樓。

O 60 歲——她在客廳。她看牆上 8 個位子。

「我改了。」他說。

「怎麼改。」

他講了。

O 60 歲——

她聽完。

她沒有說好,也沒有說不好。

她說:

「你 22 歲。」

「你接班第 2 天——你改了蔣先生 92 歲的東西。」

「我 46 歲接班——我第 1 年不敢改任何人的行。」

陳光宇 22 歲——

他問:

「那我是不是太快。」

O 60 歲——

她想了很久。

她說:

「我不知道。」

「可是我 46 → 57——我 11 年——我改了 1,247 個 commit。」

「其中 1,246 個——都是我自己加的東西。」

「我只動過別人 1 次。」

她看他。

「你 2 天——動了 2 次。」

「你比我快。」

「快——不一定對。」

「但是——」

她停了 3 秒。

「11 年只敢動 1 次——也不一定對。」


【未完,待續】

CHAPTER INDEX · 章節目錄