Decisions
Each record is one decision that the rest of Artbucket leans on. They are written once and not edited after: a decision that changes gets a new record that says which one it replaces.
| # | Decision |
|---|---|
| 0001 | The web app is a client of the public API |
| 0002 | Content-addressed storage; renditions are a function of the URL |
| 0003 | One core, with REST and MCP as adapters |
| 0004 | Postgres and a bucket, and nothing else |
| 0005 | What an agent writes is a proposal |
| 0006 | Grants that add up and reach down; single sign-on is free |
| 0007 | Expiry is a date, enforced where bytes leave |
| 0008 | Migrations are only added, and run on start |
| 0009 | AGPLv3, with an ee/ folder reserved (replaced by 0011) |
| 0010 | v1 is frozen by a test, not a promise in prose |
| 0011 | Elastic License 2.0: free to use, not to resell as a service (replaced by 0013) |
| 0012 | Asset bytes are private; sharing signs them |
| 0013 | AGPLv3 again, owned by Pwnera SAS; contributors grant it the right to relicense |
| 0014 | An agent opens what its key can read; what a public portal shows, it can hand on |
| 0015 | People join by their email domain, at read, after proving the address |
| 0016 | Joining by domain or single sign-on lands in one workspace, not the organization |
| 0017 | One catalog, with grants on every object; the workspace is the project |
| 0018 | Features are switched on and off, by the organization or each project |
| 0019 | The app draws what a server’s feature brings |