Repository navigation
Description
epic:#3600#1 · hotlong · session_01Q4EjjPXwX1YfHyKJUh4agu
Filing-gate category: ① defect with a measured reproduction. Found by the 8-card live run, 2026-11-06 (main d8b22954, scratch mode, driver claude-code-cli 2.1.318 · oauth_token · API-billed: no, maintainer go-ahead verbatim 「跑」). Routing, verbatim: 「能交给车队开发的你不要自己开发」. Epic: objectstack-ai/cloud#3600.
Defect 1 (blocker for every mid-tier card): the seed cannot load a reference cycle
Every mid-tier card has department.manager → employee and employee.department → department. The runner inserts rows object by object, so whichever object loads first refuses every row, and the rest cascade:
| Card | Seed loaded | First refusals |
|---|---|---|
| requisition_to_receipt | 6 / 637 | demopurchase_department "Manager: no demopurchase_employee record has id "e13""; demopurchase_employee "Department: no … id "dep_sales"" |
| asset_lifecycle | 4 / 559 | same pair (dep_eng / e01) |
| leave_balances | 3 / 617 | same pair (dep_sales / e05) |
The Run halves of these cards are therefore all "not measured". travel_expense cannot be read at all (Defect 2).
Ask:
- Load the seed in two passes. First insert every row with each lookup that closes a cycle left null; then update those lookups. Find the cycles from the card's seed references (a lookup to an object loaded later in topological order), not from a hand list.
- A build that makes both sides of a cycle required cannot be seeded. The build prompt's data contract (
prompts.tsdataContract) must say so ("at least one side of a reference cycle must be optional"), and the runner reports such a build as a Build finding naming the cycle. - Pin it with a test from
requisition_to_receipt's seed.
Defect 2: a build author turn that fails leaves no trace
travel_expense: the run record's build.author is null and the recording has no travel_expense/scratch/build/author/- turn. The build then scored 0/42 and every seed row answered OBJECT_NOT_FOUND. The objects on disk (trip, expense_claim, expense_line, travel_advance) were written later by the iterate turn, from the iterate prompt alone. It was the first card of a lane started in parallel with another lane, so a CLI start-up or usage-limit failure is the likely cause, but the record cannot say.
Ask: record a failed or missing author turn with its exit code, resultSubtype and the CLI's stderr tail. Mark the Build half "not measured: author turn failed" instead of scoring an empty project, and do not run the iterate turn on a build whose author turn failed.
Verification
Re-run requisition_to_receipt, asset_lifecycle, leave_balances and travel_expense in scratch mode after the fix. The seed must load fully before any Run half is read. The epic seat holds the recordings and run records.
Reader: the domain:devx lane seat, from pm:queue. p1, because it blocks every mid-tier Run measurement.
Activity
objectstack-fleet commentedon Nov 6, 2026
epic:#3600#1 · hotlong · session_01Q4EjjPXwX1YfHyKJUh4agu
Defect 3 (found after filing): the build author turn is killed at 15 minutes on every mid-tier card
Measured from the recordings of the 8-card run:
no-result(exit 143)no-result(exit 143)no-result(exit 143)no-result(exit 143)The four control-size builds finished in 17–21 turns. Exit 143 is SIGTERM from the runner's own author timeout (
ClaudeCodeDriver.author,authorTimeoutMs ?? 15 * 60_000,driver.ts). So every 7–8-object build was cut off mid-way. That explains the Build misses: order_to_cash lacks every app navigation entry, the receivables report and all five agent actions; requisition_to_receipt lacks navigation and the dashboard. These are not AI-quality findings until a build runs to completion.Correction to Defect 2:
service_desk(the third card of its lane) also has no build author turn, so a parallel start is not the explanation. Its scaffold is at 15:24:01 and the iterate turn wrote files at 15:25. Capturing the CLI's exit code and stderr (Defect 2's ask) is what will tell.Ask (add to this card):
--author-timeout) with a default sized for thestartertier (Scenario cards carry a tier (control | starter | delivery); control cards are internal checks and are never exported #30970), e.g. 60 minutes. Record the elapsed time on every author turn.resultSubtype.objectstack-fleet commentedon Nov 6, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p1 kept ·
domain:devx· 2026-11-06T16:00Z⛔ Not a claim.
domain:devx,area:devpathandpm:queuekept. It blocks the measurement of every mid-tier card.Generated by Claude Code