Skip to content

[Bug] Propagate one mission deadline and preserve implementation time across dependency stages #298

Description

@rajesh-ms

Outcome

Every task uses one persisted absolute mission deadline and actual remaining time; an explicit stage policy protects implementation/finalization time without extending the mission or fabricating a completed parent.

Observed behavior

All 45 R4 team task contracts had deadline_at=null. Synthesis started a median 495.185 seconds after launch and had only 295.319–794.291 seconds remaining. Median ready-to-start delay was 0.754 seconds; scheduler latency does not explain the minutes consumed by serial research.

Expected behavior

Queueing, parent delay, restart/resume and verifier work never reset the shared deadline. Stage expiry records the actual failed/cancelled/incomplete state; a hard stop cannot become accepted success.

Reproduction and evidence

Use a core-only fake-clock mission with delayed parents and a dependent child. Full findings: #296 (comment); overview: #296. R4's prompt/timer helpers are diagnostic evidence, not a source prerequisite for this core fix.

Acceptance criteria

  • TF-04: persist one deadline and dispatch only the actual remaining allowance through queues, restart/resume and verifier delay; cover already-expired dispatch.
  • TF-05: delivered hard stops remain cancelled; preserve worktrees, reject late completion, and do not satisfy dependencies from stopped parents.
  • TF-06: a declared reserve protects implementation/finalization or explicitly fails the contract; no invented handoff or budget reset.
  • Browser and durable task/run readbacks agree; record exact tests and independent deadline/cancellation review.

Dependencies

Blocked by #297.

Aligned with #164, #53 and #166. Preserve their distinct scope and existing recovery/authority contracts. Review PR #294 before touching verifier behavior.

Governed delivery contract

  • Source repository: All-The-Vibes/ecorp.
  • Source base: original b2523964e7576cafc00e84a51e1044f55826dea7, then the explicit FX-01 parent/landed commit; revalidate main before dispatch.
  • Write scope: deadline contract in crates/crony-domain/src/lib.rs; crates/crony-server/src/planning.rs; deadline persistence/dispatch/prompt boundary in crates/crony-store/src/lib.rs; native stop/dispatch in crates/crony-runner/src/main.rs; module tests and proposed tools/e2e_mission_deadline.mjs. New migrations/protocol widening require reviewed scope amendment.
  • Provider/strategy: Codex native adapter, gpt-6-astra, ultra, configured Portkey/copilot_proxy route; single strategy and one initial task attempt. Read back exact runtime/configuration at dispatch.
  • Budgets: unlimited tokens (-1), using the qualified native runtime, 10,000,000 microusd ($10) per implementation mission, subject to existing requester/Corp limits, no inherited 20-minute benchmark cutoff; one initial task attempt, scoped work and native cost/loop/stop controls; report insufficient authority rather than extend it must be explicit before dispatch.
  • Tools/authority: scoped isolated worktree and owned fixtures; no R4 changes, cancelled-run reopening, broad cleanup or provider retries.
  • Persisted verifier: native fake-clock and full-stack acceptance checks plus independent review.
  • Publication: one verified review PR; no merge, auto-merge or deployment.

Harness-native-first and boundaries

Start with the existing TaskContract.deadline_at, store formatting and native stop/dispatch/resume behavior. Verify the selected harness before adding a thin missing adapter. A prompt alone is not deadline enforcement. Do not introduce a second execution loop or prescribe an unvalidated optimal stage split.

Validation

Attach fake-clock traces and an owned full-stack deadline/stop/late-completion fixture. Run the contributor migration/fmt/Clippy/workspace-test/web-build/web-lint gates where affected. Record source hashes, exact commands/counts and preserved failure evidence; historical R4 attempts remain terminal; this issue authorizes scoped implementation and its acceptance checks, not an unregistered R4 rerun.

Findings attachment

The full sanitized investigation, controls, quantitative findings, source-provenance hashes and TF-01–16 acceptance matrix are attached inline in #296. This issue includes its relevant observations above. No private local path is required to read the findings.

Activity

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

    dark-factoryGoverned issue-to-mission-to-pull-request automationevalsEvaluation and real-world verificationpriority:p0Required on the critical pathstatus:blockedCannot progress without an external dependencytype:bugBehavior contradicting the product contract

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions