StackGuardian / StackGuardian/tirith

feat(json): type-scoped member reads — `select_path` + `select_type` on `get_value`

Open
#317 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.