Package Forge — requirements
Decision and route
Choose a fictional team → review applied assumptions → compare three packages → inspect no-fit → review a versioned renewal quote → cancel or confirm a local simulation. A buyer must be able to explain why the package meets every requirement, what it costs, what is lost and when it takes effect.
Acceptance contract
| Work package | Behavior | Evidence route |
|---|---|---|
| S053 | Explicit buyer, decision, alternatives and fictional boundaries | Product brief |
| S054 | Original records and deterministic state/calendar/cost rules | Sample contract and domain checks |
| S055 | React/TypeScript/Vite static app, working docs links, Pages base | Build and production browser |
| S056 | Three tiers, must-have needs, paid editors/free viewers, monthly and annual arithmetic; no false fitting recommendation | Cost/fit tests and Cedar/Harbor/Widefield flows |
| S057 | Upgrade/downgrade, exact lost capabilities/capacity, versioned quote, next renewal, preview/cancel/confirm | Kite downgrade and Archive upgrade flows |
| S058 | Immutable commitments, stale rejection, compatible refresh, invalid schema preservation, unavailable storage warning, scoped Undo/cancel/reset | Domain/storage and browser recovery checks |
| S059 | Keyboard/focus, mobile, live announcements, reproducible story; human measures separate | Validation and walkthrough |
| S060 | Source/demo/docs agreement, independent review and release evidence | Validation release section |
Fit and cost
A fitting tier must contain all must-haves and both role capacities. Lowest-cost fit is provisional for the applied assumptions, never a claim of customer preference. A no-fit scenario blocks all quote confirmation. Changing needs requires a separate review; silently removing approvals to recommend Base is prohibited. Free viewers cost $0 and never enter paid-editor math. The hypothetical catalog has no minimum seat fee; zero editors yields $0 even on a paid package if capacities and capabilities fit. This is a sample rule, not real vendor pricing.
Monthly charge = editors × monthly editor price. Annual charge = editors × annual equivalent editor price × 12. Annual equivalent per month is labeled comparison-only. No taxes, proration or refunds are calculated. Whole counts are 0–10,000; values above tier capacity are valid assumptions but no-fit. Negative, decimal, blank and nonfinite counts block applying assumptions.
State and recovery
Active baseline is immutable. A confirmation adds an immutable quote and schedules it for next renewal; replacement retains old history. Quote version, catalog, baseline version, exact assumptions/revision, fixed sample date, expiration, charge and term dates must agree. Every confirm checks current selection, draft, revision and full saved content. Unsupported or inconsistent saved data is preserved until deliberate reset. External corruption remains recoverable through an always-accessible reset preview.
Undo restores exactly one previous applied assumptions draft until refresh or a commitment action, clears selection and creates a new revision. It never changes active or scheduled plans/history. Cancel-preview changes no commitment. Cancel-scheduled retains quotes and active baseline, does not revive older schedules and cannot be undone. Full sample reset clears draft, selection, history, scheduled changes and Undo, retaining the original active baseline; reset captures the reviewed saved bytes and memory state, rejects intervening changes, preserves data on read/write failure, requires confirmation and cannot be undone. Unreadable storage keeps ordinary changes in memory without attempting durable writes.
See sample contract, walkthrough, and validation/release evidence.