Build something that is not there yet
Land and aggregate call-detail batches into subscriber-day usage with manifest completeness
- When call-detail files arrive daily and a missing or short file goes unnoticed until someone downstream complains.
- When subscriber-day usage gets recomputed with a different completeness check every time.
Land daily CDR batches with completeness checked against a manifest, and aggregate to subscriber-day usage. Covers landing and aggregation only; churn is covered separately and ARPU is an ordinary governed measure over the revenue source, not part of this contract.
Sample This Recipe has not been materialized in the Cookbook repository yet. Its trigger, description, prompt, agent guidance and acceptance conditions, and the explanation below, are prototype drafts. Its name, job, area and readiness come from the reconciled Cookbook seed snapshot. Readiness is a separate question from this one: it says whether the capability exists, not whether the writing has been reviewed.
Use this Recipe
Use the VibeData Recipe `telecom-cdr-usage` at https://getvibedata.ai/cookbook/telecom-cdr-usage Read the Recipe and execute it in the context of the current Intent.
Recipe id telecom-cdr-usage · Not yet materialized in the Cookbook repository, so the pointer addresses this page.
Verified by
What has to be observably true before this Recipe is finished.
- a missing or short file against the manifest fails the load rather than landing partial data silently
- exactly one row exists per subscriber per day in the aggregated output
- a reproduced day's subscriber usage matches the source CDR batch for that day
- prepaid and postpaid subscribers are aggregated under the agreed rule without being mixed
Recipe promptThe task specification the agent reads. Reference only — it is not what you copy.
Deliver: Land and aggregate call-detail batches into subscriber-day usage with manifest completeness. Land daily CDR batches with completeness checked against a manifest, and aggregate to subscriber-day usage. Covers landing and aggregation only; churn is covered separately and ARPU is an ordinary governed measure over the revenue source, not part of this contract. Execute inside the current Intent. Its Domain, repository, platform, environment and attached sources are the context for this work — read them rather than asking for them. The work is done when: - a missing or short file against the manifest fails the load rather than landing partial data silently - exactly one row exists per subscriber per day in the aggregated output - a reproduced day's subscriber usage matches the source CDR batch for that day - prepaid and postpaid subscribers are aggregated under the agreed rule without being mixed Report the evidence for each condition above with the result. A condition you cannot meet is something to say, not something to work around.
Agent guidanceHow the agent approaches the work, and what it will not do.
Profile the inputs the grain, joins and measures actually depend on before proposing a model. Put the design up for review — grain first — then build in an isolated copy with tests and documentation landing beside the model rather than after it.
Composes
- source profiling and incremental load
- dlt in the project
- dbt in the project
- isolated-copy execution and gate verification
Guardrails
- Build in an isolated copy. Production is read, never written.
What you need
- Microsoft Fabric Lakehouse, MotherDuck, or DuckDB.
- Read access to the source. Not write access to production.
- dlt and dbt in the project, or the intent to add it.
- Needs an agreed manifest completeness rule and prepaid/postpaid handling.
How it goes
- State the outcome in one sentence, in the language the request arrived in.
- Let it profile the inputs the grain, the joins and the measures actually depend on.
- Review the design. Disagreeing about grain here costs a sentence; after the model exists it costs a rewrite.
- Let it build in an isolated copy, with the tests and the documentation landing beside the model rather than after it.
- Read the acceptance conditions against the run.
What you end up with
The deliverable, in your own repository, as ingestion work a reviewer who knows the project reads as native to it. Alongside it, the evidence for every one of the acceptance conditions above — which is the part that is still there in three weeks when somebody asks.
