StackGuardian / StackGuardian/tirith
feat(json): type-scoped member reads — `select_path` + `select_type` on `get_value`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 165
- Forks
- 42
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 11
Description
CloudFormation, ARM and similar documents keep resources in one heterogeneous collection, so
scoping a rule to one resource type is impossible with a plain path. Add member selection, built
kubernetes-shaped: walk members, read key_path member-relative with
place_none_if_not_found=True, emit real values only, one ProviderError(1) when nothing matched,
no per-member severity-2 tier — this shape needs no core change and cures absence blindness at
every depth. Depends on the json absence fix and the nothing-in-scope decision (R1): "template does
not contain this type" is the majority case in any real repo scan and currently exits 1.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the JSON get_value entry point and trace how member traversal currently handles key paths and missing values. Confirm the select_path and select_type behavior for member-relative reads, real values only, and a single ProviderError(1) when no resource type matches; account for the stated dependency on the JSON absence fix and the R1 decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100