Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,13 +190,14 @@ refactor: extract credential detection into backends registry

## What CI Checks on Your PR

Every PR must pass **8 required checks** before merging:
Every PR must pass **9 required checks** before merging:

| Check | What it does | How to run locally |
|-------|-------------|-------------------|
| **Test (Python 3.11)** | Unit tests on 3.11 | `uv run pytest tests/unit/` |
| **Test (Python 3.12)** | Unit tests on 3.12 | (same) |
| **Test (Python 3.13)** | Unit tests on 3.13 | (same) |
| **Mock Integration Tests** | Integration tests against mocked backends | `uv run pytest tests/integration/ -m "not live"` |
| **Lint** | `ruff check` + `ruff format --check` | `uv run ruff check src/ && uv run ruff format --check src/` |
| **Type Check** | `mypy src/dns_aid` | `uv run mypy src/dns_aid` |
| **SAST (Bandit)** | Security static analysis | `uv run bandit -r src/dns_aid -c pyproject.toml` |
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Changes to protocol behavior should be discussed within the IETF.
- [API Reference](docs/api-reference.md) — Python SDK, CLI, and MCP server tool reference
- [ARD ai-catalog discovery](docs/ard-catalog.md) — interop with [Agentic Resource Discovery](https://agenticresourcediscovery.org/spec/): catalog discovery, the host-anywhere DNS pointer, and card dereferencing
- [Architecture](docs/architecture.md) — protocol layers, metadata resolution, integration points
- [Integrations](docs/integrations.md) — backend-specific setup notes
- [Integrations](docs/integrations.md) — using DNS-AID with agent frameworks, workflow platforms and AWS
- [Demo Guide](docs/demo-guide.md) — end-to-end walkthrough for talks and presentations
- [Roadmap](docs/roadmap.md) — where the project is headed, near/medium/long term
- [Privacy Policy](PRIVACY.md) | [Security Policy](SECURITY.md) | [Trademarks](TRADEMARKS.md)
Expand Down
9 changes: 6 additions & 3 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,12 @@ The DNS-AID draft defines custom SVCB parameters:
| `policy` | `policy_uri` | URI to agent policy document |
| `realm` | `realm` | Multi-tenant scope / authorization realm |

**Note:** AWS Route 53 does not currently support custom SVCB parameter names.
These must be encoded using the RFC 9460 generic `keyNNNNN` wire format for
Route 53 compatibility. This is tracked as a known interoperability issue.
**Note:** AWS Route 53 rejects SVCB parameters it does not recognise, including
the RFC 9460 generic `keyNNNNN` form (`InvalidChangeBatch: SVCB does not support
undefined parameters`). On Route 53, dns-aid-core publishes only the standard
SVCB parameters and moves the custom ones into the agent's TXT record as
`dnsaid_keyNNNNN=value` (see `supports_private_svcb_keys` in
`src/dns_aid/backends/base.py`).

---

Expand Down
4 changes: 3 additions & 1 deletion docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -1722,7 +1722,9 @@ python examples/demo_full.py
#### "Zone not found" error
- Verify AWS credentials: `aws sts get-caller-identity`
- Check zone exists: `dns-aid zones`
- Ensure correct region: `export AWS_DEFAULT_REGION=us-east-1`
- Check you are using the AWS account that owns the zone (for example, set
`AWS_PROFILE`). Route 53 is a global service, so the region does not change
which zones are found.

#### DNS records not appearing
- Wait for propagation (up to 60 seconds for Route 53)
Expand Down
4 changes: 2 additions & 2 deletions src/dns_aid/backends/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -328,8 +328,8 @@ async def publish_agent(self, agent: AgentRecord) -> list[str]:
# Optional walkable AliasMode at {name}._agents.{domain} pointing
# at the flat primary owner. Per draft-02 §Known Agent, operators
# MAY emit this record so DNS-SD-style consumers can enumerate.
# dns-aid-core publishes it by default; callers can suppress it
# by setting publish_walkable_alias=False on the AgentRecord.
# It is off by default; callers opt in by setting
# publish_walkable_alias=True on the AgentRecord (CLI: --walkable).
if agent.publish_walkable_alias:
try:
# AliasMode MUST point at the flat primary owner
Expand Down