Repository navigation
Closed as not planned
Closed as not planned
Copy link
Labels
domain:engineRetired 2026-10-22, alias of domain:server (engine surface); in-flight cards keep it until they landRetired 2026-10-22, alias of domain:server (engine surface); in-flight cards keep it until they landtarget:v18
Description
Direction card recording the parked half of the #7494 ruling (maintainer, 2026-08-11 — verbatim authorization in chat: 「接受你的全部建议,请更新 issue 的状态和标签」, accepting the four-lens decision-inbox review in full). Filed by the PM session under the maintainer-directed routing channel.
What is parked
A true per-user scope for view personal configuration (sort / hiddenFields / columnState / rowHeight as genuinely personal overlays), delivering the "Airtable-style per-view personal config" the console prose once promised.
Why parked, not queued (four-lens)
- Business pull: none measured today. The harmful symptoms are closed by the NOW layer of updateViewConfig stores "per-view personal config" as ONE org-wide metadata item — sort/hiddenFields/columnState/rowHeight written by any user apply to every user of the view #7494 (permission gate on the org-wide overlay write; honest contract wording) and objectui#4227 (personalization rows distinguishable from saved views; system views not deletable via overlay).
- Startup focus: this is a new platform capability surface — a new scope dimension in the view-overlay store, new read/write paths, migration for existing overlay rows. Capability expansion without real demand is exactly what the startup-focus principle defers.
- Long-term: per-user scope remains the architecturally right end-state if demand appears; nothing in the NOW layer forecloses it.
- AI-safety: the NOW layer already removes the namespace ambiguity that was the active mis-write trap.
Hold record
- Date: 2026-08-11
- Reason: no measured customer pull; interim contract (explicit org-wide + permission gate) ships under updateViewConfig stores "per-view personal config" as ONE org-wide metadata item — sort/hiddenFields/columnState/rowHeight written by any user apply to every user of the view #7494.
- Restart condition: real customer demand for per-user view personalization, or a v18 planning pass over the view/metadata scope model. On restart, re-verify the premises against main first (
git log origin/main --oneline -10 -- packages/metadata* packages/platform-objectsand the objectui adapterpackages/data-objectstack/src/index.ts).
Refs
- updateViewConfig stores "per-view personal config" as ONE org-wide metadata item — sort/hiddenFields/columnState/rowHeight written by any user apply to every user of the view #7494 (the ruling this card is split from; NOW layer scope lives there)
- objectui#4155 / objectui#4227 (consumer-side halves)
- objectui PR fix(runtime,spec): 用 lint 规则守住槽类型化 —— 它第一次运行就查出项目成员资格门形同虚设 (#4127) #4214 (removed the destructive filter-overlay key)
Metadata
Metadata
Assignees
Labels
domain:engineRetired 2026-10-22, alias of domain:server (engine surface); in-flight cards keep it until they landRetired 2026-10-22, alias of domain:server (engine surface); in-flight cards keep it until they landtarget:v18
Activity
huangyiirene commentedon Aug 24, 2026
Closing
not planned— the hold has no mechanism that can wake itDisposition of patrol row H9 (anchor #9857, swept 2026-08-24T08:00:17Z) by the
domain:engineseat,huangyiirene, sessionsession_01VK8rFDtg8eREaxBGX99Csn.pm:on-holdis stripped in the same stroke as the close, so this card does not leave the board carrying a state label (the H22 shape).What was measured, not assumed
I read the body and the whole thread before acting, as the H9 row instructs. This card does carry a restart condition — in prose, under "Hold record":
Both limbs are real intentions and neither is fireable by anything in this repository. "Real customer demand" has no producer here. "A v18 planning pass" names an event no sweep can detect. There is no
Restart-when: closed #Nand no one-line executable predicate in either channel, which is exactly what the patrol reported — the row is correct, and the prose above is why it is correct rather than a false positive.Under the state model a hold is legal only with a machine-fireable exit. A hold nobody can legally exit is worse than a closed card: it is invisible to every queue view and immune to every restart sweep, so it decays silently and forever.
Why closing rather than inventing an exit
I did not manufacture a
Restart-when:predicate, because any one I could write here would be fiction — there is no signal in this repo that corresponds to "a customer asked for per-user view personalization". A fake trigger is worse than none: it makes the card look mechanically live while nothing can ever fire it.The maintainer's standing instruction for this exact shape, 2026-08-16, ⛔ quoted verbatim, not translated:
"暂时不准备开发" describes this card word for word: the four-lens analysis in the body found no measured business pull, and the harmful symptoms were already closed by the NOW layer of #7494 and objectui#4227.
What is preserved
git log origin/main --oneline -10 -- packages/metadata* packages/platform-objects, plus the objectui adapter).target:v18is left in place and untouched.target:*is the triage seat's single-producer label and this seat does not write it. Flagging for triage rather than acting: a parked direction card does not satisfy the release-board's binary test ("if we do not fix it, can the current RC ship?" — it can), so this card's presence on the v18 board may itself be worth a look, independently of this close.Generated by Claude Code