← Back to the problem

The builder's path

Five steps from a problem to its solution.

For: Developers can't give a coding agent read-only access to a server or database without approving every command by hand.

“The unexamined life is not worth living.”

ὁ δὲ ἀνεξέταστος βίος οὐ βιωτὸς ἀνθρώπῳ

Socrates · Plato, Apology 38a

Routes to a solution

Six ways to take this forward

Each route is a different kind of journey, with real people and organisations to contact at each step, starting with those in every country.

  1. Step 1

    Build in the open

    Publish the code and invite contributors from the community.

  2. Step 2

    Fund the maintainers

    Sponsors, collectives and open source grants.

  3. Step 3

    Get it adopted

    Civic tech groups and public bodies take it up.

What this problem needs

Ideas, sources and tools for this problem, from first interviews to funding.

  • Privacy
  • Automation

Ideas to explore

  • Idea 1Read-only role kitA script that creates a PostgreSQL role with SELECT on chosen schemas and a Linux user with no write access outside a scratch folder, then prints the connection settings for the agent.
  • Idea 2Throwaway containerRun the agent's shell in a container with the target's logs mounted read-only and a replica database, so mistakes cannot reach the real system.

Specific to this problem

Talk to first

Starter prompt

Built from this problem's brief. Paste it into Claude or any AI assistant.

Help me design and build a first working prototype for this problem in Anywhere.

Problem: Developers can't give a coding agent read-only access to a server or database without approving every command by hand.
Who it hurts: People who use an AI coding agent to read logs, inspect files and query databases on real systems.
The moment it hurts: During routine debugging, when the agent asks permission for the tenth repetitive read command in a row.
What people do today: People either approve each command, or rely on lists of allowed command names, which an agent can get around with other tools.
Why it is still unsolved: Filtering command text is fragile. The safer answer, separate accounts and database roles, takes setup most people skip.
What solved looks like: A small, documented setup (script or container image) that gives an agent a shell and a PostgreSQL connection where reads run without prompts and every write is refused by account permissions, not by text matching. Checkable with a test list of 30 commands and queries (15 reads, 15 writes, including tricky ones like find -delete or SELECT ... INTO) where every write fails and every read works.
Where: Anywhere

First, list what you would need to learn from the people affected before building, as interview questions.
Then propose the simplest version that would help, the screens or messages it needs, and the data it would use.
Keep it cheap to run, accessible, and respectful of people's privacy. Flag anything you are unsure about instead of guessing.
  1. Understand it

    Talk to the people who live it before you build.

    “In the fields of observation chance favours only the prepared mind.”

    Dans les champs de l'observation le hasard ne favorise que les esprits préparés.

    Louis Pasteur · lecture at the University of Lille, 7 December 1854
  2. Prototype with AI

    Get a working version in front of people fast.

    Using AI is not cheating. Every tool carries the work of the people who made it, and using it well is how knowledge has always moved forward. The thinking, the care for the people who live the problem, and the judgement are still yours.

    “The Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.”
    Ada Lovelace · Notes on Menabrea's Sketch of the Analytical Engine, Note A (1843)
  3. Find the data

    Open data that fits this problem.

    “When you know a thing, to hold that you know it; and when you do not know a thing, to allow that you do not know it: this is knowledge.”
    Confucius · Analects 2.17 (tr. J. Legge)
  4. Build it

    Tools matched to what this problem needs.

    “Act, keeping in view the welfare of the world.”

    लोकसंग्रहमेवापि सम्पश्यन्कर्तुमर्हसि

    lokasaṅgraham evāpi sampaśyan kartum arhasi

    Bhagavad Gītā · 3.20
  5. Launch and get support

    Ship it responsibly, and find help and funding.

    “Give me a place to stand, and I will move the earth.”

    δός μοι πᾶ στῶ καὶ τὰν γᾶν κινάσω

    Archimedes · as reported by Pappus of Alexandria

Kit written for this problem from its brief; every link was checked. Links go to each provider's own site. Zetema is not paid for any listing.