Skip to content

Hackathon submission

This page maps the submission conditions to the specific artefact that satisfies each one, so nothing has to be taken on trust. Where a condition is not met yet, it says so rather than describing an intention as though it were done.

Origin covers where the project came from, and why the implementation is recent while the design is not.

ConditionStatusWhere it is
Public repository, license detectableMetnrynss/lambo, Apache-2.0, with LICENSE and NOTICE at the root
README with setup and run instructionsMetREADME: install, lambo demo, and a lambo.toml that picks a store and an embedder
Single-writer constraint statedMetStated in the README’s Deployment model, and on End to end
Architecture diagramMetIn the README, and the topology on End to end
CockroachDB tools identifiedMetThe table below, and the raw captures in Evidence
Functional demo URLMetlambo.nryn.dev, the read-only portal on a live CockroachDB session, plus a stats endpoint on AWS Lambda reading the same session
Video under three minutesMetLambo: Durable canonical memory for agents
AWS services identifiedMetSix, in the table below and in the README. Each one is exercised by the running exhibit.

CockroachDB, and what was actually exercised

Section titled “CockroachDB, and what was actually exercised”

Two capabilities, both with transcripts behind them rather than assertions.

Distributed vector indexing. concepts.embedding is a VECTOR(1024) column with a vector index, and the vectors sit beside the graph they describe instead of in a separate retrieval service. The captures worth reading are the ones that failed first: an honest scan plan showing the index was not being used, the predicate finding that explained why, and then the plan showing vector search on concepts@concepts_embedding_idx. Recall against beam width was measured on the live cluster, which is where the default beam size came from.

The Cloud managed MCP server. Connected read-only, it answers select_query against the live cluster. Scoped to one session, canonization_events returns the status walk the demo narrates: user schema moving Candidate, then Venerable, then Canonical, with a blast radius of 9 recorded on the promotion and left null on the earlier hops. Three independent MCP clients have now produced that same table and agree on every field.

Both are covered on Evidence and evaluation, with the raw logs in the repository.

This section used to say None yet. It changed because resources were created, not because the deadline got closer.

The argument first, because the inventory is the weaker claim. Two autonomous agents provisioned real infrastructure in us-east-1: a VPC with public and private subnets, a shared security group, a private RDS instance, and a stats function. One agent then moved to delete the security group the other agent’s database was sitting behind. Lambo stopped it, because the dependency was recorded structure with a measured blast radius rather than a similar-sounding sentence in a vector store. That is a production outage that did not happen, on live resources, and it is the reason the service table below is supporting detail rather than the point.

ServiceHow this project uses it
Amazon EC2The public portal: lambo serve-web bound to loopback behind Caddy on an m7i-flex.large running Ubuntu 26.04, with an Elastic IP and IMDSv2 required.
Amazon VPCSubnets, route tables, internet gateway and security groups: the network the agents provisioned and that Lambo tracks as graph nodes. No NAT gateway anywhere, by design.
AWS Secrets ManagerThe CockroachDB DSN, resolved at service start into the running process’s environment. No EnvironmentFile, nothing in user data, nothing in a snapshot.
AWS LambdaThe public read-only stats endpoint over the live session, on arm64 behind a Function URL, outside the VPC because it reads an internet-facing database.
Amazon RDS for PostgreSQLThe private-tier workload, encrypted and not publicly accessible. Its dependency on the shared security group is what the blast-radius warning protects. It is not a Lambo store.
AWS IAMAn instance profile and a Lambda execution role, each scoped to the single secret ARN it needs.

One boundary worth stating rather than blurring: AWS runs around Lambo here, not inside it. The released binary still calls no AWS API. Amazon Titan Text Embeddings V2 on Bedrock would be the one entry where that stops being true, and it stays out of the table because the account’s model-access request is still unapproved. The refusal is captured in the repository.

Stating these plainly is more useful than a page that implies otherwise.

Bedrock is still unauthorized. Amazon Titan Text Embeddings V2 was the intended dense path. The Embedder trait was designed for it and embed-bedrock is reserved as a Cargo feature, but the adapter behind it is not implemented, and selecting kind = "bedrock" fails at startup saying so. The account’s model-access request was never approved, and the refusal is captured in the repository. Nothing on this page or in the AWS table claims Bedrock.

Multi-writer coordination is out of scope for v0.2. One lambo serve process owns a session and is its single writer. That is a stated boundary rather than a missing feature, and readers are unlimited.