Repository navigation
Sync the governed design text with the rulings landed on 2026-10-25 (#96 #100 #11 #20 #38 #82) - #120
Draft
objectstack-fleet[bot] wants to merge 11 commits into
Draft
objectstack-fleet[bot] wants to merge 11 commits into
objectstack-fleet[bot] wants to merge 11 commits into
Conversation
This was referenced Oct 25, 2026
Merged
zhuangjianguo
force-pushed
the
claude/design-sync-round14
branch
from
October 25, 2026 14:05
2ddf018 to
fbe6b74
Compare
zhuangjianguo
force-pushed
the
claude/design-sync-round14
branch
from
October 25, 2026 15:22
fbe6b74 to
952a079
Compare
DESIGN.md §03/§04/§08, docs/design/00 §5.5 and the state-machine guard, and one AGENTS.md exemption sentence, each copied from a recorded ruling: #96 (is_current), #100 (records read window), #11 (gate × holder table), #20 (our_entity lookup), #38 (removed fields, clm_party row drift, e-sign consumer note), #82 (scheduled-work boot notice). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
Refs #107 — ruling 6398591124 lane follow-through: the 落实 cell of Q6 gains a pointer to the category map and selection rule; the ruled answer itself is unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
Refs #109 — under #20's ruling C (6396457129, step 5): department becomes a lookup to sys_business_unit filtered to kind department, optional, seeded with seven departments in the demo. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
zhuangjianguo
force-pushed
the
claude/design-sync-round14
branch
from
October 26, 2026 12:54
952a079 to
348a5f5
Compare
This was referenced Oct 26, 2026
…ce half, PR #153) Ruling 6422705361 (A). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
…d-only (#133, PR #154) Ruling 6422701531 (A). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
… platform (#134, PR #164) Ruling 6422705361 (A). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
This was referenced Oct 27, 2026
…; per-type over-SLA waits on objectstack#26601 (#31, PR #168) Ruling 6396322580 (C); 1C + 2B stand. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
…e platform (#28, PR #171) Ruling 6396320437 (D). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
…can succeed (#169, PR #173) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #96 · Fixes #100 · Fixes #20 — Refs #11 · Refs #38 · Refs #82 · Refs #107 · Refs #109 · Refs #28 · Refs #31 · Refs #133 · Refs #134 · Refs #169 · Refs #43 · Refs #19 · Refs #186
DESIGN.md§03 / §04,AGENTS.md,docs/design/**): the seat opens it; the maintainer merges it. Every line below is copied from a recorded ruling or from the dev's measured proposal that the ruling assigned to this PR — no new decision is taken here.What changed
DESIGN.md§03clm_contract_versionis_current boolean(每份合同至多一个当前版本:标记一个即取消其余,hook 强制,各入口一致;新的谈判版本默认为当前;final_signed 不夺取当前标记)(code: PR #112)docs/design/00§5.5 rule, state diagram, guard tablecontract.hook.tsactually runsDESIGN.md§04 permission matrix + sharing tableR(approved 及之后)U(signing 及之后;执行与归档字段);contract_records_executionrow reads the approved read window (code: PR #113, two rules because a rule carries one access level)DESIGN.md§04, after the action-gate linesrc/profiles/*.profile.ts)DESIGN.md§03clm_contractour_entity* lookup sys_business_unit(签约主体:kind = company 且启用的业务单元;演示种子三家)(code: PR #118)DESIGN.md§03clm_contract_type.template_placeholdersremoved; 「模板文件和占位符」→「模板文件」;clm_signature.notesremoved (ruling C — code: PR #121);envelope_id/signerscarry their scheduled consumer (#83 / objectstack-ai/objectstack#25747);clm_partyrow matches the object (verified_at→country_codeandscreening_status)DESIGN.md§08 相对方筛查screening_statusonly (screened_atremoved by PR #116)DESIGN.md§13 Q6DESIGN.md§03clm_contractdepartment lookup sys_business_unit(发起部门:kind = department,可选;演示种子七个)(code: PR #128)DESIGN.md§04 sharing tablecontract_finance_routedrow:route_finance == true→ positionclm_finance_controller— read(审批中只读;编辑仍自 approved 起,§13 Q1) (code: PR #153)DESIGN.md§04 sharing tablecontract_manager_reportsrow: the pending direct manager's read comes from the platform from 18.2.0 (objectstack#26180); the app declares no rule (code: none — README by PR #164)DESIGN.md§04 permission matrix + FLS tableclm_partyrequester cellRC(不含银行账号与电话;风险标记、风险说明、筛查结果、启用状态与开户行只读); new FLS row forrisk_flag·risk_note·screening_status·is_active·bank_name(clm_requester 只读) — the dev's measured proposal (code: PR #154)DESIGN.md§02 Insights row, §09 dataset + 法务工作台 bullets and the durations paragraph, §12 gap tabledurationmeasure; 平均审批周转 replaces 审批吞吐; per-type 「超 SLA」 tracked at objectstack#26601, fixed 30-day tile stays; new §12 row — the dev's measured proposal (code: PR #168)DESIGN.md§10 last paragraphdemoStaffand created by the platform on the demo boot; the roster; the line manager stays a manual step (objectstack#26616) — the dev's measured proposal (code: PR #171)DESIGN.md§03clm_contractroll-ups + state-machine noteapproved_legal_review_count·current_clean_version_count·final_signed_version_count; the three buttons read them throughdisabled, the hook still refuses — the dev's measured proposal (code: PR #173)DESIGN.md§04 action-gate line + holders table, §06 F16 rowbackfill_contractgate (records, legal, admin) on the F16 action and theexecuted_uploadflow; the dialog asks for the business ownerowner_id, and legal still setslegal_owneron the record — the dev's measured proposal (code: PR #177)DESIGN.md§10clm_contract_versionandclm_reviewrowsseedFile, one current version per contract; seeded reviews are dealt by stage (legal owner, finance or the legal head before approval, legal head, requester) — the devs' measured proposals (code: PRs #185, #189)AGENTS.md那句启动告警规则需要维护者补一句豁免」)AGENTS.mdboot ruleNOT bound — disabled by deployment policynotice under the platform default is by design;pnpm demobinds the sweeps (code: PR #111)Not here: #11 step 3 (
isDefault+ declared capabilities) is code only and landed as PR #122.Gates
Docs only; CI
Validateon the head runspnpm verify's four gates.Acceptance notes
main(Turn on the platform's scheduled work forpnpm demo; README says how a deployment does the same #111, The contract page's new-version form defaults "Current" off, and two versions of one contract can both be current #112, Records reads approved contracts so the holder of execute_contract can press Start Signing #113, Remove clm_party.screened_at and clm_contract_type.template_placeholders; note the e-sign fields' scheduled consumer (#38 groups 3 and 1) #116, our_entity is a lookup to the platform's sys_business_unit (kind company), seeded as data #118, Remove clm_signature.notes, which only the demo seed fills (#38 ruling C) #121, Every member holds clm_requester by default; the app declares its eleven capability tokens #122,clm_contract.departmentis a fixed option list — make it a lookup to the platform'ssys_business_unit, as #20 ruled forour_entity#128, The finance approver can open the contract it is asked to approve #153, The launch wizard offers every business requester a "new counterparty" step that always fails —create_partyis refused forclm_requester#154, The direct manager can open the contract they are asked to approve #164, Stage durations on the 18.2.0 duration measure; per-type over-SLA still blocked #168, pnpm demo creates its demo staff, so every persona opens 我的合同 out of the box #171, Send for Approval, Start Signing and Activate are offered while their precondition is unmet, then refused after the click — grey them out withdisabled#173, §06 F16 说补录动作「档案岗或法务可用」,但实现只能给档案岗——权限是 AND,没有两边都持有的能力 #177, The demo seeds 300 contract versions and documents that download #185, Seeded reviews name the Dev Admin as reviewer instead of the legal staff #189), so the text and the code now agree on merge.🤖 Generated with Claude Code
https://claude.ai/code/session_017nzWFRUo2U7evMkPdVniAn