---
slug: folium-reading-contract
kind: builds
title: Folium：三层阅读 contract
dek: 阅读、脉络与构造共享同一份 authored body，只改变周围可见的信息密度。
description: Folium v0 的 layered reading、origin authority 与 progressive enhancement contract。
publishedAt: 2026-08-25
revisedAt: 2026-08-27
status: current
statusNote: 该 contract 是 Folium 当前实现边界。
lang: zh-CN
readingMinutes: 5
featured: false
tags:
  - architecture
  - content contract
  - progressive enhancement
searchTerms:
  - Folium reading contract
  - origin authority
  - no JavaScript reading
origin:
  authority: folium
  ref: content/native/builds/folium-reading-contract.md
  revision: r1
  releaseId: null
rawPath: builds/folium-reading-contract.md
relations:
  - label: illustrated by → Reading layers diagram
    href: /objects/reading-layers-diagram/
  - label: exercised by → 让公开写作拥有自己的地址
    href: /writing/own-address/
authorNote: 这份 build 记录的是公开 surface contract，不是 private authoring workflow。
artifacts:
  - label: reading-layers.svg
    href: /objects/reading-layers.svg
    kind: SVG
revisions:
  - id: r1
    note: 固定 origin、layer 与 no-JavaScript baseline。
traceNote: Implementation 可以重构，source authority 与 authored-body cardinality 不得随之改变。
---

Folium 的 entry 只拥有一份 authored body。`阅读`、`脉络` 与 `构造` 不是三份不同稿件，也不是把正文依次交给模型扩写的三个阶段；它们是围绕同一正文打开的三种界面密度。

## Layer contract

- `阅读`只需要标题、dek、正文与正文内对象。即使 client JavaScript 完全不可用，文章也必须完整。
- `脉络`增加 status、时间位置、relations 与 author note。它可以解释正文所处的位置，不能替正文重新下结论。
- `构造`继续展示 origin、raw source、revision 与 artifacts。它是可检查性，不是第二套 authoring surface。

阅读层的选择可以保存在本地，并通过 `?view=read|context|trace` 分享。页面的 canonical URL 始终是没有 `view` query 的 entry URL。

## Authority contract

每个 entry 声明 `folium`、`prosa` 或 `project` 之一作为 origin authority。Folium-native 内容可以在 `content/native/` 内直接修订；未来从 Prosa 或 project repo 产生的 release projection 进入 `content/releases/`，该目录中的生成副本不得手工编辑。

v0 不包含 live importer、CMS、database 或 runtime fetch。这个边界让普通阅读保持完全静态，也让将来的 build-time importer 能在不改变 public URLs 的情况下接入。
