Inspiration
Important decisions are usually remembered as outcomes: what we chose and whether it worked. What gets lost is the reasoning context—what we were trying to achieve, what evidence was available, what contradicted it, and what would have changed our minds.
Decision Memory Ledger was built to preserve that missing layer. Its goal is not to let AI make decisions for people, but to help people remember why a decision made sense at the time and recognize when the situation has changed.
What it does
Users record a structured decision containing:
- the true objective
- observed facts
- interpretation
- counterevidence
- action taken
- regime or context
- explicit invalidation conditions
When a new situation appears, the system retrieves semantically similar past decisions and audits the differences. It returns the relevant memories, identifies what changed, highlights contradictory evidence, and suggests the smallest reversible next test.
Past decisions are treated as evidence—not authority. Final judgment remains with the human.
How I built it
The application is a FastAPI service deployed as an AWS Lambda function through AWS SAM, with a public browser interface served through a Lambda Function URL.
CockroachDB provides the persistent decision ledger, lineage and version history, audit events, and vector-based retrieval. Decision embeddings enable similarity search across prior cases.
Amazon Bedrock is integrated for model inference. The application also includes a deterministic fallback mode so the demo remains functional when model access is unavailable in a newly created AWS account.
The project also uses CockroachDB Distributed Vector Indexing for semantic retrieval and CockroachDB Cloud Managed MCP for inspecting the live schema and operational state.
Challenges
The main challenge was making several systems work together reliably: serverless Python execution, database TLS configuration, vector dimensions, model-specific request formats, and deployment permissions.
Model availability also differed by AWS account and region. I therefore designed the application to degrade gracefully instead of failing completely. This reinforced an important principle of the project itself: systems should expose uncertainty and preserve a reversible path forward.
Accomplishments
- Deployed a working public serverless demo
- Stored structured, versioned decision memories in CockroachDB
- Retrieved semantically related past decisions
- Recorded decision lineage and audit history
- Built an audit workflow that separates observations from interpretations
- Added explicit counterevidence and invalidation conditions
- Verified the live database schema and vector index through Managed MCP
What I learned
Agent memory becomes more useful when it stores the context of judgment instead of only facts or conversation summaries.
The most valuable memory is not “what happened before.” It is “why we believed this action was reasonable, what could disprove it, and what has changed since then.”
What's next
Next steps include improving the visual audit timeline, adding side-by-side decision-version comparisons, strengthening access controls, and enabling team-based decision ledgers with clearer provenance and review workflows.
Built With
- amazon
- amazon-web-services
- bedrock
- cloud
- cockroachdb
- distributed
- fastapi
- html
- indexing
- lambda
- managed
- mangum
- mcp
- postgresql
- python
- sam
- search
- vector
Log in or sign up for Devpost to join the conversation.