Repository navigation
Open
Labels
area:harnessHarness module: profile, A/B loop, quality gates, evidence reportsHarness module: profile, A/B loop, quality gates, evidence reportskind:taskBounded delivery task with a delegated sliceBounded delivery task with a delegated slicestatus:acceptedThe decision owner accepted it in a recorded commentThe decision owner accepted it in a recorded comment
Description
Current state: H02 supplies ordinary CPU execution and fixed RunStore records. The Apps prepare archive is merged in #424 and Apps spec binding is under review in #427.
Decision needed: Confirm the Harness implementer and this bounded evaluation-mode delivery.
Next action: Implement against the D023 golden ExecutionSpec independently of #430. Run the production Apps T37/T40 integration with #430 once both ports are available.
Goal and acceptance
Enable the production Apps flow in #371 step 2 to call Harness in evaluation mode. Follow #387 D023-2/V32 and the post-H02 implementation boundary in the contracts.
- Reject malformed or inconsistent prepared bindings before registration, with no RunStore record. Test this separately from actual entry verification after registration.
- After registration, T37-N1 commits
not_startedwith a recorded mismatch, and T37-N2 commitsnot_startedwith the checknot_performedand the actual digest unknown. Assert zero starts for both, and verify the existing persistence error if the record cannot be committed. - With a null step timeout, enforce the original attempt deadline and budget. Cover expiry mid-run, cleanup, and explicit cancellation in the real CPU path.
- For T40, submit the same saved request with the same attempt identity and canonical request digest. Verify the original fixed RecordRef for a completed attempt, an unchanged attempt count and zero additional process starts. A different digest for the same attempt remains a conflict.
- Harness consumes the fixed projection and read-only artifact port. Benchmark keeps task and rule ownership.
Proposed follow-up to #411. Delivery and independent review remain tracked here.
Metadata
Metadata
Assignees
Labels
area:harnessHarness module: profile, A/B loop, quality gates, evidence reportsHarness module: profile, A/B loop, quality gates, evidence reportskind:taskBounded delivery task with a delegated sliceBounded delivery task with a delegated slicestatus:acceptedThe decision owner accepted it in a recorded commentThe decision owner accepted it in a recorded comment
Activity
amy-why-3459 commentedon Nov 13, 2026
Thanks for splitting this out. #427 (approved on
6778eb19) is the producer of the spec this slice consumes, so I've written a few points from the Apps side for whoever picks this up:nullstep timeout, because OperationRecipe v1 has no per-step timeout. Harness evaluation mode then has to enforce the preserved attempt deadline and budget at the attempt level. Could the acceptance state this explicitly and include a test where the deadline expires mid-candidate, covering the recorded outcome and cancellation?not_started/not_performedfacts, which implies registration already happened. Please spell out the boundary: (a) a malformed spec or binding mismatch is rejected with no RunStore record; (b) once registered, an entry-identity mismatch or unavailability becomes a committed fact. Two separate tests would keep that boundary from drifting.Once an implementer is confirmed, linking their PR here will make independent review easier to track.
amy-why-3459 commentedon Nov 13, 2026
Thanks, the updated acceptance covers all four points: the pre-registration vs. post-registration boundary, T37-N1/N2 with zero starts, attempt-level deadline/budget enforcement under a null step timeout, and an observable T40 replay key and evidence. Developing against the D023 golden independently of #430 is also clear now.
One small gap in the new T40 bullet: it defines replay for a completed attempt (return the original RecordRef) and for a digest conflict. What should happen when the same request and digest are replayed while the original attempt is still running, or after it ended without a committed record (crash, persistence error)? Stating the expected outcome, e.g. a conflict/in-progress error with zero starts versus a resumable record, would keep that path from being decided ad hoc in the PR.
zengchuang-hw commentedon Nov 13, 2026
给 #429 实现和联调用的 D023 对照值。保留现有 golden 的全部字段,只把
steps[0].timeout_seconds从"30"改成null,与 #427 当前 Apps binder 输出逐字段一致。规范编码仍是 2069 字节,request_digest为sha256:62ce11e6d458b5c581245d0988189e1bd834f2ed1e1880d15242faf70c5b6fe9。这是本地由 binder 和 Harness 公开摘要函数交叉计算出的 fixture 值,生产 T40 仍以实际保存请求和 RunStore 验证。Dong1017 commentedon Nov 14, 2026
Decision — Harness implementer + bounded delivery (Dong-bot as @Dong1017 delegate)
Recorded 2026-11-15 (Asia/Shanghai). Authority: Dong-bot decision authority for
@Dong1017accept/decide. Thread basis: Amy acceptance coverage (6853603852); D023 null-timeout fixture values from author (6856118851); #362 S2 Harness owner = Dong1017 (6763626721).Accepted — bounded evaluation-mode delivery
Accept this issue’s acceptance text as the bounded Harness evaluation-mode CPU execute delivery for #371 step 2:
not_started/not_performedwith zero starts.Author’s posted D023 control values (null
timeout_seconds, 2069-byte encoding,request_digestsha256:62ce11e6…) are the integration fixture for this slice; production T40 still verifies against the real saved request and RunStore.Accepted — Harness implementer
Implementer / accountable delivery owner: @Dong1017 (S2 Harness owner). PR authorship may be delegated; accountable review and delivery against this acceptance stay with the Harness owner. This does not treat the on-disk
src/inferrsi/harness/tree as the final accepted package boundary (#362 constraint unchanged).Status
Flipping
status:proposed→status:acceptedfor this bounded delivery. First CPU task family for cross-module pairing remains D023 /t108-v4(same as #430/#434).