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
{{ message }}
Repository navigation
The launch wizard asks a requester to type the parent contract's record id (SOW, amendment) — a flat screen field can be a lookup since 18.x #161
Filing class: ① user-visible defect — reach: public door, code read on main21f2319. Reader: the hotclm lane.
Symptom
Launching a SOW or an amendment, the 「合同信息」 step asks for 上级合同(记录 ID) as a required text box, placeholder "The framework or main contract this one sits under" (src/flows/contract-intake.flow.ts:279). A requester does not know record ids. They have to open the MSA in another tab and copy an id out of the address bar, and a typo fails later, at the create_contract write.
The comment above the field (:277) and the header (:20) say a flat screen has no record picker. That is no longer true: since 18.x a screen field can be type: 'lookup' with reference (SCREEN_FIELD_LOOKUP_REFERENCE_REQUIRED in the 18.1 spec), and the Console draws the same LookupField the record form uses (ScreenView).
Fix
{ name: 'parent_contract', label: 'Parent contract', type: 'lookup', reference: 'clm_contract', required: true, visibleWhen: askedFor('parent_contract') }, with the label's zh-CN translation updated. Fix the stale comments. Then check in a browser that the picker opens on the step and the chosen id reaches parent_contract on the created contract.
Dedupe: hotclm issues (all states) grepped for parent_contract, record id, Parent contract — only #2 (the field's creation).
Route: app-side. Use a type: 'lookup' screen field with reference: 'clm_contract' for the parent contract, as the card describes, and correct the stale comments. It shares src/flows/contract-intake.flow.ts with #156 and #162, so it is serialized after #156.
Claim: PM loop round 17
Ruling-ref: none (triaged defect, comment 6439174163)
Session: session_017nzWFRUo2U7evMkPdVniAn
Account: zhuangjianguo (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/issue-99-launch-wizard
Worktree: hotclm-issue-99
Domain: repo:hotclm (single-lane sister repo — no domain:*)
Seat: repo:hotclm#1
File surface: src/flows/contract-intake.flow.ts (F1 launch wizard) · src/actions/contract-lifecycle.actions.ts (start_renewal navigation only) · src/actions/contract.actions.ts (the launch action, only if the wizard's inputs change) · flow and action translations; stop on breach; explain in the report
Container & model: S, mode:subagent, model: opus (TIER_DEFAULT; hand-derived for a sister repo), effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: this app's launch wizard and renewal hand-off (what a requester is asked, and where they land) | objectstack-ai/objectstack#25800 and #25801 shipped in 18.2.0 | every requester who launches or renews a contract
Thread-read: 6439174163
Premise: re-measured by the dev on origin/main475106f (@objectstack 18.2.0) with the declared demo staff
Serial constraints cleared: #156 landed (PR #170, flows) and #169 landed (PR #173, lifecycle actions). In flight: #43 (executed-upload, backfill action), #160 (notify nodes in other flows), #41 (data); all on disjoint files. Bundled with #99 items 3–4 and #162 on contract-intake.flow.ts, one dev and one PR.
Activity
objectstack-fleet commentedon Oct 27, 2026
Triage — 2026-10-27
User-visible defect, read against
main: accepted.Route: app-side. Use a
type: 'lookup'screen field withreference: 'clm_contract'for the parent contract, as the card describes, and correct the stale comments. It sharessrc/flows/contract-intake.flow.tswith #156 and #162, so it is serialized after #156.State: →
pm:queue+bug.Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Claim: PM loop round 17
Ruling-ref: none (triaged defect, comment 6439174163)
Session:
session_017nzWFRUo2U7evMkPdVniAnAccount:
zhuangjianguo(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-99-launch-wizardWorktree:
hotclm-issue-99Domain:
repo:hotclm(single-lane sister repo — nodomain:*)Seat:
repo:hotclm#1File surface:
src/flows/contract-intake.flow.ts(F1 launch wizard) ·src/actions/contract-lifecycle.actions.ts(start_renewalnavigation only) ·src/actions/contract.actions.ts(the launch action, only if the wizard's inputs change) · flow and action translations; stop on breach; explain in the reportContainer & model:
S,mode:subagent,model: opus(TIER_DEFAULT; hand-derived for a sister repo),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility:
this app's launch wizard and renewal hand-off (what a requester is asked, and where they land) | objectstack-ai/objectstack#25800 and #25801 shipped in 18.2.0 | every requester who launches or renews a contractThread-read: 6439174163
Premise: re-measured by the dev on
origin/main475106f(@objectstack 18.2.0) with the declared demo staffSerial constraints cleared: #156 landed (PR #170, flows) and #169 landed (PR #173, lifecycle actions). In flight: #43 (executed-upload, backfill action), #160 (notify nodes in other flows), #41 (data); all on disjoint files. Bundled with #99 items 3–4 and #162 on
contract-intake.flow.ts, one dev and one PR.Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Ruling-ref: none (triaged defect)
Landed — PR #180 · 2026-10-27
MERGED(squash onmain), merged at its ACCEPT headbdabe1e;Fixes #161closes this cardRelease: the 主合同 step of the launch wizard is a record picker, not a text box for a record ID. State:
pm:dispatchedremoved, assignee cleared.Generated by Claude Code