Skip to content

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

Closed

Description

@objectstack-fleet

Filing class: ① user-visible defect — reach: public door, code read on main 21f2319. 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).


Filed from the hotclm UI/UX review (2026-10-27).

Activity

  1. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage — 2026-10-27

    User-visible defect, read against main: accepted.

    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.

    State: → pm:queue + bug.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    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/main 475106f (@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.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Ruling-ref: none (triaged defect)

    Landed — PR #180 · 2026-10-27

    reading value
    PR #180 MERGED (squash on main), merged at its ACCEPT head bdabe1e; Fixes #161 closes this card
    authority maintainer, project thread, verbatim: 「你可以自己审核的就自己合并」

    Release: the 主合同 step of the launch wizard is a record picker, not a text box for a record ID. State: pm:dispatched removed, assignee cleared.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions