383 points super_linear 2 hours ago 119 comments

super_linear 2 hours ago | parent

singron 6 minutes ago | parent

> We’ve had our agents build many versions of this emulator as we’ve refined the building machine.

I'm curious how many versions they made and the token spend on each one. There are a lot of failure modes to projects like these (e.g. gas town endlessly developing itself). Is this more of a sly marketing stunt or a real indication that this methodology is practical and economical?

FYI I checked out the repo. `du --apparent-size -h` output for some dirs:

    2.2G .
    1.3G .git
    58M issues/things-that-do-not-work
    74M issues/things-that-now-work
311 MiB of rust code in /tests/ directories. 357 MiB of rust code outside of /tests/ directories. 117 MiB of json. 1 MiB of toml.

CharlieDigital 2 hours ago | parent

Skeptical of using because it's not clear whether this was just an exercise or a real product they are going to ship and maintain.

Floci[0] has been great for me. Use the Testcontainers[1], too.

Bonus: works for GCP and Azure, too (so far have only used in limited capacity, though).

[0] https://floci.io/

[1] https://testcontainers.com/modules/floci/

ke4qqq 2 hours ago | parent

It’s a real product that we plan to maintain.

dogleash 2 hours ago | parent

Nothing personal, but unless you can link us to a public announcement made by Amazon, your statement is worth less than nothing.

Official statements made by a company are still poor representations of their current business plans, and don't mean anything 3 months later (no matter how much they pinky promise). But a HN post isn't even that.

Cthulhu_ 1 hour ago | parent

forgotpwd16 1 hour ago | parent

GP statement still stands, actually being strengthened. This blog post doesn't even mention nor seems to care about maintainability or long-term support or anything that users will care about. Only talks about how cool the team is and how amazing they're at using AI, multi-agent workflows, and this kind of bs. It's funny how author talks so much about testing when they themselves also boast how they haven't written or reviewed any of the code.

CharlieDigital 41 minutes ago | parent

Also doesn't mention any benchmarks or compatibility matrix.

This feels like table stakes for an emulator.

ke4qqq 1 hour ago | parent

I don’t take it personally; I realize you don’t know me, and a sentence on HN isn’t much of a guarantee.

That said, it’s been announced publicly here: https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent...

Additionally Swami, our SVP of AI blogged about it separately and our CTO is tweeting about it - which is more than a number of products get in terms of coverage.

dogleash 1 hour ago | parent

I didn't mean announcing the tool, I meant an announcement committing to the maintenance/support that users like the GP poster were looking for. My bad on describing that clearly, I'm gonna get clowned on in the comments and I'm not turning this around.

ke4qqq 1 hour ago | parent

I understood what you meant. I was just trying to add evidence to support my claim that it was a real product and would be maintained. And yeah, votes on comments can be fickle.

Eridrus 48 minutes ago | parent

I think one thing that concerns many people is that this looks like AI slop, which it clearly is according to the blog post.

I think this is a super interesting direction, but how can we trust the accuracy of this simulator? Agentic loops are great and all, but they can still miss plenty of things.

Or maybe a better question: where is the accuracy of this simulator going to be guaranteed enough that we should trust it?

NewsaHackO 39 minutes ago | parent

To me, something like this is actually what vibe coding thrives the best at; tight, looped, easily verifiable, test-driven dev work. In fact, this is probably the field it can do with little or no intervention, if you're willing to waste tokens.

Eridrus 26 minutes ago | parent

Is it? How is it verified that this catches all the potential edge cases of interacting with AWS? Or is handling all the edge cases of AWS not in scope?

Like, what am I actually getting here? Is it just happy path operations being correct here?

iceboundrock 26 minutes ago | parent

It has its official document page: https://docs.aws.amazon.com/emulator/latest/userguide/gettin... and it lives in https://github.com/aws/ org. I think AWS is pretty committed.

toomuchtodo 2 hours ago | parent

Until the plan changes, which at some point, it will. Comment is still appreciated for what it is.

polishdude20 1 hour ago | parent

I mean isn't that true for every single thing made by anyone? In that case what more do you want from them?

xandrius 1 hour ago | parent

Except for things they make: forever maintained forever.

CharlieDigital 16 minutes ago | parent

A bit more polish for a public facing artifact from a multi-billion dollar org with armies of engineers and big token budgets.

The Copilot CLI https://aws.github.io/copilot-cli/ you can feel polish and pride of the team that built this, as an example.

dotancohen 1 hour ago | parent

This is an Amazon product, not a Google product.

jghn 1 hour ago | parent

The two have different failure modes.

Google builds up a product over time and abandons it. This is annoying for long term adopters.

AWS has a habit of throwing a bunch of products at the wall, but only bothering to maintain & build up a few of them. This is annoying for early adopters.

llama052 1 hour ago | parent

Azure on the other hand. Will throw products out, ensure they are never consistent with other offerings on their platform, and then deprecate it from under you while promoting the same thing with a new name.

drob518 1 hour ago | parent

This is annoying for everyone.

gwbas1c 1 hour ago | parent

And Azure will send you an email every day about how you need to migrate X to Y without any way for you to know where those instances are or how to find them.

jasonseattle 57 minutes ago | parent

I think there was some truth in this in the early days of Azure (and all clouds) as the companies were looking to work out what cloud services were really needed. I don't see this as much any more though esp when a services makes it to GA they have published commitments for service availability and API compatibility. (I was in Azure for 10+ years so definitely let me know if you disagree)

CharlieDigital 53 minutes ago | parent

Amazon team killed the Copilot CLI[0] which I thought was the single best thing they ever did for AWS infra. Made it tolerable to deploy on AWS; still salty about this one.

[0] https://aws.github.io/copilot-cli/

QGQBGdeZREunxLe 1 hour ago | parent

Why would you say this? AWS are notorious for maintaining things.

switchbak 1 hour ago | parent

You're certainly not wrong. But in the wake of Localstack's changes, the landscape has been full of slopware and low trust anyway. I don't think this is worse, for now at least.

aseipp 1 hour ago | parent

"Things change over time" that is how the linear passage of time tends to work, yes.

sequence7 1 hour ago | parent

Is there anywhere I can find a matrix of what services are emulated and how complete that emulation is? I tried the docs but just ended up going round in circles.

jasonseattle 1 hour ago | parent

If its up to this emulator to keep track of changes in Services APIs this is doomed to fail.

jbmchuck 55 minutes ago | parent

I believe AWS already autogenerates their API clients (e.g. boto3) based on some authoritative internal service api spec so I imagine that spec could be used upstream of this tool as well.

OptionOfT 14 minutes ago | parent

But their auto generated API clients don't have the invariant baked into them, which makes them very rough to use in say Rust.

They'll have something like this:

    MySchema:
      type: object
      properties:
        enum_member:   { enum: [foo, bar] }
        enum_member_2: { enum: [quz, qux] }
      if:   { properties: { enum_member: { const: bar } } }
      then: { required: [enum_member_2] }
Except, this is not defined in schemas, this is merely defined in prose around the documentation.

So your Rust API is full of Option, and it gets really annoying when you're testing things like say Bedrock, which takes 10 minutes, and then fails because what you submitted 10 minutes before doesn't match their schema.

I understand this can be fixed by reading the documentation in more detail, but it has gotten so verbose, and sometimes you just want to start something.

jcims 52 minutes ago | parent

Yeah whatever they did internally to get service teams to actually adopt AWS Config ~5 years ago needs to happen here or it’s going to get stuck with marquee services and that’s it. Especially given this is a much much larger ask of each service.

frenchtoast8 19 minutes ago | parent

AWS Config already doesn’t support some pretty important things

icedchai 45 minutes ago | parent

This wasn't clear to me, either.

tyingq 42 minutes ago | parent

Sort of. The releases page leads you to a massive blob of json with all the compatibility tests and scores.

Edit: The current one: https://github.com/aws/aws-emulator/releases/download/v1.0.3...

You can get some idea if the product name is unique enough with <ctrl-f> and looking at each of the related test scores.

tyingq 8 minutes ago | parent

Asked a clanker to correlate the test data (link in parent) with: https://raw.githubusercontent.com/aws/aws-emulator-evaluatio...

And output something meaningful for some of the more popular services:

  Service            Tests  All  Happy  Reject  Ctrl  Data  Solo  Integ  Wire#  Wire%
  -----------------  -----  ---  -----  ------  ----  ----  ----  -----  -----  -----
  Data Firehose        288  77%    85%     91%   92%   72%   89%    59%     24    62%
  SES                  132  72%    65%     79%   79%   42%   79%     0%     21    52%
  EventBridge          889  71%    74%     64%   72%   68%   83%    67%     75    84%
  KMS                  432  70%    82%     69%   81%   68%   97%    36%     69    84%
  Step Functions       907  70%    79%     53%   69%   67%   73%    65%     68    76%
  DynamoDB            1437  69%    70%     61%   62%   65%   82%    53%    243    62%
  SNS                  594  69%    72%     55%   62%   68%   75%    65%     39    69%
  SQS                 1480  68%    70%     67%   61%   68%   94%    62%     29    45%
  Secrets Manager      414  68%    78%     65%   66%   72%   79%    57%     26    77%
  Cognito UserPools    781  65%    67%     66%   82%   36%   75%    33%    193    64%
  S3                  2488  62%    62%     57%   61%   57%   83%    51%    296    68%
  CloudFront           627  62%    62%     63%   70%   46%   71%    41%    190    22%
  API Gateway         1009  61%    64%     59%   77%   41%   75%    43%    200    73%
  SES v2               210  61%    63%     59%   75%   48%   77%    40%     44    30%
  Route 53             130  61%    63%     59%   62%   53%   69%     0%     49    67%
  CloudWatch          1186  60%    66%     51%   66%   53%   77%    36%    152    55%
  ECR                  392  60%    55%     75%   67%   49%   87%    27%     74    65%
  Kinesis              380  59%    69%     44%   63%   50%   62%    54%     25    44%
  IAM                  991  58%    63%     50%   60%   34%   78%    41%    228    57%
  Batch                274  58%    62%     59%   78%   20%   65%    17%     19    47%
  CloudWatch Logs     1016  58%    61%     54%   71%   47%   78%    41%    185    59%
  OpenSearch           342  57%    62%     52%   70%   29%   59%    50%     98    48%
  API Gateway v2       292  57%    64%     52%   74%   38%   73%    33%    107    27%
  EKS                  349  57%    60%     52%   65%   10%   59%    38%     55    62%
  Glue                 646  54%    51%     55%   66%   32%   69%    40%    155    43%
  Lambda              2808  53%    53%     42%   58%   48%   48%    54%    171    42%
  ECS                  808  51%    45%     52%   62%   23%   62%    34%    118    44%
  Redshift             241  49%    57%     47%   53%   52%   47%    57%     50    46%
  STS                  218  49%    58%     46%   56%   30%   57%    34%     22    50%
  ELBv2                596  45%    43%     47%   55%   19%   58%    30%    111    63%
  RDS                  659  43%    54%     45%   54%   35%   51%    31%     99    28%
  ElastiCache          186  42%    43%     49%   54%    0%   47%    17%     27    41%
  EC2                 2043  40%    35%     36%   39%    5%   44%    32%    429    33%
  CloudFormation      2019  36%    33%     31%   30%   40%   78%    24%   2161     3%
  AppSync              419  34%    35%     35%   54%    1%   44%     0%     91    13%
  SSM                  566  28%    28%     27%   27%   25%   26%    30%    175    11%
  Athena               420  22%    20%     15%    7%   28%   16%    37%     37     0%
  EC2 Auto Scaling     440  21%    19%     23%   19%   18%   21%    20%     89    16%

Pass rates from the release's scores.json (commit 7753983), joined with the eval suite's manifest.jsonl. Tests = behavioral checks touching the service. All = overall pass rate. Happy/Reject = valid requests vs. requests AWS should refuse. Ctrl/Data = control plane vs. data plane. Solo/Integ = single-service vs. multi-service checks. Wire# / Wire% = count and pass rate of recorded request/response replay tests (a test passes only if every call matches).

dataviz1000 36 minutes ago | parent

I mock (ask Claude Code to make something run in a container) my own AWS services today for CI and development. I'm excited to learn more about how AWS uses it and hopefully use this for CI and development.

switchbak 1 hour ago | parent

In my experience Floci has been the epitome of vibe coded - huge amount of changes, with things breaking randomly between releases. Moved away from it as soon as I could. Still better than Localstack :)

I didn't have a good experience with test containers, but perhaps it'd work better with fast starting containers. We run our test fixture with compose, and have the tests manage their data in isolation - so we don't pay the startup penalty in our test suites.

I think I'd trust this project at least as much as Floci. Embedded Rust mode also looks very interesting for us.

CharlieDigital 45 minutes ago | parent

I only use Testcontainers with "explicit" tests (do not run by default in CI; must be run explicitly). This lets agents exercise the integration with a realistic fake locally, but does not incur the cost in CI nor for any dev unless they run it explicitly (usually also with a category so it's explicit + category filter)

iLoveOncall 1 hour ago | parent

It has an official documentation on the AWS website, why would you assume it's not a real product? Because it was launched recently?

CharlieDigital 51 minutes ago | parent

No docs site linked on the GH. 3 weeks old. Blog post talks more about the process than the tool and opens with:

    > How we built the agents that built AWS Emulator
    > Thousands of autonomous AI agents wrote every line of code in AWS Emulator, a new local emulator for AWS now available for download. 
Feels more like a science experiment than a product from that announcement.

Doesn't feel like a real product. But I also didn't look very hard for docs; I kind of expect it to be linked on the GH in the site and have a nice `llms.txt` for me to give to my agents.

iLoveOncall 42 minutes ago | parent

> No docs site linked on the GH.

??? It's in bold just before the "Quick start" section

CharlieDigital 39 minutes ago | parent

There's a right way and a wrong way to assign a website URL in GH.

The team didn't even take the time to review these small details of the repo, you know, by editing the repository details to place the docs URL there.

I mean, I don't know about you, but I feel like I still like to see people care about the stuff they produce and missing something as basic as the repo website URL in GH settings shows a lack of polish and love.

simgoh 38 minutes ago | parent

Your comment comes off very dismissive and in poor taste.

> Doesn't feel like a real product. But I also didn't look very hard for docs

You should try, they're there.

> I kind of expect it to be linked on the GH in the site and have a nice `llms.txt` for me to give to my agents.

There's an official Amazon Documentation site that's linked. There's also an `AGENTS.md` file in the repository.

CharlieDigital 34 minutes ago | parent

Sure they are, but they could have polished their product and showed some love by configuring the repo details and put the website there. Did you look at the blog post as well? Does it look like a product that some team there loved and will care for? Or the output of some exercise for some enterprise content?

This post https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent... doesn't set the right tone for me at all and it has nothing to do with agents and everything to do with the lens of looking at this as a science experiment instead of a real enterprise tool.

simgoh 30 minutes ago | parent

> they could have polished their product and showed some love by configuring the repo details and put the website there

This feels like such a weird nit-pick when AWS is criticized for not moving quickly enough. Why should I care if there's a link in the side bar, when there's plenty of links in the `README`? If anything, I'm happy that there's alternatives to Localstack that are supported by AWS themselves that I can begin incorporating. They have a well written `README` that I can start working with and a User Guide to get me started. What else could I want?

> Did you look at the blog post as well?

I did.

> Does it look like a product that some team there loved and will care for? Or the output of some exercise for some enterprise content?

Do you even have the grounds to cast judgement like this when you admittedly didn't even look hard enough?

CharlieDigital 20 minutes ago | parent

I looked, but you're mistaking my critique here: I value polish.

This lacks polish.

Small details like getting your GH repo set up for a public audience. Lacking. Compatibility and support matrix clearly advertised? None.

If this public facing artifact exhibits a lack of care and love, what does it say about the code? I am all for vibe coding and agent software factories, but then the humans should show some love with all of that extra time saved.

simgoh 17 minutes ago | parent

You might want to reconsider how you present the critique then, because that's not how your root comment came across or any of your subsequent messages, especially when engaging with (presumably) actual AWS employees in this thread replying to you.

_msw_ 18 minutes ago | parent

Disclosure: I work for Amazon. I'm not directly involved in building this product, but I'm familiar with the product and its development.

The product documentation is here: https://docs.aws.amazon.com/emulator/latest/userguide/what-i...

While the GitHub project is young, the internal effort to build this has been going for quite some time now.

sebmellen 2 hours ago | parent

RIP LocalStack… can’t say I’d be unhappy to see it go though.

tptacek 2 hours ago | parent

The title for this story should be "aws-emulator, from AWS".

simgoh 34 minutes ago | parent

Why?

stuff4ben 2 hours ago | parent

Wonder if this could be considered a replacement for Ministack which itself was a vibe-code replacement of Localstack?

BorisMelnik 2 hours ago | parent

looks like ministack made an announcment

tonymet 2 hours ago | parent

A mere 20 years too late. Now it’s faster to have AI mock your APIs for you. AI has been a boon for test coverage.

Cthulhu_ 1 hour ago | parent

Which is why they used AI to mock these APIs for you... too? I'd expect Amazon to feed it a lot of internal information so it has more to work with than anything someone else can cook up.

https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent...

tonymet 1 hour ago | parent

it takes more time for my AI to learn their "emulator" . And I end up with far fewer dependencies on my own.

I've been prompting the agents to build everything using stdlib

jjice 54 minutes ago | parent

I think having an interface with your AWS implementation and one for test mocks has always been great advice. With this though, it helps enable better integration testing too. I consider this a testing compliment, but if I had to choose one these days, integration tests are cheaper and better hang for your buck than ever.

I'll continue to choose both though, depending on the thing being tested.

gateauxd 2 hours ago | parent

Excited to see this develop and be a free replacement to localstack / similar providers.

aabhay 1 hour ago | parent

Localstack is almost entirely free. I’ve used it at our company for years without paying.

sequence7 1 hour ago | parent

Localstack is no longer free and if you’re using it commercially you need to pay for a license. The free plan explicitly states that it is non commercial.

https://blog.localstack.cloud/2026-upcoming-pricing-changes/

schonfinkel 18 minutes ago | parent

Except that https://github.com/faiscadev/fakecloud has been a thing for a long time and it's AGPLv3.

BorisMelnik 2 hours ago | parent

ok who's gonna build the GUI / web console on top of it?

awestroke 1 hour ago | parent

For what? Use the APIs.

mystifyingpoi 1 hour ago | parent

I could see this being useful. Just let Console pick the localhost:xxxx endpoints for everything, boom, my "own" fake AWS.

swiftcoder 1 hour ago | parent

I guess they didn't decide this was worth it till they needed it to train an LLM, huh? Not like everyone (inside and outside of AWS) has needed such a test harness for years...

forgotpwd16 1 hour ago | parent

~30K commits in 3w; quality software for sure. Is someone trying to get promotion by tokenmaxxing? Ironic or unlucky coincidence or competitor(s) misdirection, that, only 2w ago, Amazon published memo discouraging AI abuse?

cxr 1 hour ago | parent

No idea why there's so much of this lately, but there are way too many editorialized submission titles hitting the front page recently. Please stop doing this.

<https://news.ycombinator.com/newsguidelines.html>

mh- 1 hour ago | parent

Almost every large thread has upvoted comments that violate the comment guidelines, now, too. In both cases, not enough people flagging them, I guess.

paavohtl 1 hour ago | parent

Looks like this was ~100% generated with Claude within the past month. Interestingly it still has a lot of occurrences of words that Opus used way too much pre 5.5, so maybe they're not using the latest models.

https://github.com/search?q=repo%3Aaws%2Faws-emulator+load-b...

https://github.com/search?q=repo%3Aaws%2Faws-emulator+%2Fno+...

https://github.com/search?q=repo%3Aaws%2Faws-emulator+golden...

mystifyingpoi 1 hour ago | parent

Seems like a great fit for LLM - extensive documentation, plus a live system it can probe against freely to match the behavior.

switchbak 1 hour ago | parent

I mean, if they're using it internally then there's probably a TON of context you can feed these things to converge on approximately-correct solutions. Certainly it sounds like it can be a much better alternative to Localstack/Floci and friends.

whalesalad 1 hour ago | parent

29,000 commits in a month is crazy

morelandjs 1 hour ago | parent

Fellow Amazonian here. Want to say that I’m grateful you built this and it has tremendous value if pulled off well and properly maintained.

Agentic development is all about closing off a system as much possible, then mocking up or simulating any inputs or dependencies that cannot be closed off. At that point, you let Claude crawl over the system and do its thing.

This inevitably runs into problems with infrastructure and any tools that help mock up those interfaces will be tremendously valuable. Thank you!

gosen 1 hour ago | parent

Do I need to get certified to use it?

ggcr 1 hour ago | parent

Will it be maintained? Or was it more of a toy-project for its large scale agentic blogpost? [0]

[0] https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent...

varispeed 1 hour ago | parent

Just a little bit more to keep you hooked. You should do your best to stay away from these parasites. Especially if they don't respect your country and your people by not paying the right amount of tax.

Waterluvian 1 hour ago | parent

If I understand this correctly, it means I can point my entire CDK project to the emulator and test a `cdk deploy`?

I'm curious just how realistic the "internal" behaviour is emulated. It's been a while (since I got my stack working and I just don't like touching it now...), but I recall it being a real pain that sometimes odd, sometimes inconsistent things happened with setup and teardown (even through Terraform), which led to long timeouts if you did things in the wrong (but seemingly valid) order.

billyp-rva 48 minutes ago | parent

> I'm curious just how realistic the "internal" behaviour is emulated.

It seems like some reasonable shortcuts are taken, like services reading from each other's states directly instead of using APIs [0]. But then it will go so far as to run an in-process NodeJS emulator for lambda functions, and give it a shim so the code it runs can call other emulated AWS services using the main router [1].

[0] https://app.ilograph.com/demo.ilograph.AWS%2520Emulator/Serv... [1] https://app.ilograph.com/demo.ilograph.AWS%2520Emulator/Invo...

andreadito 1 hour ago | parent

Finally!

__natty__ 1 hour ago | parent

For me, what is interesting in this project is it's git history.

microflash 1 hour ago | parent

> AWS Emulator is configured to collect and report usage data to AWS, to gain insight into how AWS Emulator is used. Telemetry is on by default.

They can't help themselves, can they?

I'll stick with Floci and Testcontainers.

toenail 1 hour ago | parent

Mh, no transfer family service... I wonder what else is missing..

jbmchuck 59 minutes ago | parent

AFAICT there isn't a quick way to reset state other than restarting the process - in other words it probably isn't a drop in replacement for https://github.com/getmoto/moto for running tons of tests where the state of the mocked AWS system needs to be reset after each test. Hopefully they will implement a quick reset functionality; multiple accounts and full org APIs emulation would be nice too.

schonfinkel 57 minutes ago | parent

What makes this any different than fakecloud?

https://github.com/faiscadev/fakecloud

I had a good time using its SDK inside my integration tests. I'll give a couple months before even moving to this because it's weird how similar both projects look like.

EDIT: After checking AWS's project I'd say stay away from it, looks heavily vibe slopped.

Bnjoroge 7 minutes ago | parent

claude is the second-most frequent author in that fakecloud repo, what makes you say that's not vibeslopped either? This is 100% the perfect usecase of using a swarm of agents. It's a bounded, and easily-verifiable with property testing/mitm proxying, task. If you think in November 2026, agentic engineering is equivalent to vibe coding, you need to update your priors

InsidiousWombat 55 minutes ago | parent

Seems like the bunch of AI induced failures they had "paid off" in getting this done

fschuett 47 minutes ago | parent

Can it emulate billing too, i.e. "rand().powf(rand()) % downtime"?

dboreham 43 minutes ago | parent

After waiting for years for this kind of thing I ended up working around the issue by: using the real service. With Claude's help I have many projects now that test against live hosting providers using accounts maintained exclusively for testing. It ends up costing $50 or so a month in fees but well worthwhile for the assurance things really work.

hollowturtle 28 minutes ago | parent

Wouldn't be better using agents for simplifying the mess some services like iam or cognito are?

nunez 24 minutes ago | parent

annoying that it took AI happening for AWS to finally deliver on this though I'm glad they did

ironically localstack is solid enough to probably not need this for most things

OJFord 24 minutes ago | parent

> How AWS Emulator keeps improving

> AI agents keep the emulator up to date with AWS.

Is pretty interesting! No more detail than that tease though.

https://docs.aws.amazon.com/emulator/latest/userguide/what-i...

asdfman123 24 minutes ago | parent

This is no doubt made possible by an agentic coding loop. If you have the right checks in place, it can be easy to emulate existing software.

I was able to create a TV emulator at my work with a mostly independent agentic loop, because we have a lot of tests to examine a smart TVs APIs. The agents mostly just need to make the tests pass.