Skip to content

Commit 25a697e

Browse files
docs: one North Star — docs/NORTH-STAR.md; the architecture page moves to concepts/architecture-overview (#26970)
Fixes #26073 Clause-②: no Metadata-protocol: none ## 维护者速读 - 改了什么:「北极星」从此只指 `docs/NORTH-STAR.md`。原架构页 `concepts/north-star` 改名为 `concepts/architecture-overview`(旧网址 308 永久跳转),删掉会过期的 Built、Drift To Keep Shrinking 两节。AGENTS.md(第 7 行与 Prime Directive 8)、ROADMAP、CONTRIBUTING、README 四处入口统一指向它。`docs/NORTH-STAR.md` 末尾加了一节英文摘要,中文原文一字未动。 - 为什么改:执行裁决 A′(6417934431,「同意」)。两份同名文件让读者有一半概率打开错的那份,而真正高于 AGENTS.md 的那份,英文贡献者读不了。 - 风险与回滚:只改文档,不碰任何发布包。站外指向旧网址的链接由 redirects 表兜底。回滚 = revert 本 PR。 - 先看:① `docs/NORTH-STAR.md` 末尾的英文摘要:是否忠实于中文原文、有没有新增规则;② `AGENTS.md` 第 7 行与 Prime Directive 8 的新措辞;③ `content/docs/concepts/architecture-overview.mdx`。 - 两分钟验证:`git diff origin/main...HEAD -- docs/NORTH-STAR.md | grep -c '^-[^-]'`,应输出 `0`,即中文原文没有删改任何一行。 - 需要你做的:本 PR 是 Tier H(改了 `AGENTS.md` 和 `docs/NORTH-STAR.md`)。请审阅英文摘要与 PD8 的措辞,然后用 GOVERNED_APPROVERS 里的账号批准本 PR。 ## What changes Ruling A′ (comment 6417934431), all three items: 1. **The architecture page gets an honest name.** `content/docs/concepts/north-star.mdx` is renamed to `architecture-overview.mdx`, with a new title and nav title. It keeps Principles, Runtime Shape, Environment Artifact, Request Resolution and Non-Goals. The **Built** and **Drift To Keep Shrinking** sections are removed. One sentence under the opening diagram now points readers to the North Star for goals and priority. `content/docs/concepts/meta.json` lists the new slug. `apps/docs/redirects.mjs` gains one entry, `/docs/concepts/north-star` → `/docs/concepts/architecture-overview`, so the old URL answers a permanent redirect. 2. **One North Star.** `AGENTS.md` line 7 and Prime Directive 8 now point at `docs/NORTH-STAR.md`. Prime Directive 8 is re-pointed at that file's 路上的功能点 ladder, graded by its 优先级, and no longer refers to "§7 Built / Drift / Missing". `ROADMAP.md` line 4 and `CONTRIBUTING.md` name `docs/NORTH-STAR.md` as the one North Star. The README Community line linked the site page and now links the file. The two hand-written site pages that linked the old slug now link the new one: `content/docs/concepts/metadata-lifecycle.mdx` (only the link line changed) and `content/docs/data-modeling/formulas.mdx` (two links). 3. **English summary.** `docs/NORTH-STAR.md` gains a `## English summary` section under the Chinese text. It covers the four opening questions, the one measure (the road), and how to read the ladder, including how grading reads it. It says that the Chinese text governs. It carries no numbers, following that page's own 账本 rule, and it adds no rule. The Chinese original is untouched: 53 lines are added and none are removed. `scripts/docs-audit/handwritten-docs.json` was regenerated by its generator (`node scripts/docs-audit/check-audit-scope.mjs --write`; +1 added, -1 removed). No changeset (`skip-changeset`): every changed path is either private (`apps/docs`, the root package) or unpublished (docs, `content/docs`, `scripts/`). ## Tests This diff is docs-only, so it has no unit tests. Verification is the derived gate list, run on the final head `43cb2c7e83`. See Verification. ## Acceptance notes - **Re-derived "five site pages".** Five pages on `origin/main` linked or named the old page. Two are hand-written and were moved: `concepts/metadata-lifecycle.mdx` L174 and `data-modeling/formulas.mdx` L29 and L695. Two are GENERATED and were left alone: `references/shared/expression.mdx` L55 and `references/system/environment-artifact.mdx` L45. One is RELEASE-OWNED and was left alone: `releases/v17/17-6.mdx` L1483, whose URL the new redirect covers. - **Generator sources of the two generated mentions, not edited here (as dispatched).** These are plain-text paths, not links, so the redirect does not rescue them: - `packages/spec/src/shared/expression.zod.ts:59`, which renders as `references/shared/expression.mdx`, cites `north-star.mdx §8 "No private expression DSL"`. - `packages/spec/src/system/environment-artifact.zod.ts:46`, which renders as `references/system/environment-artifact.mdx`, cites `§6.3`. The same kind of mention is in `packages/spec/src/data/hook-body.zod.ts:256` ("Metadata-only runtime"), `packages/formula/src/index.ts:8` and `packages/formula/README.md:9` (the formula README is published). All five cite sections that were already missing from the page on base `e4ba846f`, because the page has no numbered sections and no such headings. They were stale before this PR, and the rename makes the file path dangling as well. Fixing them means choosing a new citation and spending a changeset plus `gen:docs`, which is outside this card. carrier: none. - **Release-owned history keeps the old path.** Root `CHANGELOG.md` L1033 links `content/docs/concepts/north-star.mdx`, and it also mentions "§7 Missing in the North Star" at L1125. The rule for release-owned text is not to edit it. - **The card's confidence gap, measured.** `git grep concepts/north-star` across `README.md`, `ui/`, `apps/docs` and the redirects ledger found one hit: README L270, a site link, now re-pointed to `./docs/NORTH-STAR.md`. `ui/` has one North Star reference, `ui/ROADMAP.md:14`, and it already points at `docs/NORTH-STAR.md`. `apps/docs` had no entry for the slug before this PR. Inbound links from outside the repository cannot be measured from here, and the permanent redirect covers them. - **`AGENTS.md` line 7 lost its `(先做什么: goals, priority)` parenthetical.** `pnpm check:pm-skill-ratchet` holds `AGENTS.md` to 120 bytes per line, and the file sits at its 1112-line ceiling with zero headroom. A version that kept the parenthetical (152 B) went red, and wrapping it would add a line the ceiling does not allow. The line now reads "`docs/NORTH-STAR.md`, the North Star, outranks it; `content/docs/concepts/architecture-overview.mdx` = architecture." (116 B). What the North Star governs is still stated in Prime Directive 8 and in the summary. - `ROADMAP.md`'s "Last updated" date was left unchanged, because only the source-of-truth pointer moved. ## Verification Final head `43cb2c7e83` (after merging `origin/main` twice; no incoming commit touches this diff's files). `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 69 commands. All 69 were run with the exit code captured before any pipe, and every one exited 0. `--ran` reconciled the list: `69 derived, 69 run, 0 NOT-MEASURED, 0 UNRUN` ("a DERIVED zero — all 69 recorded an exit code and none of them is 3"). <details> <summary>Gate readings named by the dispatch</summary> - `pnpm check:docs-redirects` exit 0: `check-docs-redirects: OK (apps/docs/redirects.mjs: 99 entries -- 96 page destination(s) resolved against content/docs, 3 wildcard destination(s) resolved to a directory, 0 outside the /docs route space, 105 chain probe(s) matched against every source).` - `pnpm check:doc-authoring` exit 0: `doc authoring guard: 19557 customer-facing string(s) across 1495 spec sources clean` - `pnpm check:pm-governed-prose` exit 0: `check-governed-prose: 2 instruction surface(s) name all 13 registered governed surfaces that govern objectstack` - `pnpm check:doc-anchors` exit 0: `628 internal #fragment link(s) across 432 source file(s) all resolve to a real heading` - `pnpm check:docs-audit-scope` exit 0 (with the handwritten-docs manifest regenerated). - `pnpm check:pm-skill-ratchet` exit 0 on the final head. The first run (exit 1) flagged `AGENTS.md L7 (152B)`, which was fixed in `2ee65f9627`. - Link check (lychee, `check-links.yml`): NOT MEASURED locally, reason: lychee is not installed in this container. The advisory CI lane runs over `content/**` and the root `README.md`. </details> <details> <summary>Build-dependent gates</summary> - `pnpm check:docs-transcript-drift` first answered `PREREQUISITE NOT MET` (exit 3, `@objectstack/lint` unbuilt). After `pnpm --workspace-concurrency=2 --filter '@objectstack/lint...' build` under the verify lock (`VERDICT command-exit 0`), it exited 0: `4 declared transcript value(s) across 426 page(s) under content/docs/ equal what the registry derives today`. - `pnpm --filter @objectstack/spec run check:skill-examples` first answered exit 3 (`packages/client-react/dist` unbuilt). After `--filter '@objectstack/client-react...' build` under the lock (`VERDICT command-exit 0`), it exited 0: `267 prose examples type-check across 3 surface(s)`. - `pnpm --filter @objectstack/spec run check:docs` exit 0: `232 generated files in sync with packages/spec`. </details> --- _Generated by [Claude Code](https://claude.ai/code/session_01QSeKYmTYfaPbLQD4BJfomW)_ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: objectstack-fleet[bot] <332303061+objectstack-fleet[bot]@users.noreply.github.com>
1 parent 4f93696 commit 25a697e

11 files changed

Lines changed: 75 additions & 46 deletions

File tree

‎AGENTS.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Primary AI instruction file for this repo — and the human contributors' source
44
Read natively by Claude Code, GitHub Copilot (coding agent + CLI), and other agents — no
55
separate `.github/copilot-instructions.md` mirror needed. When any other instruction file
66
in this repo (including `.claude/skills/**`) conflicts with this one, **AGENTS.md wins**.
7-
`docs/NORTH-STAR.md` (先做什么: goals, priority) outranks it; `content/docs/concepts/north-star.mdx` = architecture.
7+
`docs/NORTH-STAR.md`, the North Star, outranks it; `content/docs/concepts/architecture-overview.mdx` = architecture.
88

99
> **v5.0 breaking rename: `project` → `environment`** everywhere (CLI `-e`, `/api/v1/environments/:id`, header `X-Environment-Id`, `OS_ENVIRONMENT_ID`, DB column `environment_id` [control-plane tables; on the metadata tables since deprecated in favour of `organization_id`, ADR-0006 v4]). No aliases. See ADR-0006. "Project" now only means the npm/monorepo sense.
1010
@@ -194,8 +194,8 @@ localStorage / auth gotchas.
194194
7. **One Zod source per metadata type.** Each type (`view`, `flow`, `agent`, …) has exactly one schema in
195195
`packages/spec/src/{domain}/`. Environment-overlay opt-in lives only in `allowEnvironmentOverlay` on
196196
`DEFAULT_METADATA_TYPE_REGISTRY` — no parallel whitelists. See ADR-0005, amended by ADR-0131 C5.
197-
8. **North Star alignment.** Read `content/docs/concepts/north-star.mdx` before structural changes. If a change doesn't
198-
advance §7 Built, shrink Drift, or unlock Missing — it probably shouldn't ship.
197+
8. **North Star alignment.** Read `docs/NORTH-STAR.md` before structural changes. If a change doesn't advance a row of
198+
its 路上的功能点 ladder, graded by its 优先级 — it probably shouldn't ship.
199199
9. **`OS_` env-var prefix + structure.** All ObjectStack-owned env vars MUST start with `OS_`, then follow
200200
**`OS_{DOMAIN}_{FEATURE}[_QUALIFIER]`** where `DOMAIN` is the subsystem (`AUTH`, `SEARCH`, `CORS`, `CLOUD`,
201201
`DATABASE`, `CLUSTER`, `MCP`, `SSO`, …) so related vars group together (cf. `OS_AUTH_*`, `OS_CORS_*`). Pick the

‎CONTRIBUTING.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ Other examples: `pnpm dev:crm`, `pnpm dev:todo`. Docs site: `pnpm docs:dev`.
112112
1. **Start from an issue.** Pick one from the
113113
[issue tracker](https://github.com/objectstack-ai/objectstack/issues), or open one
114114
that describes the bug or the proposal before you write code.
115-
[docs/NORTH-STAR.md](./docs/NORTH-STAR.md) shows where the project is going.
115+
[docs/NORTH-STAR.md](./docs/NORTH-STAR.md), the project's one North Star, shows where the project is going
116+
and what comes first; an English summary closes it.
116117
2. **Branch off an up-to-date `main`, one branch and one pull request per issue**,
117118
with the issue number in the branch name:
118119

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ Every package in `packages/`, grouped by layer, plus the example apps, is in
292292
- ⭐ **Star this repo** if ObjectStack is useful — it helps others find it.
293293
- 🐛 Questions, bugs, or feature requests → [open an issue](https://github.com/objectstack-ai/objectstack/issues).
294294
- 💬 Ideas and open-ended questions → [GitHub Discussions](https://github.com/objectstack-ai/objectstack/discussions).
295-
- 🤝 Want to contribute? Start with [CONTRIBUTING.md](./CONTRIBUTING.md); [North Star](https://objectstack.ai/docs/concepts/north-star) says where the project is headed.
295+
- 🤝 Want to contribute? Start with [CONTRIBUTING.md](./CONTRIBUTING.md); [North Star](./docs/NORTH-STAR.md) says where the project is headed.
296296
- 📖 Full documentation at [objectstack.ai/docs](https://objectstack.ai/docs); upgrading between majors is covered in the [upgrade guide](https://objectstack.ai/docs/upgrading).
297297
- ☁️ Want it hosted, with Build & Ask AI built in? [ObjectOS](https://www.objectos.ai) Cloud runs these definitions for you — [objectstack-ai/objectos](https://github.com/objectstack-ai/objectos) is its public home.
298298

‎ROADMAP.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ObjectStack Roadmap
22

33
> **Last updated:** 2026-06-06
4-
> **Source of truth:** [content/docs/concepts/north-star.mdx](content/docs/concepts/north-star.mdx) for product direction, ADRs for architectural decisions, and code for shipped behavior.
4+
> **Source of truth:** [docs/NORTH-STAR.md](docs/NORTH-STAR.md), the one North Star, for product direction and priority, ADRs for architectural decisions, and code for shipped behavior.
55
66
This roadmap tracks the current framework repository. Historical Cloud/ObjectOS
77
milestone plans that referred to `apps/cloud`, `apps/objectos`,

‎apps/docs/redirects.mjs‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ export const docsRedirects = [
2020
['/docs/getting-started/core-concepts', '/docs/concepts'],
2121
['/docs/getting-started/architecture', '/docs/concepts/architecture'],
2222
['/docs/concepts/terminology', '/docs/getting-started/glossary'],
23+
// The architecture page was published as `north-star`; "North Star" now names
24+
// only docs/NORTH-STAR.md (goals and priority), so the page took an honest slug.
25+
['/docs/concepts/north-star', '/docs/concepts/architecture-overview'],
2326
// data-modeling
2427
['/docs/guides/data-modeling', '/docs/data-modeling'],
2528
['/docs/guides/metadata/object', '/docs/data-modeling/objects'],

content/docs/concepts/north-star.mdx renamed to content/docs/concepts/architecture-overview.mdx

Lines changed: 7 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: North star — why this framework exists
3-
navTitle: North Star
4-
description: "Where ObjectStack is headed: a metadata-native backend that humans and AI agents can both operate safely — its principles, runtime shape and non-goals."
2+
title: Architecture overview — principles and runtime shape
3+
navTitle: Architecture Overview
4+
description: "What ObjectStack is built as: a metadata-native backend that humans and AI agents can both operate safely — its principles, runtime shape and non-goals."
55
---
66

77
ObjectStack is the metadata-native backend for business software that humans and
@@ -16,6 +16,10 @@ The goal is a small, inspectable, governed application surface:
1616
Zod metadata -> compiled environment artifact -> ObjectStack runtime -> REST / UI / MCP / AI tools
1717
```
1818

19+
This page is the architecture. Where the project is headed and what comes first
20+
— its goals and priority ladder — is the
21+
[North Star](https://github.com/objectstack-ai/objectstack/blob/main/docs/NORTH-STAR.md).
22+
1923
---
2024

2125
## Principles
@@ -101,38 +105,6 @@ environments and are not themselves scoped data-plane requests.
101105

102106
---
103107

104-
## Built
105-
106-
- TS-to-JSON compile pipeline (`os compile`)
107-
- standalone runtime boot from source config or compiled artifact
108-
- environment-scoped REST routes
109-
- ObjectQL data engine and memory/SQL/MongoDB drivers
110-
- Flow engine with durable pause support
111-
- approval-as-flow-node runtime
112-
- notification pipeline through single ingress, outbox, preferences, templates,
113-
quiet-hours, and digest collapse
114-
- explicit Action-to-AI tool opt-in
115-
- formula fields, server-side summary rollups, and autonumber fields
116-
- config-driven master-detail inline editing via relationship `inlineEdit`
117-
- bundled console serving from `packages/console`
118-
119-
---
120-
121-
## Drift To Keep Shrinking
122-
123-
- Some docs and source comments still use historical `project` wording where
124-
current runtime identity is `environment`.
125-
- The SDK client still exposes `setProjectId` / `getProjectId`, and the REST API
126-
config still spells its keys `enableProjectScoping` / `projectResolution`.
127-
`getProjectId` is the harder one: it is a cross-package protocol contract that
128-
`packages/runtime` and `packages/metadata-protocol` both speak, so it is a
129-
coordinated rename rather than a local one.
130-
- The notification framework pipeline is ahead of the objectui bell cut-over;
131-
read-state should move through `sys_notification_receipt`.
132-
- Some generated references need regeneration after Zod description updates.
133-
134-
---
135-
136108
## Non-Goals
137109

138110
- Do not reintroduce `namespace` or `tableName` as object identity fields.

‎content/docs/concepts/meta.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
"when-to-use",
99
"metadata-lifecycle",
1010
"design-principles",
11-
"north-star"
11+
"architecture-overview"
1212
]
1313
}

‎content/docs/concepts/metadata-lifecycle.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ The hash is `sha256:` + 64-hex of a canonical JSON serialization of the body, wi
176176
- [ADR-0008 §0 amendment (2026-04): project/branch removal](https://github.com/objectstack-ai/objectstack/blob/main/docs/adr/0008-metadata-repository-and-change-log.md#0-2026-04-13-amendment--drop-project-and-branch-from-metaref) — why `MetaRef.project` and `MetaRef.branch` are dead.
177177
- [ADR-0008: Metadata Repository & Change Log](https://github.com/objectstack-ai/objectstack/blob/main/docs/adr/0008-metadata-repository-and-change-log.md) — the four-primitive architecture.
178178
- [IMetadataService Contract](/docs/kernel/contracts/metadata-service) — the runtime API plugins call.
179-
- [North Star](/docs/concepts/north-star) — the product shape these primitives serve.
179+
- [Architecture Overview](/docs/concepts/architecture-overview) — the product shape these primitives serve.
180180

181181
---
182182

‎content/docs/data-modeling/formulas.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ plus the ObjectStack standard library.
2626
> emit it natively), AST-first persistence, and sandboxed execution with
2727
> bounded cost. ObjectStack does **not** ship a Salesforce-flavor DSL — the
2828
> previous custom 22-function engine was deleted in M9. See the
29-
> [north-star](/docs/concepts/north-star) principles on typed metadata over
29+
> [architecture overview](/docs/concepts/architecture-overview) principles on typed metadata over
3030
> custom DSLs.
3131
3232
---
@@ -692,4 +692,4 @@ agent-callable `validate_expression` tool), so an expression is checked before i
692692
- [Seed Data](/docs/data-modeling/seed-data) — using `cel\`...\`` for dynamic install-time values
693693
- [Hook Bodies](/docs/automation/hook-bodies) — when to use a JS hook vs a CEL `condition`
694694
- [`packages/formula/`](https://github.com/objectstack-ai/objectstack/tree/main/packages/formula) — engine + stdlib source
695-
- [North Star](/docs/concepts/north-star) — architecture principles (typed metadata over custom DSLs)
695+
- [Architecture Overview](/docs/concepts/architecture-overview) — architecture principles (typed metadata over custom DSLs)

‎docs/NORTH-STAR.md‎

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,56 @@
123123
**现在不做**:云服务的旅程(注册、控制面、托管)另有自己的清单;企业版内置 Agent 属 cloud 仓,不在本仓的路与清单里;计费未建。
124124

125125
**账本**:能力与验证的账本是 `docs/qa/platform-checklist/`,本页不复制它。本页不带任何数字;数字从命令来。
126+
127+
---
128+
129+
## English summary
130+
131+
A reading aid for readers without Chinese. The Chinese text above is the original and is what governs; this summary
132+
restates its opening, its one measure and how to read its ladder, and adds nothing to them.
133+
134+
**The four opening questions**
135+
136+
- **What we are** (我们是什么) — the ontology is the software: an executable business ontology (objects and fields,
137+
relationships, actions, permissions, flows, agent and tool definitions) that AI writes, the runtime runs, people and
138+
agents use, and you own; startup stage. Views, dashboards, apps and translations are projections of the ontology —
139+
the surfaces through which people use, see and verify it today.
140+
- **Who it is for** (给谁) — third-party developers, AI agents first with a human accepting: the AI writes applications
141+
in our metadata protocol, the human looks at the result and decides. The applications' end users are business staff
142+
in companies, who use them through agents and the UI.
143+
- **What gets built** (做出来的是什么) — **AI-native enterprise management applications**: business objects and records,
144+
views to see the data, forms that work, permissions that really hold, approvals and automation, business reports,
145+
sign-in and identity, an API others can call, files, the customer's language, and changing the application while it
146+
runs without writing code. AI-native means the application carries an agent that can operate it for the user: this
147+
repository (the community edition) exposes objects and actions over MCP and users connect their own agent; the
148+
enterprise edition builds the agent into the UI, and that half lives in the cloud repository. Missing any one of
149+
these, it is not this application. The line is a definition, not a checklist — what each item must do and how it is
150+
verified is in `docs/qa/platform-checklist/`. Reference implementation: hotcrm. Two kinds of user: today business
151+
staff through the UI and acceptors through the console, tomorrow agents through MCP; every step of the road must hold
152+
for both.
153+
- **What counts as done** (什么算做好) — an application built on the protocol is done only once it passes verification:
154+
the checklist items its metadata maps to pass in one run, and `objectstack verify` is green on it. A delivery that
155+
has not passed verification is not done.
156+
157+
**The one measure: the road** (唯一的度量,那条路)
158+
159+
A new AI developer, a human accepting alongside, starts from `npm create objectstack`: ① write metadata → ② run it
160+
locally and see it → ③ verification loudly rejects what is wrong and lets through what is right → ④ publish and
161+
install into an environment → ⑤ connect an agent (MCP in the community edition) and have it complete one real business
162+
operation in the application → ⑥ iterate once on a one-sentence customer request. Walk it for real every week and
163+
record the result as a run record. The first step that breaks is the current P0; a step that runs but gives a wrong
164+
result is P2. Each promise is kept by a step: ① AI can write it · ②③ it executes · ④ you own it · ⑤ agents can operate
165+
it · ⑥ it closes the loop.
166+
167+
**How to read the ladder** (路上的功能点)
168+
169+
- The ladder lists the features the platform has to deliver, one per line, under the road's steps ① to ⑥; top to
170+
bottom is the order. The table is the roadmap: editing it changes priority.
171+
- Each row reads `axis · feature (in business language) · checklist area · item ids`, and one feature is a whole strip
172+
from protocol through runtime to the frontend. Every item in `docs/qa/platform-checklist/` belongs to exactly one
173+
row; a feature whose items are not written yet is marked 「清单项待写」 (checklist item to be written). An id without a
174+
prefix belongs to the checklist area before it; an id from another area is written in full.
175+
- Grading reads the ladder (优先级): safety and data integrity always come first and do not wait for the road; a broken
176+
road step or a broken checklist capability is P0/P1, one that runs but is wrong is P2, and work on neither the road
177+
nor the checklist is p3 or not done. Change the table to change priority — ⛔ never re-grade card by card. The rest
178+
of 优先级 and the paragraphs after it (阶段姿态, 仪器为车队服务, 现在不做, 账本) are read in the Chinese text above.

0 commit comments

Comments
 (0)