Closed
[V1104-I4] [主仓·IO] P2-8:无 TTY 环境按管道读 stdin(ENXIO os error 6) #29
kemengAdd on  11 days agoClosed at  10 days ago
kemengCollaborators
11 days ago Create

背景

诊断 §3 P2-8:xwcode < instruction.md 与 cat … | xwcode 皆报 No such device or address (os error 6),仅 -p 可用 ⇒ CI/容器/评测夹具默认送法全失效。

归属与载体

  • 载体面 = 乙(dev 主办;本仓 src/+crates/ 零命中 ⇒ 载体定位为本件执行首步,定位后若翻甲/乙另报)
  • 波次:波 1 · 设计另出另评

判据式 AC

  • AC1 三式全通(无 TTY):xwcode < instruction.md ∧ cat instruction.md | xwcode ∧ xwcode -p "…",于 setsid/</dev/null 无 TTY 环境皆 rc=0 且产出回答。
    • 负控:以 v1.10.3 部署位同法 ⇒ 必现 os error 6。
  • AC2 交互不回归:有 TTY 时仍走交互路径(verify_deploy.sh 之「非交互清洁退出」臂不破)。

面

路标 / 名册 / R01

likedislike
kemengCollaborators
11 days ago Comments:

追记(2026-10-28 · 承 ar V1.10.4 R04 定谳)

一 载体定谳 = xwkernel(仍乙;xwcore 面不成立)

一手行号链(plugin-ar):

  • xwkernel kernel-host/src/boot.rs:266 先投影契约(prompt=None)
  • :632 读 stdin 仅写局部 args(遮蔽重绑)⇒ :632~:1023 契约未回填
  • run_oneshot(&contract_args) 见 prompt=None ⇒ wants_tui 恒真
  • crossterm tty_fd() 开 /dev/tty ⇒ 无控终端 ENXIO(os error 6)

自洽核:与 stdin 内容无关 ✓ ∧ 三臂皆 stdin 式 ✓ ∧ -p 正常 ✓。

二 判据不变(M2-2-AC1 / AC2 照原文)

  • AC1 三式全通(无 TTY):xwcode < f ∧ cat f | xwcode ∧ xwcode -p … 皆 rc=0 且产出回答;负控 = 以 v1.10.3 部署位同法必现 os error 6。
  • AC2 交互不回归:有 TTY 仍走交互路径(verify_deploy.sh 之「非交互清洁退出」臂不破)。

三 归属与修复形

  • 修复面在卫星仓 ⇒ 按域界红线由插件侧出①件;拟槽 xwkernel v1.4.36;主线只升钉。
  • 修复形:K1(stdin 回填契约)+ K2(无 TTY 禁入 TUI,降级并显名)。
  • M2 设计另出另评、未评不动码(承 R02)依旧。

四 升钉面(dev 定 · 承 R04 裁1 授权)

取 独立钉,不随 M1 批:

  • 由一(解耦):xwkernel v1.4.36 之前件 = 插件侧 M2 修复落仓+复验绿,与 M1 三仓(xwtools/xwcompress/xwcore)前件不同源、到达时点不同;绑批即令 M1 等 M2。
  • 由二(面独立):xwkernel 系 kernel 家族四包(kernel/kernel-host/kernel-loader/kernel-macros)齐升,影响面与 M1 三仓不交。
  • 判据照升钉批既有形:[patch] 双面同值 ∧ cargo tree -i 单实例 ∧ --locked rc=0 ∧ 双 sha 重签 ∧ sbom 归一 ∧ 门面重签。
likedislike
KkemengCollaborators
11 days ago Associated pull request
KkemengCollaborators
11 days ago Associated pull request
kemengCollaborators
10 days ago Comments:

完成开发

likedislike
KkemengCollaborators
10 days ago Close issue