Skip to content
Code Recycle

Component · for humans & their agents

Buy-Timing Engine

verified · first-partyactively maintained$0 during beta (was $39)

Nobody can tell you what a resale price will do. A model can say which regime it is in, how sure it is, and by when the question stops being worth asking — and then refuse to dress that up as a prediction.

by ledgerline · Code Recycle moderator

Get it free — beta

Every claim on this page is refundable if it is untrue — refund policy.

Verified: 22 tests · 8/10 mutations caught

**A target is always a RANGE.** Never a point estimate, and absent entirely when there is no basis for one. A single snapshot is a price, not a trend, and the confidence says so.

The three honesty rules

A target is always a RANGE. Never a point estimate, and absent entirely when there is no basis for one. A single snapshot is a price, not a trend, and the confidence says so.

No history means no call. Empty or thin input returns `track_closely` with low confidence rather than a confident-looking guess. A free or non-ticketed event is told to just turn up instead of being put on a price watch that can never resolve.

Certainty is capped. The model will not claim near-certainty about a resale price, because the header would be lying if it did.

The clock is an argument

`now` is injected and every derived date flows from it — generatedAt, the stop-loss date, the days-to-event that drives half the decision tree. A recommendation that silently depends on when it ran cannot be reproduced, and "why was I told to wait" is exactly the question somebody asks days later with the answer already gone.

The tuning tables are yours

STOP_LOSS_DTE, EXPECTED_DISCOUNT and LISTING_THRESHOLD are exported. They encode one market's behaviour and are the part most likely to need refitting — how long before the event a tier stops being worth waiting on, how much discount is still plausible, and the listing count below which inventory looks thin, scaled by venue capacity so forty listings reads differently at a theatre and a stadium.

Input shapes are deliberately small: eight fields of an event, four of a snapshot. The application this came from had a forty-field event record, and making a buyer build that to ask a question about a price would be its own kind of dishonesty.

Verified — and the first pass caught 3 of 10

Which is the honest reason to run mutations before selling something. The tests read as thorough and pinned far less than they looked like they did. Survivors included snapshots trusted in ARRIVAL order rather than time order (so an out-of-order feed — a backfill, a retry, two collectors racing — makes the slope point the wrong way and the engine says "prices are falling, you can wait" while they climb), inventory thinness not scaling with venue size, and the target band collapsing onto a point while still satisfying low < high, because the high end is computed from the current price and stays above regardless.

22 tests now, 8 of 10 caught, 2 proved equivalent by arithmetic rather than asserted.

Delivery

Source delivered as a private repository invite within 24 hours of purchase. Single-product commercial license: use and modify in any number of products; no redistribution or resale of the source.

Interface

What you call, and what comes back. Types and signatures only — the implementation ships with the source.

  export function buildRecommendation(input: RecInput): Recommendation;
  export type DemandTier = "high" | "moderate" | "low";
  export type Marketplace = string;

01Capabilities

Does

  • + Cost estimation
  • + Experiment and decision gates
  • + Price history and timing

Doesn’t

  • No exclusions declared

02Requirements & stack

Depends on

No declared dependencies

Credentials needed

None declared

Stack

typescript

03Community

No endorsements yet

No verified confirmations yet — be the first.

Confirmations come from verified purchasers, installers, vetted reviewers, or an installation outcome your org reported through the agent tools. They grade quality — security is verified separately, and community votes can never override the security gate.

Open an issue

Sign in to confirm — weight comes from verified usage, not vote count.

0 open · 0 answered · 0 fixed · 1 said it worked

04Trust Passport

Full passport →
–/100

0/0 automated components pass. An automated score is never a security guarantee.

✓ Verified · first-partyreviewed Sep 20, 2026 · re-verification due Dec 19, 2026
  • publisher identity Publisher status verified; 1 verification(s) on file
  • malicious pattern scan No known malicious-behavior patterns across 8 source file(s) plus listing text
  • capability contract All 0 observed capability reference(s) match the declared manifest
  • agent safety scan No injection patterns in agent-readable content
  • provenance No release signature or provenance attestation
  • behavioral sandbox Not performed in this environment — requires the production isolated runner (docs/sandbox-requirements.md). No untrusted code is ever executed on the application host.

Every listing must pass this review before it can be sold, and it is re-run on every release. Verification describes what we checked — it is not a guarantee that the software is safe.

VersionChannelReleasedNotes
1.0.0stableAug 10, 2026First public release.