This file is a map, not a manual. Read it, then navigate to the source of truth. Repository knowledge that is not documented here or linked from here is effectively invisible to agents.
| Document | Purpose |
|---|---|
| docs/ARCHITECTURE.md | System shape, layer rules, golden principles |
| docs/DESIGN.md | Python conventions, API patterns, logging conventions |
| docs/PLANS.md | Active exec-plans index |
| docs/QUALITY_SCORE.md | Domain health grades and tech debt tracker |
| docs/RELIABILITY.md | Critical paths, SLO placeholders, rollback policy |
| docs/SECURITY.md | Security invariants, auth/secrets guidance, data classes |
| docs/PRODUCT_SENSE.md | Product purpose, core beliefs, non-goals |
AGENTS.md <- you are here
├── agentic_internet/ <- package source
├── tests/ <- pytest suite
├── docs/ARCHITECTURE.md <- layer model and dependency rules
├── docs/design-docs/index.md <- architectural decisions
├── docs/exec-plans/active/ <- in-flight plans
├── docs/product-specs/index.md <- product specs
└── docs/references/README.md <- library/reference index
- Repository is ground truth. Write durable decisions into docs, specs, or plans.
- Plans before broad code changes. Complex work needs an exec-plan first.
- Keep source changes scoped. Do not rewrite unrelated Python modules or lockfiles.
- Preserve user work. Never revert uncommitted changes unless explicitly asked.
- Use Mermaid for architecture, flow, lifecycle, and system diagrams.
- Golden principles are mechanical. Run
make goldenorpython3 .opencode/tools/golden_principles.py. - Update docs with architecture changes; stale docs are treated as defects.
This project uses bd (beads) for issue tracking.
bd ready
bd show <id>
bd update <id> --status in_progress
bd close <id>
bd syncRun the narrowest useful gate during development and the full gate before handoff:
uv run ruff check agentic_internet tests
uv run ruff format --check agentic_internet tests
uv run mypy agentic_internet
uv run pytest
python3 .opencode/tools/golden_principles.pymake check runs the default local gate set.
INTENT -> SPEC -> PLAN -> IMPLEMENT -> VERIFY -> DOCS -> REVIEW -> RELEASE -> MONITOR
Stop and surface to the human when:
- Requirements or acceptance criteria are ambiguous.
- Test failure root-cause confidence is below 60%.
- A new external dependency is needed.
- The change touches secrets, authentication, sandboxing, or untrusted execution.
- A design decision affects multiple domains or public interfaces.
Use this format:
## Help Request
**What I tried**: [actions]
**Evidence**: [logs, diffs]
**Options**: [with tradeoffs]
**Recommendation**: [choice] (confidence: X%)Before ending a work session:
- File
bdissues for known follow-up work. - Run relevant quality gates.
- Update issue status for work you changed.
- Sync beads and push committed work when the session owns the change.
- Hand off remaining context clearly.
Do not commit or push unrelated uncommitted user changes.