You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DESIGN.md §09 specifies the Legal Workbench widget as 各阶段合同数漏斗 — a funnel. Two merged cards have since moved the app away from that, in two independent ways:
the filter dropped active; it plots the six in-flight stages, not seven
what the widget covers
So the design authority and the tree disagree twice over, and §09 is the section a reader consults to learn what the analytics layer is supposed to be.
The rulings behind both changes are sound and are not in question here. A funnel encodes monotonic decline over a distribution that does not decline (draft 10 · submitted 6 · in_review 12 · in_approval 8 · approved 4 · signing 6 · active 60), and one stage of 60 was setting the axis for six stages of 4–12. This card only brings the document up to what shipped.
What to change
DESIGN.md §09's entry for this widget:
Stop calling it a funnel. It is a ranked horizontal bar ordered by the measure.
Say what it plots — the six in-flight stages, not every lifecycle stage. The criterion the widget's own comment now states is whether legal still has work to do on the stage, which is why active and the four terminal outcomes are all out.
Read the merged widget before you write: src/dashboards/legal.dashboard.ts, the stage_funnel entry. Its comment block carries the reasoning and the measurements, and the document should agree with it rather than paraphrase this card.
DESIGN.md §09 is outside the governed range (§01–§04), so it may be edited — but ⛔ change only this widget's specification. No tidying of §09's other rows, no renumbering.
⛔ Do not touch the app. The widget is correct as merged; this is a documentation-catches-up card, the reverse direction from most.
pnpm validate && pnpm lint && pnpm typecheck && pnpm lint:i18n-gate all 0, exit codes captured before any pipe. None of them reads DESIGN.md — say that plainly rather than implying the gates verified the change.
Every claim in the new text traceable to src/dashboards/legal.dashboard.ts as merged, in a claim → reading table.
No browser run owed: the diff changes no runnable surface.
Grep §09 and §02 for any other description of this widget before declaring done. PR Record four maintainer rulings in DESIGN.md §03, §06 and §09 #40 already found that §02's Insights row was pointing at a §09 promise that had changed; the same pointer pattern could exist for this one.
Provenance
Found by the dev on #59 while implementing PR #62, reported as an out-of-scope finding and correctly neither edited nor filed there — §09 is the maintainer's wording, DESIGN.md was held, and no PR trips over it. Confirmed by the PM seat against both merge commits.
Related
#48 / PR #57 (the mark) · #59 / PR #62 (the filter) · PR #40 (holds DESIGN.md; rewrites §09's neighbouring paragraph) · #44 · #58 (the other two queued DESIGN.md items) · objectstack-ai/objectstack#17344 (why no stage order is promised)
The defect
DESIGN.md§09 specifies the Legal Workbench widget as 各阶段合同数漏斗 — a funnel. Two merged cards have since moved the app away from that, in two independent ways:2b74c4f)type: 'horizontal-bar', ordered by the measureb667fda)active; it plots the six in-flight stages, not sevenSo the design authority and the tree disagree twice over, and §09 is the section a reader consults to learn what the analytics layer is supposed to be.
The rulings behind both changes are sound and are not in question here. A funnel encodes monotonic decline over a distribution that does not decline (draft 10 · submitted 6 · in_review 12 · in_approval 8 · approved 4 · signing 6 · active 60), and one stage of 60 was setting the axis for six stages of 4–12. This card only brings the document up to what shipped.
What to change
DESIGN.md§09's entry for this widget:activeand the four terminal outcomes are all out.options.stageOrderwas removed deliberately: it is honoured only by the funnel branch of console 17.4.0 and is silently dropped in every non-enlocale (Dashboard widgets:options.stageOrderis declared for every chart type, documented for a chart type that does not exist, and silently dropped in every non-enlocale objectstack#17344). §09 must not describe a lifecycle ordering this platform version cannot deliver — that is the same defect class as the 「各段时长」 promise PR Record four maintainer rulings in DESIGN.md §03, §06 and §09 #40 is removing from the same section.Read the merged widget before you write:
src/dashboards/legal.dashboard.ts, thestage_funnelentry. Its comment block carries the reasoning and the measurements, and the document should agree with it rather than paraphrase this card.Constraints
DESIGN.md(including §09) and is open awaiting a human merge. Two branches must never touch that file at once, so this card does not start until Record four maintainer rulings in DESIGN.md §03, §06 and §09 #40 has landed — and then it must be re-read against Record four maintainer rulings in DESIGN.md §03, §06 and §09 #40's §09, which rewrites the neighbouring paragraph about what the analytics layer delivers. This card's edit has to sit alongside that one, not undo it.DESIGN.md§09 is outside the governed range (§01–§04), so it may be edited — but ⛔ change only this widget's specification. No tidying of §09's other rows, no renumbering.DESIGN.md: §06 F14 says an archived contract stays editable 「除 notes 外」, butclm_contracthas nonotesfield — §03 gives itsummary#44 (§06'snotes→summary) and docs: the position census disagrees with itself in three places — README says seven over a table of six, DESIGN.md §11 says both 7 and 8 #58 (the position census in §11). Three separate sections, three separate cards, dispatched one at a time. If you find your edit colliding with either, stop and say so rather than absorbing their scope.Acceptance
pnpm validate && pnpm lint && pnpm typecheck && pnpm lint:i18n-gateall 0, exit codes captured before any pipe. None of them readsDESIGN.md— say that plainly rather than implying the gates verified the change.src/dashboards/legal.dashboard.tsas merged, in a claim → reading table.Provenance
Found by the dev on #59 while implementing PR #62, reported as an out-of-scope finding and correctly neither edited nor filed there — §09 is the maintainer's wording,
DESIGN.mdwas held, and no PR trips over it. Confirmed by the PM seat against both merge commits.Related
#48 / PR #57 (the mark) · #59 / PR #62 (the filter) · PR #40 (holds
DESIGN.md; rewrites §09's neighbouring paragraph) · #44 · #58 (the other two queuedDESIGN.mditems) · objectstack-ai/objectstack#17344 (why no stage order is promised)