Files
hamza.khyari e2f90ffcd5 feat(resource): add deferred physical resource types
Add 11 deferred physical resource types covering the git object taxonomy
(git, git-remote, git-branch, git-tag, git-commit, git-tree, git-tree-entry,
git-stash, git-submodule) and filesystem link types (fs-symlink, fs-hardlink).

- YAML configs under examples/resource-types/
- Bootstrap registration via _resource_registry_physical.py module
- Auto-discovery rules with bounded scan_depth (1-2) for git object graph
- fs-directory scan_depth=1 (immediate children only)
- git-branch scan_depth=1 (single HEAD), git-tree scan_depth=2 (capped)
- Updated fs-directory child_types/parent_types/auto_discovery
- Updated git-checkout child_types to include git
- Fixed git-tag child_types to include git-commit (DAG consistency)
- Behave tests, Robot tests, ASV benchmarks
- Documentation in docs/reference/resource_types_builtin.md

ISSUES CLOSED: #330
2026-03-19 14:03:17 +00:00

45 lines
1008 B
YAML

schema_version: "1.0"
name: git
description: "A git repository — the object database, refs, and full history"
resource_kind: physical
sandbox_strategy: none
user_addable: true
built_in: true
cli_args:
- name: path
type: path
required: false
description: "Path to the local .git directory"
- name: url
type: string
required: false
description: "Remote URL of the git repository"
parent_types: ["git-checkout"]
child_types:
- "git-remote"
- "git-branch"
- "git-tag"
- "git-commit"
- "git-stash"
- "git-submodule"
auto_discovery:
enabled: true
scan_depth: 1
rules:
- type: git-remote
pattern: "refs/remotes/*"
- type: git-branch
pattern: "refs/heads/*"
- type: git-tag
pattern: "refs/tags/*"
- type: git-stash
pattern: "refs/stash"
- type: git-submodule
pattern: ".gitmodules"
capabilities:
read: true
write: false
sandbox: false
checkpoint: false
handler: "cleveragents.resource.handlers.git:GitHandler"