PROC-04-005 跨项目架构审计证据(2026-10-28)
2026-10-28跨项目架构复盘的只读审计附件,事实与建议分列,不构成批准决策。
本页是跨项目架构深度复盘的过程附件。观察事实、静态推断和建议分别阅读;建议不构成已批准决策,不修改既有ADR/PRD。本页集中保存版本、线上取证与未验证范围。
源码链接固定到审计记录的完整提交;未提交工作副本、无法固定的本地材料明确标注,不以相近提交替代。固定链接只证明所引源码,不证明部署、性能或真实付费验收。
证据范围与判读
采集时间为2026-10-28,Asia/Shanghai。取证方法是本地Git/工作副本只读检查,以及SSH下的容器inspect、选定非秘密配置、systemd、release metadata、制品hash/合同字符串和无凭据公共GET。未调用模型、未读业务数据库、未部署或改数据。本页保留可移植的事实摘要,不包含Cookie、完整Key、服务器私有环境文件或原媒体内容。
- Platform文本恢复路由已由无凭据GET确认挂载:真实路由401
PLATFORM_PRODUCT_REQUIRED,对照假路由200 HTML SPA;授权后的原任务恢复未验收。image label对应的提交不含实现,而实际binary含合同,来源元数据存在差异。 - Studio容器名是旧版本名称,实际image revision是90eba1a且chunk含文本恢复合同;不能凭容器名断言旧版。
- pic-vps存在9220708统一素材实例,配置桶oceanway-media-assets-cn;该源码为24小时Media授权URL,由Media GET/HEAD/Range代理TOS字节,不是十分钟TOS直签。公共status与域名吻合,精确反代上游映射未独立核验。
- 7099bc2是另一个运行中的旧FileOwner实例,不能代称公共统一素材目标。
- 一个Runtime容器处于Restarting不证明它承接当前流量、也不证明用户影响;未据此清理或重启。
源码版本清单
审计记录中的dirty计数是采集时事实,不等于这些差异都影响所引代码。迁移时可固定的链接已核对Git对象存在;有工作副本差异的引用保留明确限制。Creative AGENTS 在本轮迁移时仅末尾追加了复盘入口,所引原第8行及原正文与审计提交一致,因此仍固定到原提交;这不改变采集时 dirty=0 的记录。
| 仓库 | 固定提交 | 审计分支 | dirty条目 |
|---|---|---|---|
| Oceanway-AI/oceanway-creative | 710e20c61c82 | codex/oceanway-bootstrap | 0 |
| Oceanway-AI/oceanway-drama | 4165661abd69 | rebuild/no-runtime | 88 |
| Oceanway-AI/oceanway-platform | db801bf11c10 | main | 0 |
| Oceanway-AI/oceanway-studio | 90eba1abe43f | main | 3 |
| Oceanway-AI/oceanway-commerce | a0590570ec15 | main | 0 |
| Oceanway-AI/oceanway-runtime | 9ff79e64b6ab | main | 0 |
| Oceanway-AI/oceanway-media-gateway | 8cdf7079a6db | main | 0 |
| Oceanway-AI/temp-media-gateway | 7bf5cc18e119 | codex/media-full-capability-preset | 0 |
| Oceanway-AI/oceanway-docs | 54c436784cc6 | codex/media-files-unification | 13 |
| Oceanway-AI/oceanway-infrastructure | 8dad2f4055b0 | main | 0 |
{
"captured_at": "2026-10-28T16:16:21.711725+08:00",
"basis": "read-only checkout inspection; working files may change under other chats",
"repositories": [
{
"repository": "Oceanway-AI/oceanway-creative",
"head": "710e20c61c8243f6d1aaf24c7e5aff9428286ac1",
"branch": "codex/oceanway-bootstrap",
"dirty_entry_count": 0
},
{
"repository": "Oceanway-AI/oceanway-drama",
"head": "4165661abd69cadc0ba656983622cc6a20b8ed86",
"branch": "rebuild/no-runtime",
"dirty_entry_count": 88
},
{
"repository": "Oceanway-AI/oceanway-platform",
"head": "db801bf11c10ef7ba2987026110a95fce8681662",
"branch": "main",
"dirty_entry_count": 0
},
{
"repository": "Oceanway-AI/oceanway-studio",
"head": "90eba1abe43fc2ee76eb5cfb4f6f43f04af90f80",
"branch": "main",
"dirty_entry_count": 3
},
{
"repository": "Oceanway-AI/oceanway-commerce",
"head": "a0590570ec15ac77e895e01a536ec392a3527fbf",
"branch": "main",
"dirty_entry_count": 0
},
{
"repository": "Oceanway-AI/oceanway-runtime",
"head": "9ff79e64b6abc4069227b0293a22e9a26de2b88c",
"branch": "main",
"dirty_entry_count": 0
},
{
"repository": "Oceanway-AI/oceanway-media-gateway",
"head": "8cdf7079a6db463f5b3ef482f9ba7d9cdeff5a1f",
"branch": "main",
"dirty_entry_count": 0
},
{
"repository": "Oceanway-AI/temp-media-gateway",
"head": "7bf5cc18e119d16fbc4837af13b45d7c4e507836",
"branch": "codex/media-full-capability-preset",
"dirty_entry_count": 0
},
{
"repository": "Oceanway-AI/oceanway-docs",
"head": "54c436784cc6394bffd2bc03dd9240e5b74c8d13",
"branch": "codex/media-files-unification",
"dirty_entry_count": 13
},
{
"repository": "Oceanway-AI/oceanway-infrastructure",
"head": "8dad2f4055b056a1ec5a16e81ff3e28b2990dc5b",
"branch": "main",
"dirty_entry_count": 0
}
]
}线上只读事实摘要
{
"captured_at": "2026-10-28T16:22:22.078014+08:00",
"method": "Read-only SSH docker inspect, selected non-secret environment keys, systemd status, release metadata, artifact grep/hash; unauthenticated public GET only. No model invocation, database access or mutation.",
"platform": {
"host_alias": "oceanway",
"container": "oceanway-platform-capability-ecac00e77686",
"image": "sha256:616a9a3583cbeff11bd0b50b75a59bf87bd98a5c78f91954080ea09a3eaabd19",
"image_revision_label": "ecac00e77686f75a3a7789cc9e09cc40b8540e8d",
"binary_sha256": "4d4068f5dd49e4c84344964cc741a42d923b27b68bd103a05abeb08377b10834",
"binary_contains": [
"oceanway.text-request.v1",
"/text-requests/"
],
"media_assets_origin": "https://media.oceanway.tech",
"note": "Label commit lacks text-recovery implementation, but actual binary and unauthenticated route probe show it present. Exact full source provenance remains unresolved."
},
"studio": {
"container": "oceanway-studio-capability-38028fe50f9c",
"image": "sha256:94143f9a0821d3b24cfa344106c992818c6d784246f37979cce2b0778d943bcd",
"image_revision_label": "90eba1abe43fc2ee76eb5cfb4f6f43f04af90f80",
"compiled_contract": "oceanway.text-request.v1",
"chunk_sha256": "19b9751266bb0f7e203e09e7b990778f351e287647522681929eb26f35d29579",
"note": "Container name is stale; runtime chunk contract presence is not a paid recovery acceptance test."
},
"drama": {
"systemd": "oceanway-drama-rebuild",
"active_state": "active",
"sub_state": "running",
"api_revision": "db860424e961196abd2c063481cb7ce193a617e9",
"web_revision": "b5b9c539e43183796075449d1a63c034751081a2",
"note": "Local audit confirmed no Go behavior difference versus current 4165661 worktree.",
"release_name": "db860424e961"
},
"media_assets_instance": {
"host_alias": "pic-vps",
"container": "oceanway-media-isolated-app",
"image": "sha256:03004b6612d57b8075920745a2f48c6ac4171edb41f1d6a6e33ca090b41ec92b",
"image_revision_label": "9220708b503778fd61af4309f3c5d5deb7186e3b",
"s3_bucket": "oceanway-media-assets-cn",
"note": "Running instance and bucket configuration verified. Public media API status identifies media.oceanway.tech; exact reverse-proxy upstream mapping not independently established."
},
"legacy_file_owner_instance": {
"host_alias": "oceanway",
"container": "oceanway-storage-20261022-owner-storage-20261022-1",
"image": "sha256:f4e9b350978b320560f1430cfba72ad6839f203b1e95338d50c922ecec9fbadd",
"image_revision_label": "7099bc2a723aba885072538c8668f1c2e89e9ac7",
"note": "Separate running legacy instance; not inferred to be public media domain target."
},
"public_read_probes": [
{
"origin": "https://console.oceanway.tech",
"path": "/internal/relay/text-requests/architecture-readonly-nonexistent",
"status": 401,
"code": "PLATFORM_PRODUCT_REQUIRED"
},
{
"origin": "https://console.oceanway.tech",
"path": "/internal/relay/architecture-nonexistent/architecture-readonly-nonexistent",
"status": 200,
"content_type": "text/html; charset=utf-8"
},
{
"origin": "https://media.oceanway.tech",
"path": "/api/status",
"status": 200,
"system_name": "OceanWay Media",
"server_address": "https://media.oceanway.tech"
}
],
"additional_runtime_observation": {
"name": "oceanway-runtime-main-57753ba01cbb-runtime-api-1",
"observed_state": "Restarting (1)",
"note": "Another Runtime storage instance was healthy at same observation. No traffic ownership, root cause or user impact established; no cleanup or restart attempted."
},
"limits": [
"No cloud TOS IAM, versioning, lifecycle, encryption or object-count inspection.",
"No authenticated recovery or paid model tests.",
"No performance/load tests.",
"No proof that image labels fully describe binaries."
]
}无法固定为已提交源码的引用
以下限制仅针对引用可移植性,不抹去原审计观察,也不能当作这些实现已经消失。没有把脏工作副本伪装为HEAD固定链接。
| 类型 | 仓库或材料 | 文件 | 处理 |
|---|---|---|---|
| 工作副本有差异 | Oceanway-AI/oceanway-drama | AGENTS.md | 保留说明,不生成源码链接 |
| 工作副本有差异 | Oceanway-AI/oceanway-drama | apps/web/AGENTS.md | 保留说明,不生成源码链接 |
| 工作副本有差异 | Oceanway-AI/oceanway-drama | docs/rebuild/deployment-20261028.md | 保留说明,不生成源码链接 |
| 记录提交未包含 | Oceanway-AI/oceanway-drama | docs/integration/file-references-20261019.md | 保留说明,不生成源码链接 |
| 未提交候选 | Oceanway-AI/oceanway-runtime | 工作树 | 保留说明,不生成源码链接 |
证据限制
固定GitHub链接需要相应仓库访问权限;本轮只以本地Git对象核实文件与行号,没有逐个联网检查远端可见性。未提交候选只能留作过程事实,需其owner提交后才能形成正式制品引用。未核云端TOS IAM、版本化、生命周期、加密、对象总量;未做授权内恢复、付费生成、压测,也不证明image label完整描述binary。
本页及三个附件是2026-10-28的历史审计快照。后续实施应另行记录决定、工作包、版本与验收,不能直接把建议标为Accepted。