Summary
demos/freelance-escrow/src/data/jobs.ts's seed jobs include milestones marked status: "released" (e.g. job-1-m1, job-3-m1) with no assertionId set. That status is only ever supposed to be reached by a real assert_outcome -> finalize/resolve sequence against the live contract (see JobsContext.tsx's voteOnMilestone/finalizeMilestone), but these seed entries never went through it. The app ships presenting fabricated outcomes as if they were real activity.
Scope
- Remove hardcoded terminal statuses (
released, disputed, returned, submitted) from seed data. Seed milestones should start at in_progress only, since that's the one status that doesn't imply a contract interaction happened.
- Keep the seed jobs themselves (titles, descriptions, client/freelancer names) as realistic placeholder content, only the fabricated outcomes are the problem.
Proposed approach
Edit the milestones arrays in src/data/jobs.ts so every entry has status: "in_progress" and no submittedAt/assertionId. Any further-along milestone state a visitor sees should come from actually calling submitMilestone/disputeMilestone/voteOnMilestone/finalizeMilestone in their own session, not from the seed file.
Summary
demos/freelance-escrow/src/data/jobs.ts's seed jobs include milestones markedstatus: "released"(e.g.job-1-m1,job-3-m1) with noassertionIdset. That status is only ever supposed to be reached by a realassert_outcome->finalize/resolvesequence against the live contract (seeJobsContext.tsx'svoteOnMilestone/finalizeMilestone), but these seed entries never went through it. The app ships presenting fabricated outcomes as if they were real activity.Scope
released,disputed,returned,submitted) from seed data. Seed milestones should start atin_progressonly, since that's the one status that doesn't imply a contract interaction happened.Proposed approach
Edit the
milestonesarrays insrc/data/jobs.tsso every entry hasstatus: "in_progress"and nosubmittedAt/assertionId. Any further-along milestone state a visitor sees should come from actually callingsubmitMilestone/disputeMilestone/voteOnMilestone/finalizeMilestonein their own session, not from the seed file.