AGENTS.md
Rama main · réplica de lectura del repositorio original.
# AGENTS.md
Instructions for AI coding agents working in the public Portico Community repository.
## Repository boundary
This repository is authoritative for the public Community/runtime implementation and its public documentation.
Do not use it as the primary place to design confidential commercial strategy, pricing, private SaaS implementation, owner/admin operations or internal product roadmap.
Public product boundary for the current Community line:
**one compatible web AI chat <-> one Linux computer**
## Read first
1. README.md
2. docs/architecture.md
3. docs/installation-contract.md
4. docs/README.md
5. docs/project-status.md
6. docs/product-model.md
7. docs/policy-schema.md
8. docs/chatgpt-integration.md
9. docs/security-hardening-v2.md
10. docs/runtime-semantics-and-recovery.md
11. docs/threat-model.md
12. docs/vision.md
13. docs/roadmap-multinode-control-plane.md
## Security rules
1. Gateway never runs as root.
2. Gateway never receives Docker socket.
3. Broker remains local-only through Unix socket.
4. Broker policy is authoritative.
5. Every privileged call is re-authorized.
6. Gateway never opens privileged Broker state or plaintext secret storage.
7. Full is disabled by default.
8. AI/tool output is untrusted data.
9. Filesystem authorization never relies on string-prefix checks.
10. Secrets never enter Git, audit payloads or normal tool output.
11. Unknown policy fields/capabilities fail closed.
12. Streamable HTTP remains the MCP transport unless a standards-driven change is justified.
13. Existing workloads do not depend on the Gateway staying connected.
14. AI-to-AI delegation, if publicly implemented later, never implies privilege inheritance.
15. User-facing installation docs never request VPS passwords, private SSH keys or unrestricted remote administration.
## Engineering discipline
Before changing code:
- inspect current state;
- preserve user work;
- run relevant tests;
- make the smallest coherent change;
- add negative tests for security-sensitive behavior;
- update public docs only for public/runtime behavior;
- never weaken deny-by-default behavior to make a test pass.
## Release discipline
Stable release behavior is defined by tagged releases, not moving main.
Current stable gate is documented in docs/execution-plan.md.
Future managed/commercial product work must not be copied here unless explicitly approved as public interoperability or public product documentation.