@ -486,6 +486,7 @@ Only the current owner of a name (as determined by kind 30102 name state events)
@@ -486,6 +486,7 @@ Only the current owner of a name (as determined by kind 30102 name state events)
| **TXT** | Text record | Any text string (max 1024 chars) | Max 10 records |
| **NS** | Name server (delegation) | Hostname of authoritative name server | Max 5 records |
| **SRV** | Service location | Hostname + priority, weight, port tags | Max 10 records |
| **GIT** | Git repository location | Repository URL with protocol + optional metadata | Max 10 records |
**Record Type Details:**
@ -603,9 +604,16 @@ Registry services and clients SHOULD enforce the following limits:
@@ -603,9 +604,16 @@ Registry services and clients SHOULD enforce the following limits:
- CNAME: Valid name format, no circular references
4. **CNAME exclusivity**: If CNAME record exists, A/AAAA records MUST NOT exist for the same name
5. **Owner authorization**: Record pubkey MUST match current name owner
6. **GIT record validation**:
- Protocol tag matches URL scheme in value tag
- Description max 256 characters
- Access level is "public", "private", or "restricted" (if specified)
- Mirror flag is "true" or absent
- SSH/HTTPS URLs are valid if provided
**Record Expiration:**
@ -615,6 +623,208 @@ Name records do not have separate expiration. They are implicitly valid while th
@@ -615,6 +623,208 @@ Name records do not have separate expiration. They are implicitly valid while th
- Relays MAY prune expired name records for housekeeping
- New owner must publish fresh records after re-registering
**GIT Record (Git Repository Location):**
```json
{
"tags": [
["d", "example.n:GIT:1"],
["name", "example.n"],
["type", "GIT"],
["value", "git://git.example.n/repo.git"],
["ttl", "3600"],
["protocol", "git"],
["clone_url", "https://git.example.n/repo.git"],
["ssh_url", "ssh://git@git.example.n:repo.git"],
["description", "My awesome project"],
["default_branch", "main"]
]
}
```
Maps name to git repository location with access metadata. Supports multiple protocols (git://, https://, ssh://). Multiple GIT records can provide different repository locations (mirrors, forks).